From a4c14605f1e329647a7c1e07ac462bc36f2003f1 Mon Sep 17 00:00:00 2001 From: Andrei Hasna Date: Tue, 28 Jul 2026 03:51:11 +0300 Subject: [PATCH 1/3] fix(mode): select the backend explicitly and refuse non-loopback egress under test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The presence of HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY selected the cloud backend. Both are exported in a login shell on this machine and the tmux server carries them, so every pane inherited them: `bun test` reported 99 failures instead of 1 (64 of them the same "cloud API flip is active" refusal) while the rest of the suite operated against the live store believing it was isolated. The symptom named neither the cause nor the store, and every agent working the repo had to rediscover it and prefix runs with `env -u`. Two layers were inferring cloud from presence, and both are closed: - src/cloud-store.ts withInferredCloudMode(), deleted; and - resolveClientTransport in @hasna/contracts, which independently maps "url and key are both set" to cloud. Callers now hand it a mode-PINNED env, in both directions, so it can no longer pick a backend behind this package. src/knowledge-mode.ts is the single mode resolver: the first mode key carrying a value wins and returns without reading the pointers, so KNOWLEDGE_MODE=local is authoritative on a machine that exports a URL and a key; with no mode key the answer is local. Key lists come from @hasna/contracts rather than being restated, so a key we ignore cannot still flip the transport. src/net-guard.ts is the primary control, at the egress rather than on the environment. Clearing the selectors cannot be primary: a test file assigning them at module scope runs after any one-shot clear, one `bun test` process shares one preload so a single file's leak reaches every later file, and a bunfig.toml preload resolves from the cwd. Each produced a green run with live writes in the sibling mementos fix. Loopback stays allowed so hermetic transport tests remain real rather than stubbed. `knowledge mode` reports the resolved backend, what selected it, pointers present but ignored, and whether the guard is armed — from the environment alone, with no store open, no config read and no request, and by env var NAME never value. BREAKING for the fleet flip: a flip writing only the two pointer vars now leaves the CLI local. It must also write HASNA_KNOWLEDGE_STORAGE_MODE=cloud. Evidence, ambient env deliberately left as-is: - bun test: 306 pass / 2 skip / 1 fail across 309 tests in 42 files (was 99 failures under the same env). The one red is the pre-existing tests/cli.test.ts:3044 context-pack case, unrelated. - strace against the real configured endpoint, explicit cloud mode, NODE_ENV=test: 0 connect() syscalls, 0 AF_INET/AF_INET6 sockets, 0 connects to :443. Positive control with the guard disarmed: 4 connects to :443, so the measurement can detect what it claims to. - `knowledge mode` x6 in an isolated HOME: byte-identical file trees before and after. Refs: todos f22a263f --- CHANGELOG.md | 48 + README.md | 41 +- bin/knowledge-mcp.js | 6499 +++++++++++++++++- bin/knowledge.js | 486 +- dist/cloud-store.d.ts | 24 +- dist/index.d.ts | 2 + dist/index.js | 11209 +++++++++++++++++++++++++------- dist/item-store.d.ts | 6 +- dist/knowledge-mode.d.ts | 82 + dist/net-guard.d.ts | 77 + dist/storage.js | 7305 +++++++++++++++++++-- src/cli.ts | 54 +- src/cloud-store.ts | 107 +- src/index.ts | 20 + src/item-store.ts | 20 +- src/knowledge-mode.ts | 191 + src/net-guard.ts | 140 + tests/cli.test.ts | 36 +- tests/cloud-inventory.test.ts | 6 +- tests/cloud-store.test.ts | 26 +- tests/knowledge-mode.test.ts | 215 + tests/net-guard.test.ts | 199 + 22 files changed, 23178 insertions(+), 3615 deletions(-) create mode 100644 dist/knowledge-mode.d.ts create mode 100644 dist/net-guard.d.ts create mode 100644 src/knowledge-mode.ts create mode 100644 src/net-guard.ts create mode 100644 tests/knowledge-mode.test.ts create mode 100644 tests/net-guard.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 57571a1..f03b857 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,53 @@ # Changelog +## Unreleased — the backend is chosen explicitly, and test egress is refused + +**BREAKING for the fleet flip.** `HASNA_KNOWLEDGE_API_URL` + +`HASNA_KNOWLEDGE_API_KEY` no longer select the cloud backend on their own. A flip +that writes only those two variables now leaves the CLI reading the on-box store; +it must also write `HASNA_KNOWLEDGE_STORAGE_MODE=cloud`. Nothing about reaching +the cloud got harder — it has to be asked for. + +Why the old behaviour had to go, measured on this machine: both variables were +exported in a login shell, the tmux server carried them, so every pane inherited +them and `bun test` reported **99 failures instead of 1** — 64 of them the same +"cloud API flip is active" refusal, and the rest of the suite operating against +the live store while believing it was isolated. The symptom named neither the +cause nor the store. With this change the same suite, with those variables still +exported and nothing else neutralised, is **306 pass / 2 skip / 1 fail across 309 +tests**, the one failure being the pre-existing `context pack and proposal +context commands` case. + +- **Request-boundary guard** (`src/net-guard.ts`). While `NODE_ENV=test`, an + outbound request from this package whose target is not loopback is refused + before a socket is opened; refusals never name the target host. Verified + against the real configured endpoint under explicit cloud mode with **0 + connect() syscalls, 0 AF_INET/AF_INET6 sockets and 0 connects to :443**, and + positive-controlled by the same command with the guard disarmed, which made 4 + connects to :443. This is the primary control, not the environment clearing: + a preload or `beforeAll` that clears the selector vars is defeated by a later + file's module-scope assignment, by one `bun test` process sharing one preload, + and by `bunfig.toml` resolving from the cwd — each of which produced a green + run with live writes in the sibling `mementos` fix. Loopback is allowed on + purpose so hermetic transport tests stay real. +- **Explicit mode selection** (`src/knowledge-mode.ts`). The first mode key that + carries a value wins and returns, so `KNOWLEDGE_MODE=local` is authoritative on + a machine whose shell exports a URL and a key; with no mode key the answer is + `local`. Callers hand `@hasna/contracts` a mode-**pinned** environment, in both + directions, so its own presence-inference + (`resolveClientTransport`: url + key ⇒ cloud) can no longer pick a backend + behind this package. Two layers were inferring; both are closed. +- **`knowledge mode`** reports the resolved backend, the env var that selected + it, pointer vars that are present but ignored, and whether the outbound guard + is armed. It reads the environment only — no store open, no config read, no + request — verified byte-identical file trees in an isolated `HOME` and cwd + across six invocations. Env var **names** only, never values. +- Test isolation, as defence in depth: `tests/cli.test.ts` no longer hands the + ambient pointer vars to spawned CLI children. `auth whoami` reports + `authenticated: true` from the mere presence of an API key, so the hosted-auth + contract test had been measuring the developer's shell instead of the temp auth + dir it created. + ## Unreleased — documentation corrections to the multi-tag work Wording-only corrections to claims landed by #34/#35. No behaviour change: the diff --git a/README.md b/README.md index 63e3ec6..2d4ee16 100644 --- a/README.md +++ b/README.md @@ -511,6 +511,31 @@ knowledge paths [--scope global|project|local] [--verbose] [--json] Show compact resolved app paths by default. Use `--verbose` or `--json` for every path and the loaded config. +### mode +```bash +knowledge mode [--json] +``` +Report which backend this process would use — `local` (the on-box store) or +`cloud` (the HTTP `/v1` API) — and which environment variable selected it. + +Selection is **explicit only**. Set `HASNA_KNOWLEDGE_STORAGE_MODE=local|cloud` +(aliases `HASNA_KNOWLEDGE_MODE`, `KNOWLEDGE_STORAGE_MODE`, `KNOWLEDGE_MODE`, in +that precedence order; `self_hosted` is accepted as a deprecated spelling of +`cloud`). Setting `HASNA_KNOWLEDGE_API_URL` / `HASNA_KNOWLEDGE_API_KEY` alone +does **not** switch backends — those are pointers saying where the cloud is and +how to authenticate, and `mode` reports them as present-but-ignored so a machine +that has them exported in its shell is not silently reading a different store +than a machine that does not. + +The command reads the environment only: no store is opened, no config file is +read, and no request is made, so it answers correctly on a machine with no +config and no network. Environment variable **names** are printed, never values. + +While `NODE_ENV=test`, every non-loopback outbound request from this package is +refused before a socket is opened; `mode` reports that as +`network_guard_active`. Point the API URL at `127.0.0.1` for a hermetic +cloud-transport test. + ### storage ```bash knowledge storage status [--scope project] [--json] @@ -706,8 +731,10 @@ the remote repo root or remote `.hasna/knowledge` path. `knowledge sync` owns knowledge semantics and conflict visibility for peer/machine catalog transfer. It is distinct from `db storage status`, which is a read-only local catalog inspector. (The legacy `db storage sync`/`push`/`pull` -Postgres-DSN commands were removed; cross-machine sharing uses the cloud API -flip — `HASNA_KNOWLEDGE_API_URL` + `HASNA_KNOWLEDGE_API_KEY` — instead.) +Postgres-DSN commands were removed; cross-machine sharing uses cloud mode — +`HASNA_KNOWLEDGE_STORAGE_MODE=cloud` plus `HASNA_KNOWLEDGE_API_URL` + +`HASNA_KNOWLEDGE_API_KEY` — instead. The mode var is required: the two pointer +vars on their own do not switch backends. See [`mode`](#mode).) ### setup / auth / remote ```bash @@ -741,10 +768,12 @@ Initialize or inspect the versioned SQLite catalog at durable table list, and local sync history. It is read-only. The legacy `push`/`pull`/`sync` Postgres commands and the client `HASNA_KNOWLEDGE_DATABASE_URL` DSN were removed — a raw database DSN is never distributed to clients. To share -knowledge across machines, use the cloud API flip instead: set -`HASNA_KNOWLEDGE_API_URL` + `HASNA_KNOWLEDGE_API_KEY` so every read/write routes -through the self-hosted HTTP API. The optional mode env vars are -`HASNA_KNOWLEDGE_STORAGE_MODE` / `KNOWLEDGE_STORAGE_MODE` (`local` or `cloud`). +knowledge across machines, use cloud mode instead: set +`HASNA_KNOWLEDGE_STORAGE_MODE=cloud` **and** `HASNA_KNOWLEDGE_API_URL` + +`HASNA_KNOWLEDGE_API_KEY` so every read/write routes through the HTTP API. The +mode var is **not** optional and the pointer vars are **not** a substitute for +it: presence of a URL and a key never switches backends on its own. Run +[`knowledge mode`](#mode) to see what the current environment resolves to. The durable table list excludes local derived FTS indexes such as `chunks_fts`. ### wiki diff --git a/bin/knowledge-mcp.js b/bin/knowledge-mcp.js index fbaf7cc..8c42dd8 100755 --- a/bin/knowledge-mcp.js +++ b/bin/knowledge-mcp.js @@ -21699,26 +21699,6175 @@ function resolveStorageClient(name, env = process.env, overrides) { return { transport: "local", client: null }; } -// src/cloud-store.ts -var KNOWLEDGE_APP_SLUG = "knowledge"; -var MODE_ENV_KEYS = [ - "HASNA_KNOWLEDGE_STORAGE_MODE", - "HASNA_KNOWLEDGE_MODE", - "KNOWLEDGE_STORAGE_MODE", - "KNOWLEDGE_MODE" +// node_modules/@hasna/contracts/dist/client/transport.js +var __defProp3 = Object.defineProperty; +var __returnValue3 = (v) => v; +function __exportSetter3(name, newValue) { + this[name] = __returnValue3.bind(null, newValue); +} +var __export3 = (target, all) => { + for (var name in all) + __defProp3(target, name, { + get: all[name], + enumerable: true, + configurable: true, + set: __exportSetter3.bind(all, name) + }); +}; +var exports_external3 = {}; +__export3(exports_external3, { + void: () => voidType2, + util: () => util2, + unknown: () => unknownType2, + union: () => unionType2, + undefined: () => undefinedType2, + tuple: () => tupleType2, + transformer: () => effectsType2, + symbol: () => symbolType2, + string: () => stringType2, + strictObject: () => strictObjectType2, + setErrorMap: () => setErrorMap3, + set: () => setType2, + record: () => recordType2, + quotelessJson: () => quotelessJson2, + promise: () => promiseType2, + preprocess: () => preprocessType2, + pipeline: () => pipelineType2, + ostring: () => ostring2, + optional: () => optionalType2, + onumber: () => onumber2, + oboolean: () => oboolean2, + objectUtil: () => objectUtil2, + object: () => objectType2, + number: () => numberType2, + nullable: () => nullableType2, + null: () => nullType2, + never: () => neverType2, + nativeEnum: () => nativeEnumType2, + nan: () => nanType2, + map: () => mapType2, + makeIssue: () => makeIssue2, + literal: () => literalType2, + lazy: () => lazyType2, + late: () => late2, + isValid: () => isValid2, + isDirty: () => isDirty2, + isAsync: () => isAsync2, + isAborted: () => isAborted2, + intersection: () => intersectionType2, + instanceof: () => instanceOfType2, + getParsedType: () => getParsedType3, + getErrorMap: () => getErrorMap3, + function: () => functionType2, + enum: () => enumType2, + effect: () => effectsType2, + discriminatedUnion: () => discriminatedUnionType2, + defaultErrorMap: () => en_default3, + datetimeRegex: () => datetimeRegex2, + date: () => dateType2, + custom: () => custom3, + coerce: () => coerce2, + boolean: () => booleanType2, + bigint: () => bigIntType2, + array: () => arrayType2, + any: () => anyType2, + addIssueToContext: () => addIssueToContext2, + ZodVoid: () => ZodVoid3, + ZodUnknown: () => ZodUnknown3, + ZodUnion: () => ZodUnion3, + ZodUndefined: () => ZodUndefined3, + ZodType: () => ZodType3, + ZodTuple: () => ZodTuple3, + ZodTransformer: () => ZodEffects2, + ZodSymbol: () => ZodSymbol3, + ZodString: () => ZodString3, + ZodSet: () => ZodSet3, + ZodSchema: () => ZodType3, + ZodRecord: () => ZodRecord3, + ZodReadonly: () => ZodReadonly3, + ZodPromise: () => ZodPromise3, + ZodPipeline: () => ZodPipeline2, + ZodParsedType: () => ZodParsedType2, + ZodOptional: () => ZodOptional3, + ZodObject: () => ZodObject3, + ZodNumber: () => ZodNumber3, + ZodNullable: () => ZodNullable3, + ZodNull: () => ZodNull3, + ZodNever: () => ZodNever3, + ZodNativeEnum: () => ZodNativeEnum2, + ZodNaN: () => ZodNaN3, + ZodMap: () => ZodMap3, + ZodLiteral: () => ZodLiteral3, + ZodLazy: () => ZodLazy3, + ZodIssueCode: () => ZodIssueCode3, + ZodIntersection: () => ZodIntersection3, + ZodFunction: () => ZodFunction3, + ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind3, + ZodError: () => ZodError3, + ZodEnum: () => ZodEnum3, + ZodEffects: () => ZodEffects2, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion3, + ZodDefault: () => ZodDefault3, + ZodDate: () => ZodDate3, + ZodCatch: () => ZodCatch3, + ZodBranded: () => ZodBranded2, + ZodBoolean: () => ZodBoolean3, + ZodBigInt: () => ZodBigInt3, + ZodArray: () => ZodArray3, + ZodAny: () => ZodAny3, + Schema: () => ZodType3, + ParseStatus: () => ParseStatus2, + OK: () => OK2, + NEVER: () => NEVER3, + INVALID: () => INVALID2, + EMPTY_PATH: () => EMPTY_PATH2, + DIRTY: () => DIRTY2, + BRAND: () => BRAND2 +}); +var util2; +(function(util22) { + util22.assertEqual = (_) => {}; + function assertIs2(_arg) {} + util22.assertIs = assertIs2; + function assertNever2(_x) { + throw new Error; + } + util22.assertNever = assertNever2; + util22.arrayToEnum = (items) => { + const obj = {}; + for (const item of items) { + obj[item] = item; + } + return obj; + }; + util22.getValidEnumValues = (obj) => { + const validKeys = util22.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number"); + const filtered = {}; + for (const k of validKeys) { + filtered[k] = obj[k]; + } + return util22.objectValues(filtered); + }; + util22.objectValues = (obj) => { + return util22.objectKeys(obj).map(function(e) { + return obj[e]; + }); + }; + util22.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object2) => { + const keys = []; + for (const key in object2) { + if (Object.prototype.hasOwnProperty.call(object2, key)) { + keys.push(key); + } + } + return keys; + }; + util22.find = (arr, checker) => { + for (const item of arr) { + if (checker(item)) + return item; + } + return; + }; + util22.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val; + function joinValues2(array2, separator = " | ") { + return array2.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); + } + util22.joinValues = joinValues2; + util22.jsonStringifyReplacer = (_, value) => { + if (typeof value === "bigint") { + return value.toString(); + } + return value; + }; +})(util2 || (util2 = {})); +var objectUtil2; +(function(objectUtil22) { + objectUtil22.mergeShapes = (first, second) => { + return { + ...first, + ...second + }; + }; +})(objectUtil2 || (objectUtil2 = {})); +var ZodParsedType2 = util2.arrayToEnum([ + "string", + "nan", + "number", + "integer", + "float", + "boolean", + "date", + "bigint", + "symbol", + "function", + "undefined", + "null", + "array", + "object", + "unknown", + "promise", + "void", + "never", + "map", + "set" +]); +var getParsedType3 = (data) => { + const t = typeof data; + switch (t) { + case "undefined": + return ZodParsedType2.undefined; + case "string": + return ZodParsedType2.string; + case "number": + return Number.isNaN(data) ? ZodParsedType2.nan : ZodParsedType2.number; + case "boolean": + return ZodParsedType2.boolean; + case "function": + return ZodParsedType2.function; + case "bigint": + return ZodParsedType2.bigint; + case "symbol": + return ZodParsedType2.symbol; + case "object": + if (Array.isArray(data)) { + return ZodParsedType2.array; + } + if (data === null) { + return ZodParsedType2.null; + } + if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { + return ZodParsedType2.promise; + } + if (typeof Map !== "undefined" && data instanceof Map) { + return ZodParsedType2.map; + } + if (typeof Set !== "undefined" && data instanceof Set) { + return ZodParsedType2.set; + } + if (typeof Date !== "undefined" && data instanceof Date) { + return ZodParsedType2.date; + } + return ZodParsedType2.object; + default: + return ZodParsedType2.unknown; + } +}; +var ZodIssueCode3 = util2.arrayToEnum([ + "invalid_type", + "invalid_literal", + "custom", + "invalid_union", + "invalid_union_discriminator", + "invalid_enum_value", + "unrecognized_keys", + "invalid_arguments", + "invalid_return_type", + "invalid_date", + "invalid_string", + "too_small", + "too_big", + "invalid_intersection_types", + "not_multiple_of", + "not_finite" +]); +var quotelessJson2 = (obj) => { + const json2 = JSON.stringify(obj, null, 2); + return json2.replace(/"([^"]+)":/g, "$1:"); +}; + +class ZodError3 extends Error { + get errors() { + return this.issues; + } + constructor(issues) { + super(); + this.issues = []; + this.addIssue = (sub) => { + this.issues = [...this.issues, sub]; + }; + this.addIssues = (subs = []) => { + this.issues = [...this.issues, ...subs]; + }; + const actualProto = new.target.prototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } else { + this.__proto__ = actualProto; + } + this.name = "ZodError"; + this.issues = issues; + } + format(_mapper) { + const mapper = _mapper || function(issue2) { + return issue2.message; + }; + const fieldErrors = { _errors: [] }; + const processError = (error51) => { + for (const issue2 of error51.issues) { + if (issue2.code === "invalid_union") { + issue2.unionErrors.map(processError); + } else if (issue2.code === "invalid_return_type") { + processError(issue2.returnTypeError); + } else if (issue2.code === "invalid_arguments") { + processError(issue2.argumentsError); + } else if (issue2.path.length === 0) { + fieldErrors._errors.push(mapper(issue2)); + } else { + let curr = fieldErrors; + let i = 0; + while (i < issue2.path.length) { + const el = issue2.path[i]; + const terminal = i === issue2.path.length - 1; + if (!terminal) { + curr[el] = curr[el] || { _errors: [] }; + } else { + curr[el] = curr[el] || { _errors: [] }; + curr[el]._errors.push(mapper(issue2)); + } + curr = curr[el]; + i++; + } + } + } + }; + processError(this); + return fieldErrors; + } + static assert(value) { + if (!(value instanceof ZodError3)) { + throw new Error(`Not a ZodError: ${value}`); + } + } + toString() { + return this.message; + } + get message() { + return JSON.stringify(this.issues, util2.jsonStringifyReplacer, 2); + } + get isEmpty() { + return this.issues.length === 0; + } + flatten(mapper = (issue2) => issue2.message) { + const fieldErrors = {}; + const formErrors = []; + for (const sub of this.issues) { + if (sub.path.length > 0) { + const firstEl = sub.path[0]; + fieldErrors[firstEl] = fieldErrors[firstEl] || []; + fieldErrors[firstEl].push(mapper(sub)); + } else { + formErrors.push(mapper(sub)); + } + } + return { formErrors, fieldErrors }; + } + get formErrors() { + return this.flatten(); + } +} +ZodError3.create = (issues) => { + const error51 = new ZodError3(issues); + return error51; +}; +var errorMap2 = (issue2, _ctx) => { + let message; + switch (issue2.code) { + case ZodIssueCode3.invalid_type: + if (issue2.received === ZodParsedType2.undefined) { + message = "Required"; + } else { + message = `Expected ${issue2.expected}, received ${issue2.received}`; + } + break; + case ZodIssueCode3.invalid_literal: + message = `Invalid literal value, expected ${JSON.stringify(issue2.expected, util2.jsonStringifyReplacer)}`; + break; + case ZodIssueCode3.unrecognized_keys: + message = `Unrecognized key(s) in object: ${util2.joinValues(issue2.keys, ", ")}`; + break; + case ZodIssueCode3.invalid_union: + message = `Invalid input`; + break; + case ZodIssueCode3.invalid_union_discriminator: + message = `Invalid discriminator value. Expected ${util2.joinValues(issue2.options)}`; + break; + case ZodIssueCode3.invalid_enum_value: + message = `Invalid enum value. Expected ${util2.joinValues(issue2.options)}, received '${issue2.received}'`; + break; + case ZodIssueCode3.invalid_arguments: + message = `Invalid function arguments`; + break; + case ZodIssueCode3.invalid_return_type: + message = `Invalid function return type`; + break; + case ZodIssueCode3.invalid_date: + message = `Invalid date`; + break; + case ZodIssueCode3.invalid_string: + if (typeof issue2.validation === "object") { + if ("includes" in issue2.validation) { + message = `Invalid input: must include "${issue2.validation.includes}"`; + if (typeof issue2.validation.position === "number") { + message = `${message} at one or more positions greater than or equal to ${issue2.validation.position}`; + } + } else if ("startsWith" in issue2.validation) { + message = `Invalid input: must start with "${issue2.validation.startsWith}"`; + } else if ("endsWith" in issue2.validation) { + message = `Invalid input: must end with "${issue2.validation.endsWith}"`; + } else { + util2.assertNever(issue2.validation); + } + } else if (issue2.validation !== "regex") { + message = `Invalid ${issue2.validation}`; + } else { + message = "Invalid"; + } + break; + case ZodIssueCode3.too_small: + if (issue2.type === "array") + message = `Array must contain ${issue2.exact ? "exactly" : issue2.inclusive ? `at least` : `more than`} ${issue2.minimum} element(s)`; + else if (issue2.type === "string") + message = `String must contain ${issue2.exact ? "exactly" : issue2.inclusive ? `at least` : `over`} ${issue2.minimum} character(s)`; + else if (issue2.type === "number") + message = `Number must be ${issue2.exact ? `exactly equal to ` : issue2.inclusive ? `greater than or equal to ` : `greater than `}${issue2.minimum}`; + else if (issue2.type === "bigint") + message = `Number must be ${issue2.exact ? `exactly equal to ` : issue2.inclusive ? `greater than or equal to ` : `greater than `}${issue2.minimum}`; + else if (issue2.type === "date") + message = `Date must be ${issue2.exact ? `exactly equal to ` : issue2.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue2.minimum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode3.too_big: + if (issue2.type === "array") + message = `Array must contain ${issue2.exact ? `exactly` : issue2.inclusive ? `at most` : `less than`} ${issue2.maximum} element(s)`; + else if (issue2.type === "string") + message = `String must contain ${issue2.exact ? `exactly` : issue2.inclusive ? `at most` : `under`} ${issue2.maximum} character(s)`; + else if (issue2.type === "number") + message = `Number must be ${issue2.exact ? `exactly` : issue2.inclusive ? `less than or equal to` : `less than`} ${issue2.maximum}`; + else if (issue2.type === "bigint") + message = `BigInt must be ${issue2.exact ? `exactly` : issue2.inclusive ? `less than or equal to` : `less than`} ${issue2.maximum}`; + else if (issue2.type === "date") + message = `Date must be ${issue2.exact ? `exactly` : issue2.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue2.maximum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode3.custom: + message = `Invalid input`; + break; + case ZodIssueCode3.invalid_intersection_types: + message = `Intersection results could not be merged`; + break; + case ZodIssueCode3.not_multiple_of: + message = `Number must be a multiple of ${issue2.multipleOf}`; + break; + case ZodIssueCode3.not_finite: + message = "Number must be finite"; + break; + default: + message = _ctx.defaultError; + util2.assertNever(issue2); + } + return { message }; +}; +var en_default3 = errorMap2; +var overrideErrorMap2 = en_default3; +function setErrorMap3(map2) { + overrideErrorMap2 = map2; +} +function getErrorMap3() { + return overrideErrorMap2; +} +var makeIssue2 = (params) => { + const { data, path, errorMaps, issueData } = params; + const fullPath = [...path, ...issueData.path || []]; + const fullIssue = { + ...issueData, + path: fullPath + }; + if (issueData.message !== undefined) { + return { + ...issueData, + path: fullPath, + message: issueData.message + }; + } + let errorMessage = ""; + const maps = errorMaps.filter((m) => !!m).slice().reverse(); + for (const map2 of maps) { + errorMessage = map2(fullIssue, { data, defaultError: errorMessage }).message; + } + return { + ...issueData, + path: fullPath, + message: errorMessage + }; +}; +var EMPTY_PATH2 = []; +function addIssueToContext2(ctx, issueData) { + const overrideMap = getErrorMap3(); + const issue2 = makeIssue2({ + issueData, + data: ctx.data, + path: ctx.path, + errorMaps: [ + ctx.common.contextualErrorMap, + ctx.schemaErrorMap, + overrideMap, + overrideMap === en_default3 ? undefined : en_default3 + ].filter((x) => !!x) + }); + ctx.common.issues.push(issue2); +} + +class ParseStatus2 { + constructor() { + this.value = "valid"; + } + dirty() { + if (this.value === "valid") + this.value = "dirty"; + } + abort() { + if (this.value !== "aborted") + this.value = "aborted"; + } + static mergeArray(status, results) { + const arrayValue = []; + for (const s of results) { + if (s.status === "aborted") + return INVALID2; + if (s.status === "dirty") + status.dirty(); + arrayValue.push(s.value); + } + return { status: status.value, value: arrayValue }; + } + static async mergeObjectAsync(status, pairs) { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value + }); + } + return ParseStatus2.mergeObjectSync(status, syncPairs); + } + static mergeObjectSync(status, pairs) { + const finalObject = {}; + for (const pair of pairs) { + const { key, value } = pair; + if (key.status === "aborted") + return INVALID2; + if (value.status === "aborted") + return INVALID2; + if (key.status === "dirty") + status.dirty(); + if (value.status === "dirty") + status.dirty(); + if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) { + finalObject[key.value] = value.value; + } + } + return { status: status.value, value: finalObject }; + } +} +var INVALID2 = Object.freeze({ + status: "aborted" +}); +var DIRTY2 = (value) => ({ status: "dirty", value }); +var OK2 = (value) => ({ status: "valid", value }); +var isAborted2 = (x) => x.status === "aborted"; +var isDirty2 = (x) => x.status === "dirty"; +var isValid2 = (x) => x.status === "valid"; +var isAsync2 = (x) => typeof Promise !== "undefined" && x instanceof Promise; +var errorUtil2; +(function(errorUtil22) { + errorUtil22.errToObj = (message) => typeof message === "string" ? { message } : message || {}; + errorUtil22.toString = (message) => typeof message === "string" ? message : message?.message; +})(errorUtil2 || (errorUtil2 = {})); + +class ParseInputLazyPath2 { + constructor(parent, value, path, key) { + this._cachedPath = []; + this.parent = parent; + this.data = value; + this._path = path; + this._key = key; + } + get path() { + if (!this._cachedPath.length) { + if (Array.isArray(this._key)) { + this._cachedPath.push(...this._path, ...this._key); + } else { + this._cachedPath.push(...this._path, this._key); + } + } + return this._cachedPath; + } +} +var handleResult2 = (ctx, result) => { + if (isValid2(result)) { + return { success: true, data: result.value }; + } else { + if (!ctx.common.issues.length) { + throw new Error("Validation failed but no issues detected."); + } + return { + success: false, + get error() { + if (this._error) + return this._error; + const error51 = new ZodError3(ctx.common.issues); + this._error = error51; + return this._error; + } + }; + } +}; +function processCreateParams2(params) { + if (!params) + return {}; + const { errorMap: errorMap22, invalid_type_error, required_error, description } = params; + if (errorMap22 && (invalid_type_error || required_error)) { + throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); + } + if (errorMap22) + return { errorMap: errorMap22, description }; + const customMap = (iss, ctx) => { + const { message } = params; + if (iss.code === "invalid_enum_value") { + return { message: message ?? ctx.defaultError }; + } + if (typeof ctx.data === "undefined") { + return { message: message ?? required_error ?? ctx.defaultError }; + } + if (iss.code !== "invalid_type") + return { message: ctx.defaultError }; + return { message: message ?? invalid_type_error ?? ctx.defaultError }; + }; + return { errorMap: customMap, description }; +} + +class ZodType3 { + get description() { + return this._def.description; + } + _getType(input) { + return getParsedType3(input.data); + } + _getOrReturnCtx(input, ctx) { + return ctx || { + common: input.parent.common, + data: input.data, + parsedType: getParsedType3(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + }; + } + _processInputParams(input) { + return { + status: new ParseStatus2, + ctx: { + common: input.parent.common, + data: input.data, + parsedType: getParsedType3(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + } + }; + } + _parseSync(input) { + const result = this._parse(input); + if (isAsync2(result)) { + throw new Error("Synchronous parse encountered promise."); + } + return result; + } + _parseAsync(input) { + const result = this._parse(input); + return Promise.resolve(result); + } + parse(data, params) { + const result = this.safeParse(data, params); + if (result.success) + return result.data; + throw result.error; + } + safeParse(data, params) { + const ctx = { + common: { + issues: [], + async: params?.async ?? false, + contextualErrorMap: params?.errorMap + }, + path: params?.path || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType3(data) + }; + const result = this._parseSync({ data, path: ctx.path, parent: ctx }); + return handleResult2(ctx, result); + } + "~validate"(data) { + const ctx = { + common: { + issues: [], + async: !!this["~standard"].async + }, + path: [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType3(data) + }; + if (!this["~standard"].async) { + try { + const result = this._parseSync({ data, path: [], parent: ctx }); + return isValid2(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }; + } catch (err) { + if (err?.message?.toLowerCase()?.includes("encountered")) { + this["~standard"].async = true; + } + ctx.common = { + issues: [], + async: true + }; + } + } + return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid2(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }); + } + async parseAsync(data, params) { + const result = await this.safeParseAsync(data, params); + if (result.success) + return result.data; + throw result.error; + } + async safeParseAsync(data, params) { + const ctx = { + common: { + issues: [], + contextualErrorMap: params?.errorMap, + async: true + }, + path: params?.path || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType3(data) + }; + const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx }); + const result = await (isAsync2(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); + return handleResult2(ctx, result); + } + refine(check2, message) { + const getIssueProperties = (val) => { + if (typeof message === "string" || typeof message === "undefined") { + return { message }; + } else if (typeof message === "function") { + return message(val); + } else { + return message; + } + }; + return this._refinement((val, ctx) => { + const result = check2(val); + const setError = () => ctx.addIssue({ + code: ZodIssueCode3.custom, + ...getIssueProperties(val) + }); + if (typeof Promise !== "undefined" && result instanceof Promise) { + return result.then((data) => { + if (!data) { + setError(); + return false; + } else { + return true; + } + }); + } + if (!result) { + setError(); + return false; + } else { + return true; + } + }); + } + refinement(check2, refinementData) { + return this._refinement((val, ctx) => { + if (!check2(val)) { + ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData); + return false; + } else { + return true; + } + }); + } + _refinement(refinement) { + return new ZodEffects2({ + schema: this, + typeName: ZodFirstPartyTypeKind3.ZodEffects, + effect: { type: "refinement", refinement } + }); + } + superRefine(refinement) { + return this._refinement(refinement); + } + constructor(def) { + this.spa = this.safeParseAsync; + this._def = def; + this.parse = this.parse.bind(this); + this.safeParse = this.safeParse.bind(this); + this.parseAsync = this.parseAsync.bind(this); + this.safeParseAsync = this.safeParseAsync.bind(this); + this.spa = this.spa.bind(this); + this.refine = this.refine.bind(this); + this.refinement = this.refinement.bind(this); + this.superRefine = this.superRefine.bind(this); + this.optional = this.optional.bind(this); + this.nullable = this.nullable.bind(this); + this.nullish = this.nullish.bind(this); + this.array = this.array.bind(this); + this.promise = this.promise.bind(this); + this.or = this.or.bind(this); + this.and = this.and.bind(this); + this.transform = this.transform.bind(this); + this.brand = this.brand.bind(this); + this.default = this.default.bind(this); + this.catch = this.catch.bind(this); + this.describe = this.describe.bind(this); + this.pipe = this.pipe.bind(this); + this.readonly = this.readonly.bind(this); + this.isNullable = this.isNullable.bind(this); + this.isOptional = this.isOptional.bind(this); + this["~standard"] = { + version: 1, + vendor: "zod", + validate: (data) => this["~validate"](data) + }; + } + optional() { + return ZodOptional3.create(this, this._def); + } + nullable() { + return ZodNullable3.create(this, this._def); + } + nullish() { + return this.nullable().optional(); + } + array() { + return ZodArray3.create(this); + } + promise() { + return ZodPromise3.create(this, this._def); + } + or(option) { + return ZodUnion3.create([this, option], this._def); + } + and(incoming) { + return ZodIntersection3.create(this, incoming, this._def); + } + transform(transform2) { + return new ZodEffects2({ + ...processCreateParams2(this._def), + schema: this, + typeName: ZodFirstPartyTypeKind3.ZodEffects, + effect: { type: "transform", transform: transform2 } + }); + } + default(def) { + const defaultValueFunc = typeof def === "function" ? def : () => def; + return new ZodDefault3({ + ...processCreateParams2(this._def), + innerType: this, + defaultValue: defaultValueFunc, + typeName: ZodFirstPartyTypeKind3.ZodDefault + }); + } + brand() { + return new ZodBranded2({ + typeName: ZodFirstPartyTypeKind3.ZodBranded, + type: this, + ...processCreateParams2(this._def) + }); + } + catch(def) { + const catchValueFunc = typeof def === "function" ? def : () => def; + return new ZodCatch3({ + ...processCreateParams2(this._def), + innerType: this, + catchValue: catchValueFunc, + typeName: ZodFirstPartyTypeKind3.ZodCatch + }); + } + describe(description) { + const This = this.constructor; + return new This({ + ...this._def, + description + }); + } + pipe(target) { + return ZodPipeline2.create(this, target); + } + readonly() { + return ZodReadonly3.create(this); + } + isOptional() { + return this.safeParse(undefined).success; + } + isNullable() { + return this.safeParse(null).success; + } +} +var cuidRegex2 = /^c[^\s-]{8,}$/i; +var cuid2Regex2 = /^[0-9a-z]+$/; +var ulidRegex2 = /^[0-9A-HJKMNP-TV-Z]{26}$/i; +var uuidRegex2 = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; +var nanoidRegex2 = /^[a-z0-9_-]{21}$/i; +var jwtRegex2 = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/; +var durationRegex2 = /^[-+]?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)?)??$/; +var emailRegex2 = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; +var _emojiRegex2 = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; +var emojiRegex2; +var ipv4Regex2 = /^(?:(?: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])$/; +var ipv4CidrRegex2 = /^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/; +var ipv6Regex2 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/; +var ipv6CidrRegex2 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; +var base64Regex2 = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; +var base64urlRegex2 = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/; +var dateRegexSource2 = `((\\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])))`; +var dateRegex2 = new RegExp(`^${dateRegexSource2}$`); +function timeRegexSource2(args) { + let secondsRegexSource = `[0-5]\\d`; + if (args.precision) { + secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`; + } else if (args.precision == null) { + secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`; + } + const secondsQuantifier = args.precision ? "+" : "?"; + return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`; +} +function timeRegex2(args) { + return new RegExp(`^${timeRegexSource2(args)}$`); +} +function datetimeRegex2(args) { + let regex = `${dateRegexSource2}T${timeRegexSource2(args)}`; + const opts = []; + opts.push(args.local ? `Z?` : `Z`); + if (args.offset) + opts.push(`([+-]\\d{2}:?\\d{2})`); + regex = `${regex}(${opts.join("|")})`; + return new RegExp(`^${regex}$`); +} +function isValidIP2(ip, version2) { + if ((version2 === "v4" || !version2) && ipv4Regex2.test(ip)) { + return true; + } + if ((version2 === "v6" || !version2) && ipv6Regex2.test(ip)) { + return true; + } + return false; +} +function isValidJWT3(jwt2, alg) { + if (!jwtRegex2.test(jwt2)) + return false; + try { + const [header] = jwt2.split("."); + if (!header) + return false; + const base643 = header.replace(/-/g, "+").replace(/_/g, "/").padEnd(header.length + (4 - header.length % 4) % 4, "="); + const decoded = JSON.parse(atob(base643)); + if (typeof decoded !== "object" || decoded === null) + return false; + if ("typ" in decoded && decoded?.typ !== "JWT") + return false; + if (!decoded.alg) + return false; + if (alg && decoded.alg !== alg) + return false; + return true; + } catch { + return false; + } +} +function isValidCidr2(ip, version2) { + if ((version2 === "v4" || !version2) && ipv4CidrRegex2.test(ip)) { + return true; + } + if ((version2 === "v6" || !version2) && ipv6CidrRegex2.test(ip)) { + return true; + } + return false; +} + +class ZodString3 extends ZodType3 { + _parse(input) { + if (this._def.coerce) { + input.data = String(input.data); + } + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.string) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.string, + received: ctx2.parsedType + }); + return INVALID2; + } + const status = new ParseStatus2; + let ctx = undefined; + for (const check2 of this._def.checks) { + if (check2.kind === "min") { + if (input.data.length < check2.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_small, + minimum: check2.value, + type: "string", + inclusive: true, + exact: false, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "max") { + if (input.data.length > check2.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_big, + maximum: check2.value, + type: "string", + inclusive: true, + exact: false, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "length") { + const tooBig = input.data.length > check2.value; + const tooSmall = input.data.length < check2.value; + if (tooBig || tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + if (tooBig) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_big, + maximum: check2.value, + type: "string", + inclusive: true, + exact: true, + message: check2.message + }); + } else if (tooSmall) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_small, + minimum: check2.value, + type: "string", + inclusive: true, + exact: true, + message: check2.message + }); + } + status.dirty(); + } + } else if (check2.kind === "email") { + if (!emailRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "email", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "emoji") { + if (!emojiRegex2) { + emojiRegex2 = new RegExp(_emojiRegex2, "u"); + } + if (!emojiRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "emoji", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "uuid") { + if (!uuidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "uuid", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "nanoid") { + if (!nanoidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "nanoid", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "cuid") { + if (!cuidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cuid", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "cuid2") { + if (!cuid2Regex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cuid2", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "ulid") { + if (!ulidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "ulid", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "url") { + try { + new URL(input.data); + } catch { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "url", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "regex") { + check2.regex.lastIndex = 0; + const testResult = check2.regex.test(input.data); + if (!testResult) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "regex", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "trim") { + input.data = input.data.trim(); + } else if (check2.kind === "includes") { + if (!input.data.includes(check2.value, check2.position)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_string, + validation: { includes: check2.value, position: check2.position }, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "toLowerCase") { + input.data = input.data.toLowerCase(); + } else if (check2.kind === "toUpperCase") { + input.data = input.data.toUpperCase(); + } else if (check2.kind === "startsWith") { + if (!input.data.startsWith(check2.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_string, + validation: { startsWith: check2.value }, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "endsWith") { + if (!input.data.endsWith(check2.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_string, + validation: { endsWith: check2.value }, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "datetime") { + const regex = datetimeRegex2(check2); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_string, + validation: "datetime", + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "date") { + const regex = dateRegex2; + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_string, + validation: "date", + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "time") { + const regex = timeRegex2(check2); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_string, + validation: "time", + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "duration") { + if (!durationRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "duration", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "ip") { + if (!isValidIP2(input.data, check2.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "ip", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "jwt") { + if (!isValidJWT3(input.data, check2.alg)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "jwt", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "cidr") { + if (!isValidCidr2(input.data, check2.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cidr", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "base64") { + if (!base64Regex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "base64", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "base64url") { + if (!base64urlRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "base64url", + code: ZodIssueCode3.invalid_string, + message: check2.message + }); + status.dirty(); + } + } else { + util2.assertNever(check2); + } + } + return { status: status.value, value: input.data }; + } + _regex(regex, validation, message) { + return this.refinement((data) => regex.test(data), { + validation, + code: ZodIssueCode3.invalid_string, + ...errorUtil2.errToObj(message) + }); + } + _addCheck(check2) { + return new ZodString3({ + ...this._def, + checks: [...this._def.checks, check2] + }); + } + email(message) { + return this._addCheck({ kind: "email", ...errorUtil2.errToObj(message) }); + } + url(message) { + return this._addCheck({ kind: "url", ...errorUtil2.errToObj(message) }); + } + emoji(message) { + return this._addCheck({ kind: "emoji", ...errorUtil2.errToObj(message) }); + } + uuid(message) { + return this._addCheck({ kind: "uuid", ...errorUtil2.errToObj(message) }); + } + nanoid(message) { + return this._addCheck({ kind: "nanoid", ...errorUtil2.errToObj(message) }); + } + cuid(message) { + return this._addCheck({ kind: "cuid", ...errorUtil2.errToObj(message) }); + } + cuid2(message) { + return this._addCheck({ kind: "cuid2", ...errorUtil2.errToObj(message) }); + } + ulid(message) { + return this._addCheck({ kind: "ulid", ...errorUtil2.errToObj(message) }); + } + base64(message) { + return this._addCheck({ kind: "base64", ...errorUtil2.errToObj(message) }); + } + base64url(message) { + return this._addCheck({ + kind: "base64url", + ...errorUtil2.errToObj(message) + }); + } + jwt(options) { + return this._addCheck({ kind: "jwt", ...errorUtil2.errToObj(options) }); + } + ip(options) { + return this._addCheck({ kind: "ip", ...errorUtil2.errToObj(options) }); + } + cidr(options) { + return this._addCheck({ kind: "cidr", ...errorUtil2.errToObj(options) }); + } + datetime(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "datetime", + precision: null, + offset: false, + local: false, + message: options + }); + } + return this._addCheck({ + kind: "datetime", + precision: typeof options?.precision === "undefined" ? null : options?.precision, + offset: options?.offset ?? false, + local: options?.local ?? false, + ...errorUtil2.errToObj(options?.message) + }); + } + date(message) { + return this._addCheck({ kind: "date", message }); + } + time(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "time", + precision: null, + message: options + }); + } + return this._addCheck({ + kind: "time", + precision: typeof options?.precision === "undefined" ? null : options?.precision, + ...errorUtil2.errToObj(options?.message) + }); + } + duration(message) { + return this._addCheck({ kind: "duration", ...errorUtil2.errToObj(message) }); + } + regex(regex, message) { + return this._addCheck({ + kind: "regex", + regex, + ...errorUtil2.errToObj(message) + }); + } + includes(value, options) { + return this._addCheck({ + kind: "includes", + value, + position: options?.position, + ...errorUtil2.errToObj(options?.message) + }); + } + startsWith(value, message) { + return this._addCheck({ + kind: "startsWith", + value, + ...errorUtil2.errToObj(message) + }); + } + endsWith(value, message) { + return this._addCheck({ + kind: "endsWith", + value, + ...errorUtil2.errToObj(message) + }); + } + min(minLength, message) { + return this._addCheck({ + kind: "min", + value: minLength, + ...errorUtil2.errToObj(message) + }); + } + max(maxLength, message) { + return this._addCheck({ + kind: "max", + value: maxLength, + ...errorUtil2.errToObj(message) + }); + } + length(len, message) { + return this._addCheck({ + kind: "length", + value: len, + ...errorUtil2.errToObj(message) + }); + } + nonempty(message) { + return this.min(1, errorUtil2.errToObj(message)); + } + trim() { + return new ZodString3({ + ...this._def, + checks: [...this._def.checks, { kind: "trim" }] + }); + } + toLowerCase() { + return new ZodString3({ + ...this._def, + checks: [...this._def.checks, { kind: "toLowerCase" }] + }); + } + toUpperCase() { + return new ZodString3({ + ...this._def, + checks: [...this._def.checks, { kind: "toUpperCase" }] + }); + } + get isDatetime() { + return !!this._def.checks.find((ch) => ch.kind === "datetime"); + } + get isDate() { + return !!this._def.checks.find((ch) => ch.kind === "date"); + } + get isTime() { + return !!this._def.checks.find((ch) => ch.kind === "time"); + } + get isDuration() { + return !!this._def.checks.find((ch) => ch.kind === "duration"); + } + get isEmail() { + return !!this._def.checks.find((ch) => ch.kind === "email"); + } + get isURL() { + return !!this._def.checks.find((ch) => ch.kind === "url"); + } + get isEmoji() { + return !!this._def.checks.find((ch) => ch.kind === "emoji"); + } + get isUUID() { + return !!this._def.checks.find((ch) => ch.kind === "uuid"); + } + get isNANOID() { + return !!this._def.checks.find((ch) => ch.kind === "nanoid"); + } + get isCUID() { + return !!this._def.checks.find((ch) => ch.kind === "cuid"); + } + get isCUID2() { + return !!this._def.checks.find((ch) => ch.kind === "cuid2"); + } + get isULID() { + return !!this._def.checks.find((ch) => ch.kind === "ulid"); + } + get isIP() { + return !!this._def.checks.find((ch) => ch.kind === "ip"); + } + get isCIDR() { + return !!this._def.checks.find((ch) => ch.kind === "cidr"); + } + get isBase64() { + return !!this._def.checks.find((ch) => ch.kind === "base64"); + } + get isBase64url() { + return !!this._def.checks.find((ch) => ch.kind === "base64url"); + } + get minLength() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxLength() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } +} +ZodString3.create = (params) => { + return new ZodString3({ + checks: [], + typeName: ZodFirstPartyTypeKind3.ZodString, + coerce: params?.coerce ?? false, + ...processCreateParams2(params) + }); +}; +function floatSafeRemainder3(val, step) { + const valDecCount = (val.toString().split(".")[1] || "").length; + const stepDecCount = (step.toString().split(".")[1] || "").length; + const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; + const valInt = Number.parseInt(val.toFixed(decCount).replace(".", "")); + const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", "")); + return valInt % stepInt / 10 ** decCount; +} + +class ZodNumber3 extends ZodType3 { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + this.step = this.multipleOf; + } + _parse(input) { + if (this._def.coerce) { + input.data = Number(input.data); + } + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.number) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.number, + received: ctx2.parsedType + }); + return INVALID2; + } + let ctx = undefined; + const status = new ParseStatus2; + for (const check2 of this._def.checks) { + if (check2.kind === "int") { + if (!util2.isInteger(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: "integer", + received: "float", + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "min") { + const tooSmall = check2.inclusive ? input.data < check2.value : input.data <= check2.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_small, + minimum: check2.value, + type: "number", + inclusive: check2.inclusive, + exact: false, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "max") { + const tooBig = check2.inclusive ? input.data > check2.value : input.data >= check2.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_big, + maximum: check2.value, + type: "number", + inclusive: check2.inclusive, + exact: false, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "multipleOf") { + if (floatSafeRemainder3(input.data, check2.value) !== 0) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.not_multiple_of, + multipleOf: check2.value, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "finite") { + if (!Number.isFinite(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.not_finite, + message: check2.message + }); + status.dirty(); + } + } else { + util2.assertNever(check2); + } + } + return { status: status.value, value: input.data }; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil2.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil2.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil2.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil2.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new ZodNumber3({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil2.toString(message) + } + ] + }); + } + _addCheck(check2) { + return new ZodNumber3({ + ...this._def, + checks: [...this._def.checks, check2] + }); + } + int(message) { + return this._addCheck({ + kind: "int", + message: errorUtil2.toString(message) + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: false, + message: errorUtil2.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: false, + message: errorUtil2.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: true, + message: errorUtil2.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: true, + message: errorUtil2.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil2.toString(message) + }); + } + finite(message) { + return this._addCheck({ + kind: "finite", + message: errorUtil2.toString(message) + }); + } + safe(message) { + return this._addCheck({ + kind: "min", + inclusive: true, + value: Number.MIN_SAFE_INTEGER, + message: errorUtil2.toString(message) + })._addCheck({ + kind: "max", + inclusive: true, + value: Number.MAX_SAFE_INTEGER, + message: errorUtil2.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } + get isInt() { + return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util2.isInteger(ch.value)); + } + get isFinite() { + let max = null; + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") { + return true; + } else if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } else if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return Number.isFinite(min) && Number.isFinite(max); + } +} +ZodNumber3.create = (params) => { + return new ZodNumber3({ + checks: [], + typeName: ZodFirstPartyTypeKind3.ZodNumber, + coerce: params?.coerce || false, + ...processCreateParams2(params) + }); +}; + +class ZodBigInt3 extends ZodType3 { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + } + _parse(input) { + if (this._def.coerce) { + try { + input.data = BigInt(input.data); + } catch { + return this._getInvalidInput(input); + } + } + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.bigint) { + return this._getInvalidInput(input); + } + let ctx = undefined; + const status = new ParseStatus2; + for (const check2 of this._def.checks) { + if (check2.kind === "min") { + const tooSmall = check2.inclusive ? input.data < check2.value : input.data <= check2.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_small, + type: "bigint", + minimum: check2.value, + inclusive: check2.inclusive, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "max") { + const tooBig = check2.inclusive ? input.data > check2.value : input.data >= check2.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_big, + type: "bigint", + maximum: check2.value, + inclusive: check2.inclusive, + message: check2.message + }); + status.dirty(); + } + } else if (check2.kind === "multipleOf") { + if (input.data % check2.value !== BigInt(0)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.not_multiple_of, + multipleOf: check2.value, + message: check2.message + }); + status.dirty(); + } + } else { + util2.assertNever(check2); + } + } + return { status: status.value, value: input.data }; + } + _getInvalidInput(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.bigint, + received: ctx.parsedType + }); + return INVALID2; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil2.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil2.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil2.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil2.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new ZodBigInt3({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil2.toString(message) + } + ] + }); + } + _addCheck(check2) { + return new ZodBigInt3({ + ...this._def, + checks: [...this._def.checks, check2] + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: false, + message: errorUtil2.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: false, + message: errorUtil2.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: true, + message: errorUtil2.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: true, + message: errorUtil2.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil2.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } +} +ZodBigInt3.create = (params) => { + return new ZodBigInt3({ + checks: [], + typeName: ZodFirstPartyTypeKind3.ZodBigInt, + coerce: params?.coerce ?? false, + ...processCreateParams2(params) + }); +}; + +class ZodBoolean3 extends ZodType3 { + _parse(input) { + if (this._def.coerce) { + input.data = Boolean(input.data); + } + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.boolean) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.boolean, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodBoolean3.create = (params) => { + return new ZodBoolean3({ + typeName: ZodFirstPartyTypeKind3.ZodBoolean, + coerce: params?.coerce || false, + ...processCreateParams2(params) + }); +}; + +class ZodDate3 extends ZodType3 { + _parse(input) { + if (this._def.coerce) { + input.data = new Date(input.data); + } + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.date) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.date, + received: ctx2.parsedType + }); + return INVALID2; + } + if (Number.isNaN(input.data.getTime())) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode3.invalid_date + }); + return INVALID2; + } + const status = new ParseStatus2; + let ctx = undefined; + for (const check2 of this._def.checks) { + if (check2.kind === "min") { + if (input.data.getTime() < check2.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_small, + message: check2.message, + inclusive: true, + exact: false, + minimum: check2.value, + type: "date" + }); + status.dirty(); + } + } else if (check2.kind === "max") { + if (input.data.getTime() > check2.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_big, + message: check2.message, + inclusive: true, + exact: false, + maximum: check2.value, + type: "date" + }); + status.dirty(); + } + } else { + util2.assertNever(check2); + } + } + return { + status: status.value, + value: new Date(input.data.getTime()) + }; + } + _addCheck(check2) { + return new ZodDate3({ + ...this._def, + checks: [...this._def.checks, check2] + }); + } + min(minDate, message) { + return this._addCheck({ + kind: "min", + value: minDate.getTime(), + message: errorUtil2.toString(message) + }); + } + max(maxDate, message) { + return this._addCheck({ + kind: "max", + value: maxDate.getTime(), + message: errorUtil2.toString(message) + }); + } + get minDate() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min != null ? new Date(min) : null; + } + get maxDate() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max != null ? new Date(max) : null; + } +} +ZodDate3.create = (params) => { + return new ZodDate3({ + checks: [], + coerce: params?.coerce || false, + typeName: ZodFirstPartyTypeKind3.ZodDate, + ...processCreateParams2(params) + }); +}; + +class ZodSymbol3 extends ZodType3 { + _parse(input) { + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.symbol) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.symbol, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodSymbol3.create = (params) => { + return new ZodSymbol3({ + typeName: ZodFirstPartyTypeKind3.ZodSymbol, + ...processCreateParams2(params) + }); +}; + +class ZodUndefined3 extends ZodType3 { + _parse(input) { + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.undefined, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodUndefined3.create = (params) => { + return new ZodUndefined3({ + typeName: ZodFirstPartyTypeKind3.ZodUndefined, + ...processCreateParams2(params) + }); +}; + +class ZodNull3 extends ZodType3 { + _parse(input) { + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.null) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.null, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodNull3.create = (params) => { + return new ZodNull3({ + typeName: ZodFirstPartyTypeKind3.ZodNull, + ...processCreateParams2(params) + }); +}; + +class ZodAny3 extends ZodType3 { + constructor() { + super(...arguments); + this._any = true; + } + _parse(input) { + return OK2(input.data); + } +} +ZodAny3.create = (params) => { + return new ZodAny3({ + typeName: ZodFirstPartyTypeKind3.ZodAny, + ...processCreateParams2(params) + }); +}; + +class ZodUnknown3 extends ZodType3 { + constructor() { + super(...arguments); + this._unknown = true; + } + _parse(input) { + return OK2(input.data); + } +} +ZodUnknown3.create = (params) => { + return new ZodUnknown3({ + typeName: ZodFirstPartyTypeKind3.ZodUnknown, + ...processCreateParams2(params) + }); +}; + +class ZodNever3 extends ZodType3 { + _parse(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.never, + received: ctx.parsedType + }); + return INVALID2; + } +} +ZodNever3.create = (params) => { + return new ZodNever3({ + typeName: ZodFirstPartyTypeKind3.ZodNever, + ...processCreateParams2(params) + }); +}; + +class ZodVoid3 extends ZodType3 { + _parse(input) { + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.void, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodVoid3.create = (params) => { + return new ZodVoid3({ + typeName: ZodFirstPartyTypeKind3.ZodVoid, + ...processCreateParams2(params) + }); +}; + +class ZodArray3 extends ZodType3 { + _parse(input) { + const { ctx, status } = this._processInputParams(input); + const def = this._def; + if (ctx.parsedType !== ZodParsedType2.array) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.array, + received: ctx.parsedType + }); + return INVALID2; + } + if (def.exactLength !== null) { + const tooBig = ctx.data.length > def.exactLength.value; + const tooSmall = ctx.data.length < def.exactLength.value; + if (tooBig || tooSmall) { + addIssueToContext2(ctx, { + code: tooBig ? ZodIssueCode3.too_big : ZodIssueCode3.too_small, + minimum: tooSmall ? def.exactLength.value : undefined, + maximum: tooBig ? def.exactLength.value : undefined, + type: "array", + inclusive: true, + exact: true, + message: def.exactLength.message + }); + status.dirty(); + } + } + if (def.minLength !== null) { + if (ctx.data.length < def.minLength.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_small, + minimum: def.minLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.minLength.message + }); + status.dirty(); + } + } + if (def.maxLength !== null) { + if (ctx.data.length > def.maxLength.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_big, + maximum: def.maxLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.maxLength.message + }); + status.dirty(); + } + } + if (ctx.common.async) { + return Promise.all([...ctx.data].map((item, i) => { + return def.type._parseAsync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + })).then((result2) => { + return ParseStatus2.mergeArray(status, result2); + }); + } + const result = [...ctx.data].map((item, i) => { + return def.type._parseSync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + }); + return ParseStatus2.mergeArray(status, result); + } + get element() { + return this._def.type; + } + min(minLength, message) { + return new ZodArray3({ + ...this._def, + minLength: { value: minLength, message: errorUtil2.toString(message) } + }); + } + max(maxLength, message) { + return new ZodArray3({ + ...this._def, + maxLength: { value: maxLength, message: errorUtil2.toString(message) } + }); + } + length(len, message) { + return new ZodArray3({ + ...this._def, + exactLength: { value: len, message: errorUtil2.toString(message) } + }); + } + nonempty(message) { + return this.min(1, message); + } +} +ZodArray3.create = (schema, params) => { + return new ZodArray3({ + type: schema, + minLength: null, + maxLength: null, + exactLength: null, + typeName: ZodFirstPartyTypeKind3.ZodArray, + ...processCreateParams2(params) + }); +}; +function deepPartialify2(schema) { + if (schema instanceof ZodObject3) { + const newShape = {}; + for (const key in schema.shape) { + const fieldSchema = schema.shape[key]; + newShape[key] = ZodOptional3.create(deepPartialify2(fieldSchema)); + } + return new ZodObject3({ + ...schema._def, + shape: () => newShape + }); + } else if (schema instanceof ZodArray3) { + return new ZodArray3({ + ...schema._def, + type: deepPartialify2(schema.element) + }); + } else if (schema instanceof ZodOptional3) { + return ZodOptional3.create(deepPartialify2(schema.unwrap())); + } else if (schema instanceof ZodNullable3) { + return ZodNullable3.create(deepPartialify2(schema.unwrap())); + } else if (schema instanceof ZodTuple3) { + return ZodTuple3.create(schema.items.map((item) => deepPartialify2(item))); + } else { + return schema; + } +} + +class ZodObject3 extends ZodType3 { + constructor() { + super(...arguments); + this._cached = null; + this.nonstrict = this.passthrough; + this.augment = this.extend; + } + _getCached() { + if (this._cached !== null) + return this._cached; + const shape = this._def.shape(); + const keys = util2.objectKeys(shape); + this._cached = { shape, keys }; + return this._cached; + } + _parse(input) { + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.object) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.object, + received: ctx2.parsedType + }); + return INVALID2; + } + const { status, ctx } = this._processInputParams(input); + const { shape, keys: shapeKeys } = this._getCached(); + const extraKeys = []; + if (!(this._def.catchall instanceof ZodNever3 && this._def.unknownKeys === "strip")) { + for (const key in ctx.data) { + if (!shapeKeys.includes(key)) { + extraKeys.push(key); + } + } + } + const pairs = []; + for (const key of shapeKeys) { + const keyValidator = shape[key]; + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: keyValidator._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (this._def.catchall instanceof ZodNever3) { + const unknownKeys = this._def.unknownKeys; + if (unknownKeys === "passthrough") { + for (const key of extraKeys) { + pairs.push({ + key: { status: "valid", value: key }, + value: { status: "valid", value: ctx.data[key] } + }); + } + } else if (unknownKeys === "strict") { + if (extraKeys.length > 0) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.unrecognized_keys, + keys: extraKeys + }); + status.dirty(); + } + } else if (unknownKeys === "strip") {} else { + throw new Error(`Internal ZodObject error: invalid unknownKeys value.`); + } + } else { + const catchall = this._def.catchall; + for (const key of extraKeys) { + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: catchall._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + } + if (ctx.common.async) { + return Promise.resolve().then(async () => { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value, + alwaysSet: pair.alwaysSet + }); + } + return syncPairs; + }).then((syncPairs) => { + return ParseStatus2.mergeObjectSync(status, syncPairs); + }); + } else { + return ParseStatus2.mergeObjectSync(status, pairs); + } + } + get shape() { + return this._def.shape(); + } + strict(message) { + errorUtil2.errToObj; + return new ZodObject3({ + ...this._def, + unknownKeys: "strict", + ...message !== undefined ? { + errorMap: (issue2, ctx) => { + const defaultError = this._def.errorMap?.(issue2, ctx).message ?? ctx.defaultError; + if (issue2.code === "unrecognized_keys") + return { + message: errorUtil2.errToObj(message).message ?? defaultError + }; + return { + message: defaultError + }; + } + } : {} + }); + } + strip() { + return new ZodObject3({ + ...this._def, + unknownKeys: "strip" + }); + } + passthrough() { + return new ZodObject3({ + ...this._def, + unknownKeys: "passthrough" + }); + } + extend(augmentation) { + return new ZodObject3({ + ...this._def, + shape: () => ({ + ...this._def.shape(), + ...augmentation + }) + }); + } + merge(merging) { + const merged = new ZodObject3({ + unknownKeys: merging._def.unknownKeys, + catchall: merging._def.catchall, + shape: () => ({ + ...this._def.shape(), + ...merging._def.shape() + }), + typeName: ZodFirstPartyTypeKind3.ZodObject + }); + return merged; + } + setKey(key, schema) { + return this.augment({ [key]: schema }); + } + catchall(index) { + return new ZodObject3({ + ...this._def, + catchall: index + }); + } + pick(mask) { + const shape = {}; + for (const key of util2.objectKeys(mask)) { + if (mask[key] && this.shape[key]) { + shape[key] = this.shape[key]; + } + } + return new ZodObject3({ + ...this._def, + shape: () => shape + }); + } + omit(mask) { + const shape = {}; + for (const key of util2.objectKeys(this.shape)) { + if (!mask[key]) { + shape[key] = this.shape[key]; + } + } + return new ZodObject3({ + ...this._def, + shape: () => shape + }); + } + deepPartial() { + return deepPartialify2(this); + } + partial(mask) { + const newShape = {}; + for (const key of util2.objectKeys(this.shape)) { + const fieldSchema = this.shape[key]; + if (mask && !mask[key]) { + newShape[key] = fieldSchema; + } else { + newShape[key] = fieldSchema.optional(); + } + } + return new ZodObject3({ + ...this._def, + shape: () => newShape + }); + } + required(mask) { + const newShape = {}; + for (const key of util2.objectKeys(this.shape)) { + if (mask && !mask[key]) { + newShape[key] = this.shape[key]; + } else { + const fieldSchema = this.shape[key]; + let newField = fieldSchema; + while (newField instanceof ZodOptional3) { + newField = newField._def.innerType; + } + newShape[key] = newField; + } + } + return new ZodObject3({ + ...this._def, + shape: () => newShape + }); + } + keyof() { + return createZodEnum2(util2.objectKeys(this.shape)); + } +} +ZodObject3.create = (shape, params) => { + return new ZodObject3({ + shape: () => shape, + unknownKeys: "strip", + catchall: ZodNever3.create(), + typeName: ZodFirstPartyTypeKind3.ZodObject, + ...processCreateParams2(params) + }); +}; +ZodObject3.strictCreate = (shape, params) => { + return new ZodObject3({ + shape: () => shape, + unknownKeys: "strict", + catchall: ZodNever3.create(), + typeName: ZodFirstPartyTypeKind3.ZodObject, + ...processCreateParams2(params) + }); +}; +ZodObject3.lazycreate = (shape, params) => { + return new ZodObject3({ + shape, + unknownKeys: "strip", + catchall: ZodNever3.create(), + typeName: ZodFirstPartyTypeKind3.ZodObject, + ...processCreateParams2(params) + }); +}; + +class ZodUnion3 extends ZodType3 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const options = this._def.options; + function handleResults(results) { + for (const result of results) { + if (result.result.status === "valid") { + return result.result; + } + } + for (const result of results) { + if (result.result.status === "dirty") { + ctx.common.issues.push(...result.ctx.common.issues); + return result.result; + } + } + const unionErrors = results.map((result) => new ZodError3(result.ctx.common.issues)); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_union, + unionErrors + }); + return INVALID2; + } + if (ctx.common.async) { + return Promise.all(options.map(async (option) => { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + return { + result: await option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }), + ctx: childCtx + }; + })).then(handleResults); + } else { + let dirty = undefined; + const issues = []; + for (const option of options) { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + const result = option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }); + if (result.status === "valid") { + return result; + } else if (result.status === "dirty" && !dirty) { + dirty = { result, ctx: childCtx }; + } + if (childCtx.common.issues.length) { + issues.push(childCtx.common.issues); + } + } + if (dirty) { + ctx.common.issues.push(...dirty.ctx.common.issues); + return dirty.result; + } + const unionErrors = issues.map((issues2) => new ZodError3(issues2)); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_union, + unionErrors + }); + return INVALID2; + } + } + get options() { + return this._def.options; + } +} +ZodUnion3.create = (types, params) => { + return new ZodUnion3({ + options: types, + typeName: ZodFirstPartyTypeKind3.ZodUnion, + ...processCreateParams2(params) + }); +}; +var getDiscriminator2 = (type) => { + if (type instanceof ZodLazy3) { + return getDiscriminator2(type.schema); + } else if (type instanceof ZodEffects2) { + return getDiscriminator2(type.innerType()); + } else if (type instanceof ZodLiteral3) { + return [type.value]; + } else if (type instanceof ZodEnum3) { + return type.options; + } else if (type instanceof ZodNativeEnum2) { + return util2.objectValues(type.enum); + } else if (type instanceof ZodDefault3) { + return getDiscriminator2(type._def.innerType); + } else if (type instanceof ZodUndefined3) { + return [undefined]; + } else if (type instanceof ZodNull3) { + return [null]; + } else if (type instanceof ZodOptional3) { + return [undefined, ...getDiscriminator2(type.unwrap())]; + } else if (type instanceof ZodNullable3) { + return [null, ...getDiscriminator2(type.unwrap())]; + } else if (type instanceof ZodBranded2) { + return getDiscriminator2(type.unwrap()); + } else if (type instanceof ZodReadonly3) { + return getDiscriminator2(type.unwrap()); + } else if (type instanceof ZodCatch3) { + return getDiscriminator2(type._def.innerType); + } else { + return []; + } +}; + +class ZodDiscriminatedUnion3 extends ZodType3 { + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.object) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.object, + received: ctx.parsedType + }); + return INVALID2; + } + const discriminator = this.discriminator; + const discriminatorValue = ctx.data[discriminator]; + const option = this.optionsMap.get(discriminatorValue); + if (!option) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_union_discriminator, + options: Array.from(this.optionsMap.keys()), + path: [discriminator] + }); + return INVALID2; + } + if (ctx.common.async) { + return option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } else { + return option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } + } + get discriminator() { + return this._def.discriminator; + } + get options() { + return this._def.options; + } + get optionsMap() { + return this._def.optionsMap; + } + static create(discriminator, options, params) { + const optionsMap = new Map; + for (const type of options) { + const discriminatorValues = getDiscriminator2(type.shape[discriminator]); + if (!discriminatorValues.length) { + throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`); + } + for (const value of discriminatorValues) { + if (optionsMap.has(value)) { + throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`); + } + optionsMap.set(value, type); + } + } + return new ZodDiscriminatedUnion3({ + typeName: ZodFirstPartyTypeKind3.ZodDiscriminatedUnion, + discriminator, + options, + optionsMap, + ...processCreateParams2(params) + }); + } +} +function mergeValues3(a, b) { + const aType = getParsedType3(a); + const bType = getParsedType3(b); + if (a === b) { + return { valid: true, data: a }; + } else if (aType === ZodParsedType2.object && bType === ZodParsedType2.object) { + const bKeys = util2.objectKeys(b); + const sharedKeys = util2.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); + const newObj = { ...a, ...b }; + for (const key of sharedKeys) { + const sharedValue = mergeValues3(a[key], b[key]); + if (!sharedValue.valid) { + return { valid: false }; + } + newObj[key] = sharedValue.data; + } + return { valid: true, data: newObj }; + } else if (aType === ZodParsedType2.array && bType === ZodParsedType2.array) { + if (a.length !== b.length) { + return { valid: false }; + } + const newArray = []; + for (let index = 0;index < a.length; index++) { + const itemA = a[index]; + const itemB = b[index]; + const sharedValue = mergeValues3(itemA, itemB); + if (!sharedValue.valid) { + return { valid: false }; + } + newArray.push(sharedValue.data); + } + return { valid: true, data: newArray }; + } else if (aType === ZodParsedType2.date && bType === ZodParsedType2.date && +a === +b) { + return { valid: true, data: a }; + } else { + return { valid: false }; + } +} + +class ZodIntersection3 extends ZodType3 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const handleParsed = (parsedLeft, parsedRight) => { + if (isAborted2(parsedLeft) || isAborted2(parsedRight)) { + return INVALID2; + } + const merged = mergeValues3(parsedLeft.value, parsedRight.value); + if (!merged.valid) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_intersection_types + }); + return INVALID2; + } + if (isDirty2(parsedLeft) || isDirty2(parsedRight)) { + status.dirty(); + } + return { status: status.value, value: merged.data }; + }; + if (ctx.common.async) { + return Promise.all([ + this._def.left._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), + this._def.right._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }) + ]).then(([left, right]) => handleParsed(left, right)); + } else { + return handleParsed(this._def.left._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), this._def.right._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + })); + } + } +} +ZodIntersection3.create = (left, right, params) => { + return new ZodIntersection3({ + left, + right, + typeName: ZodFirstPartyTypeKind3.ZodIntersection, + ...processCreateParams2(params) + }); +}; + +class ZodTuple3 extends ZodType3 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.array) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.array, + received: ctx.parsedType + }); + return INVALID2; + } + if (ctx.data.length < this._def.items.length) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_small, + minimum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + return INVALID2; + } + const rest = this._def.rest; + if (!rest && ctx.data.length > this._def.items.length) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_big, + maximum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + status.dirty(); + } + const items = [...ctx.data].map((item, itemIndex) => { + const schema = this._def.items[itemIndex] || this._def.rest; + if (!schema) + return null; + return schema._parse(new ParseInputLazyPath2(ctx, item, ctx.path, itemIndex)); + }).filter((x) => !!x); + if (ctx.common.async) { + return Promise.all(items).then((results) => { + return ParseStatus2.mergeArray(status, results); + }); + } else { + return ParseStatus2.mergeArray(status, items); + } + } + get items() { + return this._def.items; + } + rest(rest) { + return new ZodTuple3({ + ...this._def, + rest + }); + } +} +ZodTuple3.create = (schemas3, params) => { + if (!Array.isArray(schemas3)) { + throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); + } + return new ZodTuple3({ + items: schemas3, + typeName: ZodFirstPartyTypeKind3.ZodTuple, + rest: null, + ...processCreateParams2(params) + }); +}; + +class ZodRecord3 extends ZodType3 { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.object) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.object, + received: ctx.parsedType + }); + return INVALID2; + } + const pairs = []; + const keyType = this._def.keyType; + const valueType = this._def.valueType; + for (const key in ctx.data) { + pairs.push({ + key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, key)), + value: valueType._parse(new ParseInputLazyPath2(ctx, ctx.data[key], ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (ctx.common.async) { + return ParseStatus2.mergeObjectAsync(status, pairs); + } else { + return ParseStatus2.mergeObjectSync(status, pairs); + } + } + get element() { + return this._def.valueType; + } + static create(first, second, third) { + if (second instanceof ZodType3) { + return new ZodRecord3({ + keyType: first, + valueType: second, + typeName: ZodFirstPartyTypeKind3.ZodRecord, + ...processCreateParams2(third) + }); + } + return new ZodRecord3({ + keyType: ZodString3.create(), + valueType: first, + typeName: ZodFirstPartyTypeKind3.ZodRecord, + ...processCreateParams2(second) + }); + } +} + +class ZodMap3 extends ZodType3 { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.map) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.map, + received: ctx.parsedType + }); + return INVALID2; + } + const keyType = this._def.keyType; + const valueType = this._def.valueType; + const pairs = [...ctx.data.entries()].map(([key, value], index) => { + return { + key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, [index, "key"])), + value: valueType._parse(new ParseInputLazyPath2(ctx, value, ctx.path, [index, "value"])) + }; + }); + if (ctx.common.async) { + const finalMap = new Map; + return Promise.resolve().then(async () => { + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID2; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + }); + } else { + const finalMap = new Map; + for (const pair of pairs) { + const key = pair.key; + const value = pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID2; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + } + } +} +ZodMap3.create = (keyType, valueType, params) => { + return new ZodMap3({ + valueType, + keyType, + typeName: ZodFirstPartyTypeKind3.ZodMap, + ...processCreateParams2(params) + }); +}; + +class ZodSet3 extends ZodType3 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.set) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.set, + received: ctx.parsedType + }); + return INVALID2; + } + const def = this._def; + if (def.minSize !== null) { + if (ctx.data.size < def.minSize.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_small, + minimum: def.minSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.minSize.message + }); + status.dirty(); + } + } + if (def.maxSize !== null) { + if (ctx.data.size > def.maxSize.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.too_big, + maximum: def.maxSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.maxSize.message + }); + status.dirty(); + } + } + const valueType = this._def.valueType; + function finalizeSet(elements2) { + const parsedSet = new Set; + for (const element of elements2) { + if (element.status === "aborted") + return INVALID2; + if (element.status === "dirty") + status.dirty(); + parsedSet.add(element.value); + } + return { status: status.value, value: parsedSet }; + } + const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath2(ctx, item, ctx.path, i))); + if (ctx.common.async) { + return Promise.all(elements).then((elements2) => finalizeSet(elements2)); + } else { + return finalizeSet(elements); + } + } + min(minSize, message) { + return new ZodSet3({ + ...this._def, + minSize: { value: minSize, message: errorUtil2.toString(message) } + }); + } + max(maxSize, message) { + return new ZodSet3({ + ...this._def, + maxSize: { value: maxSize, message: errorUtil2.toString(message) } + }); + } + size(size, message) { + return this.min(size, message).max(size, message); + } + nonempty(message) { + return this.min(1, message); + } +} +ZodSet3.create = (valueType, params) => { + return new ZodSet3({ + valueType, + minSize: null, + maxSize: null, + typeName: ZodFirstPartyTypeKind3.ZodSet, + ...processCreateParams2(params) + }); +}; + +class ZodFunction3 extends ZodType3 { + constructor() { + super(...arguments); + this.validate = this.implement; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.function) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.function, + received: ctx.parsedType + }); + return INVALID2; + } + function makeArgsIssue(args, error51) { + return makeIssue2({ + data: args, + path: ctx.path, + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap3(), en_default3].filter((x) => !!x), + issueData: { + code: ZodIssueCode3.invalid_arguments, + argumentsError: error51 + } + }); + } + function makeReturnsIssue(returns, error51) { + return makeIssue2({ + data: returns, + path: ctx.path, + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap3(), en_default3].filter((x) => !!x), + issueData: { + code: ZodIssueCode3.invalid_return_type, + returnTypeError: error51 + } + }); + } + const params = { errorMap: ctx.common.contextualErrorMap }; + const fn = ctx.data; + if (this._def.returns instanceof ZodPromise3) { + const me = this; + return OK2(async function(...args) { + const error51 = new ZodError3([]); + const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { + error51.addIssue(makeArgsIssue(args, e)); + throw error51; + }); + const result = await Reflect.apply(fn, this, parsedArgs); + const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => { + error51.addIssue(makeReturnsIssue(result, e)); + throw error51; + }); + return parsedReturns; + }); + } else { + const me = this; + return OK2(function(...args) { + const parsedArgs = me._def.args.safeParse(args, params); + if (!parsedArgs.success) { + throw new ZodError3([makeArgsIssue(args, parsedArgs.error)]); + } + const result = Reflect.apply(fn, this, parsedArgs.data); + const parsedReturns = me._def.returns.safeParse(result, params); + if (!parsedReturns.success) { + throw new ZodError3([makeReturnsIssue(result, parsedReturns.error)]); + } + return parsedReturns.data; + }); + } + } + parameters() { + return this._def.args; + } + returnType() { + return this._def.returns; + } + args(...items) { + return new ZodFunction3({ + ...this._def, + args: ZodTuple3.create(items).rest(ZodUnknown3.create()) + }); + } + returns(returnType) { + return new ZodFunction3({ + ...this._def, + returns: returnType + }); + } + implement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + strictImplement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + static create(args, returns, params) { + return new ZodFunction3({ + args: args ? args : ZodTuple3.create([]).rest(ZodUnknown3.create()), + returns: returns || ZodUnknown3.create(), + typeName: ZodFirstPartyTypeKind3.ZodFunction, + ...processCreateParams2(params) + }); + } +} + +class ZodLazy3 extends ZodType3 { + get schema() { + return this._def.getter(); + } + _parse(input) { + const { ctx } = this._processInputParams(input); + const lazySchema = this._def.getter(); + return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); + } +} +ZodLazy3.create = (getter, params) => { + return new ZodLazy3({ + getter, + typeName: ZodFirstPartyTypeKind3.ZodLazy, + ...processCreateParams2(params) + }); +}; + +class ZodLiteral3 extends ZodType3 { + _parse(input) { + if (input.data !== this._def.value) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode3.invalid_literal, + expected: this._def.value + }); + return INVALID2; + } + return { status: "valid", value: input.data }; + } + get value() { + return this._def.value; + } +} +ZodLiteral3.create = (value, params) => { + return new ZodLiteral3({ + value, + typeName: ZodFirstPartyTypeKind3.ZodLiteral, + ...processCreateParams2(params) + }); +}; +function createZodEnum2(values, params) { + return new ZodEnum3({ + values, + typeName: ZodFirstPartyTypeKind3.ZodEnum, + ...processCreateParams2(params) + }); +} + +class ZodEnum3 extends ZodType3 { + _parse(input) { + if (typeof input.data !== "string") { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext2(ctx, { + expected: util2.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode3.invalid_type + }); + return INVALID2; + } + if (!this._cache) { + this._cache = new Set(this._def.values); + } + if (!this._cache.has(input.data)) { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode3.invalid_enum_value, + options: expectedValues + }); + return INVALID2; + } + return OK2(input.data); + } + get options() { + return this._def.values; + } + get enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Values() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + extract(values, newDef = this._def) { + return ZodEnum3.create(values, { + ...this._def, + ...newDef + }); + } + exclude(values, newDef = this._def) { + return ZodEnum3.create(this.options.filter((opt) => !values.includes(opt)), { + ...this._def, + ...newDef + }); + } +} +ZodEnum3.create = createZodEnum2; + +class ZodNativeEnum2 extends ZodType3 { + _parse(input) { + const nativeEnumValues = util2.getValidEnumValues(this._def.values); + const ctx = this._getOrReturnCtx(input); + if (ctx.parsedType !== ZodParsedType2.string && ctx.parsedType !== ZodParsedType2.number) { + const expectedValues = util2.objectValues(nativeEnumValues); + addIssueToContext2(ctx, { + expected: util2.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode3.invalid_type + }); + return INVALID2; + } + if (!this._cache) { + this._cache = new Set(util2.getValidEnumValues(this._def.values)); + } + if (!this._cache.has(input.data)) { + const expectedValues = util2.objectValues(nativeEnumValues); + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode3.invalid_enum_value, + options: expectedValues + }); + return INVALID2; + } + return OK2(input.data); + } + get enum() { + return this._def.values; + } +} +ZodNativeEnum2.create = (values, params) => { + return new ZodNativeEnum2({ + values, + typeName: ZodFirstPartyTypeKind3.ZodNativeEnum, + ...processCreateParams2(params) + }); +}; + +class ZodPromise3 extends ZodType3 { + unwrap() { + return this._def.type; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.promise && ctx.common.async === false) { + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.promise, + received: ctx.parsedType + }); + return INVALID2; + } + const promisified = ctx.parsedType === ZodParsedType2.promise ? ctx.data : Promise.resolve(ctx.data); + return OK2(promisified.then((data) => { + return this._def.type.parseAsync(data, { + path: ctx.path, + errorMap: ctx.common.contextualErrorMap + }); + })); + } +} +ZodPromise3.create = (schema, params) => { + return new ZodPromise3({ + type: schema, + typeName: ZodFirstPartyTypeKind3.ZodPromise, + ...processCreateParams2(params) + }); +}; + +class ZodEffects2 extends ZodType3 { + innerType() { + return this._def.schema; + } + sourceType() { + return this._def.schema._def.typeName === ZodFirstPartyTypeKind3.ZodEffects ? this._def.schema.sourceType() : this._def.schema; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const effect = this._def.effect || null; + const checkCtx = { + addIssue: (arg) => { + addIssueToContext2(ctx, arg); + if (arg.fatal) { + status.abort(); + } else { + status.dirty(); + } + }, + get path() { + return ctx.path; + } + }; + checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx); + if (effect.type === "preprocess") { + const processed = effect.transform(ctx.data, checkCtx); + if (ctx.common.async) { + return Promise.resolve(processed).then(async (processed2) => { + if (status.value === "aborted") + return INVALID2; + const result = await this._def.schema._parseAsync({ + data: processed2, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID2; + if (result.status === "dirty") + return DIRTY2(result.value); + if (status.value === "dirty") + return DIRTY2(result.value); + return result; + }); + } else { + if (status.value === "aborted") + return INVALID2; + const result = this._def.schema._parseSync({ + data: processed, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID2; + if (result.status === "dirty") + return DIRTY2(result.value); + if (status.value === "dirty") + return DIRTY2(result.value); + return result; + } + } + if (effect.type === "refinement") { + const executeRefinement = (acc) => { + const result = effect.refinement(acc, checkCtx); + if (ctx.common.async) { + return Promise.resolve(result); + } + if (result instanceof Promise) { + throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); + } + return acc; + }; + if (ctx.common.async === false) { + const inner = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inner.status === "aborted") + return INVALID2; + if (inner.status === "dirty") + status.dirty(); + executeRefinement(inner.value); + return { status: status.value, value: inner.value }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { + if (inner.status === "aborted") + return INVALID2; + if (inner.status === "dirty") + status.dirty(); + return executeRefinement(inner.value).then(() => { + return { status: status.value, value: inner.value }; + }); + }); + } + } + if (effect.type === "transform") { + if (ctx.common.async === false) { + const base = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (!isValid2(base)) + return INVALID2; + const result = effect.transform(base.value, checkCtx); + if (result instanceof Promise) { + throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); + } + return { status: status.value, value: result }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { + if (!isValid2(base)) + return INVALID2; + return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ + status: status.value, + value: result + })); + }); + } + } + util2.assertNever(effect); + } +} +ZodEffects2.create = (schema, effect, params) => { + return new ZodEffects2({ + schema, + typeName: ZodFirstPartyTypeKind3.ZodEffects, + effect, + ...processCreateParams2(params) + }); +}; +ZodEffects2.createWithPreprocess = (preprocess2, schema, params) => { + return new ZodEffects2({ + schema, + effect: { type: "preprocess", transform: preprocess2 }, + typeName: ZodFirstPartyTypeKind3.ZodEffects, + ...processCreateParams2(params) + }); +}; + +class ZodOptional3 extends ZodType3 { + _parse(input) { + const parsedType2 = this._getType(input); + if (parsedType2 === ZodParsedType2.undefined) { + return OK2(undefined); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } +} +ZodOptional3.create = (type, params) => { + return new ZodOptional3({ + innerType: type, + typeName: ZodFirstPartyTypeKind3.ZodOptional, + ...processCreateParams2(params) + }); +}; + +class ZodNullable3 extends ZodType3 { + _parse(input) { + const parsedType2 = this._getType(input); + if (parsedType2 === ZodParsedType2.null) { + return OK2(null); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } +} +ZodNullable3.create = (type, params) => { + return new ZodNullable3({ + innerType: type, + typeName: ZodFirstPartyTypeKind3.ZodNullable, + ...processCreateParams2(params) + }); +}; + +class ZodDefault3 extends ZodType3 { + _parse(input) { + const { ctx } = this._processInputParams(input); + let data = ctx.data; + if (ctx.parsedType === ZodParsedType2.undefined) { + data = this._def.defaultValue(); + } + return this._def.innerType._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + removeDefault() { + return this._def.innerType; + } +} +ZodDefault3.create = (type, params) => { + return new ZodDefault3({ + innerType: type, + typeName: ZodFirstPartyTypeKind3.ZodDefault, + defaultValue: typeof params.default === "function" ? params.default : () => params.default, + ...processCreateParams2(params) + }); +}; + +class ZodCatch3 extends ZodType3 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const newCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + } + }; + const result = this._def.innerType._parse({ + data: newCtx.data, + path: newCtx.path, + parent: { + ...newCtx + } + }); + if (isAsync2(result)) { + return result.then((result2) => { + return { + status: "valid", + value: result2.status === "valid" ? result2.value : this._def.catchValue({ + get error() { + return new ZodError3(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + }); + } else { + return { + status: "valid", + value: result.status === "valid" ? result.value : this._def.catchValue({ + get error() { + return new ZodError3(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + } + } + removeCatch() { + return this._def.innerType; + } +} +ZodCatch3.create = (type, params) => { + return new ZodCatch3({ + innerType: type, + typeName: ZodFirstPartyTypeKind3.ZodCatch, + catchValue: typeof params.catch === "function" ? params.catch : () => params.catch, + ...processCreateParams2(params) + }); +}; + +class ZodNaN3 extends ZodType3 { + _parse(input) { + const parsedType2 = this._getType(input); + if (parsedType2 !== ZodParsedType2.nan) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode3.invalid_type, + expected: ZodParsedType2.nan, + received: ctx.parsedType + }); + return INVALID2; + } + return { status: "valid", value: input.data }; + } +} +ZodNaN3.create = (params) => { + return new ZodNaN3({ + typeName: ZodFirstPartyTypeKind3.ZodNaN, + ...processCreateParams2(params) + }); +}; +var BRAND2 = Symbol("zod_brand"); + +class ZodBranded2 extends ZodType3 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const data = ctx.data; + return this._def.type._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + unwrap() { + return this._def.type; + } +} + +class ZodPipeline2 extends ZodType3 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.common.async) { + const handleAsync = async () => { + const inResult = await this._def.in._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID2; + if (inResult.status === "dirty") { + status.dirty(); + return DIRTY2(inResult.value); + } else { + return this._def.out._parseAsync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + }; + return handleAsync(); + } else { + const inResult = this._def.in._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID2; + if (inResult.status === "dirty") { + status.dirty(); + return { + status: "dirty", + value: inResult.value + }; + } else { + return this._def.out._parseSync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + } + } + static create(a, b) { + return new ZodPipeline2({ + in: a, + out: b, + typeName: ZodFirstPartyTypeKind3.ZodPipeline + }); + } +} + +class ZodReadonly3 extends ZodType3 { + _parse(input) { + const result = this._def.innerType._parse(input); + const freeze = (data) => { + if (isValid2(data)) { + data.value = Object.freeze(data.value); + } + return data; + }; + return isAsync2(result) ? result.then((data) => freeze(data)) : freeze(result); + } + unwrap() { + return this._def.innerType; + } +} +ZodReadonly3.create = (type, params) => { + return new ZodReadonly3({ + innerType: type, + typeName: ZodFirstPartyTypeKind3.ZodReadonly, + ...processCreateParams2(params) + }); +}; +function cleanParams2(params, data) { + const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params; + const p2 = typeof p === "string" ? { message: p } : p; + return p2; +} +function custom3(check2, _params = {}, fatal) { + if (check2) + return ZodAny3.create().superRefine((data, ctx) => { + const r = check2(data); + if (r instanceof Promise) { + return r.then((r2) => { + if (!r2) { + const params = cleanParams2(_params, data); + const _fatal = params.fatal ?? fatal ?? true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + }); + } + if (!r) { + const params = cleanParams2(_params, data); + const _fatal = params.fatal ?? fatal ?? true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + return; + }); + return ZodAny3.create(); +} +var late2 = { + object: ZodObject3.lazycreate +}; +var ZodFirstPartyTypeKind3; +(function(ZodFirstPartyTypeKind22) { + ZodFirstPartyTypeKind22["ZodString"] = "ZodString"; + ZodFirstPartyTypeKind22["ZodNumber"] = "ZodNumber"; + ZodFirstPartyTypeKind22["ZodNaN"] = "ZodNaN"; + ZodFirstPartyTypeKind22["ZodBigInt"] = "ZodBigInt"; + ZodFirstPartyTypeKind22["ZodBoolean"] = "ZodBoolean"; + ZodFirstPartyTypeKind22["ZodDate"] = "ZodDate"; + ZodFirstPartyTypeKind22["ZodSymbol"] = "ZodSymbol"; + ZodFirstPartyTypeKind22["ZodUndefined"] = "ZodUndefined"; + ZodFirstPartyTypeKind22["ZodNull"] = "ZodNull"; + ZodFirstPartyTypeKind22["ZodAny"] = "ZodAny"; + ZodFirstPartyTypeKind22["ZodUnknown"] = "ZodUnknown"; + ZodFirstPartyTypeKind22["ZodNever"] = "ZodNever"; + ZodFirstPartyTypeKind22["ZodVoid"] = "ZodVoid"; + ZodFirstPartyTypeKind22["ZodArray"] = "ZodArray"; + ZodFirstPartyTypeKind22["ZodObject"] = "ZodObject"; + ZodFirstPartyTypeKind22["ZodUnion"] = "ZodUnion"; + ZodFirstPartyTypeKind22["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion"; + ZodFirstPartyTypeKind22["ZodIntersection"] = "ZodIntersection"; + ZodFirstPartyTypeKind22["ZodTuple"] = "ZodTuple"; + ZodFirstPartyTypeKind22["ZodRecord"] = "ZodRecord"; + ZodFirstPartyTypeKind22["ZodMap"] = "ZodMap"; + ZodFirstPartyTypeKind22["ZodSet"] = "ZodSet"; + ZodFirstPartyTypeKind22["ZodFunction"] = "ZodFunction"; + ZodFirstPartyTypeKind22["ZodLazy"] = "ZodLazy"; + ZodFirstPartyTypeKind22["ZodLiteral"] = "ZodLiteral"; + ZodFirstPartyTypeKind22["ZodEnum"] = "ZodEnum"; + ZodFirstPartyTypeKind22["ZodEffects"] = "ZodEffects"; + ZodFirstPartyTypeKind22["ZodNativeEnum"] = "ZodNativeEnum"; + ZodFirstPartyTypeKind22["ZodOptional"] = "ZodOptional"; + ZodFirstPartyTypeKind22["ZodNullable"] = "ZodNullable"; + ZodFirstPartyTypeKind22["ZodDefault"] = "ZodDefault"; + ZodFirstPartyTypeKind22["ZodCatch"] = "ZodCatch"; + ZodFirstPartyTypeKind22["ZodPromise"] = "ZodPromise"; + ZodFirstPartyTypeKind22["ZodBranded"] = "ZodBranded"; + ZodFirstPartyTypeKind22["ZodPipeline"] = "ZodPipeline"; + ZodFirstPartyTypeKind22["ZodReadonly"] = "ZodReadonly"; +})(ZodFirstPartyTypeKind3 || (ZodFirstPartyTypeKind3 = {})); +var instanceOfType2 = (cls, params = { + message: `Input not instance of ${cls.name}` +}) => custom3((data) => data instanceof cls, params); +var stringType2 = ZodString3.create; +var numberType2 = ZodNumber3.create; +var nanType2 = ZodNaN3.create; +var bigIntType2 = ZodBigInt3.create; +var booleanType2 = ZodBoolean3.create; +var dateType2 = ZodDate3.create; +var symbolType2 = ZodSymbol3.create; +var undefinedType2 = ZodUndefined3.create; +var nullType2 = ZodNull3.create; +var anyType2 = ZodAny3.create; +var unknownType2 = ZodUnknown3.create; +var neverType2 = ZodNever3.create; +var voidType2 = ZodVoid3.create; +var arrayType2 = ZodArray3.create; +var objectType2 = ZodObject3.create; +var strictObjectType2 = ZodObject3.strictCreate; +var unionType2 = ZodUnion3.create; +var discriminatedUnionType2 = ZodDiscriminatedUnion3.create; +var intersectionType2 = ZodIntersection3.create; +var tupleType2 = ZodTuple3.create; +var recordType2 = ZodRecord3.create; +var mapType2 = ZodMap3.create; +var setType2 = ZodSet3.create; +var functionType2 = ZodFunction3.create; +var lazyType2 = ZodLazy3.create; +var literalType2 = ZodLiteral3.create; +var enumType2 = ZodEnum3.create; +var nativeEnumType2 = ZodNativeEnum2.create; +var promiseType2 = ZodPromise3.create; +var effectsType2 = ZodEffects2.create; +var optionalType2 = ZodOptional3.create; +var nullableType2 = ZodNullable3.create; +var preprocessType2 = ZodEffects2.createWithPreprocess; +var pipelineType2 = ZodPipeline2.create; +var ostring2 = () => stringType2().optional(); +var onumber2 = () => numberType2().optional(); +var oboolean2 = () => booleanType2().optional(); +var coerce2 = { + string: (arg) => ZodString3.create({ ...arg, coerce: true }), + number: (arg) => ZodNumber3.create({ ...arg, coerce: true }), + boolean: (arg) => ZodBoolean3.create({ + ...arg, + coerce: true + }), + bigint: (arg) => ZodBigInt3.create({ ...arg, coerce: true }), + date: (arg) => ZodDate3.create({ ...arg, coerce: true }) +}; +var NEVER3 = INVALID2; +var SCHEMA_IDS2 = { + actorRef: "hasna.actor_ref.v1", + resourceRef: "hasna.resource_ref.v1", + evidenceRef: "hasna.evidence_ref.v1", + workRun: "hasna.work_run.v1", + decisionEnvelope: "hasna.decision_envelope.v1", + costEstimate: "hasna.cost_estimate.v1", + capabilityCard: "hasna.capability_card.v1", + providerLiveModeStandard: "hasna.provider_live_mode_standard.v1", + contextPack: "hasna.context_pack.v1", + integrationRef: "hasna.integration_ref.v1", + projectManifest: "hasna.project_manifest.v1", + projectPanel: "hasna.project_panel.v1", + projectSnapshot: "hasna.project_snapshot.v1", + renderManifest: "hasna.render_manifest.v1", + agentTrajectory: "hasna.agent_trajectory.v1", + validationPlan: "hasna.validation_plan.v1", + proofBundle: "hasna.proof_bundle.v1", + scaffoldManifest: "hasna.scaffold_manifest.v1", + scaffoldInstallRecord: "hasna.scaffold_install_record.v1", + appCloudManifest: "hasna.app_cloud_manifest.v1", + noCloudEvidencePack: "hasna.no_cloud_evidence_pack.v1", + serviceContract: "hasna.service_contract.v1", + commsEventEnvelope: "hasna.comms_event_envelope.v1", + commsChannelMetadata: "hasna.comms_channel_metadata.v1", + commsMessageMetadata: "hasna.comms_message_metadata.v1", + app: "hasna.app.v1", + release: "hasna.release.v1", + rolloutRecord: "hasna.rollout_record.v1", + announcement: "hasna.announcement.v1", + audience: "hasna.audience.v1" +}; +var SchemaIdSchema2 = exports_external3.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/); +var TimestampSchema2 = exports_external3.string().datetime(); +var NonEmptyStringSchema2 = exports_external3.string().trim().min(1); +var UriSchema2 = NonEmptyStringSchema2.refine((value) => value.startsWith("artifact://") || value.startsWith("repo://") || value.startsWith("project://") || value.startsWith("dashboard://") || value.startsWith("render://") || value.startsWith("integration://") || value.startsWith("task://") || value.startsWith("todo://") || value.startsWith("file://") || value.startsWith("files://") || value.startsWith("mailery://") || value.startsWith("conversation://") || value.startsWith("knowledge://") || value.startsWith("memento://") || value.startsWith("https://") || value.startsWith("http://") || value.startsWith("git+https://"), "URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"); +var Sha256DigestSchema2 = exports_external3.string().regex(/^[a-fA-F0-9]{64}$/); +var HashStringSchema2 = exports_external3.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/); +var MetadataSchema2 = exports_external3.record(exports_external3.unknown()); +var TagsSchema2 = exports_external3.array(exports_external3.string().min(1)).default([]); +var OptionalTimestampSchema2 = TimestampSchema2.nullable().optional(); +var TerminalStatuses2 = new Set(["succeeded", "failed", "cancelled", "blocked", "skipped"]); +var ContractStatusSchema2 = exports_external3.enum([ + "pending", + "running", + "succeeded", + "failed", + "cancelled", + "blocked", + "skipped", + "unknown" +]); +function contractBaseSchema2(schema) { + return exports_external3.object({ + schema: exports_external3.literal(schema), + id: exports_external3.string().min(1), + createdAt: TimestampSchema2, + updatedAt: OptionalTimestampSchema2, + metadata: MetadataSchema2.optional() + }).strict(); +} +var ContractEnvelopeSchema2 = exports_external3.object({ + schema: SchemaIdSchema2, + id: exports_external3.string().min(1), + createdAt: TimestampSchema2, + updatedAt: OptionalTimestampSchema2, + metadata: MetadataSchema2.optional() +}).strict(); +var ActorKindSchema2 = exports_external3.enum([ + "agent", + "human", + "service", + "model", + "workflow", + "system" +]); +var ActorRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.actorRef).extend({ + kind: ActorKindSchema2, + name: exports_external3.string().min(1).optional(), + provider: exports_external3.string().min(1).optional(), + accountId: exports_external3.string().min(1).optional(), + machineId: exports_external3.string().min(1).optional(), + capabilities: exports_external3.array(exports_external3.string().min(1)).default([]) +}).strict(); +var ActorPointerSchema2 = exports_external3.object({ + kind: ActorKindSchema2, + id: exports_external3.string().min(1), + name: exports_external3.string().min(1).optional(), + provider: exports_external3.string().min(1).optional(), + accountId: exports_external3.string().min(1).optional(), + machineId: exports_external3.string().min(1).optional() +}).strict(); +var ResourceKindSchema2 = exports_external3.enum([ + "task", + "project", + "repo", + "run", + "loop", + "workflow", + "action", + "event", + "integration", + "session", + "machine", + "model", + "tool", + "file", + "document", + "url", + "artifact", + "knowledge", + "email", + "conversation", + "dashboard", + "render", + "panel", + "report", + "commit", + "branch", + "pull_request", + "issue", + "comment", + "verification", + "finding", + "context_pack", + "proof_bundle", + "memento", + "eval", + "budget", + "cost", + "alert", + "incident", + "app", + "release", + "rollout", + "announcement", + "audience", + "feedback", + "unknown" +]); +var ResourceRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.resourceRef).extend({ + kind: ResourceKindSchema2, + name: exports_external3.string().min(1).optional(), + uri: UriSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + if (!value.uri && !(value.externalId && value.sourcePackage)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Resource refs require uri or both sourcePackage and externalId", + path: ["uri"] + }); + } +}); +var ResourcePointerSchema2 = exports_external3.object({ + kind: ResourceKindSchema2, + id: exports_external3.string().min(1), + name: exports_external3.string().min(1).optional(), + uri: UriSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + if (!value.uri && Boolean(value.externalId) !== Boolean(value.sourcePackage)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Resource pointers with external package locators require both sourcePackage and externalId", + path: value.externalId ? ["sourcePackage"] : ["externalId"] + }); + } +}); +var EvidenceKindSchema2 = exports_external3.enum([ + "file", + "command_output", + "screenshot", + "log", + "diff", + "report", + "artifact", + "url", + "video", + "har", + "test_result", + "metric", + "trace", + "other" +]); +var RedactionStateSchema2 = exports_external3.enum(["none", "partial", "full", "unknown"]); +var EvidenceRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.evidenceRef).extend({ + kind: EvidenceKindSchema2, + uri: UriSchema2, + sha256: Sha256DigestSchema2.optional(), + summary: exports_external3.string().min(1).optional(), + contentType: exports_external3.string().min(1).optional(), + sizeBytes: exports_external3.number().int().nonnegative().optional(), + redaction: RedactionStateSchema2.default("unknown"), + producer: ActorPointerSchema2.optional(), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + tags: TagsSchema2 +}).strict(); +var EvidencePointerSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + kind: EvidenceKindSchema2.optional(), + uri: UriSchema2.optional(), + sha256: Sha256DigestSchema2.optional(), + summary: exports_external3.string().min(1).optional() +}).strict(); +var CostEstimateSchema2 = contractBaseSchema2(SCHEMA_IDS2.costEstimate).extend({ + currency: exports_external3.string().regex(/^[A-Z]{3}$/).default("USD"), + amountMicros: exports_external3.number().int().nonnegative(), + provider: exports_external3.string().min(1).optional(), + model: exports_external3.string().min(1).optional(), + accountId: exports_external3.string().min(1).optional(), + promptTokens: exports_external3.number().int().nonnegative().optional(), + completionTokens: exports_external3.number().int().nonnegative().optional(), + totalTokens: exports_external3.number().int().nonnegative().optional(), + basis: exports_external3.enum(["actual", "estimated", "budget", "limit"]).default("estimated"), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.promptTokens !== undefined && value.completionTokens !== undefined && value.totalTokens !== undefined && value.totalTokens !== value.promptTokens + value.completionTokens) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "totalTokens must equal promptTokens plus completionTokens when all are present", + path: ["totalTokens"] + }); + } +}); +var DecisionStatusSchema2 = exports_external3.enum([ + "allowed", + "denied", + "warned", + "approval_required", + "selected", + "skipped", + "unknown" +]); +var DecisionEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.decisionEnvelope).extend({ + decisionType: exports_external3.enum([ + "guardrail", + "model_route", + "tool_select", + "budget", + "secret_access", + "approval", + "policy", + "other" + ]), + status: DecisionStatusSchema2, + actor: ActorPointerSchema2.optional(), + traceId: exports_external3.string().min(1).optional(), + inputHash: HashStringSchema2.optional(), + policyBundleId: exports_external3.string().min(1).optional(), + selected: exports_external3.array(ResourcePointerSchema2).default([]), + skipped: exports_external3.array(ResourcePointerSchema2).default([]), + reason: exports_external3.string().min(1), + obligations: exports_external3.array(exports_external3.string().min(1)).default([]), + redactions: exports_external3.array(exports_external3.string().min(1)).default([]), + costEstimate: CostEstimateSchema2.optional(), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "selected" && value.selected.length === 0) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Selected decisions require at least one selected resource", path: ["selected"] }); + } + if (value.status === "skipped" && value.skipped.length === 0) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Skipped decisions require at least one skipped resource", path: ["skipped"] }); + } + if (value.status === "denied") { + if (value.selected.length > 0) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Denied decisions cannot include selected resources", path: ["selected"] }); + } + if (!value.policyBundleId && value.evidenceRefs.length === 0 && value.obligations.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Denied decisions require policy, evidence, or obligations", + path: ["policyBundleId"] + }); + } + } + if (value.status === "approval_required" && value.obligations.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Approval-required decisions require actionable obligations", + path: ["obligations"] + }); + } +}); +var CapabilityCardSchema2 = contractBaseSchema2(SCHEMA_IDS2.capabilityCard).extend({ + kind: exports_external3.enum(["model", "tool", "machine", "agent", "lane", "connector", "service"]), + name: exports_external3.string().min(1), + version: exports_external3.string().min(1).optional(), + status: exports_external3.enum(["available", "unavailable", "degraded", "unknown"]).default("unknown"), + capabilities: exports_external3.array(exports_external3.string().min(1)).default([]), + limitations: exports_external3.array(exports_external3.string().min(1)).default([]), + riskLevel: exports_external3.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), + costEstimate: CostEstimateSchema2.optional(), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict(); +var ProviderModeSchema2 = exports_external3.enum(["mock", "fixture", "sandbox", "read_only_live", "live_mutating"]); +var ProviderSideEffectClassSchema2 = exports_external3.enum([ + "none", + "read_only", + "external_notification", + "external_mutation", + "money_movement", + "dns_or_domain_change", + "bulk_message_or_call", + "legal_or_filing", + "compute_or_infra_mutation", + "irreversible" +]); +var CredentialRequirementSchema2 = exports_external3.object({ + refName: NonEmptyStringSchema2, + requiredForModes: exports_external3.array(ProviderModeSchema2).min(1), + allowedSecretInputs: exports_external3.array(exports_external3.enum(["credential_ref", "lease_ref"])).min(1).default(["credential_ref"]), + failClosedDiagnostic: NonEmptyStringSchema2, + revocationCheck: exports_external3.boolean().default(true) +}).strict(); +var ProviderOperationCardSchema2 = exports_external3.object({ + operation: NonEmptyStringSchema2, + supportedModes: exports_external3.array(ProviderModeSchema2).min(1), + sideEffectClass: ProviderSideEffectClassSchema2, + requiresApproval: exports_external3.boolean().default(false), + requiresIdempotencyKey: exports_external3.boolean().default(false), + requiresSandboxEvidence: exports_external3.boolean().default(false), + requiresRollbackOrRevocation: exports_external3.boolean().default(false), + rollbackOrRevocation: NonEmptyStringSchema2.optional(), + noSideEffectSmoke: NonEmptyStringSchema2.optional(), + reconciliation: NonEmptyStringSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (value.supportedModes.includes("live_mutating")) { + if (value.sideEffectClass === "none" || value.sideEffectClass === "read_only") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "live_mutating operations must declare a side-effecting class", + path: ["sideEffectClass"] + }); + } + if (!value.requiresApproval) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "live_mutating operations require approval", + path: ["requiresApproval"] + }); + } + if (!value.requiresIdempotencyKey) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "live_mutating operations require idempotency keys", + path: ["requiresIdempotencyKey"] + }); + } + if (!value.requiresSandboxEvidence) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "live_mutating operations require sandbox evidence before live proof", + path: ["requiresSandboxEvidence"] + }); + } + if (!value.requiresRollbackOrRevocation || !value.rollbackOrRevocation) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "live_mutating operations require rollback or revocation instructions", + path: ["rollbackOrRevocation"] + }); + } + if (!value.reconciliation) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "live_mutating operations require reconciliation behavior", + path: ["reconciliation"] + }); + } + } +}); +var ProviderCapabilityCardSchema2 = exports_external3.object({ + providerId: NonEmptyStringSchema2, + appId: NonEmptyStringSchema2, + adapterId: NonEmptyStringSchema2, + ownerPackage: NonEmptyStringSchema2, + modes: exports_external3.array(ProviderModeSchema2).min(1), + defaultMode: ProviderModeSchema2, + credentialRequirements: exports_external3.array(CredentialRequirementSchema2).default([]), + operations: exports_external3.array(ProviderOperationCardSchema2).min(1), + rateLimitPosture: NonEmptyStringSchema2, + costPosture: NonEmptyStringSchema2.optional(), + auditEvents: exports_external3.array(NonEmptyStringSchema2).default([]), + redactionRules: exports_external3.array(NonEmptyStringSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (!value.modes.includes(value.defaultMode)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "defaultMode must be one of modes", + path: ["defaultMode"] + }); + } + const operationModes = new Set(value.operations.flatMap((operation) => operation.supportedModes)); + for (const mode of operationModes) { + if (!value.modes.includes(mode)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `operation mode ${mode} is not declared in provider modes`, + path: ["operations"] + }); + } + } + if (operationModes.has("live_mutating")) { + const liveCredential = value.credentialRequirements.some((credential) => credential.requiredForModes.includes("live_mutating")); + if (!liveCredential) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "live_mutating providers require at least one live credential reference requirement", + path: ["credentialRequirements"] + }); + } + if (value.auditEvents.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "live_mutating providers require audit events", + path: ["auditEvents"] + }); + } + } +}); +var ProviderLiveModeTargetSchema2 = exports_external3.object({ + appId: NonEmptyStringSchema2, + repo: NonEmptyStringSchema2, + priority: exports_external3.enum(["p0", "p1", "p2"]).default("p1"), + requiredEvidence: exports_external3.array(NonEmptyStringSchema2).min(1), + firstOperations: exports_external3.array(NonEmptyStringSchema2).min(1), + blockedUntil: exports_external3.array(NonEmptyStringSchema2).default([]) +}).strict(); +var ProviderLiveModeStandardSchema2 = contractBaseSchema2(SCHEMA_IDS2.providerLiveModeStandard).extend({ + name: NonEmptyStringSchema2, + version: NonEmptyStringSchema2, + modes: exports_external3.array(ProviderModeSchema2).refine((modes) => ["mock", "fixture", "sandbox", "read_only_live", "live_mutating"].every((mode) => modes.includes(mode)), "provider live-mode standard must include every canonical provider mode"), + requiredCapabilityFields: exports_external3.array(NonEmptyStringSchema2).min(1), + liveMutationGate: exports_external3.object({ + requiredMode: exports_external3.literal("live_mutating"), + requiredChecks: exports_external3.array(NonEmptyStringSchema2).min(1), + forbiddenBypassSignals: exports_external3.array(NonEmptyStringSchema2).min(1), + disabledLiveSmoke: NonEmptyStringSchema2 + }).strict(), + noSideEffectSmoke: exports_external3.object({ + requiredForModes: exports_external3.array(ProviderModeSchema2).min(1), + commandEvidence: exports_external3.array(NonEmptyStringSchema2).min(1), + secretOutputScan: exports_external3.boolean().default(true) + }).strict(), + credentialPolicy: exports_external3.object({ + acceptedInputs: exports_external3.array(exports_external3.enum(["credential_ref", "lease_ref"])).min(1), + rawSecretInputsAllowed: exports_external3.literal(false), + missingCredentialBehavior: exports_external3.literal("fail_closed"), + revocationCheckRequired: exports_external3.boolean().default(true) + }).strict(), + operationCards: exports_external3.array(ProviderCapabilityCardSchema2).min(1), + firstAdoptionTargets: exports_external3.array(ProviderLiveModeTargetSchema2).min(1), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const firstTargetApps = new Set(value.firstAdoptionTargets.map((target) => target.appId)); + const operationApps = new Set(value.operationCards.map((card) => card.appId)); + for (const appId of firstTargetApps) { + if (!operationApps.has(appId)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `first adoption target ${appId} requires a provider capability card`, + path: ["firstAdoptionTargets"] + }); + } + } +}); +var ContextPackItemSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + title: exports_external3.string().min(1).optional(), + summary: exports_external3.string().min(1), + text: exports_external3.string().optional(), + tokens: exports_external3.number().int().nonnegative().optional(), + source: EvidencePointerSchema2, + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]) +}).strict(); +var ContextPackSchema2 = contractBaseSchema2(SCHEMA_IDS2.contextPack).extend({ + objective: exports_external3.string().min(1), + budget: exports_external3.object({ + maxTokens: exports_external3.number().int().positive().optional(), + maxBytes: exports_external3.number().int().positive().optional() + }).strict().optional(), + items: exports_external3.array(ContextPackItemSchema2).default([]), + citations: exports_external3.array(EvidencePointerSchema2).default([]), + freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown"), + permissions: exports_external3.array(exports_external3.string().min(1)).default([]), + redactions: exports_external3.array(exports_external3.string().min(1)).default([]), + conflicts: exports_external3.array(exports_external3.string().min(1)).default([]), + uncertainty: exports_external3.string().min(1).optional() +}).strict(); +var RelativeProjectPathSchema2 = NonEmptyStringSchema2.refine((value) => !value.startsWith("/") && !value.includes("\\") && !value.split("/").includes(".."), "Project paths must be relative and cannot contain parent-directory segments"); +var ProjectSlugSchema2 = exports_external3.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "Project slugs must be lowercase dashed identifiers"); +var ProjectClassificationSchema2 = exports_external3.enum(["public", "internal", "private", "sensitive"]); +var ProjectStatusSchema2 = exports_external3.enum(["draft", "active", "paused", "archived"]); +var ProjectIntegrationKindSchema2 = exports_external3.enum([ + "todos", + "files", + "mailery", + "conversations", + "knowledge", + "mementos", + "reports", + "actions", + "render", + "contracts", + "custom" +]); +var IntegrationRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.integrationRef).extend({ + kind: ProjectIntegrationKindSchema2, + name: exports_external3.string().min(1), + projectId: ProjectSlugSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + uri: UriSchema2.optional(), + enabled: exports_external3.boolean().default(true), + readOnly: exports_external3.boolean().default(true), + capabilities: exports_external3.array(exports_external3.string().min(1)).default([]), + freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown"), + resourceRef: ResourcePointerSchema2.optional(), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + config: MetadataSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (!value.uri && !(value.sourcePackage && value.externalId) && !value.resourceRef) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Integration refs require uri, resourceRef, or both sourcePackage and externalId", + path: ["uri"] + }); + } +}); +var ProjectLayoutSchema2 = exports_external3.object({ + schemaRoot: RelativeProjectPathSchema2.default(".hasna/project"), + dashboardManifest: RelativeProjectPathSchema2.default(".hasna/project/dashboard.render.json"), + snapshotsDir: RelativeProjectPathSchema2.default(".hasna/project/snapshots"), + documentsDir: RelativeProjectPathSchema2.default("documents"), + reportsDir: RelativeProjectPathSchema2.default("reports"), + evidenceDir: RelativeProjectPathSchema2.default(".hasna/project/evidence"), + privateDir: RelativeProjectPathSchema2.default(".hasna/project/private") +}).strict(); +var ProjectManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectManifest).extend({ + projectId: ProjectSlugSchema2, + slug: ProjectSlugSchema2, + name: exports_external3.string().min(1), + summary: exports_external3.string().min(1).optional(), + status: ProjectStatusSchema2.default("active"), + classification: ProjectClassificationSchema2.default("private"), + owner: ActorPointerSchema2.optional(), + layout: ProjectLayoutSchema2.default({}), + integrations: exports_external3.array(IntegrationRefSchema2).default([]), + renderManifests: exports_external3.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + const integrationIds = new Set; + const renderManifestIds = new Set; + if (value.projectId !== value.slug) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "projectId and slug must match for canonical project manifests", + path: ["slug"] + }); + } + for (const [index, integration] of value.integrations.entries()) { + if (integrationIds.has(integration.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project manifest integration ids must be unique", + path: ["integrations", index, "id"] + }); + } + integrationIds.add(integration.id); + if (integration.projectId && integration.projectId !== value.projectId) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Integration projectId must match the manifest projectId", + path: ["integrations", index, "projectId"] + }); + } + } + for (const [index, renderManifest] of value.renderManifests.entries()) { + if (renderManifest.kind !== "render") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project renderManifests must use resource kind render", + path: ["renderManifests", index, "kind"] + }); + } + if (renderManifestIds.has(renderManifest.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project renderManifest refs must be unique", + path: ["renderManifests", index, "id"] + }); + } + renderManifestIds.add(renderManifest.id); + } +}); +var RenderImportKindSchema2 = exports_external3.enum(["local", "package", "provider", "url"]); +var RenderImportSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + kind: RenderImportKindSchema2, + specifier: exports_external3.string().min(1), + path: RelativeProjectPathSchema2.optional(), + packageName: exports_external3.string().min(1).optional(), + uri: UriSchema2.optional(), + provider: ProjectIntegrationKindSchema2.optional(), + schemaId: SchemaIdSchema2.optional(), + integrity: HashStringSchema2.optional(), + resourceRef: ResourcePointerSchema2.optional(), + optional: exports_external3.boolean().default(false) +}).strict().superRefine((value, ctx) => { + if (value.kind === "local" && !value.path) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Local render imports require path", path: ["path"] }); + } + if (value.kind === "package" && !value.packageName) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Package render imports require packageName", path: ["packageName"] }); + } + if (value.kind === "provider" && !value.provider) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Provider render imports require provider", path: ["provider"] }); + } + if (value.kind === "url" && !value.uri) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "URL render imports require uri", path: ["uri"] }); + } +}); +var RenderViewKindSchema2 = exports_external3.enum(["dashboard", "canvas", "panel", "report", "document", "custom"]); +var RenderViewSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + title: exports_external3.string().min(1), + kind: RenderViewKindSchema2, + default: exports_external3.boolean().default(false), + entry: RelativeProjectPathSchema2.optional(), + imports: exports_external3.array(RenderImportSchema2).default([]), + panelRefs: exports_external3.array(ResourcePointerSchema2).default([]), + dataRefs: exports_external3.array(ResourcePointerSchema2).default([]), + layout: MetadataSchema2.optional() +}).strict(); +var RenderManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.renderManifest).extend({ + projectId: ProjectSlugSchema2, + name: exports_external3.string().min(1), + version: exports_external3.string().min(1), + manifestPath: RelativeProjectPathSchema2.default(".hasna/project/dashboard.render.json"), + renderer: exports_external3.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), + views: exports_external3.array(RenderViewSchema2).min(1), + imports: exports_external3.array(RenderImportSchema2).default([]), + theme: MetadataSchema2.optional(), + compatibility: exports_external3.object({ + minProjectsVersion: exports_external3.string().min(1).optional(), + minContractsVersion: exports_external3.string().min(1).optional() + }).strict().optional(), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const defaults = value.views.filter((view) => view.default); + const viewIds = new Set; + const importIds = new Set; + if (defaults.length > 1) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Render manifests can have at most one default view", path: ["views"] }); + } + for (const [index, importRef] of value.imports.entries()) { + if (importIds.has(importRef.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Render manifest import ids must be unique", + path: ["imports", index, "id"] + }); + } + importIds.add(importRef.id); + } + for (const [viewIndex, view] of value.views.entries()) { + if (viewIds.has(view.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Render manifest view ids must be unique", + path: ["views", viewIndex, "id"] + }); + } + viewIds.add(view.id); + const viewImportIds = new Set; + for (const [importIndex, importRef] of view.imports.entries()) { + if (viewImportIds.has(importRef.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Render view import ids must be unique", + path: ["views", viewIndex, "imports", importIndex, "id"] + }); + } + viewImportIds.add(importRef.id); + } + for (const [panelIndex, panelRef] of view.panelRefs.entries()) { + if (panelRef.kind !== "panel") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Render view panelRefs must use resource kind panel", + path: ["views", viewIndex, "panelRefs", panelIndex, "kind"] + }); + } + } + } +}); +var ProjectPanelStateSchema2 = exports_external3.enum(["ready", "empty", "loading", "error", "auth_required", "unavailable", "stale"]); +var ProjectPanelKindSchema2 = exports_external3.enum([ + "overview", + "tasks", + "files", + "mailery", + "conversations", + "knowledge", + "mementos", + "reports", + "actions", + "timeline", + "risks", + "documents", + "custom" +]); +var ProjectPanelMetricSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + label: exports_external3.string().min(1), + value: exports_external3.union([exports_external3.string(), exports_external3.number(), exports_external3.boolean()]), + unit: exports_external3.string().min(1).optional(), + status: exports_external3.enum(["good", "warning", "critical", "unknown"]).default("unknown"), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]) +}).strict(); +var ProjectPanelItemSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + title: exports_external3.string().min(1), + summary: exports_external3.string().min(1).optional(), + status: exports_external3.string().min(1).optional(), + priority: exports_external3.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), + timestamp: TimestampSchema2.optional(), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + metadata: MetadataSchema2.optional() +}).strict(); +var ProjectRenderFragmentSchema2 = exports_external3.object({ + renderer: exports_external3.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), + title: exports_external3.string().min(1).optional(), + entry: RelativeProjectPathSchema2.optional(), + imports: exports_external3.array(RenderImportSchema2).default([]), + spec: MetadataSchema2.default({}) +}).strict(); +var ProjectPanelSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectPanel).extend({ + projectId: ProjectSlugSchema2, + provider: exports_external3.object({ + kind: ProjectIntegrationKindSchema2, + id: exports_external3.string().min(1), + name: exports_external3.string().min(1).optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + externalId: NonEmptyStringSchema2.optional() + }).strict(), + kind: ProjectPanelKindSchema2, + title: exports_external3.string().min(1), + summary: exports_external3.string().min(1).optional(), + state: ProjectPanelStateSchema2.default("ready"), + stateReason: exports_external3.string().min(1).optional(), + generatedAt: TimestampSchema2, + freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown"), + metrics: exports_external3.array(ProjectPanelMetricSchema2).default([]), + items: exports_external3.array(ProjectPanelItemSchema2).default([]), + actions: exports_external3.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + renderFragment: ProjectRenderFragmentSchema2.optional(), + warnings: exports_external3.array(exports_external3.string().min(1)).default([]) +}).strict().superRefine((value, ctx) => { + const reasonStates = new Set(["error", "auth_required", "unavailable", "stale"]); + const metricIds = new Set; + const itemIds = new Set; + if (reasonStates.has(value.state) && !value.stateReason) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Non-ready provider states require stateReason", + path: ["stateReason"] + }); + } + if (value.state === "ready" && value.metrics.length === 0 && value.items.length === 0 && !value.renderFragment) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels", + path: ["state"] + }); + } + for (const [index, metric] of value.metrics.entries()) { + if (metricIds.has(metric.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project panel metric ids must be unique", + path: ["metrics", index, "id"] + }); + } + metricIds.add(metric.id); + } + for (const [index, item] of value.items.entries()) { + if (itemIds.has(item.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project panel item ids must be unique", + path: ["items", index, "id"] + }); + } + itemIds.add(item.id); + } + for (const [index, action] of value.actions.entries()) { + if (action.kind !== "action") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project panel actions must use resource kind action", + path: ["actions", index, "kind"] + }); + } + } +}); +var ProjectSnapshotSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectSnapshot).extend({ + projectId: ProjectSlugSchema2, + generatedAt: TimestampSchema2, + status: ContractStatusSchema2.default("unknown"), + manifestRef: ResourcePointerSchema2, + renderManifestRef: ResourcePointerSchema2.optional(), + panels: exports_external3.array(ProjectPanelSchema2).default([]), + contextPacks: exports_external3.array(ContextPackSchema2).default([]), + proofBundleRefs: exports_external3.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + warnings: exports_external3.array(exports_external3.string().min(1)).default([]), + freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown") +}).strict().superRefine((value, ctx) => { + const panelIds = new Set; + const contextPackIds = new Set; + if (value.manifestRef.kind !== "project") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project snapshot manifestRef must use resource kind project", + path: ["manifestRef", "kind"] + }); + } + if (value.renderManifestRef && value.renderManifestRef.kind !== "render") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project snapshot renderManifestRef must use resource kind render", + path: ["renderManifestRef", "kind"] + }); + } + for (const [index, proofBundleRef] of value.proofBundleRefs.entries()) { + if (proofBundleRef.kind !== "proof_bundle") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project snapshot proofBundleRefs must use resource kind proof_bundle", + path: ["proofBundleRefs", index, "kind"] + }); + } + } + for (const [index, panel] of value.panels.entries()) { + if (panel.projectId !== value.projectId) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Panel projectId must match snapshot projectId", + path: ["panels", index, "projectId"] + }); + } + if (panelIds.has(panel.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project snapshot panel ids must be unique", + path: ["panels", index, "id"] + }); + } + panelIds.add(panel.id); + } + for (const [index, contextPack] of value.contextPacks.entries()) { + if (contextPackIds.has(contextPack.id)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Project snapshot context pack ids must be unique", + path: ["contextPacks", index, "id"] + }); + } + contextPackIds.add(contextPack.id); + } +}); +var ValidationCheckSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + kind: exports_external3.enum(["command", "test", "typecheck", "lint", "eval", "security", "review", "deploy", "smoke", "manual", "other"]), + required: exports_external3.boolean().default(true), + command: exports_external3.string().min(1).optional(), + expected: exports_external3.string().min(1).optional(), + timeoutMs: exports_external3.number().int().positive().optional(), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const actionableKinds = new Set(["command", "test", "typecheck", "lint", "smoke", "eval"]); + if (actionableKinds.has(value.kind) && !value.command && !value.expected) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Actionable validation checks require command or expected", + path: ["command"] + }); + } +}); +var ValidationPlanSchema2 = contractBaseSchema2(SCHEMA_IDS2.validationPlan).extend({ + objective: exports_external3.string().min(1), + subject: ResourcePointerSchema2.optional(), + checks: exports_external3.array(ValidationCheckSchema2).min(1), + verifier: ActorPointerSchema2.optional(), + requiredEvidenceKinds: exports_external3.array(EvidenceKindSchema2).default([]) +}).strict(); +var ScaffoldTypeSchema2 = exports_external3.enum([ + "open_source", + "internal_app", + "platform", + "app", + "agent", + "content", + "overlay", + "other" +]); +var ScaffoldStatusSchema2 = exports_external3.enum(["draft", "active", "deprecated", "archived"]); +var ScaffoldCapabilitySchema2 = exports_external3.enum([ + "cli", + "mcp", + "library", + "sdk", + "rest_api", + "dashboard", + "database", + "auth", + "billing", + "worker", + "daemon", + "native", + "browser_extension", + "ai_provider", + "media_pipeline", + "data_pipeline", + "tests", + "ci", + "deployment", + "docs", + "other" +]); +var ScaffoldEnvVarSchema2 = exports_external3.object({ + key: exports_external3.string().regex(/^[A-Z][A-Z0-9_]*$/), + description: exports_external3.string().min(1), + required: exports_external3.boolean().default(false), + ["secret"]: exports_external3.boolean().default(false), + group: exports_external3.string().min(1).optional(), + default: exports_external3.string().optional() +}).strict().superRefine((value, ctx) => { + if (value.secret && value.default !== undefined) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Secret scaffold env vars cannot include defaults", + path: ["default"] + }); + } +}); +var ScaffoldScriptSchema2 = exports_external3.object({ + name: exports_external3.string().min(1), + command: exports_external3.string().min(1), + description: exports_external3.string().min(1).optional(), + required: exports_external3.boolean().default(false) +}).strict(); +var ScaffoldOutputShapeSchema2 = exports_external3.object({ + packageManager: exports_external3.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), + languages: exports_external3.array(exports_external3.string().min(1)).default([]), + requiredFiles: exports_external3.array(exports_external3.string().min(1)).default([]), + requiredDirectories: exports_external3.array(exports_external3.string().min(1)).default([]), + optionalDirectories: exports_external3.array(exports_external3.string().min(1)).default([]) +}).strict(); +var ScaffoldManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.scaffoldManifest).extend({ + name: exports_external3.string().min(1), + version: exports_external3.string().min(1), + summary: exports_external3.string().min(1), + type: ScaffoldTypeSchema2, + status: ScaffoldStatusSchema2.default("draft"), + capabilities: exports_external3.array(ScaffoldCapabilitySchema2).default([]), + techStack: exports_external3.array(exports_external3.string().min(1)).default([]), + tags: TagsSchema2, + source: ResourcePointerSchema2.optional(), + output: ScaffoldOutputShapeSchema2, + env: exports_external3.array(ScaffoldEnvVarSchema2).default([]), + scripts: exports_external3.array(ScaffoldScriptSchema2).default([]), + validationChecks: exports_external3.array(ValidationCheckSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.source?.uri?.startsWith("file://")) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Public scaffold manifest source refs cannot use local file:// URIs", + path: ["source", "uri"] + }); + } + if (value.status === "active" && value.validationChecks.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Active scaffold manifests require validation checks", + path: ["validationChecks"] + }); + } + if (value.status === "active" && value.output.requiredFiles.length === 0 && value.output.requiredDirectories.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Active scaffold manifests require at least one required file or directory", + path: ["output"] + }); + } +}); +var ScaffoldInstallStatusSchema2 = exports_external3.enum(["installed", "failed", "cancelled", "partial", "unknown"]); +var ScaffoldInstallRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.scaffoldInstallRecord).extend({ + scaffoldId: exports_external3.string().min(1), + scaffoldVersion: exports_external3.string().min(1).optional(), + manifestRef: ResourcePointerSchema2.optional(), + target: ResourcePointerSchema2, + status: ScaffoldInstallStatusSchema2, + installedAt: TimestampSchema2.optional(), + installer: ActorPointerSchema2.optional(), + packageManager: exports_external3.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), + options: MetadataSchema2.optional(), + generatedFiles: exports_external3.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + proofBundleRefs: exports_external3.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "installed" && !value.installedAt) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Installed scaffold records require installedAt", + path: ["installedAt"] + }); + } + if (value.status === "installed" && value.generatedFiles.length === 0 && value.evidenceRefs.length === 0 && value.proofBundleRefs.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Installed scaffold records require generated files, evidence, or proof bundle refs", + path: ["generatedFiles"] + }); + } + if ((value.status === "failed" || value.status === "partial") && value.evidenceRefs.length === 0 && value.proofBundleRefs.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Failed or partial scaffold records require evidence or proof bundle refs", + path: ["evidenceRefs"] + }); + } +}); +var AppIdSchema2 = exports_external3.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "App ids must be lowercase dashed identifiers"); +var NpmPackageNameSchema2 = exports_external3.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/, "Must be a valid npm package name"); +var SemverSchema2 = exports_external3.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/, "Must be a semver version"); +var GitShaSchema2 = exports_external3.string().regex(/^[0-9a-f]{7,40}$/, "Must be a lowercase git sha (7-40 hex chars)"); +var GithubUrlSchema2 = NonEmptyStringSchema2.refine((value) => value.startsWith("https://github.com/") || value.startsWith("git+https://github.com/"), "GitHub URLs must start with https://github.com/ or git+https://github.com/"); +var AppLifecycleSchema2 = exports_external3.enum(["active", "stub", "deprecated", "archived"]); +var ReleaseChannelSchema2 = exports_external3.enum(["stable", "beta", "canary", "internal"]); +var AppMcpSurfaceSchema2 = exports_external3.object({ + transport: exports_external3.enum(["http", "stdio"]).default("http"), + bin: exports_external3.string().min(1).optional(), + url: UriSchema2.optional() +}).strict(); +var AppHttpSurfaceSchema2 = exports_external3.object({ + healthPath: exports_external3.string().min(1).default("/health"), + port: exports_external3.number().int().positive().optional(), + baseUrl: UriSchema2.optional() +}).strict(); +var AppSurfacesSchema2 = exports_external3.object({ + bins: exports_external3.array(exports_external3.string().min(1)).default([]), + mcp: AppMcpSurfaceSchema2.optional(), + http: AppHttpSurfaceSchema2.optional() +}).strict(); +var AppSchema2 = contractBaseSchema2(SCHEMA_IDS2.app).extend({ + appId: AppIdSchema2, + npmName: NpmPackageNameSchema2, + repoFolder: AppIdSchema2, + githubUrl: GithubUrlSchema2, + projectSlug: ProjectSlugSchema2, + surfaces: AppSurfacesSchema2.default({}), + lifecycle: AppLifecycleSchema2, + releaseChannel: ReleaseChannelSchema2.default("stable"), + summary: exports_external3.string().min(1).optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + const seenBins = new Set; + for (const [index, bin] of value.surfaces.bins.entries()) { + if (seenBins.has(bin)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "App surface bins must be unique", + path: ["surfaces", "bins", index] + }); + } + seenBins.add(bin); + } +}); +var PublishPathSchema2 = exports_external3.enum(["skill", "ci", "backfilled"]); +var ReleaseSchema2 = contractBaseSchema2(SCHEMA_IDS2.release).extend({ + appId: AppIdSchema2, + package: NpmPackageNameSchema2, + version: SemverSchema2, + gitSha: GitShaSchema2, + publishedAt: TimestampSchema2, + publishPath: PublishPathSchema2, + changelogRef: ResourcePointerSchema2.optional(), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.publishPath !== "backfilled" && value.evidenceRefs.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "skill and ci releases require publish evidence; only backfilled releases may omit it", + path: ["evidenceRefs"] + }); + } +}); +var RolloutActionSchema2 = exports_external3.enum(["install", "update", "rollback", "freeze-blocked"]); +var RolloutVerificationSchema2 = exports_external3.object({ + cliVersion: exports_external3.string().min(1).optional(), + mcpHealth: exports_external3.enum(["ok", "degraded", "unavailable", "not_checked"]).optional() +}).strict().superRefine((value, ctx) => { + if (!value.cliVersion && value.mcpHealth === undefined) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Rollout verification requires at least one concrete verifier field" + }); + } +}); +var RolloutRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.rolloutRecord).extend({ + appId: AppIdSchema2, + package: NpmPackageNameSchema2, + version: SemverSchema2, + machine: NonEmptyStringSchema2, + action: RolloutActionSchema2, + result: ContractStatusSchema2, + verifiedBy: RolloutVerificationSchema2.optional(), + at: TimestampSchema2, + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.action === "freeze-blocked" && value.result !== "blocked" && value.result !== "skipped") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "freeze-blocked rollout records must report result blocked or skipped", + path: ["result"] + }); + } + const hasConcreteVerification = Boolean(value.verifiedBy?.cliVersion) || value.verifiedBy?.mcpHealth !== undefined && value.verifiedBy.mcpHealth !== "not_checked"; + const hasVerifierFields = value.verifiedBy ? Object.keys(value.verifiedBy).length > 0 : false; + if ((value.action === "install" || value.action === "update") && value.result === "succeeded" && (!value.verifiedBy || hasVerifierFields && !hasConcreteVerification)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Succeeded install/update rollout records require concrete verification", + path: ["verifiedBy"] + }); + } +}); +var AnnouncementChannelKindSchema2 = exports_external3.enum([ + "email", + "telegram", + "slack", + "discord", + "x", + "blog", + "rss", + "webhook", + "github", + "other" +]); +var AnnouncementDeliveryStatusSchema2 = exports_external3.enum([ + "pending", + "queued", + "sent", + "failed", + "skipped", + "suppressed" +]); +var AnnouncementChannelSchema2 = exports_external3.object({ + channel: AnnouncementChannelKindSchema2, + status: AnnouncementDeliveryStatusSchema2, + deliveredAt: TimestampSchema2.optional(), + detail: exports_external3.string().min(1).optional() +}).strict().superRefine((value, ctx) => { + if (value.status === "sent" && !value.deliveredAt) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Sent announcement channels require deliveredAt", + path: ["deliveredAt"] + }); + } + if (value.status === "failed" && !value.detail) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Failed announcement channels require detail", + path: ["detail"] + }); + } +}); +var AnnouncementSchema2 = contractBaseSchema2(SCHEMA_IDS2.announcement).extend({ + campaignId: NonEmptyStringSchema2, + appId: AppIdSchema2.optional(), + releaseRef: ResourcePointerSchema2.optional(), + channels: exports_external3.array(AnnouncementChannelSchema2).min(1), + audienceRef: ResourcePointerSchema2, + sentAt: TimestampSchema2 +}).strict().superRefine((value, ctx) => { + if (value.releaseRef && value.releaseRef.kind !== "release") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Announcement releaseRef must use resource kind release", + path: ["releaseRef", "kind"] + }); + } + if (value.audienceRef.kind !== "audience") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Announcement audienceRef must use resource kind audience", + path: ["audienceRef", "kind"] + }); + } +}); +var AudiencePredicateKindSchema2 = exports_external3.enum(["tag", "attribute", "group"]); +var AudiencePredicateOpSchema2 = exports_external3.enum(["eq", "neq", "in", "not_in", "exists", "not_exists"]); +var AudiencePredicateValueSchema2 = exports_external3.union([exports_external3.string(), exports_external3.number(), exports_external3.boolean()]); +var AudiencePredicateSchema2 = exports_external3.object({ + kind: AudiencePredicateKindSchema2, + key: exports_external3.string().min(1).optional(), + op: AudiencePredicateOpSchema2.default("eq"), + value: AudiencePredicateValueSchema2.optional(), + values: exports_external3.array(AudiencePredicateValueSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.kind === "attribute" && !value.key) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Attribute predicates require key", + path: ["key"] + }); + } + if ((value.op === "eq" || value.op === "neq") && value.value === undefined) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "eq/neq predicates require value", + path: ["value"] + }); + } + if ((value.op === "in" || value.op === "not_in") && value.values.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "in/not_in predicates require values", + path: ["values"] + }); + } +}); +var AudienceDefinitionSchema2 = exports_external3.object({ + match: exports_external3.enum(["all", "any"]).default("all"), + predicates: exports_external3.array(AudiencePredicateSchema2).min(1) +}).strict(); +var ConsentPolicySchema2 = exports_external3.enum(["opt_in", "opt_out", "transactional", "none"]); +var AudienceSchema2 = contractBaseSchema2(SCHEMA_IDS2.audience).extend({ + audienceId: AppIdSchema2, + name: NonEmptyStringSchema2, + definition: AudienceDefinitionSchema2, + consentPolicy: ConsentPolicySchema2, + suppressionSyncedAt: OptionalTimestampSchema2 +}).strict(); +var FORBIDDEN_SHARED_CLOUD_RUNTIMES2 = ["@hasna/cloud", "open-cloud"]; +var AppCloudProviderSchema2 = exports_external3.enum([ + "aws", + "gcp", + "azure", + "cloudflare", + "vercel", + "neon", + "supabase", + "postgres", + "s3", + "rds", + "other" +]); +var AppCloudResourceSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + provider: AppCloudProviderSchema2, + kind: exports_external3.enum([ + "database", + "bucket", + "queue", + "secret", + "function", + "worker", + "cache", + "topic", + "scheduler", + "object_store", + "other" + ]), + ownerPackage: exports_external3.string().min(1), + region: exports_external3.string().min(1).optional(), + accountId: exports_external3.string().min(1).optional(), + uri: UriSchema2.optional(), + machineScoped: exports_external3.boolean().default(false) +}).strict(); +var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest).extend({ + packageName: exports_external3.string().min(1), + packageVersion: exports_external3.string().min(1).optional(), + appId: exports_external3.string().min(1), + repository: ResourcePointerSchema2.optional(), + storageMode: exports_external3.enum(["local_only", "app_owned_cloud", "hybrid_local_cache", "external_service"]), + cloudBoundary: exports_external3.enum(["none", "app_owned", "external_service", "local_cache"]), + cloudResources: exports_external3.array(AppCloudResourceSchema2).default([]), + localCache: exports_external3.object({ + path: exports_external3.string().min(1).optional(), + pullMode: exports_external3.enum(["manual", "daemon", "ci", "none"]).default("manual"), + conflictPolicy: exports_external3.enum(["cloud_wins", "local_wins", "merge", "manual_review"]).default("manual_review") + }).strict().optional(), + forbiddenSharedRuntimes: exports_external3.array(exports_external3.string().min(1)).default([...FORBIDDEN_SHARED_CLOUD_RUNTIMES2]), + dependencies: exports_external3.array(exports_external3.string().min(1)).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const effectiveForbiddenRuntimes = new Set([...FORBIDDEN_SHARED_CLOUD_RUNTIMES2, ...value.forbiddenSharedRuntimes]); + if (effectiveForbiddenRuntimes.has(value.packageName)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "App-owned cloud manifests cannot be for a forbidden runtime", + path: ["packageName"] + }); + } + for (const runtime of FORBIDDEN_SHARED_CLOUD_RUNTIMES2) { + if (!value.forbiddenSharedRuntimes.includes(runtime)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `forbiddenSharedRuntimes must include ${runtime}`, + path: ["forbiddenSharedRuntimes"] + }); + } + } + for (const runtime of effectiveForbiddenRuntimes) { + if (value.dependencies.includes(runtime)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `App-owned cloud manifests cannot depend on ${runtime}`, + path: ["dependencies"] + }); + } + } + if (value.storageMode === "local_only" && value.cloudBoundary !== "none") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "local_only storage requires cloudBoundary none", + path: ["cloudBoundary"] + }); + } + if (value.storageMode === "app_owned_cloud" && value.cloudBoundary !== "app_owned") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "app_owned_cloud storage requires cloudBoundary app_owned", + path: ["cloudBoundary"] + }); + } + if (value.storageMode === "hybrid_local_cache") { + if (value.cloudBoundary !== "local_cache") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "hybrid_local_cache storage requires cloudBoundary local_cache", + path: ["cloudBoundary"] + }); + } + if (!value.localCache) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "hybrid_local_cache storage requires localCache settings", + path: ["localCache"] + }); + } + } + if (value.storageMode === "external_service") { + if (value.cloudBoundary !== "external_service") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "external_service storage requires cloudBoundary external_service", + path: ["cloudBoundary"] + }); + } + if (value.cloudResources.length > 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "external_service storage must not declare app-owned cloudResources", + path: ["cloudResources"] + }); + } + } + if ((value.storageMode === "app_owned_cloud" || value.storageMode === "hybrid_local_cache") && value.cloudResources.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Cloud-backed storage modes require explicit app-owned cloudResources", + path: ["cloudResources"] + }); + } + if (value.cloudBoundary === "none" && value.cloudResources.length > 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "cloudBoundary none cannot declare cloudResources", + path: ["cloudResources"] + }); + } + value.cloudResources.forEach((resource, index) => { + if (resource.ownerPackage !== value.packageName) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Cloud resources must be owned by the app package that declares the manifest", + path: ["cloudResources", index, "ownerPackage"] + }); + } + }); +}); +var NoCloudCheckKindSchema2 = exports_external3.enum([ + "package_manifest", + "lockfile", + "source_import", + "runtime_config", + "packed_artifact", + "published_metadata", + "app_cloud_manifest", + "remote_config", + "boundary_doc", + "other" +]); +var NoCloudFindingSeveritySchema2 = exports_external3.enum(["low", "medium", "high", "critical"]); +var NoCloudFindingSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + kind: NoCloudCheckKindSchema2, + severity: NoCloudFindingSeveritySchema2, + path: exports_external3.string().min(1).optional(), + packageName: exports_external3.string().min(1).optional(), + pattern: exports_external3.string().min(1), + message: exports_external3.string().min(1), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict(); +var NoCloudCheckResultSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + kind: NoCloudCheckKindSchema2, + status: ContractStatusSchema2, + target: exports_external3.string().min(1), + command: exports_external3.string().min(1).optional(), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + findings: exports_external3.array(NoCloudFindingSchema2).default([]) +}).strict(); +var NoCloudEvidencePackSchema2 = contractBaseSchema2(SCHEMA_IDS2.noCloudEvidencePack).extend({ + subject: ResourcePointerSchema2, + packageName: exports_external3.string().min(1).optional(), + packageVersion: exports_external3.string().min(1).optional(), + generatedBy: ActorPointerSchema2.optional(), + scanMode: exports_external3.enum(["source_tree", "packed_artifact", "published_metadata", "runtime_config", "workspace", "ci"]), + status: ContractStatusSchema2, + verdict: exports_external3.enum(["passed", "failed", "warning", "not_run"]), + appCloudManifest: AppCloudManifestSchema2.optional(), + checks: exports_external3.array(NoCloudCheckResultSchema2).min(1), + findings: exports_external3.array(NoCloudFindingSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const allFindings = [...value.findings, ...value.checks.flatMap((check2) => check2.findings)]; + const blockingFindings = allFindings.filter((finding) => finding.severity === "high" || finding.severity === "critical"); + if (value.verdict === "passed") { + if (value.status !== "succeeded") { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Passed no-cloud evidence requires succeeded status", path: ["status"] }); + } + if (blockingFindings.length > 0) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Passed no-cloud evidence cannot include high or critical findings", path: ["findings"] }); + } + if (value.checks.some((check2) => check2.status !== "succeeded")) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Passed no-cloud evidence requires every check to be succeeded", path: ["checks"] }); + } + } + if (value.verdict === "failed" && allFindings.length === 0) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Failed no-cloud evidence requires findings", path: ["findings"] }); + } + if (value.status === "succeeded" && value.checks.some((check2) => check2.status === "failed")) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Succeeded no-cloud evidence cannot contain failed checks", path: ["checks"] }); + } + value.checks.forEach((check2, index) => { + const checkBlockingFindings = check2.findings.filter((finding) => finding.severity === "high" || finding.severity === "critical"); + if (check2.status === "succeeded" && checkBlockingFindings.length > 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Succeeded no-cloud checks cannot contain high or critical findings", + path: ["checks", index, "findings"] + }); + } + }); +}); +var ProofCheckResultSchema2 = exports_external3.object({ + checkId: exports_external3.string().min(1), + status: ContractStatusSchema2, + summary: exports_external3.string().min(1).optional(), + startedAt: OptionalTimestampSchema2, + finishedAt: OptionalTimestampSchema2, + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict(); +var ProofBundleSchema2 = contractBaseSchema2(SCHEMA_IDS2.proofBundle).extend({ + subject: ResourcePointerSchema2, + validationPlanRef: ResourcePointerSchema2.optional(), + status: ContractStatusSchema2, + verdict: exports_external3.enum(["passed", "failed", "inconclusive", "not_run"]).default("inconclusive"), + checks: exports_external3.array(ProofCheckResultSchema2).default([]), + verifier: ActorPointerSchema2.optional(), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + residualRisks: exports_external3.array(exports_external3.string().min(1)).default([]), + freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown") +}).strict().superRefine((value, ctx) => { + if (value.verdict === "passed") { + if (value.status !== "succeeded") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Passed proof bundles must have status succeeded", + path: ["status"] + }); + } + if (value.checks.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Passed proof bundles require at least one check result", + path: ["checks"] + }); + } + value.checks.forEach((check2, index) => { + if (check2.status !== "succeeded") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Passed proof bundles require all checks to have status succeeded", + path: ["checks", index, "status"] + }); + } + }); + const hasEvidence = value.evidenceRefs.length > 0 || value.checks.some((check2) => check2.evidenceRefs.length > 0); + if (!hasEvidence) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Passed proof bundles require evidence", + path: ["evidenceRefs"] + }); + } + if (!value.verifier) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Passed proof bundles require a verifier", + path: ["verifier"] + }); + } + } + if (value.verdict === "not_run" && value.checks.length > 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Not-run proof bundles cannot include check results", + path: ["checks"] + }); + } + if (value.verdict === "failed" && !value.checks.some((check2) => check2.status === "failed") && value.evidenceRefs.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Failed proof bundles require a failed check or evidence", + path: ["checks"] + }); + } +}); +var WorkRunSchema2 = contractBaseSchema2(SCHEMA_IDS2.workRun).extend({ + objective: exports_external3.string().min(1), + status: ContractStatusSchema2, + actor: ActorPointerSchema2, + traceId: exports_external3.string().min(1).optional(), + startedAt: OptionalTimestampSchema2, + finishedAt: OptionalTimestampSchema2, + constraints: exports_external3.array(exports_external3.string().min(1)).default([]), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + decisions: exports_external3.array(DecisionEnvelopeSchema2).default([]), + costEstimates: exports_external3.array(CostEstimateSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + validationPlanRefs: exports_external3.array(ResourcePointerSchema2).default([]), + proofBundleRefs: exports_external3.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.startedAt && value.finishedAt && Date.parse(value.finishedAt) < Date.parse(value.startedAt)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "finishedAt must be after or equal to startedAt", + path: ["finishedAt"] + }); + } + if (TerminalStatuses2.has(value.status) && !value.finishedAt) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Terminal work runs require finishedAt", + path: ["finishedAt"] + }); + } + const hasEvidence = value.evidenceRefs.length > 0 || value.proofBundleRefs.length > 0; + if (value.status === "succeeded" && !hasEvidence) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Succeeded work runs require evidence or a proof bundle", + path: ["evidenceRefs"] + }); + } + if ((value.status === "failed" || value.status === "blocked") && !hasEvidence && value.decisions.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Failed or blocked work runs require evidence, a proof bundle, or a decision record", + path: ["evidenceRefs"] + }); + } +}); +var TrajectoryEventSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + at: TimestampSchema2, + kind: exports_external3.enum(["message", "tool_call", "command", "file_change", "error", "test", "decision", "verification", "status", "other"]), + summary: exports_external3.string().min(1), + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), + costEstimate: CostEstimateSchema2.optional() +}).strict(); +var AgentTrajectorySchema2 = contractBaseSchema2(SCHEMA_IDS2.agentTrajectory).extend({ + actor: ActorPointerSchema2, + workRunRef: ResourcePointerSchema2.optional(), + events: exports_external3.array(TrajectoryEventSchema2).default([]), + outcome: exports_external3.enum(["succeeded", "failed", "cancelled", "blocked", "unknown"]).default("unknown"), + proofBundleRef: ResourcePointerSchema2.optional() +}).strict(); +var SERVICE_CONTRACT_VERSION2 = "v1"; +var RepoClassSchema2 = exports_external3.enum(["library", "cli-with-store", "service", "saas"]); +var DEPLOYMENT_MODES2 = ["local", "self-hosted", "cloud"]; +var DeploymentModeSchema2 = exports_external3.enum(DEPLOYMENT_MODES2); +var ServiceSurfaceStatusSchema2 = exports_external3.enum(["supported", "deferred", "unsupported"]); +var ServiceAuthModeSchema2 = exports_external3.enum(["none", "local-only", "api-key", "session", "service-token", "custom"]); +var ServiceEndpointSchema2 = exports_external3.object({ + method: exports_external3.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]), + path: exports_external3.string().regex(/^\/[A-Za-z0-9_./:*-]*$/, "Endpoint paths must be absolute HTTP paths"), + public: exports_external3.boolean().default(false), + description: exports_external3.string().min(1).optional() +}).strict(); +var DeploymentReadinessGateSchema2 = exports_external3.object({ + id: exports_external3.string().min(1), + kind: exports_external3.enum(["auth", "storage", "secret-ref", "migration", "health", "readiness", "redaction", "smoke", "operator", "other"]), + required: exports_external3.boolean().default(true), + command: exports_external3.string().min(1).optional(), + evidenceRef: EvidencePointerSchema2.optional(), + status: exports_external3.enum(["pending", "passed", "failed", "blocked", "deferred"]).default("pending"), + summary: exports_external3.string().min(1).optional() +}).strict().superRefine((value, ctx) => { + if ((value.status === "passed" || value.status === "failed" || value.status === "blocked") && !value.command && !value.evidenceRef && !value.summary) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Terminal readiness gates require command, evidenceRef, or summary", + path: ["status"] + }); + } +}); +var ServiceSurfaceSchema2 = exports_external3.object({ + name: exports_external3.string().min(1), + status: ServiceSurfaceStatusSchema2, + bin: exports_external3.string().min(1).optional(), + mcpBin: exports_external3.string().min(1).optional(), + authMode: ServiceAuthModeSchema2, + deploymentModes: exports_external3.array(DeploymentModeSchema2).min(1), + health: ServiceEndpointSchema2.optional(), + readiness: ServiceEndpointSchema2.optional(), + version: ServiceEndpointSchema2.optional(), + apiBasePath: exports_external3.string().regex(/^\/v[0-9]+$/, "Stable API base path must be /vN").optional(), + openApiPath: exports_external3.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(), + deferReason: exports_external3.string().min(1).optional(), + readinessGates: exports_external3.array(DeploymentReadinessGateSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "supported") { + if (!value.bin) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Supported service surfaces require a serve bin", path: ["bin"] }); + } + if (!value.health) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Supported service surfaces require a health endpoint", path: ["health"] }); + } + if (!value.version) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Supported service surfaces require a version endpoint", path: ["version"] }); + } + } + if ((value.status === "deferred" || value.status === "unsupported") && !value.deferReason) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Deferred or unsupported service surfaces require a deferReason", + path: ["deferReason"] + }); + } + if (value.health && value.health.path !== "/health") { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Health endpoint must be /health", path: ["health", "path"] }); + } + if (value.readiness && value.readiness.path !== "/ready") { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Readiness endpoint must be /ready", path: ["readiness", "path"] }); + } + if (value.version && value.version.path !== "/version") { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Version endpoint must be /version", path: ["version", "path"] }); + } +}); +var STORAGE_MODES2 = ["local", "cloud"]; +var StorageModeSchema2 = exports_external3.enum(STORAGE_MODES2); +var AppNameSchema2 = exports_external3.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "App names must be lowercase dashed identifiers"); +var ALLOWED_BIN_SUFFIXES2 = [ + "", + "-cli", + "-mcp", + "-serve", + "-worker", + "-runner", + "-daemon", + "-migrate", + "-doctor" +]; +function allowedBinsForName2(name) { + return ALLOWED_BIN_SUFFIXES2.map((suffix) => `${name}${suffix}`); +} +function databaseUrlSecretRefFor2(name) { + return `hasna/oss/${name}/database-url`; +} +var StorageContractSchema2 = exports_external3.object({ + mode: StorageModeSchema2, + envPrefix: exports_external3.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(), + aliasEnvPrefix: exports_external3.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(), + databaseUrlSecretRef: exports_external3.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(), + sqlitePath: exports_external3.string().min(1).optional() +}).strict(); +var ServiceContractManifestSchema2 = exports_external3.object({ + $schema: exports_external3.string().min(1).optional(), + schema: exports_external3.literal(SCHEMA_IDS2.serviceContract), + name: AppNameSchema2, + class: RepoClassSchema2, + contractVersion: exports_external3.literal(SERVICE_CONTRACT_VERSION2), + kitVersion: exports_external3.string().min(1), + description: exports_external3.string().min(1).optional(), + bins: exports_external3.array(exports_external3.string().min(1)).default([]), + storage: StorageContractSchema2.optional(), + deploymentModes: exports_external3.array(DeploymentModeSchema2).default(["local"]), + serviceSurfaces: exports_external3.array(ServiceSurfaceSchema2).default([]), + metadata: MetadataSchema2.optional() +}).strict().superRefine((value, ctx) => { + const allowed = new Set(allowedBinsForName2(value.name)); + const seenBins = new Set; + for (const [index, bin] of value.bins.entries()) { + if (seenBins.has(bin)) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Duplicate bin declaration", path: ["bins", index] }); + } + seenBins.add(bin); + if (!allowed.has(bin)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `Bin "${bin}" is not allowlisted for app "${value.name}"; allowed: ${[...allowed].join(", ")}`, + path: ["bins", index] + }); + } + } + const hasBin = (suffix) => seenBins.has(`${value.name}${suffix}`); + if (value.storage) { + const upper = value.name.toUpperCase().replace(/-/g, "_"); + if (value.storage.envPrefix && value.storage.envPrefix !== `HASNA_${upper}_`) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `storage.envPrefix must be HASNA_${upper}_`, + path: ["storage", "envPrefix"] + }); + } + if (value.storage.databaseUrlSecretRef && value.storage.databaseUrlSecretRef !== databaseUrlSecretRefFor2(value.name)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `storage.databaseUrlSecretRef must be ${databaseUrlSecretRefFor2(value.name)}`, + path: ["storage", "databaseUrlSecretRef"] + }); + } + if (value.storage.mode === "cloud" && !value.storage.databaseUrlSecretRef) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)", + path: ["storage", "databaseUrlSecretRef"] + }); + } + } + if (value.class === "library") { + if (value.storage) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "library repos must not declare storage", path: ["storage"] }); + } + if (hasBin("-serve") || hasBin("-mcp")) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "library repos must not ship a -serve or -mcp bin", + path: ["bins"] + }); + } + } + if (value.class === "cli-with-store") { + if (!value.storage) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "cli-with-store repos must declare storage", path: ["storage"] }); + } else if (value.storage.mode === "local" && !value.storage.sqlitePath) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "local cli-with-store storage requires sqlitePath (~/.hasna//.db)", + path: ["storage", "sqlitePath"] + }); + } + if (!seenBins.has(value.name)) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: `cli-with-store repos must ship the "${value.name}" bin`, path: ["bins"] }); + } + } + if (value.class === "service") { + if (!value.storage) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "service repos must declare storage", path: ["storage"] }); + } + if (!hasBin("-serve")) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: `service repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); + } + if (value.serviceSurfaces.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "service repos must declare at least one service surface", + path: ["serviceSurfaces"] + }); + } + } + if (value.class === "saas") { + if (!value.storage) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "saas repos must declare storage", path: ["storage"] }); + } else if (value.storage.mode !== "cloud") { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "saas repos must use cloud storage mode", path: ["storage", "mode"] }); + } + if (!hasBin("-serve")) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: `saas repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); + } + if (value.serviceSurfaces.length === 0) { + ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "saas repos must declare at least one service surface", path: ["serviceSurfaces"] }); + } + } + for (const [index, surface] of value.serviceSurfaces.entries()) { + if (surface.bin && !seenBins.has(surface.bin)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `Service surface bin "${surface.bin}" must be declared in bins`, + path: ["serviceSurfaces", index, "bin"] + }); + } + if (surface.mcpBin && !seenBins.has(surface.mcpBin)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `Service surface MCP bin "${surface.mcpBin}" must be declared in bins`, + path: ["serviceSurfaces", index, "mcpBin"] + }); + } + for (const [modeIndex, deploymentMode] of surface.deploymentModes.entries()) { + if (!value.deploymentModes.includes(deploymentMode)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `Service surface deployment mode "${deploymentMode}" must be declared in deploymentModes`, + path: ["serviceSurfaces", index, "deploymentModes", modeIndex] + }); + } + } + } +}); +var HealthResponseSchema2 = exports_external3.object({ + status: exports_external3.enum(["ok", "degraded", "unavailable"]), + version: exports_external3.string().min(1), + mode: StorageModeSchema2 +}).strict(); +var ReadyResponseSchema2 = exports_external3.object({ + ready: exports_external3.boolean(), + reason: exports_external3.string().min(1).optional() +}).strict(); +var VersionResponseSchema2 = exports_external3.object({ + version: exports_external3.string().min(1) +}).strict(); +var CommsSeveritySchema2 = exports_external3.enum(["info", "notice", "breaking", "critical"]); +var CommsEventTypeSchema2 = exports_external3.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/, "Comms event types must be 2-4 lowercase dot-separated segments (..)"); +var COMMS_SEVERITY_TAGS2 = ["FREEZE", "UNFREEZE", "BREAKING", "CUTOVER", "POLICY", "RELEASE"]; +var CommsSeverityTagSchema2 = exports_external3.enum(COMMS_SEVERITY_TAGS2); +var CommsScopeSchema2 = exports_external3.enum(["fleet", "package", "machine"]); +var CommsEventEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsEventEnvelope).extend({ + type: CommsEventTypeSchema2, + severity: CommsSeveritySchema2, + scope: CommsScopeSchema2, + summary: exports_external3.string().min(1).optional(), + source: ActorPointerSchema2.optional(), + affected_packages: exports_external3.array(NonEmptyStringSchema2).default([]), + affected_machines: exports_external3.array(NonEmptyStringSchema2).default([]), + action_required: exports_external3.boolean().default(false), + ack_by: TimestampSchema2.optional(), + dedupe_key: NonEmptyStringSchema2, + resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.scope === "package" && value.affected_packages.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Package-scoped comms events require affected_packages", + path: ["affected_packages"] + }); + } + if (value.scope === "machine" && value.affected_machines.length === 0) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Machine-scoped comms events require affected_machines", + path: ["affected_machines"] + }); + } + if (value.ack_by && !value.action_required) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Comms events with an ack_by deadline require action_required", + path: ["action_required"] + }); + } + if (value.type === "fleet.freeze" || value.type === "fleet.unfreeze") { + if (value.severity !== "critical") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `${value.type} events are always critical`, + path: ["severity"] + }); + } + if (value.scope !== "fleet") { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `${value.type} events are always fleet-scoped`, + path: ["scope"] + }); + } + if (!value.action_required) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `${value.type} events require action_required`, + path: ["action_required"] + }); + } + } +}); +var CommsChannelClassSchema2 = exports_external3.enum(["fleet", "package", "product", "loop-lane", "initiative", "personal"]); +var CommsChannelNoiseSchema2 = exports_external3.enum(["quiet", "work", "firehose"]); +var CommsUntilHorizonSchema2 = NonEmptyStringSchema2.refine((value) => /^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(value), "until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:)"); +var CommsChannelMetadataSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsChannelMetadata).extend({ + class: CommsChannelClassSchema2, + noise: CommsChannelNoiseSchema2.optional(), + owner: NonEmptyStringSchema2.optional(), + until: CommsUntilHorizonSchema2.optional(), + successor: NonEmptyStringSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (value.class === "initiative") { + if (!value.owner) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Initiative channels require an owner", + path: ["owner"] + }); + } + if (!value.until) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: "Initiative channels require an until horizon (date or gate id)", + path: ["until"] + }); + } + } +}); +var COMMS_SEVERITY_TAG_INFO2 = { + FREEZE: { defaultSeverity: "critical", allowedSeverities: ["critical"], requiredEventType: "fleet.freeze" }, + UNFREEZE: { defaultSeverity: "critical", allowedSeverities: ["critical"], requiredEventType: "fleet.unfreeze" }, + BREAKING: { defaultSeverity: "breaking", allowedSeverities: ["breaking"], requiredEventType: null }, + CUTOVER: { defaultSeverity: "notice", allowedSeverities: ["notice", "breaking"], requiredEventType: null }, + POLICY: { defaultSeverity: "breaking", allowedSeverities: ["notice", "breaking"], requiredEventType: null }, + RELEASE: { defaultSeverity: "info", allowedSeverities: ["info", "notice"], requiredEventType: null } +}; +var CommsMessageMetadataSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsMessageMetadata).extend({ + tag: CommsSeverityTagSchema2, + envelope: CommsEventEnvelopeSchema2 +}).strict().superRefine((value, ctx) => { + const info = COMMS_SEVERITY_TAG_INFO2[value.tag]; + if (!info.allowedSeverities.includes(value.envelope.severity)) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `[${value.tag}] posts allow severities ${info.allowedSeverities.join(", ")}`, + path: ["envelope", "severity"] + }); + } + if (info.requiredEventType && value.envelope.type !== info.requiredEventType) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `[${value.tag}] posts require event type ${info.requiredEventType}`, + path: ["envelope", "type"] + }); + } + for (const [tag, tagInfo] of Object.entries(COMMS_SEVERITY_TAG_INFO2)) { + if (tagInfo.requiredEventType === value.envelope.type && value.tag !== tag) { + ctx.addIssue({ + code: exports_external3.ZodIssueCode.custom, + message: `${value.envelope.type} events must use the [${tag}] tag`, + path: ["tag"] + }); + } + } +}); +var ContractSchemaRegistry2 = { + [SCHEMA_IDS2.actorRef]: ActorRefSchema2, + [SCHEMA_IDS2.resourceRef]: ResourceRefSchema2, + [SCHEMA_IDS2.evidenceRef]: EvidenceRefSchema2, + [SCHEMA_IDS2.workRun]: WorkRunSchema2, + [SCHEMA_IDS2.decisionEnvelope]: DecisionEnvelopeSchema2, + [SCHEMA_IDS2.costEstimate]: CostEstimateSchema2, + [SCHEMA_IDS2.capabilityCard]: CapabilityCardSchema2, + [SCHEMA_IDS2.providerLiveModeStandard]: ProviderLiveModeStandardSchema2, + [SCHEMA_IDS2.contextPack]: ContextPackSchema2, + [SCHEMA_IDS2.integrationRef]: IntegrationRefSchema2, + [SCHEMA_IDS2.projectManifest]: ProjectManifestSchema2, + [SCHEMA_IDS2.projectPanel]: ProjectPanelSchema2, + [SCHEMA_IDS2.projectSnapshot]: ProjectSnapshotSchema2, + [SCHEMA_IDS2.renderManifest]: RenderManifestSchema2, + [SCHEMA_IDS2.agentTrajectory]: AgentTrajectorySchema2, + [SCHEMA_IDS2.validationPlan]: ValidationPlanSchema2, + [SCHEMA_IDS2.proofBundle]: ProofBundleSchema2, + [SCHEMA_IDS2.scaffoldManifest]: ScaffoldManifestSchema2, + [SCHEMA_IDS2.scaffoldInstallRecord]: ScaffoldInstallRecordSchema2, + [SCHEMA_IDS2.appCloudManifest]: AppCloudManifestSchema2, + [SCHEMA_IDS2.noCloudEvidencePack]: NoCloudEvidencePackSchema2, + [SCHEMA_IDS2.serviceContract]: ServiceContractManifestSchema2, + [SCHEMA_IDS2.commsEventEnvelope]: CommsEventEnvelopeSchema2, + [SCHEMA_IDS2.commsChannelMetadata]: CommsChannelMetadataSchema2, + [SCHEMA_IDS2.commsMessageMetadata]: CommsMessageMetadataSchema2, + [SCHEMA_IDS2.app]: AppSchema2, + [SCHEMA_IDS2.release]: ReleaseSchema2, + [SCHEMA_IDS2.rolloutRecord]: RolloutRecordSchema2, + [SCHEMA_IDS2.announcement]: AnnouncementSchema2, + [SCHEMA_IDS2.audience]: AudienceSchema2 +}; +function envToken2(name) { + return name.toUpperCase().replace(/-/g, "_"); +} +function clientTransportEnvKeys2(name) { + const envSegment = envToken2(name); + return { + modeKeys: [ + `HASNA_${envSegment}_STORAGE_MODE`, + `HASNA_${envSegment}_MODE`, + `${envSegment}_STORAGE_MODE`, + `${envSegment}_MODE` + ], + apiUrlKeys: [`HASNA_${envSegment}_API_URL`, `${envSegment}_API_URL`], + apiKeyKeys: [`HASNA_${envSegment}_API_KEY`, `${envSegment}_API_KEY`] + }; +} +var IDEMPOTENT_METHODS2 = new Set(["GET", "HEAD", "PUT", "DELETE", "OPTIONS"]); + +// src/generated/storage-kit/mode.ts +var DEPRECATED_STORAGE_MODE_ALIASES2 = [ + "remote", + "hybrid", + "self_hosted" ]; -var API_URL_ENV_KEYS = ["HASNA_KNOWLEDGE_API_URL", "KNOWLEDGE_API_URL"]; -var API_KEY_ENV_KEYS = ["HASNA_KNOWLEDGE_API_KEY", "KNOWLEDGE_API_KEY"]; -function hasAnyEnv(env, keys) { - return keys.some((k) => (env[k] ?? "").trim().length > 0); +function normalizeStorageMode2(value) { + const normalized = value.trim().toLowerCase().replace(/-/g, "_"); + if (normalized === "local") + return { mode: "local", deprecatedAlias: null }; + if (normalized === "cloud") + return { mode: "cloud", deprecatedAlias: null }; + if (DEPRECATED_STORAGE_MODE_ALIASES2.includes(normalized)) { + return { mode: "cloud", deprecatedAlias: normalized }; + } + throw new Error(`Unknown storage mode: ${value}. Use local or cloud.`); +} +// src/generated/storage-kit/pool.ts +import pg from "pg"; +// src/net-guard.ts +var NETWORK_GUARD_ENV = "NODE_ENV"; + +class KnowledgeNetworkGuardError extends Error { + scheme; + port; + constructor(message, details) { + super(message); + this.name = "KnowledgeNetworkGuardError"; + this.scheme = details.scheme; + this.port = details.port; + } +} +function isNetworkGuardActive(env = process.env) { + return (env[NETWORK_GUARD_ENV] ?? "").trim().toLowerCase() === "test"; +} +function isIpv4Loopback(hostname3) { + const parts = hostname3.split("."); + if (parts.length !== 4) + return false; + if (!parts.every((part) => /^\d{1,3}$/.test(part) && Number(part) <= 255)) + return false; + return parts[0] === "127"; +} +function isLoopbackHostname(hostname3) { + const host = hostname3.trim().toLowerCase(); + if (host.length === 0) + return false; + if (host === "localhost" || host.endsWith(".localhost")) + return true; + if (isIpv4Loopback(host)) + return true; + if (!host.startsWith("[") || !host.endsWith("]")) + return false; + const v6 = host.slice(1, -1); + if (v6 === "::1" || /^(0:){7}1$/.test(v6)) + return true; + const tail = v6.split(":").pop() ?? ""; + if (/^(::ffff:|::)/.test(v6) && isIpv4Loopback(tail)) + return true; + return /^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(v6); } -function withInferredCloudMode(env) { - if (hasAnyEnv(env, MODE_ENV_KEYS)) - return env; - if (hasAnyEnv(env, API_URL_ENV_KEYS) && hasAnyEnv(env, API_KEY_ENV_KEYS)) { - return { ...env, HASNA_KNOWLEDGE_STORAGE_MODE: "cloud" }; +function targetUrl(input) { + if (typeof input === "string") + return input; + if (input instanceof URL) + return input.href; + return input.url; +} +function assertOutboundRequestAllowed(input, env = process.env) { + if (!isNetworkGuardActive(env)) + return; + const raw = targetUrl(input); + let url2; + try { + url2 = new URL(raw); + } catch { + throw new KnowledgeNetworkGuardError(`knowledge: refused an outbound request with an unparseable target while ${NETWORK_GUARD_ENV}=test. ` + "Under test, only loopback requests are permitted.", { scheme: "unknown", port: "" }); + } + if (isLoopbackHostname(url2.hostname)) + return; + throw new KnowledgeNetworkGuardError(`knowledge: refused a non-loopback ${url2.protocol.replace(":", "")} request while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). This process resolved to the cloud backend under test, which means a " + "read or write was about to leave the machine and reach the live store. Select the mode explicitly " + `(${"HASNA_KNOWLEDGE_STORAGE_MODE"}=local) or point the API URL at 127.0.0.1 for a hermetic test.`, { scheme: url2.protocol.replace(":", ""), port: url2.port }); +} +function guardedFetch(input, init) { + assertOutboundRequestAllowed(input); + return fetch(input, init); +} + +// src/knowledge-mode.ts +var KNOWLEDGE_APP_SLUG = "knowledge"; +var ENV_KEYS = clientTransportEnvKeys2(KNOWLEDGE_APP_SLUG); +var KNOWLEDGE_MODE_ENV_KEYS = ENV_KEYS.modeKeys; +var KNOWLEDGE_API_URL_ENV_KEYS = ENV_KEYS.apiUrlKeys; +var KNOWLEDGE_API_KEY_ENV_KEYS = ENV_KEYS.apiKeyKeys; +function presentEnvNames(env, keys) { + return keys.filter((key) => (env[key] ?? "").trim().length > 0); +} +function resolveKnowledgeModeSelection(env = process.env) { + const pointers = [ + ...presentEnvNames(env, KNOWLEDGE_API_URL_ENV_KEYS), + ...presentEnvNames(env, KNOWLEDGE_API_KEY_ENV_KEYS) + ]; + const canonicalModeKey = KNOWLEDGE_MODE_ENV_KEYS[0]; + for (const name of KNOWLEDGE_MODE_ENV_KEYS) { + const value = env[name]?.trim(); + if (!value) + continue; + let normalized; + try { + normalized = normalizeStorageMode2(value); + } catch (error51) { + const message = error51 instanceof Error ? error51.message : String(error51); + throw new Error(`knowledge: ${name}=${value} is not a valid mode. ${message}`); + } + const warnings = []; + if (normalized.deprecatedAlias) { + warnings.push(`Deprecated mode '${normalized.deprecatedAlias}' from ${name} is treated as 'cloud'. Prefer ${canonicalModeKey}=cloud.`); + } + if (name !== canonicalModeKey) { + warnings.push(`Using alias env ${name}; the canonical key is ${canonicalModeKey}.`); + } + if (normalized.mode === "local" && pointers.length > 0) { + warnings.push(`${name}=local pins the on-box store; ${pointers.join(", ")} are set but ignored.`); + } + return { + mode: normalized.mode, + source: { kind: "env", name, value }, + pointer_env_present: pointers, + pointer_ignored: normalized.mode === "local" && pointers.length > 0, + warning: warnings.length > 0 ? warnings.join(" ") : null + }; } - return env; + return { + mode: "local", + source: { kind: "default", name: null, value: null }, + pointer_env_present: pointers, + pointer_ignored: pointers.length > 0, + warning: pointers.length > 0 ? `${pointers.join(", ")} are set but do NOT select a backend: mode is local by default. ` + `Set ${canonicalModeKey}=cloud to route reads and writes to the API, or unset those vars to silence this note.` : null + }; +} +function pinnedTransportEnv(env, mode2) { + return { ...env, [KNOWLEDGE_MODE_ENV_KEYS[0]]: mode2 }; +} + +// src/cloud-store.ts +function transportOverrides(env) { + return { + fetchImpl: guardedFetch, + ...isNetworkGuardActive(env) ? { retry: false } : {} + }; } var KNOWLEDGE_RESOURCE = "notes"; function toQuery(options) { @@ -21738,8 +27887,8 @@ function wrap(client) { baseUrl: client.baseUrl, async list(options = {}) { const wantLimit = options.limit ?? 200; - const query = toQuery({ ...options, limit: Math.min(Math.max(wantLimit, 1), 200) }); - const res = await client.list(KNOWLEDGE_RESOURCE, { query }); + const query2 = toQuery({ ...options, limit: Math.min(Math.max(wantLimit, 1), 200) }); + const res = await client.list(KNOWLEDGE_RESOURCE, { query: query2 }); let items = res.items; if (options.archivedOnly) items = items.filter((x) => x.archived === true); @@ -21784,13 +27933,17 @@ function isNotFound(error51) { return Boolean(error51 && typeof error51 === "object" && error51.status === 404); } function resolveKnowledgeCloudStore(env = process.env) { - const resolved = resolveStorageClient(KNOWLEDGE_APP_SLUG, withInferredCloudMode(env)); + if (resolveKnowledgeModeSelection(env).mode !== "cloud") + return null; + const resolved = resolveStorageClient(KNOWLEDGE_APP_SLUG, pinnedTransportEnv(env, "cloud"), transportOverrides(env)); if (resolved.transport !== "cloud-http") return null; return wrap(resolved.client); } function isKnowledgeApiMode(env = process.env) { - return resolveStorageClient(KNOWLEDGE_APP_SLUG, withInferredCloudMode(env)).transport === "cloud-http"; + if (resolveKnowledgeModeSelection(env).mode !== "cloud") + return false; + return resolveStorageClient(KNOWLEDGE_APP_SLUG, pinnedTransportEnv(env, "cloud"), transportOverrides(env)).transport === "cloud-http"; } async function fetchAllCloudItems(store) { const pageSize = 200; @@ -24397,9 +30550,9 @@ function metadataNumber(metadata, keys) { return null; } function assertPurposeAllowed(permissions, purpose) { - const mode = permissions.mode; - if (typeof mode === "string" && mode !== "read_only") { - throw new Error(`Source resolver denied ${purpose}. Permission mode is ${mode}, expected read_only.`); + const mode2 = permissions.mode; + if (typeof mode2 === "string" && mode2 !== "read_only") { + throw new Error(`Source resolver denied ${purpose}. Permission mode is ${mode2}, expected read_only.`); } const denied = permissions.denied_purposes; if (Array.isArray(denied) && denied.includes(purpose)) { @@ -25922,19 +32075,19 @@ function metadataNumber3(metadata, keys) { function unique(values) { return Array.from(new Set(values)); } -function queryTerms(query) { - const terms = query.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu) ?? []; +function queryTerms(query2) { + const terms = query2.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu) ?? []; return unique(terms.filter((term) => term.length > 0)).slice(0, 16); } function normalizeWords(raw) { return raw.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu) ?? []; } -function parseSearchQuery(query) { +function parseSearchQuery(query2) { const tokens = []; const segment = /"([^"]*)"|(\S+)/g; let match; let pendingNegate = false; - while ((match = segment.exec(query)) !== null) { + while ((match = segment.exec(query2)) !== null) { if (match[1] !== undefined) { const words2 = normalizeWords(match[1]); if (words2.length > 0) { @@ -25982,8 +32135,8 @@ function tokenToFragment(token) { return `"${token.value}"`; return `"${token.value}"*`; } -function buildFtsMatch(query) { - const tokens = parseSearchQuery(query); +function buildFtsMatch(query2) { + const tokens = parseSearchQuery(query2); const positives = tokens.filter((t) => t.type !== "or" && !t.negate); if (positives.length === 0) return { and: null, or: null }; @@ -26312,14 +32465,14 @@ function sortResults(results) { }); } async function hybridSearch(options) { - const query = options.query.trim(); - if (!query) + const query2 = options.query.trim(); + if (!query2) throw new Error("Search query is required."); const limit = Math.max(1, Math.min(options.limit ?? 10, 100)); const offset = Math.max(0, Math.floor(options.offset ?? 0)); const window = offset + limit; - const terms = queryTerms(query); - const ftsMatch = buildFtsMatch(query); + const terms = queryTerms(query2); + const ftsMatch = buildFtsMatch(query2); const semanticEnabled = options.semantic === true || options.fake === true || Boolean(options.modelRef); const warnings = []; let semanticProvider = null; @@ -26354,7 +32507,7 @@ async function hybridSearch(options) { try { const semantic = await searchVectorIndex({ dbPath: options.dbPath, - query, + query: query2, limit: Math.max(window * 3, 20), config: options.config, env: options.env, @@ -26402,7 +32555,7 @@ async function hybridSearch(options) { const ranked = sortResults(Array.from(merged.values())); const results = ranked.slice(offset, offset + limit); return { - query, + query: query2, limit, offset, mode: { @@ -26427,12 +32580,12 @@ async function hybridSearchLegacyStore(options) { return hybridSearchItems(readLegacyItems(options.legacyStorePath), options, ["knowledge_db_missing"]); } async function hybridSearchItems(items, options, baseWarnings = []) { - const query = options.query.trim(); - if (!query) + const query2 = options.query.trim(); + if (!query2) throw new Error("Search query is required."); const limit = Math.max(1, Math.min(options.limit ?? 10, 100)); const offset = Math.max(0, Math.floor(options.offset ?? 0)); - const terms = queryTerms(query); + const terms = queryTerms(query2); const semanticEnabled = options.semantic === true || options.fake === true || Boolean(options.modelRef); const merged = new Map; const itemRows = selectItems(items, terms, Math.max(offset + limit, 10)); @@ -26442,7 +32595,7 @@ async function hybridSearchItems(items, options, baseWarnings = []) { warnings.push("semantic_search_requires_local_catalog"); const results = sortResults(Array.from(merged.values())).slice(offset, offset + limit); return { - query, + query: query2, limit, offset, mode: { @@ -26468,11 +32621,11 @@ async function hybridSearchItems(items, options, baseWarnings = []) { function stableId4(prefix, value) { return `${prefix}_${createHash8("sha256").update(value).digest("hex").slice(0, 20)}`; } -function normalizeQuery(query) { - return query.normalize("NFKC").trim().replace(/\s+/g, " ").toLowerCase(); +function normalizeQuery(query2) { + return query2.normalize("NFKC").trim().replace(/\s+/g, " ").toLowerCase(); } -function queryTerms2(query) { - return Array.from(new Set(normalizeQuery(query).match(/[\p{L}\p{N}_]+/gu) ?? [])).slice(0, 16); +function queryTerms2(query2) { + return Array.from(new Set(normalizeQuery(query2).match(/[\p{L}\p{N}_]+/gu) ?? [])).slice(0, 16); } function textForResult(result) { return [result.title, result.text].filter(Boolean).join(" ").toLowerCase(); @@ -27240,8 +33393,8 @@ function citationFromRetrieval(index, citation, policy) { }; } async function buildSearchDraft(options, maxItems) { - const query = (options.query ?? options.topic ?? "").trim(); - if (!query) + const query2 = (options.query ?? options.topic ?? "").trim(); + if (!query2) throw new Error("Context pack query is required for search source."); const { config: config2, @@ -27260,7 +33413,7 @@ async function buildSearchDraft(options, maxItems) { dbPath, config: config2, legacyStorePath, - query, + query: query2, limit: Math.max(maxItems, limit ?? maxItems), semantic, modelRef, @@ -27568,8 +33721,8 @@ async function buildKnowledgeAgentContextPack(options) { const purpose = options.purpose ?? (source === "loops" || source === "runs" ? "proposal" : "agent_context"); const maxTokens = coerceMaxTokens(options.maxTokens); const maxItems = coerceMaxItems(options.maxItems, options.limit); - const query = normalizeText(options.query ?? options.topic ?? ""); - if (purpose === "proposal" && source !== "search" && !query) { + const query2 = normalizeText(options.query ?? options.topic ?? ""); + if (purpose === "proposal" && source !== "search" && !query2) { throw new Error("Proposal context requires --topic or a positional topic."); } if (source !== "search") @@ -27582,7 +33735,7 @@ async function buildKnowledgeAgentContextPack(options) { const outline = outlineFor({ source, purpose, - query, + query: query2, evidence: sortedEvidence, duplicates: duplicateCandidates }); @@ -27593,14 +33746,14 @@ async function buildKnowledgeAgentContextPack(options) { created_at: now.toISOString(), source, purpose, - query, + query: query2, topic: options.topic ?? null, since: options.since ?? null, dry_run: true, idempotency_key: stableId5("ctx", [ source, purpose, - query, + query2, sinceForKey, options.dedupe === true ? "dedupe" : "no-dedupe", options.semantic === true ? "semantic" : "keyword", @@ -30340,36 +36493,36 @@ function adapterStatus(input) { error: input.error ?? null }; } -function disabledAdapterStatus(mode, error51 = "adapter_disabled") { +function disabledAdapterStatus(mode2, error51 = "adapter_disabled") { return adapterStatus({ - mode, + mode: mode2, implementation: "disabled", available: false, error: error51 }); } -function unsupportedContractAdapterStatus(mode, mod) { +function unsupportedContractAdapterStatus(mode2, mod) { const version2 = unsupportedContractVersion(contractVersion(mod)); if (!version2) return null; return adapterStatus({ - mode, + mode: mode2, implementation: "disabled", available: false, error: `unsupported_contract_version:${version2}`, contractVersion: version2 }); } -function cliAdapterStatus(mode) { +function cliAdapterStatus(mode2) { return adapterStatus({ - mode, + mode: mode2, implementation: "cli", available: true }); } -function sdkAdapterStatus(mode, mod) { +function sdkAdapterStatus(mode2, mod) { return adapterStatus({ - mode, + mode: mode2, implementation: "sdk", available: true, contractVersion: contractVersion(mod) @@ -30857,18 +37010,18 @@ async function discoverLocalTopology(options, adapter) { }, options); } async function discoverKnowledgeMachineTopology(options = {}) { - const mode = adapterMode(options); - if (mode === "disabled") - return await discoverLocalTopology(options, disabledAdapterStatus(mode)); - const cliStatus = cliAdapterStatus(mode); + const mode2 = adapterMode(options); + if (mode2 === "disabled") + return await discoverLocalTopology(options, disabledAdapterStatus(mode2)); + const cliStatus = cliAdapterStatus(mode2); try { - if (mode !== "cli") { + if (mode2 !== "cli") { const loader = options.loadOpenMachines ?? loadOpenMachinesModule; const mod = await loader(); - const unsupportedStatus = unsupportedContractAdapterStatus(mode, mod); + const unsupportedStatus = unsupportedContractAdapterStatus(mode2, mod); if (unsupportedStatus) return await discoverLocalTopology(options, unsupportedStatus); - const sdkStatus = sdkAdapterStatus(mode, mod); + const sdkStatus = sdkAdapterStatus(mode2, mod); if (mod?.discoverMachineTopology) { const topology = mod.discoverMachineTopology({ includeTailscale: options.includeTailscale, @@ -30878,19 +37031,19 @@ async function discoverKnowledgeMachineTopology(options = {}) { const normalized = normalizeOpenMachinesTopology(topology, options, sdkStatus); if (normalized) return normalized; - if (mode === "sdk") - return await discoverLocalTopology(options, disabledAdapterStatus(mode, "invalid_topology_shape")); - return await discoverOpenMachinesCliTopology(options, cliStatus) ?? await discoverLocalTopology(options, disabledAdapterStatus(mode, "invalid_topology_shape")); + if (mode2 === "sdk") + return await discoverLocalTopology(options, disabledAdapterStatus(mode2, "invalid_topology_shape")); + return await discoverOpenMachinesCliTopology(options, cliStatus) ?? await discoverLocalTopology(options, disabledAdapterStatus(mode2, "invalid_topology_shape")); } - if (mode === "sdk") - return await discoverLocalTopology(options, disabledAdapterStatus(mode, "missing_discoverMachineTopology")); - return await discoverOpenMachinesCliTopology(options, cliStatus) ?? await discoverLocalTopology(options, disabledAdapterStatus(mode, "missing_discoverMachineTopology")); + if (mode2 === "sdk") + return await discoverLocalTopology(options, disabledAdapterStatus(mode2, "missing_discoverMachineTopology")); + return await discoverOpenMachinesCliTopology(options, cliStatus) ?? await discoverLocalTopology(options, disabledAdapterStatus(mode2, "missing_discoverMachineTopology")); } - return await discoverOpenMachinesCliTopology(options, cliStatus) ?? await discoverLocalTopology(options, disabledAdapterStatus(mode, "machines_cli_unavailable")); + return await discoverOpenMachinesCliTopology(options, cliStatus) ?? await discoverLocalTopology(options, disabledAdapterStatus(mode2, "machines_cli_unavailable")); } catch (error51) { - if (mode === "sdk") - return await discoverLocalTopology(options, disabledAdapterStatus(mode, optionalModuleError(error51))); - return await discoverOpenMachinesCliTopology(options, cliStatus) ?? await discoverLocalTopology(options, disabledAdapterStatus(mode, optionalModuleError(error51))); + if (mode2 === "sdk") + return await discoverLocalTopology(options, disabledAdapterStatus(mode2, optionalModuleError(error51))); + return await discoverOpenMachinesCliTopology(options, cliStatus) ?? await discoverLocalTopology(options, disabledAdapterStatus(mode2, optionalModuleError(error51))); } } async function resolveOpenMachinesCliRoute(options, adapter) { @@ -30919,18 +37072,18 @@ function rawMachineRoute(machineId, adapter) { }; } async function resolveKnowledgeMachineRoute(options) { - const mode = adapterMode(options); - if (mode === "disabled") - return rawMachineRoute(options.machineId, disabledAdapterStatus(mode)); - const cliStatus = cliAdapterStatus(mode); + const mode2 = adapterMode(options); + if (mode2 === "disabled") + return rawMachineRoute(options.machineId, disabledAdapterStatus(mode2)); + const cliStatus = cliAdapterStatus(mode2); try { - if (mode !== "cli") { + if (mode2 !== "cli") { const loader = options.loadOpenMachines ?? loadOpenMachinesModule; const mod = await loader(); - const unsupportedStatus = unsupportedContractAdapterStatus(mode, mod); + const unsupportedStatus = unsupportedContractAdapterStatus(mode2, mod); if (unsupportedStatus) return rawMachineRoute(options.machineId, unsupportedStatus); - const sdkStatus = sdkAdapterStatus(mode, mod); + const sdkStatus = sdkAdapterStatus(mode2, mod); if (mod?.resolveMachineRoute) { const normalized = normalizeOpenMachinesRoute(mod.resolveMachineRoute(options.machineId, { includeTailscale: options.includeTailscale, @@ -30939,24 +37092,24 @@ async function resolveKnowledgeMachineRoute(options) { }), sdkStatus); if (normalized) return normalized; - if (mode === "sdk") - return rawMachineRoute(options.machineId, disabledAdapterStatus(mode, "invalid_route_shape")); - return await resolveOpenMachinesCliRoute(options, cliStatus) ?? rawMachineRoute(options.machineId, disabledAdapterStatus(mode, "invalid_route_shape")); + if (mode2 === "sdk") + return rawMachineRoute(options.machineId, disabledAdapterStatus(mode2, "invalid_route_shape")); + return await resolveOpenMachinesCliRoute(options, cliStatus) ?? rawMachineRoute(options.machineId, disabledAdapterStatus(mode2, "invalid_route_shape")); } - if (mode === "sdk") - return rawMachineRoute(options.machineId, disabledAdapterStatus(mode, "missing_resolveMachineRoute")); - return await resolveOpenMachinesCliRoute(options, cliStatus) ?? rawMachineRoute(options.machineId, disabledAdapterStatus(mode, "missing_resolveMachineRoute")); + if (mode2 === "sdk") + return rawMachineRoute(options.machineId, disabledAdapterStatus(mode2, "missing_resolveMachineRoute")); + return await resolveOpenMachinesCliRoute(options, cliStatus) ?? rawMachineRoute(options.machineId, disabledAdapterStatus(mode2, "missing_resolveMachineRoute")); } - return await resolveOpenMachinesCliRoute(options, cliStatus) ?? rawMachineRoute(options.machineId, disabledAdapterStatus(mode, "machines_cli_unavailable")); + return await resolveOpenMachinesCliRoute(options, cliStatus) ?? rawMachineRoute(options.machineId, disabledAdapterStatus(mode2, "machines_cli_unavailable")); } catch (error51) { - if (mode === "sdk") { + if (mode2 === "sdk") { return { - ...rawMachineRoute(options.machineId, disabledAdapterStatus(mode, optionalModuleError(error51))), + ...rawMachineRoute(options.machineId, disabledAdapterStatus(mode2, optionalModuleError(error51))), warnings: [optionalModuleError(error51)] }; } return await resolveOpenMachinesCliRoute(options, cliStatus) ?? { - ...rawMachineRoute(options.machineId, disabledAdapterStatus(mode, optionalModuleError(error51))), + ...rawMachineRoute(options.machineId, disabledAdapterStatus(mode2, optionalModuleError(error51))), warnings: [optionalModuleError(error51)] }; } @@ -31047,18 +37200,18 @@ async function resolveKnowledgeMachineWorkspace(options) { const argument = argumentMachineWorkspace(options); if (argument) return argument; - const mode = adapterMode(options); - if (mode === "disabled") - return unresolvedMachineWorkspace(options, ["adapter_disabled"], disabledAdapterStatus(mode)); - const cliStatus = cliAdapterStatus(mode); + const mode2 = adapterMode(options); + if (mode2 === "disabled") + return unresolvedMachineWorkspace(options, ["adapter_disabled"], disabledAdapterStatus(mode2)); + const cliStatus = cliAdapterStatus(mode2); try { - if (mode !== "cli") { + if (mode2 !== "cli") { const loader = options.loadOpenMachines ?? loadOpenMachinesModule; const mod = await loader(); - const unsupportedStatus = unsupportedContractAdapterStatus(mode, mod); + const unsupportedStatus = unsupportedContractAdapterStatus(mode2, mod); if (unsupportedStatus) return unresolvedMachineWorkspace(options, [`unsupported_contract_version:${unsupportedStatus.contract_version}`], unsupportedStatus); - const sdkStatus = sdkAdapterStatus(mode, mod); + const sdkStatus = sdkAdapterStatus(mode2, mod); if (mod?.resolveMachineWorkspace) { const normalized = normalizeOpenMachinesWorkspace(mod.resolveMachineWorkspace({ machineId: options.machineId, @@ -31071,19 +37224,19 @@ async function resolveKnowledgeMachineWorkspace(options) { }), options, sdkStatus); if (normalized) return normalized; - if (mode === "sdk") - return unresolvedMachineWorkspace(options, ["invalid_workspace_shape"], disabledAdapterStatus(mode, "invalid_workspace_shape")); - return await resolveOpenMachinesCliWorkspace(options, cliStatus) ?? unresolvedMachineWorkspace(options, ["invalid_workspace_shape"], disabledAdapterStatus(mode, "invalid_workspace_shape")); + if (mode2 === "sdk") + return unresolvedMachineWorkspace(options, ["invalid_workspace_shape"], disabledAdapterStatus(mode2, "invalid_workspace_shape")); + return await resolveOpenMachinesCliWorkspace(options, cliStatus) ?? unresolvedMachineWorkspace(options, ["invalid_workspace_shape"], disabledAdapterStatus(mode2, "invalid_workspace_shape")); } - if (mode === "sdk") - return unresolvedMachineWorkspace(options, ["missing_resolveMachineWorkspace"], disabledAdapterStatus(mode, "missing_resolveMachineWorkspace")); - return await resolveOpenMachinesCliWorkspace(options, cliStatus) ?? unresolvedMachineWorkspace(options, ["missing_resolveMachineWorkspace"], disabledAdapterStatus(mode, "missing_resolveMachineWorkspace")); + if (mode2 === "sdk") + return unresolvedMachineWorkspace(options, ["missing_resolveMachineWorkspace"], disabledAdapterStatus(mode2, "missing_resolveMachineWorkspace")); + return await resolveOpenMachinesCliWorkspace(options, cliStatus) ?? unresolvedMachineWorkspace(options, ["missing_resolveMachineWorkspace"], disabledAdapterStatus(mode2, "missing_resolveMachineWorkspace")); } - return await resolveOpenMachinesCliWorkspace(options, cliStatus) ?? unresolvedMachineWorkspace(options, ["machines_cli_unavailable"], disabledAdapterStatus(mode, "machines_cli_unavailable")); + return await resolveOpenMachinesCliWorkspace(options, cliStatus) ?? unresolvedMachineWorkspace(options, ["machines_cli_unavailable"], disabledAdapterStatus(mode2, "machines_cli_unavailable")); } catch (error51) { - if (mode === "sdk") - return unresolvedMachineWorkspace(options, [optionalModuleError(error51)], disabledAdapterStatus(mode, optionalModuleError(error51))); - return await resolveOpenMachinesCliWorkspace(options, cliStatus) ?? unresolvedMachineWorkspace(options, [optionalModuleError(error51)], disabledAdapterStatus(mode, optionalModuleError(error51))); + if (mode2 === "sdk") + return unresolvedMachineWorkspace(options, [optionalModuleError(error51)], disabledAdapterStatus(mode2, optionalModuleError(error51))); + return await resolveOpenMachinesCliWorkspace(options, cliStatus) ?? unresolvedMachineWorkspace(options, [optionalModuleError(error51)], disabledAdapterStatus(mode2, optionalModuleError(error51))); } } function withPreflightKnowledgeContext(report, options) { @@ -31219,18 +37372,18 @@ async function fallbackPreflight(options, adapter) { }, options); } async function preflightKnowledgeMachine(options = {}) { - const mode = adapterMode(options); - if (mode === "disabled") - return await fallbackPreflight(options, disabledAdapterStatus(mode)); - const cliStatus = cliAdapterStatus(mode); + const mode2 = adapterMode(options); + if (mode2 === "disabled") + return await fallbackPreflight(options, disabledAdapterStatus(mode2)); + const cliStatus = cliAdapterStatus(mode2); try { - if (mode !== "cli") { + if (mode2 !== "cli") { const loader = options.loadOpenMachines ?? loadOpenMachinesModule; const mod = await loader(); - const unsupportedStatus = unsupportedContractAdapterStatus(mode, mod); + const unsupportedStatus = unsupportedContractAdapterStatus(mode2, mod); if (unsupportedStatus) return await fallbackPreflight(options, unsupportedStatus); - const sdkStatus = sdkAdapterStatus(mode, mod); + const sdkStatus = sdkAdapterStatus(mode2, mod); if (mod?.checkMachineCompatibility) { const report = mod.checkMachineCompatibility({ machineId: options.machineId, @@ -31243,19 +37396,19 @@ async function preflightKnowledgeMachine(options = {}) { const normalized = normalizeOpenMachinesPreflight(report, options, sdkStatus); if (normalized) return normalized; - if (mode === "sdk") - return await fallbackPreflight(options, disabledAdapterStatus(mode, "invalid_compatibility_shape")); - return await preflightOpenMachinesCli(options, cliStatus) ?? await fallbackPreflight(options, disabledAdapterStatus(mode, "invalid_compatibility_shape")); + if (mode2 === "sdk") + return await fallbackPreflight(options, disabledAdapterStatus(mode2, "invalid_compatibility_shape")); + return await preflightOpenMachinesCli(options, cliStatus) ?? await fallbackPreflight(options, disabledAdapterStatus(mode2, "invalid_compatibility_shape")); } - if (mode === "sdk") - return await fallbackPreflight(options, disabledAdapterStatus(mode, "missing_checkMachineCompatibility")); - return await preflightOpenMachinesCli(options, cliStatus) ?? await fallbackPreflight(options, disabledAdapterStatus(mode, "missing_checkMachineCompatibility")); + if (mode2 === "sdk") + return await fallbackPreflight(options, disabledAdapterStatus(mode2, "missing_checkMachineCompatibility")); + return await preflightOpenMachinesCli(options, cliStatus) ?? await fallbackPreflight(options, disabledAdapterStatus(mode2, "missing_checkMachineCompatibility")); } - return await preflightOpenMachinesCli(options, cliStatus) ?? await fallbackPreflight(options, disabledAdapterStatus(mode, "machines_cli_unavailable")); + return await preflightOpenMachinesCli(options, cliStatus) ?? await fallbackPreflight(options, disabledAdapterStatus(mode2, "machines_cli_unavailable")); } catch (error51) { - if (mode === "sdk") - return await fallbackPreflight(options, disabledAdapterStatus(mode, optionalModuleError(error51))); - return await preflightOpenMachinesCli(options, cliStatus) ?? await fallbackPreflight(options, disabledAdapterStatus(mode, optionalModuleError(error51))); + if (mode2 === "sdk") + return await fallbackPreflight(options, disabledAdapterStatus(mode2, optionalModuleError(error51))); + return await preflightOpenMachinesCli(options, cliStatus) ?? await fallbackPreflight(options, disabledAdapterStatus(mode2, optionalModuleError(error51))); } } @@ -32040,11 +38193,11 @@ function collectSources(value, output) { collectSources(record2[key], output); } } -function fakeSources(query, limit) { +function fakeSources(query2, limit) { return Array.from({ length: Math.min(limit, 3) }, (_, index) => ({ url: `https://example.com/knowledge-web-${index + 1}`, title: `Fake web source ${index + 1}`, - snippet: `Deterministic web-search fixture for "${query}"`, + snippet: `Deterministic web-search fixture for "${query2}"`, provider_metadata: { fake: true, rank: index + 1 } })); } @@ -32130,8 +38283,8 @@ async function fileWebSources(options, sources, now) { return result.sources_upserted; } async function runProviderWebSearch(options) { - const query = options.query.trim(); - if (!query) + const query2 = options.query.trim(); + if (!query2) throw new Error("Web search query is required."); const env = options.env ?? process.env; const now = (options.now ?? new Date).toISOString(); @@ -32157,7 +38310,7 @@ async function runProviderWebSearch(options) { VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [ runId, "provider-web-search", - query, + query2, "running", provider, model, @@ -32168,7 +38321,7 @@ async function runProviderWebSearch(options) { recordAuditEvent(db, { event_type: "source_read", action: options.fake ? "fake_provider_web_search" : "provider_web_search", - target_uri: query, + target_uri: query2, decision: "allow", metadata: { provider, model, domains, max_uses: maxUses }, created_at: now @@ -32178,14 +38331,14 @@ async function runProviderWebSearch(options) { } let answer = ""; let sources = []; - let usage = { input_tokens: estimateTokens3(query), output_tokens: 0, cost_usd: 0 }; + let usage = { input_tokens: estimateTokens3(query2), output_tokens: 0, cost_usd: 0 }; const warnings = []; if (options.fake) { - sources = fakeSources(query, limit); - answer = `Fake web search answer for: ${query}`; + sources = fakeSources(query2, limit); + answer = `Fake web search answer for: ${query2}`; usage.output_tokens = estimateTokens3(answer); } else { - const result = provider === "openai" ? await openAiWebSearch({ query, model, config: options.config, env, maxUses, domains }) : await anthropicWebSearch({ query, model, config: options.config, env, maxUses, domains }); + const result = provider === "openai" ? await openAiWebSearch({ query: query2, model, config: options.config, env, maxUses, domains }) : await anthropicWebSearch({ query: query2, model, config: options.config, env, maxUses, domains }); answer = result.text; const collected = new Map; collectSources(result.sources, collected); @@ -32238,7 +38391,7 @@ async function runProviderWebSearch(options) { warnings.push("no_web_sources_returned"); return { run_id: runId, - query, + query: query2, provider, model, answer, @@ -32279,8 +38432,8 @@ function parseJsonObject6(value) { return {}; } } -function queryTerms3(query) { - return Array.from(new Set((query ?? "").toLowerCase().match(/[\p{L}\p{N}_]+/gu) ?? [])).slice(0, 12); +function queryTerms3(query2) { + return Array.from(new Set((query2 ?? "").toLowerCase().match(/[\p{L}\p{N}_]+/gu) ?? [])).slice(0, 12); } function escapeLike(value) { return value.replace(/[\\%_]/g, (char) => `\\${char}`); @@ -33999,9 +40152,9 @@ function emptyKnowledgeDbStats() { sync_imports: 0 }; } -function emptySearchResult(query, limit, semantic = false) { +function emptySearchResult(query2, limit, semantic = false) { return { - query, + query: query2, limit, offset: 0, mode: { @@ -34022,14 +40175,14 @@ function emptySearchResult(query, limit, semantic = false) { results: [] }; } -function normalizeContextQuery(query) { - return query.normalize("NFKC").trim().replace(/\s+/g, " ").toLowerCase(); +function normalizeContextQuery(query2) { + return query2.normalize("NFKC").trim().replace(/\s+/g, " ").toLowerCase(); } -function emptyContextPack(query, limit, semantic = false) { - const search = emptySearchResult(query, limit, semantic); +function emptyContextPack(query2, limit, semantic = false) { + const search = emptySearchResult(query2, limit, semantic); return { - query, - normalized_query: normalizeContextQuery(query), + query: query2, + normalized_query: normalizeContextQuery(query2), created_at: new Date().toISOString(), mode: search.mode, warnings: search.warnings, @@ -34076,7 +40229,7 @@ function legacyAgentContextPack(options, context, policy) { const now = options.now ?? new Date; const source = options.source ?? "search"; const purpose = options.purpose ?? (source === "loops" || source === "runs" ? "proposal" : "agent_context"); - const query = (options.query ?? options.topic ?? context.query).normalize("NFKC").trim().replace(/\s+/g, " "); + const query2 = (options.query ?? options.topic ?? context.query).normalize("NFKC").trim().replace(/\s+/g, " "); const maxItems = Math.max(1, Math.min(options.maxItems ?? options.limit ?? 8, 50)); const maxTokens = Math.max(500, Math.min(options.maxTokens ?? 6000, 1e5)); let redactions = 0; @@ -34129,7 +40282,7 @@ function legacyAgentContextPack(options, context, policy) { const usedCitationIds = new Set(evidence.flatMap((entry) => entry.citation_ids)); const usedCitations = citations.filter((citation) => usedCitationIds.has(citation.id)); const warnings = Array.from(new Set(context.warnings)); - const idempotencyKey = `ctx_${createHash18("sha256").update([source, purpose, query, warnings.join(","), evidence.map((entry) => entry.id).join(",")].join("\x00")).digest("hex").slice(0, 20)}`; + const idempotencyKey = `ctx_${createHash18("sha256").update([source, purpose, query2, warnings.join(","), evidence.map((entry) => entry.id).join(",")].join("\x00")).digest("hex").slice(0, 20)}`; const pack = { ok: true, format: "knowledge-agent-context-pack", @@ -34137,7 +40290,7 @@ function legacyAgentContextPack(options, context, policy) { created_at: now.toISOString(), source, purpose, - query, + query: query2, topic: options.topic ?? null, since: options.since ?? null, dry_run: true, @@ -34164,7 +40317,7 @@ function legacyAgentContextPack(options, context, policy) { evidence, duplicate_candidates: [], outline: { - title: query ? `Knowledge context: ${compactText(query, 80)}` : "Knowledge context", + title: query2 ? `Knowledge context: ${compactText(query2, 80)}` : "Knowledge context", bullets: evidence.length > 0 ? evidence.slice(0, 5).map((entry) => `${entry.id}: ${entry.title}`) : ["No matching bounded evidence was found."], evidence_ids: evidence.slice(0, 8).map((entry) => entry.id), duplicate_candidate_ids: [], @@ -34239,10 +40392,10 @@ function emptyAgentContextPack(options) { const now = options.now ?? new Date; const source = options.source ?? "search"; const purpose = options.purpose ?? (source === "loops" || source === "runs" ? "proposal" : "agent_context"); - const query = (options.query ?? options.topic ?? "").normalize("NFKC").trim().replace(/\s+/g, " "); + const query2 = (options.query ?? options.topic ?? "").normalize("NFKC").trim().replace(/\s+/g, " "); const maxItems = Math.max(1, Math.min(options.maxItems ?? options.limit ?? 8, 50)); const maxTokens = Math.max(500, Math.min(options.maxTokens ?? 6000, 1e5)); - const idempotencyKey = `ctx_${createHash18("sha256").update(["empty", source, purpose, query, options.topic ?? "", options.since ?? ""].join("\x00")).digest("hex").slice(0, 20)}`; + const idempotencyKey = `ctx_${createHash18("sha256").update(["empty", source, purpose, query2, options.topic ?? "", options.since ?? ""].join("\x00")).digest("hex").slice(0, 20)}`; return { ok: true, format: "knowledge-agent-context-pack", @@ -34250,7 +40403,7 @@ function emptyAgentContextPack(options) { created_at: now.toISOString(), source, purpose, - query, + query: query2, topic: options.topic ?? null, since: options.since ?? null, dry_run: true, @@ -34277,7 +40430,7 @@ function emptyAgentContextPack(options) { evidence: [], duplicate_candidates: [], outline: { - title: query ? `Context for ${query}` : "Knowledge context", + title: query2 ? `Context for ${query2}` : "Knowledge context", bullets: [], evidence_ids: [], duplicate_candidate_ids: [], @@ -34709,11 +40862,11 @@ class KnowledgeService { setup(options = {}) { const workspace = this.ensureWorkspace(); const current = this.config({ ensure: true }); - const mode = normalizeMode(options.mode) ?? current.mode; + const mode2 = normalizeMode(options.mode) ?? current.mode; const apiUrl = options.apiUrl ? normalizeKnowledgeApiOrigin(options.apiUrl) : current.hosted?.api_url ? normalizeKnowledgeApiOrigin(current.hosted.api_url) : null; const nextConfig = { ...current, - mode, + mode: mode2, hosted: { ...current.hosted ?? {}, ...apiUrl ? { api_url: apiUrl } : {} @@ -34725,14 +40878,14 @@ class KnowledgeService { const storage = resolveStorageContract(nextConfig, workspace, this.scope); return { ok: true, - mode, + mode: mode2, api_url: nextConfig.hosted?.api_url ?? null, storage_type: nextConfig.storage.type, artifact_uri_prefix: storage.artifact_store.uri_prefix, canonical_example: storage.canonical_example, config_path: workspace.configPath, - next: mode === "hosted" ? ["knowledge auth login --api-key ", "knowledge storage status --json"] : ["knowledge search ", "knowledge "], - message: `Set knowledge mode to ${mode}` + next: mode2 === "hosted" ? ["knowledge auth login --api-key ", "knowledge storage status --json"] : ["knowledge search ", "knowledge "], + message: `Set knowledge mode to ${mode2}` }; } authStatus(env = process.env) { @@ -35430,10 +41583,10 @@ class KnowledgeService { async contextPack(options) { const workspace = this.workspace; if (this.isApiMode()) { - const query = (options.query ?? options.topic ?? "").trim(); - if (query && options.source !== "loops" && options.source !== "runs") { + const query2 = (options.query ?? options.topic ?? "").trim(); + if (query2 && options.source !== "loops" && options.source !== "runs") { const items = await this.fetchCloudItems(); - const search = await hybridSearchItems(items, { ...options, query }); + const search = await hybridSearchItems(items, { ...options, query: query2 }); const context = retrieveKnowledgeContextFromSearch(search, { contextChars: options.contextChars }); return legacyAgentContextPack(options, context, this.safetyPolicy()); } @@ -35441,11 +41594,11 @@ class KnowledgeService { } const legacyStorePath = legacyStorePathForRead(this.scope, workspace, options.legacyStorePath); if (!existsSync14(workspace.knowledgeDbPath)) { - const query = (options.query ?? options.topic ?? "").trim(); - if (query && options.source !== "loops" && options.source !== "runs" && existsSync14(legacyStorePath)) { + const query2 = (options.query ?? options.topic ?? "").trim(); + if (query2 && options.source !== "loops" && options.source !== "runs" && existsSync14(legacyStorePath)) { const search = await hybridSearchLegacyStore({ ...options, - query, + query: query2, legacyStorePath, config: this.config() }); @@ -36064,7 +42217,7 @@ function readEnv(name) { const value = process.env[name]?.trim(); return value || undefined; } -function normalizeStorageMode2(value) { +function normalizeStorageMode3(value) { const normalized = value?.trim().toLowerCase().replace(/-/g, "_"); if (normalized === "local") return "local"; @@ -36084,9 +42237,9 @@ function openScopedDb(options = {}) { }; } function getStorageMode() { - const mode = normalizeStorageMode2(readEnv(KNOWLEDGE_STORAGE_MODE_ENV)) ?? normalizeStorageMode2(readEnv(KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV)); - if (mode) - return mode; + const mode2 = normalizeStorageMode3(readEnv(KNOWLEDGE_STORAGE_MODE_ENV)) ?? normalizeStorageMode3(readEnv(KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV)); + if (mode2) + return mode2; return "local"; } function getStorageStatus(options = {}) { @@ -36116,8 +42269,6 @@ function ensureSyncMetaTable(db) { ) `); } -// src/generated/storage-kit/pool.ts -import pg from "pg"; // src/mcp.js var storePathField = exports_external.string().optional().describe("Path to the JSON store file"); var scopeField = exports_external.enum(["local", "global", "project"]).optional().describe("Workspace scope"); diff --git a/bin/knowledge.js b/bin/knowledge.js index bf1f8fd..ad18e7a 100755 --- a/bin/knowledge.js +++ b/bin/knowledge.js @@ -1,101 +1,101 @@ #!/usr/bin/env bun // @bun -var GR=Object.create;var{getPrototypeOf:XR,defineProperty:XG,getOwnPropertyNames:NR}=Object;var OR=Object.prototype.hasOwnProperty;function YR(_){return this[_]}var zR,QR,qR=(_,$,U)=>{var J=_!=null&&typeof _==="object";if(J){var D=$?zR??=new WeakMap:QR??=new WeakMap,j=D.get(_);if(j)return j}U=_!=null?GR(XR(_)):{};let W=$||!_||!_.__esModule?XG(U,"default",{value:_,enumerable:!0}):U;for(let G of NR(_))if(!OR.call(W,G))XG(W,G,{get:YR.bind(_,G),enumerable:!0});if(J)D.set(_,W);return W};var V4=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var LR=(_)=>_;function gR(_,$){this[_]=LR.bind(null,$)}var _6=(_,$)=>{for(var U in $)XG(_,U,{get:$[U],enumerable:!0,configurable:!0,set:gR.bind($,U)})};var Z=(_,$)=>()=>(_&&($=_(_=0)),$);var R_=import.meta.require;function A(_,$,U){function J(G,X){if(!G._zod)Object.defineProperty(G,"_zod",{value:{def:X,constr:W,traits:new Set},enumerable:!1});if(G._zod.traits.has(_))return;G._zod.traits.add(_),$(G,X);let N=W.prototype,z=Object.keys(N);for(let L=0;L{if(U?.Parent&&G instanceof U.Parent)return!0;return G?._zod?.traits?.has(_)}}),Object.defineProperty(W,"name",{value:_}),W}function x_(_){if(_)Object.assign(d4,_);return d4}var $L,XJ,NJ,X6,c4,d4;var i4=Z(()=>{XJ=Object.freeze({status:"aborted"});NJ=Symbol("zod_brand");X6=class X6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};c4=class c4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};($L=globalThis).__zod_globalConfig??($L.__zod_globalConfig={});d4=globalThis.__zod_globalConfig});var k={};_6(k,{unwrapMessage:()=>rU,uint8ArrayToHex:()=>nM,uint8ArrayToBase64url:()=>rM,uint8ArrayToBase64:()=>JL,stringifyPrimitive:()=>F,slugify:()=>PX,shallowClone:()=>wX,safeExtend:()=>CM,required:()=>yM,randomString:()=>MM,propertyKeyTypes:()=>mU,promiseAllObject:()=>FM,primitiveTypes:()=>SX,prefixIssues:()=>Y$,pick:()=>SM,partial:()=>vM,parsedType:()=>M,optionalKeys:()=>fX,omit:()=>fM,objectClone:()=>bM,numKeys:()=>PM,nullish:()=>U4,normalizeParams:()=>f,mergeDefs:()=>P6,merge:()=>ZM,jsonStringifyReplacer:()=>L1,joinValues:()=>b,issue:()=>E1,isPlainObject:()=>J4,isObject:()=>l4,hexToUint8Array:()=>uM,getSizableOrigin:()=>dU,getParsedType:()=>kM,getLengthableOrigin:()=>cU,getEnumValues:()=>uU,getElementAtPath:()=>IM,floatSafeRemainder:()=>MX,finalizeIssue:()=>W$,extend:()=>TM,explicitlyAborted:()=>ZX,escapeRegex:()=>k$,esc:()=>OJ,defineLazy:()=>Y_,createTransparentProxy:()=>wM,cloneDef:()=>KM,clone:()=>e_,cleanRegex:()=>nU,cleanEnum:()=>hM,captureStackTrace:()=>YJ,cached:()=>g1,base64urlToUint8Array:()=>xM,base64ToUint8Array:()=>DL,assignProp:()=>D4,assertNotEqual:()=>RM,assertNever:()=>AM,assertIs:()=>HM,assertEqual:()=>BM,assert:()=>VM,allowsEval:()=>kX,aborted:()=>j4,NUMBER_FORMAT_RANGES:()=>TX,Class:()=>jL,BIGINT_FORMAT_RANGES:()=>CX});function BM(_){return _}function RM(_){return _}function HM(_){}function AM(_){throw Error("Unexpected value in exhaustive check")}function VM(_){}function uU(_){let $=Object.values(_).filter((J)=>typeof J==="number");return Object.entries(_).filter(([J,D])=>$.indexOf(+J)===-1).map(([J,D])=>D)}function b(_,$="|"){return _.map((U)=>F(U)).join($)}function L1(_,$){if(typeof $==="bigint")return $.toString();return $}function g1(_){return{get value(){{let U=_();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function U4(_){return _===null||_===void 0}function nU(_){let $=_.startsWith("^")?1:0,U=_.endsWith("$")?_.length-1:_.length;return _.slice($,U)}function MX(_,$){let U=_/$,J=Math.round(U),D=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-J)U?.[J],_)}function FM(_){let $=Object.keys(_),U=$.map((J)=>_[J]);return Promise.all(U).then((J)=>{let D={};for(let j=0;j<$.length;j++)D[$[j]]=J[j];return D})}function MM(_=10){let U="";for(let J=0;J<_;J++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function OJ(_){return JSON.stringify(_)}function PX(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function l4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function J4(_){if(l4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let U=$.prototype;if(l4(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function wX(_){if(J4(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function PM(_){let $=0;for(let U in _)if(Object.prototype.hasOwnProperty.call(_,U))$++;return $}function k$(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function e_(_,$,U){let J=new _._zod.constr($??_._zod.def);if(!$||U?.parent)J._zod.parent=_;return J}function f(_){let $=_;if(!$)return{};if(typeof $==="string")return{error:()=>$};if($?.message!==void 0){if($?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");$.error=$.message}if(delete $.message,typeof $.error==="string")return{...$,error:()=>$.error};return $}function wM(_){let $;return new Proxy({},{get(U,J,D){return $??($=_()),Reflect.get($,J,D)},set(U,J,D,j){return $??($=_()),Reflect.set($,J,D,j)},has(U,J){return $??($=_()),Reflect.has($,J)},deleteProperty(U,J){return $??($=_()),Reflect.deleteProperty($,J)},ownKeys(U){return $??($=_()),Reflect.ownKeys($)},getOwnPropertyDescriptor(U,J){return $??($=_()),Reflect.getOwnPropertyDescriptor($,J)},defineProperty(U,J,D){return $??($=_()),Reflect.defineProperty($,J,D)}})}function F(_){if(typeof _==="bigint")return _.toString()+"n";if(typeof _==="string")return`"${_}"`;return`${_}`}function fX(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function SM(_,$){let U=_._zod.def,J=U.checks;if(J&&J.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let j=P6(_._zod.def,{get shape(){let W={};for(let G in $){if(!(G in U.shape))throw Error(`Unrecognized key: "${G}"`);if(!$[G])continue;W[G]=U.shape[G]}return D4(this,"shape",W),W},checks:[]});return e_(_,j)}function fM(_,$){let U=_._zod.def,J=U.checks;if(J&&J.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let j=P6(_._zod.def,{get shape(){let W={..._._zod.def.shape};for(let G in $){if(!(G in U.shape))throw Error(`Unrecognized key: "${G}"`);if(!$[G])continue;delete W[G]}return D4(this,"shape",W),W},checks:[]});return e_(_,j)}function TM(_,$){if(!J4($))throw Error("Invalid input to extend: expected a plain object");let U=_._zod.def.checks;if(U&&U.length>0){let j=_._zod.def.shape;for(let W in $)if(Object.getOwnPropertyDescriptor(j,W)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let D=P6(_._zod.def,{get shape(){let j={..._._zod.def.shape,...$};return D4(this,"shape",j),j}});return e_(_,D)}function CM(_,$){if(!J4($))throw Error("Invalid input to safeExtend: expected a plain object");let U=P6(_._zod.def,{get shape(){let J={..._._zod.def.shape,...$};return D4(this,"shape",J),J}});return e_(_,U)}function ZM(_,$){if(_._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=P6(_._zod.def,{get shape(){let J={..._._zod.def.shape,...$._zod.def.shape};return D4(this,"shape",J),J},get catchall(){return $._zod.def.catchall},checks:$._zod.def.checks??[]});return e_(_,U)}function vM(_,$,U){let D=$._zod.def.checks;if(D&&D.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let W=P6($._zod.def,{get shape(){let G=$._zod.def.shape,X={...G};if(U)for(let N in U){if(!(N in G))throw Error(`Unrecognized key: "${N}"`);if(!U[N])continue;X[N]=_?new _({type:"optional",innerType:G[N]}):G[N]}else for(let N in G)X[N]=_?new _({type:"optional",innerType:G[N]}):G[N];return D4(this,"shape",X),X},checks:[]});return e_($,W)}function yM(_,$,U){let J=P6($._zod.def,{get shape(){let D=$._zod.def.shape,j={...D};if(U)for(let W in U){if(!(W in j))throw Error(`Unrecognized key: "${W}"`);if(!U[W])continue;j[W]=new _({type:"nonoptional",innerType:D[W]})}else for(let W in D)j[W]=new _({type:"nonoptional",innerType:D[W]});return D4(this,"shape",j),j}});return e_($,J)}function j4(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue!==!0)return!0;return!1}function ZX(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue===!1)return!0;return!1}function Y$(_,$){return $.map((U)=>{var J;return(J=U).path??(J.path=[]),U.path.unshift(_),U})}function rU(_){return typeof _==="string"?_:_?.message}function W$(_,$,U){let J=_.message?_.message:rU(_.inst?._zod.def?.error?.(_))??rU($?.error?.(_))??rU(U.customError?.(_))??rU(U.localeError?.(_))??"Invalid input",{inst:D,continue:j,input:W,...G}=_;if(G.path??(G.path=[]),G.message=J,$?.reportInput)G.input=W;return G}function dU(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function cU(_){if(Array.isArray(_))return"array";if(typeof _==="string")return"string";return"unknown"}function M(_){let $=typeof _;switch($){case"number":return Number.isNaN(_)?"nan":"number";case"object":{if(_===null)return"null";if(Array.isArray(_))return"array";let U=_;if(U&&Object.getPrototypeOf(U)!==Object.prototype&&"constructor"in U&&U.constructor)return U.constructor.name}}return $}function E1(..._){let[$,U,J]=_;if(typeof $==="string")return{message:$,code:"custom",input:U,inst:J};return{...$}}function hM(_){return Object.entries(_).filter(([$,U])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function DL(_){let $=atob(_),U=new Uint8Array($.length);for(let J=0;J<$.length;J++)U[J]=$.charCodeAt(J);return U}function JL(_){let $="";for(let U=0;U<_.length;U++)$+=String.fromCharCode(_[U]);return btoa($)}function xM(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-$.length%4)%4);return DL($+U)}function rM(_){return JL(_).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function uM(_){let $=_.replace(/^0x/,"");if($.length%2!==0)throw Error("Invalid hex string length");let U=new Uint8Array($.length/2);for(let J=0;J<$.length;J+=2)U[J/2]=Number.parseInt($.slice(J,J+2),16);return U}function nM(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class jL{constructor(..._){}}var UL,YJ,kX,kM=(_)=>{let $=typeof _;switch($){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(_)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(_))return"array";if(_===null)return"null";if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return"promise";if(typeof Map<"u"&&_ instanceof Map)return"map";if(typeof Set<"u"&&_ instanceof Set)return"set";if(typeof Date<"u"&&_ instanceof Date)return"date";if(typeof File<"u"&&_ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${$}`)}},mU,SX,TX,CX;var d=Z(()=>{i4();UL=Symbol("evaluating");YJ="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};kX=g1(()=>{if(d4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});mU=new Set(["string","number","symbol"]),SX=new Set(["string","number","bigint","boolean","symbol","undefined"]);TX={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},CX={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function B1(_,$=(U)=>U.message){let U={},J=[];for(let D of _.issues)if(D.path.length>0)U[D.path[0]]=U[D.path[0]]||[],U[D.path[0]].push($(D));else J.push($(D));return{formErrors:J,fieldErrors:U}}function R1(_,$=(U)=>U.message){let U={_errors:[]},J=(D,j=[])=>{for(let W of D.issues)if(W.code==="invalid_union"&&W.errors.length)W.errors.map((G)=>J({issues:G},[...j,...W.path]));else if(W.code==="invalid_key")J({issues:W.issues},[...j,...W.path]);else if(W.code==="invalid_element")J({issues:W.issues},[...j,...W.path]);else{let G=[...j,...W.path];if(G.length===0)U._errors.push($(W));else{let X=U,N=0;while(NU.message){let U={errors:[]},J=(D,j=[])=>{var W,G;for(let X of D.issues)if(X.code==="invalid_union"&&X.errors.length)X.errors.map((N)=>J({issues:N},[...j,...X.path]));else if(X.code==="invalid_key")J({issues:X.issues},[...j,...X.path]);else if(X.code==="invalid_element")J({issues:X.issues},[...j,...X.path]);else{let N=[...j,...X.path];if(N.length===0){U.errors.push($(X));continue}let z=U,L=0;while(Ltypeof J==="object"?J.key:J);for(let J of U)if(typeof J==="number")$.push(`[${J}]`);else if(typeof J==="symbol")$.push(`[${JSON.stringify(String(J))}]`);else if(/[^\w$]/.test(J))$.push(`[${JSON.stringify(J)}]`);else{if($.length)$.push(".");$.push(J)}return $.join("")}function QJ(_){let $=[],U=[..._.issues].sort((J,D)=>(J.path??[]).length-(D.path??[]).length);for(let J of U)if($.push(`\u2716 ${J.message}`),J.path?.length)$.push(` \u2192 at ${GL(J.path)}`);return $.join(` -`)}var WL=(_,$)=>{_.name="$ZodError",Object.defineProperty(_,"_zod",{value:_._zod,enumerable:!1}),Object.defineProperty(_,"issues",{value:$,enumerable:!1}),_.message=JSON.stringify($,L1,2),Object.defineProperty(_,"toString",{value:()=>_.message,enumerable:!1})},iU,z$;var vX=Z(()=>{i4();d();iU=A("$ZodError",WL),z$=A("$ZodError",WL,{Parent:Error})});var H1=(_)=>($,U,J,D)=>{let j=J?{...J,async:!1}:{async:!1},W=$._zod.run({value:U,issues:[]},j);if(W instanceof Promise)throw new X6;if(W.issues.length){let G=new(D?.Err??_)(W.issues.map((X)=>W$(X,j,x_())));throw YJ(G,D?.callee),G}return W.value},qJ,A1=(_)=>async($,U,J,D)=>{let j=J?{...J,async:!0}:{async:!0},W=$._zod.run({value:U,issues:[]},j);if(W instanceof Promise)W=await W;if(W.issues.length){let G=new(D?.Err??_)(W.issues.map((X)=>W$(X,j,x_())));throw YJ(G,D?.callee),G}return W.value},LJ,V1=(_)=>($,U,J)=>{let D=J?{...J,async:!1}:{async:!1},j=$._zod.run({value:U,issues:[]},D);if(j instanceof Promise)throw new X6;return j.issues.length?{success:!1,error:new(_??iU)(j.issues.map((W)=>W$(W,D,x_())))}:{success:!0,data:j.value}},yX,b1=(_)=>async($,U,J)=>{let D=J?{...J,async:!0}:{async:!0},j=$._zod.run({value:U,issues:[]},D);if(j instanceof Promise)j=await j;return j.issues.length?{success:!1,error:new _(j.issues.map((W)=>W$(W,D,x_())))}:{success:!0,data:j.value}},hX,gJ=(_)=>($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return H1(_)($,U,D)},dM,EJ=(_)=>($,U,J)=>{return H1(_)($,U,J)},cM,BJ=(_)=>async($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return A1(_)($,U,D)},iM,RJ=(_)=>async($,U,J)=>{return A1(_)($,U,J)},lM,HJ=(_)=>($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return V1(_)($,U,D)},oM,AJ=(_)=>($,U,J)=>{return V1(_)($,U,J)},pM,VJ=(_)=>async($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return b1(_)($,U,D)},tM,bJ=(_)=>async($,U,J)=>{return b1(_)($,U,J)},aM;var xX=Z(()=>{i4();vX();d();qJ=H1(z$),LJ=A1(z$),yX=V1(z$),hX=b1(z$),dM=gJ(z$),cM=EJ(z$),iM=BJ(z$),lM=RJ(z$),oM=HJ(z$),pM=AJ(z$),tM=VJ(z$),aM=bJ(z$)});var Q$={};_6(Q$,{xid:()=>mX,uuid7:()=>$P,uuid6:()=>_P,uuid4:()=>sM,uuid:()=>o4,uppercase:()=>q5,unicodeEmail:()=>XL,undefined:()=>z5,ulid:()=>nX,time:()=>j5,string:()=>G5,sha512_hex:()=>VP,sha512_base64url:()=>KP,sha512_base64:()=>bP,sha384_hex:()=>RP,sha384_base64url:()=>AP,sha384_base64:()=>HP,sha256_hex:()=>gP,sha256_base64url:()=>BP,sha256_base64:()=>EP,sha1_hex:()=>QP,sha1_base64url:()=>LP,sha1_base64:()=>qP,rfc5322Email:()=>DP,number:()=>lU,null:()=>Y5,nanoid:()=>cX,md5_hex:()=>OP,md5_base64url:()=>zP,md5_base64:()=>YP,mac:()=>eX,lowercase:()=>Q5,ksuid:()=>dX,ipv6:()=>aX,ipv4:()=>tX,integer:()=>N5,idnEmail:()=>JP,httpProtocol:()=>U5,html5Email:()=>UP,hostname:()=>GP,hex:()=>NP,guid:()=>lX,extendedDuration:()=>eM,emoji:()=>pX,email:()=>oX,e164:()=>D5,duration:()=>iX,domain:()=>XP,datetime:()=>W5,date:()=>J5,cuid2:()=>uX,cuid:()=>rX,cidrv6:()=>_5,cidrv4:()=>sX,browserEmail:()=>jP,boolean:()=>O5,bigint:()=>X5,base64url:()=>KJ,base64:()=>$5});function pX(){return new RegExp(WP,"u")}function OL(_){return typeof _.precision==="number"?_.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":_.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${_.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function j5(_){return new RegExp(`^${OL(_)}$`)}function W5(_){let $=OL({precision:_.precision}),U=["Z"];if(_.local)U.push("");if(_.offset)U.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let J=`${$}(?:${U.join("|")})`;return new RegExp(`^${NL}T(?:${J})$`)}function oU(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function pU(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var rX,uX,nX,mX,dX,cX,iX,eM,lX,o4=(_)=>{if(!_)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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${_}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},sM,_P,$P,oX,UP,DP,XL,JP,jP,WP="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",tX,aX,eX=(_)=>{let $=k$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},sX,_5,$5,KJ,GP,XP,U5,D5,NL="(?:(?:\\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])))",J5,G5=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},X5,N5,lU,O5,Y5,z5,Q5,q5,NP,OP,YP,zP,QP,qP,LP,gP,EP,BP,RP,HP,AP,VP,bP,KP;var IJ=Z(()=>{d();rX=/^[cC][0-9a-z]{6,}$/,uX=/^[0-9a-z]+$/,nX=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mX=/^[0-9a-vA-V]{20}$/,dX=/^[A-Za-z0-9]{27}$/,cX=/^[a-zA-Z0-9_-]{21}$/,iX=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,eM=/^[-+]?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)?)??$/,lX=/^([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})$/,sM=o4(4),_P=o4(6),$P=o4(7),oX=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,UP=/^[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])?)*$/,DP=/^(([^<>()\[\]\\.,;:\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,}))$/,XL=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,JP=XL,jP=/^[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])?)*$/;tX=/^(?:(?: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])$/,aX=/^(([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}|:))$/,sX=/^((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])$/,_5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,KJ=/^[A-Za-z0-9_-]*$/,GP=/^(?=.{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])?)*\.?$/,XP=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,U5=/^https?$/,D5=/^\+[1-9]\d{6,14}$/,J5=new RegExp(`^${NL}$`);X5=/^-?\d+n?$/,N5=/^-?\d+$/,lU=/^-?\d+(?:\.\d+)?$/,O5=/^(?:true|false)$/i,Y5=/^null$/i,z5=/^undefined$/i,Q5=/^[^A-Z]*$/,q5=/^[^a-z]*$/,NP=/^[0-9a-fA-F]*$/;OP=/^[0-9a-fA-F]{32}$/,YP=oU(22,"=="),zP=pU(22),QP=/^[0-9a-fA-F]{40}$/,qP=oU(27,"="),LP=pU(27),gP=/^[0-9a-fA-F]{64}$/,EP=oU(43,"="),BP=pU(43),RP=/^[0-9a-fA-F]{96}$/,HP=oU(64,""),AP=pU(64),VP=/^[0-9a-fA-F]{128}$/,bP=oU(86,"=="),KP=pU(86)});function YL(_,$,U){if(_.issues.length)$.issues.push(...Y$(U,_.issues))}var k_,zL,FJ,MJ,L5,g5,E5,B5,R5,H5,A5,V5,b5,K1,K5,I5,F5,M5,P5,k5,w5,S5,f5;var PJ=Z(()=>{i4();IJ();d();k_=A("$ZodCheck",(_,$)=>{var U;_._zod??(_._zod={}),_._zod.def=$,(U=_._zod).onattach??(U.onattach=[])}),zL={number:"number",bigint:"bigint",object:"date"},FJ=A("$ZodCheckLessThan",(_,$)=>{k_.init(_,$);let U=zL[typeof $.value];_._zod.onattach.push((J)=>{let D=J._zod.bag,j=($.inclusive?D.maximum:D.exclusiveMaximum)??Number.POSITIVE_INFINITY;if($.value{if($.inclusive?J.value<=$.value:J.value<$.value)return;J.issues.push({origin:U,code:"too_big",maximum:typeof $.value==="object"?$.value.getTime():$.value,input:J.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),MJ=A("$ZodCheckGreaterThan",(_,$)=>{k_.init(_,$);let U=zL[typeof $.value];_._zod.onattach.push((J)=>{let D=J._zod.bag,j=($.inclusive?D.minimum:D.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if($.value>j)if($.inclusive)D.minimum=$.value;else D.exclusiveMinimum=$.value}),_._zod.check=(J)=>{if($.inclusive?J.value>=$.value:J.value>$.value)return;J.issues.push({origin:U,code:"too_small",minimum:typeof $.value==="object"?$.value.getTime():$.value,input:J.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),L5=A("$ZodCheckMultipleOf",(_,$)=>{k_.init(_,$),_._zod.onattach.push((U)=>{var J;(J=U._zod.bag).multipleOf??(J.multipleOf=$.value)}),_._zod.check=(U)=>{if(typeof U.value!==typeof $.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof U.value==="bigint"?U.value%$.value===BigInt(0):MX(U.value,$.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:$.value,input:U.value,inst:_,continue:!$.abort})}}),g5=A("$ZodCheckNumberFormat",(_,$)=>{k_.init(_,$),$.format=$.format||"float64";let U=$.format?.includes("int"),J=U?"int":"number",[D,j]=TX[$.format];_._zod.onattach.push((W)=>{let G=W._zod.bag;if(G.format=$.format,G.minimum=D,G.maximum=j,U)G.pattern=N5}),_._zod.check=(W)=>{let G=W.value;if(U){if(!Number.isInteger(G)){W.issues.push({expected:J,format:$.format,code:"invalid_type",continue:!1,input:G,inst:_});return}if(!Number.isSafeInteger(G)){if(G>0)W.issues.push({input:G,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:_,origin:J,inclusive:!0,continue:!$.abort});else W.issues.push({input:G,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:_,origin:J,inclusive:!0,continue:!$.abort});return}}if(Gj)W.issues.push({origin:"number",input:G,code:"too_big",maximum:j,inclusive:!0,inst:_,continue:!$.abort})}}),E5=A("$ZodCheckBigIntFormat",(_,$)=>{k_.init(_,$);let[U,J]=CX[$.format];_._zod.onattach.push((D)=>{let j=D._zod.bag;j.format=$.format,j.minimum=U,j.maximum=J}),_._zod.check=(D)=>{let j=D.value;if(jJ)D.issues.push({origin:"bigint",input:j,code:"too_big",maximum:J,inclusive:!0,inst:_,continue:!$.abort})}}),B5=A("$ZodCheckMaxSize",(_,$)=>{var U;k_.init(_,$),(U=_._zod.def).when??(U.when=(J)=>{let D=J.value;return!U4(D)&&D.size!==void 0}),_._zod.onattach.push((J)=>{let D=J._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let D=J.value;if(D.size<=$.maximum)return;J.issues.push({origin:dU(D),code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),R5=A("$ZodCheckMinSize",(_,$)=>{var U;k_.init(_,$),(U=_._zod.def).when??(U.when=(J)=>{let D=J.value;return!U4(D)&&D.size!==void 0}),_._zod.onattach.push((J)=>{let D=J._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>D)J._zod.bag.minimum=$.minimum}),_._zod.check=(J)=>{let D=J.value;if(D.size>=$.minimum)return;J.issues.push({origin:dU(D),code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),H5=A("$ZodCheckSizeEquals",(_,$)=>{var U;k_.init(_,$),(U=_._zod.def).when??(U.when=(J)=>{let D=J.value;return!U4(D)&&D.size!==void 0}),_._zod.onattach.push((J)=>{let D=J._zod.bag;D.minimum=$.size,D.maximum=$.size,D.size=$.size}),_._zod.check=(J)=>{let D=J.value,j=D.size;if(j===$.size)return;let W=j>$.size;J.issues.push({origin:dU(D),...W?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:J.value,inst:_,continue:!$.abort})}}),A5=A("$ZodCheckMaxLength",(_,$)=>{var U;k_.init(_,$),(U=_._zod.def).when??(U.when=(J)=>{let D=J.value;return!U4(D)&&D.length!==void 0}),_._zod.onattach.push((J)=>{let D=J._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let D=J.value;if(D.length<=$.maximum)return;let W=cU(D);J.issues.push({origin:W,code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),V5=A("$ZodCheckMinLength",(_,$)=>{var U;k_.init(_,$),(U=_._zod.def).when??(U.when=(J)=>{let D=J.value;return!U4(D)&&D.length!==void 0}),_._zod.onattach.push((J)=>{let D=J._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>D)J._zod.bag.minimum=$.minimum}),_._zod.check=(J)=>{let D=J.value;if(D.length>=$.minimum)return;let W=cU(D);J.issues.push({origin:W,code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),b5=A("$ZodCheckLengthEquals",(_,$)=>{var U;k_.init(_,$),(U=_._zod.def).when??(U.when=(J)=>{let D=J.value;return!U4(D)&&D.length!==void 0}),_._zod.onattach.push((J)=>{let D=J._zod.bag;D.minimum=$.length,D.maximum=$.length,D.length=$.length}),_._zod.check=(J)=>{let D=J.value,j=D.length;if(j===$.length)return;let W=cU(D),G=j>$.length;J.issues.push({origin:W,...G?{code:"too_big",maximum:$.length}:{code:"too_small",minimum:$.length},inclusive:!0,exact:!0,input:J.value,inst:_,continue:!$.abort})}}),K1=A("$ZodCheckStringFormat",(_,$)=>{var U,J;if(k_.init(_,$),_._zod.onattach.push((D)=>{let j=D._zod.bag;if(j.format=$.format,$.pattern)j.patterns??(j.patterns=new Set),j.patterns.add($.pattern)}),$.pattern)(U=_._zod).check??(U.check=(D)=>{if($.pattern.lastIndex=0,$.pattern.test(D.value))return;D.issues.push({origin:"string",code:"invalid_format",format:$.format,input:D.value,...$.pattern?{pattern:$.pattern.toString()}:{},inst:_,continue:!$.abort})});else(J=_._zod).check??(J.check=()=>{})}),K5=A("$ZodCheckRegex",(_,$)=>{K1.init(_,$),_._zod.check=(U)=>{if($.pattern.lastIndex=0,$.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:"regex",input:U.value,pattern:$.pattern.toString(),inst:_,continue:!$.abort})}}),I5=A("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=Q5),K1.init(_,$)}),F5=A("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=q5),K1.init(_,$)}),M5=A("$ZodCheckIncludes",(_,$)=>{k_.init(_,$);let U=k$($.includes),J=new RegExp(typeof $.position==="number"?`^.{${$.position}}${U}`:U);$.pattern=J,_._zod.onattach.push((D)=>{let j=D._zod.bag;j.patterns??(j.patterns=new Set),j.patterns.add(J)}),_._zod.check=(D)=>{if(D.value.includes($.includes,$.position))return;D.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:$.includes,input:D.value,inst:_,continue:!$.abort})}}),P5=A("$ZodCheckStartsWith",(_,$)=>{k_.init(_,$);let U=new RegExp(`^${k$($.prefix)}.*`);$.pattern??($.pattern=U),_._zod.onattach.push((J)=>{let D=J._zod.bag;D.patterns??(D.patterns=new Set),D.patterns.add(U)}),_._zod.check=(J)=>{if(J.value.startsWith($.prefix))return;J.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:$.prefix,input:J.value,inst:_,continue:!$.abort})}}),k5=A("$ZodCheckEndsWith",(_,$)=>{k_.init(_,$);let U=new RegExp(`.*${k$($.suffix)}$`);$.pattern??($.pattern=U),_._zod.onattach.push((J)=>{let D=J._zod.bag;D.patterns??(D.patterns=new Set),D.patterns.add(U)}),_._zod.check=(J)=>{if(J.value.endsWith($.suffix))return;J.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:$.suffix,input:J.value,inst:_,continue:!$.abort})}});w5=A("$ZodCheckProperty",(_,$)=>{k_.init(_,$),_._zod.check=(U)=>{let J=$.schema._zod.run({value:U.value[$.property],issues:[]},{});if(J instanceof Promise)return J.then((D)=>YL(D,U,$.property));YL(J,U,$.property);return}}),S5=A("$ZodCheckMimeType",(_,$)=>{k_.init(_,$);let U=new Set($.mime);_._zod.onattach.push((J)=>{J._zod.bag.mime=$.mime}),_._zod.check=(J)=>{if(U.has(J.value.type))return;J.issues.push({code:"invalid_value",values:$.mime,input:J.value.type,inst:_,continue:!$.abort})}}),f5=A("$ZodCheckOverwrite",(_,$)=>{k_.init(_,$),_._zod.check=(U)=>{U.value=$.tx(U.value)}})});class kJ{constructor(_=[]){if(this.content=[],this.indent=0,this)this.args=_}indented(_){this.indent+=1,_(this),this.indent-=1}write(_){if(typeof _==="function"){_(this,{execution:"sync"}),_(this,{execution:"async"});return}let U=_.split(` -`).filter((j)=>j),J=Math.min(...U.map((j)=>j.length-j.trimStart().length)),D=U.map((j)=>j.slice(J)).map((j)=>" ".repeat(this.indent*2)+j);for(let j of D)this.content.push(j)}compile(){let _=Function,$=this?.args,J=[...(this?.content??[""]).map((D)=>` ${D}`)];return new _(...$,J.join(` -`))}}var T5;var C5=Z(()=>{T5={major:4,minor:4,patch:3}});function UN(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function PL(_){if(!KJ.test(_))return!1;let $=_.replace(/[-_]/g,(J)=>J==="-"?"+":"/"),U=$.padEnd(Math.ceil($.length/4)*4,"=");return UN(U)}function kL(_,$=null){try{let U=_.split(".");if(U.length!==3)return!1;let[J]=U;if(!J)return!1;let D=JSON.parse(atob(J));if("typ"in D&&D?.typ!=="JWT")return!1;if(!D.alg)return!1;if($&&(!("alg"in D)||D.alg!==$))return!1;return!0}catch{return!1}}function qL(_,$,U){if(_.issues.length)$.issues.push(...Y$(U,_.issues));$.value[U]=_.value}function TJ(_,$,U,J,D,j){let W=U in J;if(_.issues.length){if(D&&j&&!W)return;$.issues.push(...Y$(U,_.issues))}if(!W&&!D){if(!_.issues.length)$.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if(_.value===void 0){if(W)$.value[U]=void 0}else $.value[U]=_.value}function wL(_){let $=Object.keys(_.shape);for(let J of $)if(!_.shape?.[J]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${J}": expected a Zod schema`);let U=fX(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(U)}}function SL(_,$,U,J,D,j){let W=[],G=D.keySet,X=D.catchall._zod,N=X.def.type,z=X.optin==="optional",L=X.optout==="optional";for(let E in $){if(E==="__proto__")continue;if(G.has(E))continue;if(N==="never"){W.push(E);continue}let Q=X.run({value:$[E],issues:[]},J);if(Q instanceof Promise)_.push(Q.then((q)=>TJ(q,U,E,$,z,L)));else TJ(Q,U,E,$,z,L)}if(W.length)U.issues.push({code:"unrecognized_keys",keys:W,input:$,inst:j});if(!_.length)return U;return Promise.all(_).then(()=>{return U})}function LL(_,$,U,J){for(let j of _)if(j.issues.length===0)return $.value=j.value,$;let D=_.filter((j)=>!j4(j));if(D.length===1)return $.value=D[0].value,D[0];return $.issues.push({code:"invalid_union",input:$.value,inst:U,errors:_.map((j)=>j.issues.map((W)=>W$(W,J,x_())))}),$}function gL(_,$,U,J){let D=_.filter((j)=>j.issues.length===0);if(D.length===1)return $.value=D[0].value,$;if(D.length===0)$.issues.push({code:"invalid_union",input:$.value,inst:U,errors:_.map((j)=>j.issues.map((W)=>W$(W,J,x_())))});else $.issues.push({code:"invalid_union",input:$.value,inst:U,errors:[],inclusive:!1});return $}function Z5(_,$){if(_===$)return{valid:!0,data:_};if(_ instanceof Date&&$ instanceof Date&&+_===+$)return{valid:!0,data:_};if(J4(_)&&J4($)){let U=Object.keys($),J=Object.keys(_).filter((j)=>U.indexOf(j)!==-1),D={..._,...$};for(let j of J){let W=Z5(_[j],$[j]);if(!W.valid)return{valid:!1,mergeErrorPath:[j,...W.mergeErrorPath]};D[j]=W.data}return{valid:!0,data:D}}if(Array.isArray(_)&&Array.isArray($)){if(_.length!==$.length)return{valid:!1,mergeErrorPath:[]};let U=[];for(let J=0;J<_.length;J++){let D=_[J],j=$[J],W=Z5(D,j);if(!W.valid)return{valid:!1,mergeErrorPath:[J,...W.mergeErrorPath]};U.push(W.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function EL(_,$,U){let J=new Map,D;for(let G of $.issues)if(G.code==="unrecognized_keys"){D??(D=G);for(let X of G.keys){if(!J.has(X))J.set(X,{});J.get(X).l=!0}}else _.issues.push(G);for(let G of U.issues)if(G.code==="unrecognized_keys")for(let X of G.keys){if(!J.has(X))J.set(X,{});J.get(X).r=!0}else _.issues.push(G);let j=[...J].filter(([,G])=>G.l&&G.r).map(([G])=>G);if(j.length&&D)_.issues.push({...D,keys:j});if(j4(_))return _;let W=Z5($.value,U.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return _.value=W.data,_}function BL(_,$){for(let U=_.length-1;U>=0;U--)if(_[U]._zod[$]!=="optional")return U+1;return 0}function RL(_,$,U){if(_.issues.length)$.issues.push(...Y$(U,_.issues));$.value[U]=_.value}function HL(_,$,U,J,D){for(let j=0;j=D){$.value.length=j;break}$.issues.push(...Y$(j,W.issues))}$.value[j]=W.value}for(let j=$.value.length-1;j>=J.length;j--)if(U[j]._zod.optout==="optional"&&$.value[j]===void 0)$.value.length=j;else break;return $}function AL(_,$,U,J,D,j,W){if(_.issues.length)if(mU.has(typeof J))U.issues.push(...Y$(J,_.issues));else U.issues.push({code:"invalid_key",origin:"map",input:D,inst:j,issues:_.issues.map((G)=>W$(G,W,x_()))});if($.issues.length)if(mU.has(typeof J))U.issues.push(...Y$(J,$.issues));else U.issues.push({origin:"map",code:"invalid_element",input:D,inst:j,key:J,issues:$.issues.map((G)=>W$(G,W,x_()))});U.value.set(_.value,$.value)}function VL(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function bL(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function KL(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function IL(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function wJ(_,$,U){if(_.issues.length)return _.aborted=!0,_;return $._zod.run({value:_.value,issues:_.issues,fallback:_.fallback},U)}function SJ(_,$,U){if(_.issues.length)return _.aborted=!0,_;if((U.direction||"forward")==="forward"){let D=$.transform(_.value,_);if(D instanceof Promise)return D.then((j)=>fJ(_,j,$.out,U));return fJ(_,D,$.out,U)}else{let D=$.reverseTransform(_.value,_);if(D instanceof Promise)return D.then((j)=>fJ(_,j,$.in,U));return fJ(_,D,$.in,U)}}function fJ(_,$,U,J){if(_.issues.length)return _.aborted=!0,_;return U._zod.run({value:$,issues:_.issues},J)}function FL(_){return _.value=Object.freeze(_.value),_}function ML(_,$,U,J){if(!_){let D={code:"custom",input:U,inst:J,path:[...J._zod.def.path??[]],continue:!J._zod.def.abort};if(J._zod.def.params)D.params=J._zod.def.params;$.issues.push(E1(D))}}var $_,p4,M_,v5,y5,h5,x5,r5,u5,n5,m5,d5,c5,i5,l5,o5,p5,t5,a5,e5,s5,_N,$N,DN,JN,jN,WN,GN,CJ,XN,tU,ZJ,NN,ON,YN,zN,QN,qN,LN,gN,EN,BN,fL,RN,aU,HN,AN,VN,vJ,bN,KN,IN,FN,MN,PN,kN,yJ,wN,SN,fN,TN,CN,ZN,vN,yN,hJ,eU,hN,xN,rN,uN,nN,mN,dN;var cN=Z(()=>{PJ();i4();xX();IJ();d();C5();d();$_=A("$ZodType",(_,$)=>{var U;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=T5;let J=[..._._zod.def.checks??[]];if(_._zod.traits.has("$ZodCheck"))J.unshift(_);for(let D of J)for(let j of D._zod.onattach)j(_);if(J.length===0)(U=_._zod).deferred??(U.deferred=[]),_._zod.deferred?.push(()=>{_._zod.run=_._zod.parse});else{let D=(W,G,X)=>{let N=j4(W),z;for(let L of G){if(L._zod.def.when){if(ZX(W))continue;if(!L._zod.def.when(W))continue}else if(N)continue;let E=W.issues.length,Q=L._zod.check(W);if(Q instanceof Promise&&X?.async===!1)throw new X6;if(z||Q instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await Q,W.issues.length===E)return;if(!N)N=j4(W,E)});else{if(W.issues.length===E)continue;if(!N)N=j4(W,E)}}if(z)return z.then(()=>{return W});return W},j=(W,G,X)=>{if(j4(W))return W.aborted=!0,W;let N=D(G,J,X);if(N instanceof Promise){if(X.async===!1)throw new X6;return N.then((z)=>_._zod.parse(z,X))}return _._zod.parse(N,X)};_._zod.run=(W,G)=>{if(G.skipChecks)return _._zod.parse(W,G);if(G.direction==="backward"){let N=_._zod.parse({value:W.value,issues:[]},{...G,skipChecks:!0});if(N instanceof Promise)return N.then((z)=>{return j(z,W,G)});return j(N,W,G)}let X=_._zod.parse(W,G);if(X instanceof Promise){if(G.async===!1)throw new X6;return X.then((N)=>D(N,J,G))}return D(X,J,G)}}Y_(_,"~standard",()=>({validate:(D)=>{try{let j=yX(_,D);return j.success?{value:j.data}:{issues:j.error?.issues}}catch(j){return hX(_,D).then((W)=>W.success?{value:W.data}:{issues:W.error?.issues})}},vendor:"zod",version:1}))}),p4=A("$ZodString",(_,$)=>{$_.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??G5(_._zod.bag),_._zod.parse=(U,J)=>{if($.coerce)try{U.value=String(U.value)}catch(D){}if(typeof U.value==="string")return U;return U.issues.push({expected:"string",code:"invalid_type",input:U.value,inst:_}),U}}),M_=A("$ZodStringFormat",(_,$)=>{K1.init(_,$),p4.init(_,$)}),v5=A("$ZodGUID",(_,$)=>{$.pattern??($.pattern=lX),M_.init(_,$)}),y5=A("$ZodUUID",(_,$)=>{if($.version){let J={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[$.version];if(J===void 0)throw Error(`Invalid UUID version: "${$.version}"`);$.pattern??($.pattern=o4(J))}else $.pattern??($.pattern=o4());M_.init(_,$)}),h5=A("$ZodEmail",(_,$)=>{$.pattern??($.pattern=oX),M_.init(_,$)}),x5=A("$ZodURL",(_,$)=>{M_.init(_,$),_._zod.check=(U)=>{try{let J=U.value.trim();if(!$.normalize&&$.protocol?.source===U5.source){if(!/^https?:\/\//i.test(J)){U.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:U.value,inst:_,continue:!$.abort});return}}let D=new URL(J);if($.hostname){if($.hostname.lastIndex=0,!$.hostname.test(D.hostname))U.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:$.hostname.source,input:U.value,inst:_,continue:!$.abort})}if($.protocol){if($.protocol.lastIndex=0,!$.protocol.test(D.protocol.endsWith(":")?D.protocol.slice(0,-1):D.protocol))U.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:$.protocol.source,input:U.value,inst:_,continue:!$.abort})}if($.normalize)U.value=D.href;else U.value=J;return}catch(J){U.issues.push({code:"invalid_format",format:"url",input:U.value,inst:_,continue:!$.abort})}}}),r5=A("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=pX()),M_.init(_,$)}),u5=A("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=cX),M_.init(_,$)}),n5=A("$ZodCUID",(_,$)=>{$.pattern??($.pattern=rX),M_.init(_,$)}),m5=A("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=uX),M_.init(_,$)}),d5=A("$ZodULID",(_,$)=>{$.pattern??($.pattern=nX),M_.init(_,$)}),c5=A("$ZodXID",(_,$)=>{$.pattern??($.pattern=mX),M_.init(_,$)}),i5=A("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=dX),M_.init(_,$)}),l5=A("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=W5($)),M_.init(_,$)}),o5=A("$ZodISODate",(_,$)=>{$.pattern??($.pattern=J5),M_.init(_,$)}),p5=A("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=j5($)),M_.init(_,$)}),t5=A("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=iX),M_.init(_,$)}),a5=A("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=tX),M_.init(_,$),_._zod.bag.format="ipv4"}),e5=A("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=aX),M_.init(_,$),_._zod.bag.format="ipv6",_._zod.check=(U)=>{try{new URL(`http://[${U.value}]`)}catch{U.issues.push({code:"invalid_format",format:"ipv6",input:U.value,inst:_,continue:!$.abort})}}}),s5=A("$ZodMAC",(_,$)=>{$.pattern??($.pattern=eX($.delimiter)),M_.init(_,$),_._zod.bag.format="mac"}),_N=A("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=sX),M_.init(_,$)}),$N=A("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=_5),M_.init(_,$),_._zod.check=(U)=>{let J=U.value.split("/");try{if(J.length!==2)throw Error();let[D,j]=J;if(!j)throw Error();let W=Number(j);if(`${W}`!==j)throw Error();if(W<0||W>128)throw Error();new URL(`http://[${D}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:_,continue:!$.abort})}}});DN=A("$ZodBase64",(_,$)=>{$.pattern??($.pattern=$5),M_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(U)=>{if(UN(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:_,continue:!$.abort})}});JN=A("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=KJ),M_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(U)=>{if(PL(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:_,continue:!$.abort})}}),jN=A("$ZodE164",(_,$)=>{$.pattern??($.pattern=D5),M_.init(_,$)});WN=A("$ZodJWT",(_,$)=>{M_.init(_,$),_._zod.check=(U)=>{if(kL(U.value,$.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:_,continue:!$.abort})}}),GN=A("$ZodCustomStringFormat",(_,$)=>{M_.init(_,$),_._zod.check=(U)=>{if($.fn(U.value))return;U.issues.push({code:"invalid_format",format:$.format,input:U.value,inst:_,continue:!$.abort})}}),CJ=A("$ZodNumber",(_,$)=>{$_.init(_,$),_._zod.pattern=_._zod.bag.pattern??lU,_._zod.parse=(U,J)=>{if($.coerce)try{U.value=Number(U.value)}catch(W){}let D=U.value;if(typeof D==="number"&&!Number.isNaN(D)&&Number.isFinite(D))return U;let j=typeof D==="number"?Number.isNaN(D)?"NaN":!Number.isFinite(D)?"Infinity":void 0:void 0;return U.issues.push({expected:"number",code:"invalid_type",input:D,inst:_,...j?{received:j}:{}}),U}}),XN=A("$ZodNumberFormat",(_,$)=>{g5.init(_,$),CJ.init(_,$)}),tU=A("$ZodBoolean",(_,$)=>{$_.init(_,$),_._zod.pattern=O5,_._zod.parse=(U,J)=>{if($.coerce)try{U.value=Boolean(U.value)}catch(j){}let D=U.value;if(typeof D==="boolean")return U;return U.issues.push({expected:"boolean",code:"invalid_type",input:D,inst:_}),U}}),ZJ=A("$ZodBigInt",(_,$)=>{$_.init(_,$),_._zod.pattern=X5,_._zod.parse=(U,J)=>{if($.coerce)try{U.value=BigInt(U.value)}catch(D){}if(typeof U.value==="bigint")return U;return U.issues.push({expected:"bigint",code:"invalid_type",input:U.value,inst:_}),U}}),NN=A("$ZodBigIntFormat",(_,$)=>{E5.init(_,$),ZJ.init(_,$)}),ON=A("$ZodSymbol",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{let D=U.value;if(typeof D==="symbol")return U;return U.issues.push({expected:"symbol",code:"invalid_type",input:D,inst:_}),U}}),YN=A("$ZodUndefined",(_,$)=>{$_.init(_,$),_._zod.pattern=z5,_._zod.values=new Set([void 0]),_._zod.parse=(U,J)=>{let D=U.value;if(typeof D>"u")return U;return U.issues.push({expected:"undefined",code:"invalid_type",input:D,inst:_}),U}}),zN=A("$ZodNull",(_,$)=>{$_.init(_,$),_._zod.pattern=Y5,_._zod.values=new Set([null]),_._zod.parse=(U,J)=>{let D=U.value;if(D===null)return U;return U.issues.push({expected:"null",code:"invalid_type",input:D,inst:_}),U}}),QN=A("$ZodAny",(_,$)=>{$_.init(_,$),_._zod.parse=(U)=>U}),qN=A("$ZodUnknown",(_,$)=>{$_.init(_,$),_._zod.parse=(U)=>U}),LN=A("$ZodNever",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:_}),U}}),gN=A("$ZodVoid",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{let D=U.value;if(typeof D>"u")return U;return U.issues.push({expected:"void",code:"invalid_type",input:D,inst:_}),U}}),EN=A("$ZodDate",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{if($.coerce)try{U.value=new Date(U.value)}catch(G){}let D=U.value,j=D instanceof Date;if(j&&!Number.isNaN(D.getTime()))return U;return U.issues.push({expected:"date",code:"invalid_type",input:D,...j?{received:"Invalid Date"}:{},inst:_}),U}});BN=A("$ZodArray",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{let D=U.value;if(!Array.isArray(D))return U.issues.push({expected:"array",code:"invalid_type",input:D,inst:_}),U;U.value=Array(D.length);let j=[];for(let W=0;WqL(N,U,W)));else qL(X,U,W)}if(j.length)return Promise.all(j).then(()=>U);return U}});fL=A("$ZodObject",(_,$)=>{if($_.init(_,$),!Object.getOwnPropertyDescriptor($,"shape")?.get){let G=$.shape;Object.defineProperty($,"shape",{get:()=>{let X={...G};return Object.defineProperty($,"shape",{value:X}),X}})}let J=g1(()=>wL($));Y_(_._zod,"propValues",()=>{let G=$.shape,X={};for(let N in G){let z=G[N]._zod;if(z.values){X[N]??(X[N]=new Set);for(let L of z.values)X[N].add(L)}}return X});let D=l4,j=$.catchall,W;_._zod.parse=(G,X)=>{W??(W=J.value);let N=G.value;if(!D(N))return G.issues.push({expected:"object",code:"invalid_type",input:N,inst:_}),G;G.value={};let z=[],L=W.shape;for(let E of W.keys){let Q=L[E],q=Q._zod.optin==="optional",g=Q._zod.optout==="optional",B=Q._zod.run({value:N[E],issues:[]},X);if(B instanceof Promise)z.push(B.then((H)=>TJ(H,G,E,N,q,g)));else TJ(B,G,E,N,q,g)}if(!j)return z.length?Promise.all(z).then(()=>G):G;return SL(z,N,G,X,J.value,_)}}),RN=A("$ZodObjectJIT",(_,$)=>{fL.init(_,$);let U=_._zod.parse,J=g1(()=>wL($)),D=(E)=>{let Q=new kJ(["shape","payload","ctx"]),q=J.value,g=(K)=>{let V=OJ(K);return`shape[${V}]._zod.run({ value: input[${V}], issues: [] }, ctx)`};Q.write("const input = payload.value;");let B=Object.create(null),H=0;for(let K of q.keys)B[K]=`key_${H++}`;Q.write("const newResult = {};");for(let K of q.keys){let V=B[K],I=OJ(K),T=E[K],P=T?._zod?.optin==="optional",n=T?._zod?.optout==="optional";if(Q.write(`const ${V} = ${g(K)};`),P&&n)Q.write(` - if (${V}.issues.length) { - if (${I} in input) { - payload.issues = payload.issues.concat(${V}.issues.map(iss => ({ +var Pb=Object.create;var{getPrototypeOf:Cb,defineProperty:Z5,getOwnPropertyNames:Tb}=Object;var Sb=Object.prototype.hasOwnProperty;function Zb($){return this[$]}var vb,yb,hb=($,_,U)=>{var W=$!=null&&typeof $==="object";if(W){var J=_?vb??=new WeakMap:yb??=new WeakMap,X=J.get($);if(X)return X}U=$!=null?Pb(Cb($)):{};let G=_||!$||!$.__esModule?Z5(U,"default",{value:$,enumerable:!0}):U;for(let Q of Tb($))if(!Sb.call(G,Q))Z5(G,Q,{get:Zb.bind($,Q),enumerable:!0});if(W)J.set($,G);return G};var G0=($,_)=>()=>(_||$((_={exports:{}}).exports,_),_.exports);var xb=($)=>$;function mb($,_){this[$]=xb.bind(null,_)}var g6=($,_)=>{for(var U in _)Z5($,U,{get:_[U],enumerable:!0,configurable:!0,set:mb.bind(_,U)})};var y=($,_)=>()=>($&&(_=$($=0)),_);var C$=import.meta.require;function F($,_,U){function W(Q,Y){if(!Q._zod)Object.defineProperty(Q,"_zod",{value:{def:Y,constr:G,traits:new Set},enumerable:!1});if(Q._zod.traits.has($))return;Q._zod.traits.add($),_(Q,Y);let j=G.prototype,O=Object.keys(j);for(let B=0;B{if(U?.Parent&&Q instanceof U.Parent)return!0;return Q?._zod?.traits?.has($)}}),Object.defineProperty(G,"name",{value:$}),G}function __($){if($)Object.assign(v0,$);return v0}var M3,ZX,vX,y6,y0,v0;var h0=y(()=>{ZX=Object.freeze({status:"aborted"});vX=Symbol("zod_brand");y6=class y6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};y0=class y0 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}};(M3=globalThis).__zod_globalConfig??(M3.__zod_globalConfig={});v0=globalThis.__zod_globalConfig});var f={};g6(f,{unwrapMessage:()=>GJ,uint8ArrayToHex:()=>VT,uint8ArrayToBase64url:()=>BT,uint8ArrayToBase64:()=>w3,stringifyPrimitive:()=>I,slugify:()=>HQ,shallowClone:()=>RQ,safeExtend:()=>DT,required:()=>OT,randomString:()=>JT,propertyKeyTypes:()=>jJ,promiseAllObject:()=>UT,primitiveTypes:()=>AQ,prefixIssues:()=>k_,pick:()=>QT,partial:()=>qT,parsedType:()=>w,optionalKeys:()=>bQ,omit:()=>YT,objectClone:()=>eC,numKeys:()=>WT,nullish:()=>m4,normalizeParams:()=>S,mergeDefs:()=>Y4,merge:()=>zT,jsonStringifyReplacer:()=>g2,joinValues:()=>K,issue:()=>w2,isPlainObject:()=>d4,isObject:()=>x0,hexToUint8Array:()=>HT,getSizableOrigin:()=>DJ,getParsedType:()=>XT,getLengthableOrigin:()=>zJ,getEnumValues:()=>QJ,getElementAtPath:()=>_T,floatSafeRemainder:()=>BQ,finalizeIssue:()=>K_,extend:()=>jT,explicitlyAborted:()=>KQ,escapeRegex:()=>t_,esc:()=>yX,defineLazy:()=>E$,createTransparentProxy:()=>GT,cloneDef:()=>$T,clone:()=>N_,cleanRegex:()=>YJ,cleanEnum:()=>LT,captureStackTrace:()=>hX,cached:()=>I2,base64urlToUint8Array:()=>NT,base64ToUint8Array:()=>I3,assignProp:()=>u4,assertNotEqual:()=>oC,assertNever:()=>aC,assertIs:()=>tC,assertEqual:()=>pC,assert:()=>sC,allowsEval:()=>VQ,aborted:()=>n4,NUMBER_FORMAT_RANGES:()=>FQ,Class:()=>k3,BIGINT_FORMAT_RANGES:()=>EQ});function pC($){return $}function oC($){return $}function tC($){}function aC($){throw Error("Unexpected value in exhaustive check")}function sC($){}function QJ($){let _=Object.values($).filter((W)=>typeof W==="number");return Object.entries($).filter(([W,J])=>_.indexOf(+W)===-1).map(([W,J])=>J)}function K($,_="|"){return $.map((U)=>I(U)).join(_)}function g2($,_){if(typeof _==="bigint")return _.toString();return _}function I2($){return{get value(){{let U=$();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function m4($){return $===null||$===void 0}function YJ($){let _=$.startsWith("^")?1:0,U=$.endsWith("$")?$.length-1:$.length;return $.slice(_,U)}function BQ($,_){let U=$/_,W=Math.round(U),J=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-W)U?.[W],$)}function UT($){let _=Object.keys($),U=_.map((W)=>$[W]);return Promise.all(U).then((W)=>{let J={};for(let X=0;X<_.length;X++)J[_[X]]=W[X];return J})}function JT($=10){let U="";for(let W=0;W<$;W++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function yX($){return JSON.stringify($)}function HQ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function x0($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function d4($){if(x0($)===!1)return!1;let _=$.constructor;if(_===void 0)return!0;if(typeof _!=="function")return!0;let U=_.prototype;if(x0(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function RQ($){if(d4($))return{...$};if(Array.isArray($))return[...$];if($ instanceof Map)return new Map($);if($ instanceof Set)return new Set($);return $}function WT($){let _=0;for(let U in $)if(Object.prototype.hasOwnProperty.call($,U))_++;return _}function t_($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function N_($,_,U){let W=new $._zod.constr(_??$._zod.def);if(!_||U?.parent)W._zod.parent=$;return W}function S($){let _=$;if(!_)return{};if(typeof _==="string")return{error:()=>_};if(_?.message!==void 0){if(_?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");_.error=_.message}if(delete _.message,typeof _.error==="string")return{..._,error:()=>_.error};return _}function GT($){let _;return new Proxy({},{get(U,W,J){return _??(_=$()),Reflect.get(_,W,J)},set(U,W,J,X){return _??(_=$()),Reflect.set(_,W,J,X)},has(U,W){return _??(_=$()),Reflect.has(_,W)},deleteProperty(U,W){return _??(_=$()),Reflect.deleteProperty(_,W)},ownKeys(U){return _??(_=$()),Reflect.ownKeys(_)},getOwnPropertyDescriptor(U,W){return _??(_=$()),Reflect.getOwnPropertyDescriptor(_,W)},defineProperty(U,W,J){return _??(_=$()),Reflect.defineProperty(_,W,J)}})}function I($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function bQ($){return Object.keys($).filter((_)=>{return $[_]._zod.optin==="optional"&&$[_]._zod.optout==="optional"})}function QT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;G[Q]=U.shape[Q]}return u4(this,"shape",G),G},checks:[]});return N_($,X)}function YT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={...$._zod.def.shape};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;delete G[Q]}return u4(this,"shape",G),G},checks:[]});return N_($,X)}function jT($,_){if(!d4(_))throw Error("Invalid input to extend: expected a plain object");let U=$._zod.def.checks;if(U&&U.length>0){let X=$._zod.def.shape;for(let G in _)if(Object.getOwnPropertyDescriptor(X,G)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let J=Y4($._zod.def,{get shape(){let X={...$._zod.def.shape,..._};return u4(this,"shape",X),X}});return N_($,J)}function DT($,_){if(!d4(_))throw Error("Invalid input to safeExtend: expected a plain object");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._};return u4(this,"shape",W),W}});return N_($,U)}function zT($,_){if($._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._._zod.def.shape};return u4(this,"shape",W),W},get catchall(){return _._zod.def.catchall},checks:_._zod.def.checks??[]});return N_($,U)}function qT($,_,U){let J=_._zod.def.checks;if(J&&J.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let G=Y4(_._zod.def,{get shape(){let Q=_._zod.def.shape,Y={...Q};if(U)for(let j in U){if(!(j in Q))throw Error(`Unrecognized key: "${j}"`);if(!U[j])continue;Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j]}else for(let j in Q)Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j];return u4(this,"shape",Y),Y},checks:[]});return N_(_,G)}function OT($,_,U){let W=Y4(_._zod.def,{get shape(){let J=_._zod.def.shape,X={...J};if(U)for(let G in U){if(!(G in X))throw Error(`Unrecognized key: "${G}"`);if(!U[G])continue;X[G]=new $({type:"nonoptional",innerType:J[G]})}else for(let G in J)X[G]=new $({type:"nonoptional",innerType:J[G]});return u4(this,"shape",X),X}});return N_(_,W)}function n4($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue!==!0)return!0;return!1}function KQ($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue===!1)return!0;return!1}function k_($,_){return _.map((U)=>{var W;return(W=U).path??(W.path=[]),U.path.unshift($),U})}function GJ($){return typeof $==="string"?$:$?.message}function K_($,_,U){let W=$.message?$.message:GJ($.inst?._zod.def?.error?.($))??GJ(_?.error?.($))??GJ(U.customError?.($))??GJ(U.localeError?.($))??"Invalid input",{inst:J,continue:X,input:G,...Q}=$;if(Q.path??(Q.path=[]),Q.message=W,_?.reportInput)Q.input=G;return Q}function DJ($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function zJ($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function w($){let _=typeof $;switch(_){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let U=$;if(U&&Object.getPrototypeOf(U)!==Object.prototype&&"constructor"in U&&U.constructor)return U.constructor.name}}return _}function w2(...$){let[_,U,W]=$;if(typeof _==="string")return{message:_,code:"custom",input:U,inst:W};return{..._}}function LT($){return Object.entries($).filter(([_,U])=>{return Number.isNaN(Number.parseInt(_,10))}).map((_)=>_[1])}function I3($){let _=atob($),U=new Uint8Array(_.length);for(let W=0;W<_.length;W++)U[W]=_.charCodeAt(W);return U}function w3($){let _="";for(let U=0;U<$.length;U++)_+=String.fromCharCode($[U]);return btoa(_)}function NT($){let _=$.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-_.length%4)%4);return I3(_+U)}function BT($){return w3($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function HT($){let _=$.replace(/^0x/,"");if(_.length%2!==0)throw Error("Invalid hex string length");let U=new Uint8Array(_.length/2);for(let W=0;W<_.length;W+=2)U[W/2]=Number.parseInt(_.slice(W,W+2),16);return U}function VT($){return Array.from($).map((_)=>_.toString(16).padStart(2,"0")).join("")}class k3{constructor(...$){}}var g3,hX,VQ,XT=($)=>{let _=typeof $;switch(_){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${_}`)}},jJ,AQ,FQ,EQ;var p=y(()=>{h0();g3=Symbol("evaluating");hX="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};VQ=I2(()=>{if(v0.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});jJ=new Set(["string","number","symbol"]),AQ=new Set(["string","number","bigint","boolean","symbol","undefined"]);FQ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},EQ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function k2($,_=(U)=>U.message){let U={},W=[];for(let J of $.issues)if(J.path.length>0)U[J.path[0]]=U[J.path[0]]||[],U[J.path[0]].push(_(J));else W.push(_(J));return{formErrors:W,fieldErrors:U}}function f2($,_=(U)=>U.message){let U={_errors:[]},W=(J,X=[])=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((Q)=>W({issues:Q},[...X,...G.path]));else if(G.code==="invalid_key")W({issues:G.issues},[...X,...G.path]);else if(G.code==="invalid_element")W({issues:G.issues},[...X,...G.path]);else{let Q=[...X,...G.path];if(Q.length===0)U._errors.push(_(G));else{let Y=U,j=0;while(jU.message){let U={errors:[]},W=(J,X=[])=>{var G,Q;for(let Y of J.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((j)=>W({issues:j},[...X,...Y.path]));else if(Y.code==="invalid_key")W({issues:Y.issues},[...X,...Y.path]);else if(Y.code==="invalid_element")W({issues:Y.issues},[...X,...Y.path]);else{let j=[...X,...Y.path];if(j.length===0){U.errors.push(_(Y));continue}let O=U,B=0;while(Btypeof W==="object"?W.key:W);for(let W of U)if(typeof W==="number")_.push(`[${W}]`);else if(typeof W==="symbol")_.push(`[${JSON.stringify(String(W))}]`);else if(/[^\w$]/.test(W))_.push(`[${JSON.stringify(W)}]`);else{if(_.length)_.push(".");_.push(W)}return _.join("")}function mX($){let _=[],U=[...$.issues].sort((W,J)=>(W.path??[]).length-(J.path??[]).length);for(let W of U)if(_.push(`\u2716 ${W.message}`),W.path?.length)_.push(` \u2192 at ${P3(W.path)}`);return _.join(` +`)}var f3=($,_)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:_,enumerable:!1}),$.message=JSON.stringify(_,g2,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},qJ,f_;var MQ=y(()=>{h0();p();qJ=F("$ZodError",f3),f_=F("$ZodError",f3,{Parent:Error})});var P2=($)=>(_,U,W,J)=>{let X=W?{...W,async:!1}:{async:!1},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)throw new y6;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>K_(Y,X,__())));throw hX(Q,J?.callee),Q}return G.value},uX,C2=($)=>async(_,U,W,J)=>{let X=W?{...W,async:!0}:{async:!0},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)G=await G;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>K_(Y,X,__())));throw hX(Q,J?.callee),Q}return G.value},dX,T2=($)=>(_,U,W)=>{let J=W?{...W,async:!1}:{async:!1},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)throw new y6;return X.issues.length?{success:!1,error:new($??qJ)(X.issues.map((G)=>K_(G,J,__())))}:{success:!0,data:X.value}},gQ,S2=($)=>async(_,U,W)=>{let J=W?{...W,async:!0}:{async:!0},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)X=await X;return X.issues.length?{success:!1,error:new $(X.issues.map((G)=>K_(G,J,__())))}:{success:!0,data:X.value}},IQ,nX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return P2($)(_,U,J)},AT,cX=($)=>(_,U,W)=>{return P2($)(_,U,W)},bT,lX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return C2($)(_,U,J)},FT,rX=($)=>async(_,U,W)=>{return C2($)(_,U,W)},ET,iX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return T2($)(_,U,J)},KT,pX=($)=>(_,U,W)=>{return T2($)(_,U,W)},MT,oX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return S2($)(_,U,J)},gT,tX=($)=>async(_,U,W)=>{return S2($)(_,U,W)},IT;var wQ=y(()=>{h0();MQ();p();uX=P2(f_),dX=C2(f_),gQ=T2(f_),IQ=S2(f_),AT=nX(f_),bT=cX(f_),FT=lX(f_),ET=rX(f_),KT=iX(f_),MT=pX(f_),gT=oX(f_),IT=tX(f_)});var P_={};g6(P_,{xid:()=>CQ,uuid7:()=>PT,uuid6:()=>fT,uuid4:()=>kT,uuid:()=>m0,uppercase:()=>JY,unicodeEmail:()=>C3,undefined:()=>_Y,ulid:()=>PQ,time:()=>pQ,string:()=>tQ,sha512_hex:()=>sT,sha512_base64url:()=>$S,sha512_base64:()=>eT,sha384_hex:()=>oT,sha384_base64url:()=>aT,sha384_base64:()=>tT,sha256_hex:()=>rT,sha256_base64url:()=>pT,sha256_base64:()=>iT,sha1_hex:()=>nT,sha1_base64url:()=>lT,sha1_base64:()=>cT,rfc5322Email:()=>TT,number:()=>OJ,null:()=>$Y,nanoid:()=>SQ,md5_hex:()=>mT,md5_base64url:()=>dT,md5_base64:()=>uT,mac:()=>uQ,lowercase:()=>UY,ksuid:()=>TQ,ipv6:()=>mQ,ipv4:()=>xQ,integer:()=>sQ,idnEmail:()=>ST,httpProtocol:()=>lQ,html5Email:()=>CT,hostname:()=>yT,hex:()=>xT,guid:()=>vQ,extendedDuration:()=>wT,emoji:()=>hQ,email:()=>yQ,e164:()=>rQ,duration:()=>ZQ,domain:()=>hT,datetime:()=>oQ,date:()=>iQ,cuid2:()=>fQ,cuid:()=>kQ,cidrv6:()=>nQ,cidrv4:()=>dQ,browserEmail:()=>ZT,boolean:()=>eQ,bigint:()=>aQ,base64url:()=>aX,base64:()=>cQ});function hQ(){return new RegExp(vT,"u")}function S3($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function pQ($){return new RegExp(`^${S3($)}$`)}function oQ($){let _=S3({precision:$.precision}),U=["Z"];if($.local)U.push("");if($.offset)U.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let W=`${_}(?:${U.join("|")})`;return new RegExp(`^${T3}T(?:${W})$`)}function LJ($,_){return new RegExp(`^[A-Za-z0-9+/]{${$}}${_}$`)}function NJ($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var kQ,fQ,PQ,CQ,TQ,SQ,ZQ,wT,vQ,m0=($)=>{if(!$)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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},kT,fT,PT,yQ,CT,TT,C3,ST,ZT,vT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",xQ,mQ,uQ=($)=>{let _=t_($??":");return new RegExp(`^(?:[0-9A-F]{2}${_}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${_}){5}[0-9a-f]{2}$`)},dQ,nQ,cQ,aX,yT,hT,lQ,rQ,T3="(?:(?:\\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])))",iQ,tQ=($)=>{let _=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${_}$`)},aQ,sQ,OJ,eQ,$Y,_Y,UY,JY,xT,mT,uT,dT,nT,cT,lT,rT,iT,pT,oT,tT,aT,sT,eT,$S;var sX=y(()=>{p();kQ=/^[cC][0-9a-z]{6,}$/,fQ=/^[0-9a-z]+$/,PQ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,CQ=/^[0-9a-vA-V]{20}$/,TQ=/^[A-Za-z0-9]{27}$/,SQ=/^[a-zA-Z0-9_-]{21}$/,ZQ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wT=/^[-+]?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)?)??$/,vQ=/^([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})$/,kT=m0(4),fT=m0(6),PT=m0(7),yQ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,CT=/^[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])?)*$/,TT=/^(([^<>()\[\]\\.,;:\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,}))$/,C3=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ST=C3,ZT=/^[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])?)*$/;xQ=/^(?:(?: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])$/,mQ=/^(([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}|:))$/,dQ=/^((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])$/,nQ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,cQ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,aX=/^[A-Za-z0-9_-]*$/,yT=/^(?=.{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])?)*\.?$/,hT=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,lQ=/^https?$/,rQ=/^\+[1-9]\d{6,14}$/,iQ=new RegExp(`^${T3}$`);aQ=/^-?\d+n?$/,sQ=/^-?\d+$/,OJ=/^-?\d+(?:\.\d+)?$/,eQ=/^(?:true|false)$/i,$Y=/^null$/i,_Y=/^undefined$/i,UY=/^[^A-Z]*$/,JY=/^[^a-z]*$/,xT=/^[0-9a-fA-F]*$/;mT=/^[0-9a-fA-F]{32}$/,uT=LJ(22,"=="),dT=NJ(22),nT=/^[0-9a-fA-F]{40}$/,cT=LJ(27,"="),lT=NJ(27),rT=/^[0-9a-fA-F]{64}$/,iT=LJ(43,"="),pT=NJ(43),oT=/^[0-9a-fA-F]{96}$/,tT=LJ(64,""),aT=NJ(64),sT=/^[0-9a-fA-F]{128}$/,eT=LJ(86,"=="),$S=NJ(86)});function Z3($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues))}var n$,v3,eX,$9,WY,XY,GY,QY,YY,jY,DY,zY,qY,Z2,OY,LY,NY,BY,HY,VY,RY,AY,bY;var _9=y(()=>{h0();sX();p();n$=F("$ZodCheck",($,_)=>{var U;$._zod??($._zod={}),$._zod.def=_,(U=$._zod).onattach??(U.onattach=[])}),v3={number:"number",bigint:"bigint",object:"date"},eX=F("$ZodCheckLessThan",($,_)=>{n$.init($,_);let U=v3[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.maximum:J.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(_.value{if(_.inclusive?W.value<=_.value:W.value<_.value)return;W.issues.push({origin:U,code:"too_big",maximum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),$9=F("$ZodCheckGreaterThan",($,_)=>{n$.init($,_);let U=v3[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.minimum:J.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(_.value>X)if(_.inclusive)J.minimum=_.value;else J.exclusiveMinimum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value>=_.value:W.value>_.value)return;W.issues.push({origin:U,code:"too_small",minimum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),WY=F("$ZodCheckMultipleOf",($,_)=>{n$.init($,_),$._zod.onattach.push((U)=>{var W;(W=U._zod.bag).multipleOf??(W.multipleOf=_.value)}),$._zod.check=(U)=>{if(typeof U.value!==typeof _.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof U.value==="bigint"?U.value%_.value===BigInt(0):BQ(U.value,_.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:_.value,input:U.value,inst:$,continue:!_.abort})}}),XY=F("$ZodCheckNumberFormat",($,_)=>{n$.init($,_),_.format=_.format||"float64";let U=_.format?.includes("int"),W=U?"int":"number",[J,X]=FQ[_.format];$._zod.onattach.push((G)=>{let Q=G._zod.bag;if(Q.format=_.format,Q.minimum=J,Q.maximum=X,U)Q.pattern=sQ}),$._zod.check=(G)=>{let Q=G.value;if(U){if(!Number.isInteger(Q)){G.issues.push({expected:W,format:_.format,code:"invalid_type",continue:!1,input:Q,inst:$});return}if(!Number.isSafeInteger(Q)){if(Q>0)G.issues.push({input:Q,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});else G.issues.push({input:Q,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});return}}if(QX)G.issues.push({origin:"number",input:Q,code:"too_big",maximum:X,inclusive:!0,inst:$,continue:!_.abort})}}),GY=F("$ZodCheckBigIntFormat",($,_)=>{n$.init($,_);let[U,W]=EQ[_.format];$._zod.onattach.push((J)=>{let X=J._zod.bag;X.format=_.format,X.minimum=U,X.maximum=W}),$._zod.check=(J)=>{let X=J.value;if(XW)J.issues.push({origin:"bigint",input:X,code:"too_big",maximum:W,inclusive:!0,inst:$,continue:!_.abort})}}),QY=F("$ZodCheckMaxSize",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum{let J=W.value;if(J.size<=_.maximum)return;W.issues.push({origin:DJ(J),code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),YY=F("$ZodCheckMinSize",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.size>=_.minimum)return;W.issues.push({origin:DJ(J),code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),jY=F("$ZodCheckSizeEquals",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.size,J.maximum=_.size,J.size=_.size}),$._zod.check=(W)=>{let J=W.value,X=J.size;if(X===_.size)return;let G=X>_.size;W.issues.push({origin:DJ(J),...G?{code:"too_big",maximum:_.size}:{code:"too_small",minimum:_.size},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),DY=F("$ZodCheckMaxLength",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum{let J=W.value;if(J.length<=_.maximum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),zY=F("$ZodCheckMinLength",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.length>=_.minimum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),qY=F("$ZodCheckLengthEquals",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.length,J.maximum=_.length,J.length=_.length}),$._zod.check=(W)=>{let J=W.value,X=J.length;if(X===_.length)return;let G=zJ(J),Q=X>_.length;W.issues.push({origin:G,...Q?{code:"too_big",maximum:_.length}:{code:"too_small",minimum:_.length},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),Z2=F("$ZodCheckStringFormat",($,_)=>{var U,W;if(n$.init($,_),$._zod.onattach.push((J)=>{let X=J._zod.bag;if(X.format=_.format,_.pattern)X.patterns??(X.patterns=new Set),X.patterns.add(_.pattern)}),_.pattern)(U=$._zod).check??(U.check=(J)=>{if(_.pattern.lastIndex=0,_.pattern.test(J.value))return;J.issues.push({origin:"string",code:"invalid_format",format:_.format,input:J.value,..._.pattern?{pattern:_.pattern.toString()}:{},inst:$,continue:!_.abort})});else(W=$._zod).check??(W.check=()=>{})}),OY=F("$ZodCheckRegex",($,_)=>{Z2.init($,_),$._zod.check=(U)=>{if(_.pattern.lastIndex=0,_.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:"regex",input:U.value,pattern:_.pattern.toString(),inst:$,continue:!_.abort})}}),LY=F("$ZodCheckLowerCase",($,_)=>{_.pattern??(_.pattern=UY),Z2.init($,_)}),NY=F("$ZodCheckUpperCase",($,_)=>{_.pattern??(_.pattern=JY),Z2.init($,_)}),BY=F("$ZodCheckIncludes",($,_)=>{n$.init($,_);let U=t_(_.includes),W=new RegExp(typeof _.position==="number"?`^.{${_.position}}${U}`:U);_.pattern=W,$._zod.onattach.push((J)=>{let X=J._zod.bag;X.patterns??(X.patterns=new Set),X.patterns.add(W)}),$._zod.check=(J)=>{if(J.value.includes(_.includes,_.position))return;J.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:_.includes,input:J.value,inst:$,continue:!_.abort})}}),HY=F("$ZodCheckStartsWith",($,_)=>{n$.init($,_);let U=new RegExp(`^${t_(_.prefix)}.*`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.startsWith(_.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:_.prefix,input:W.value,inst:$,continue:!_.abort})}}),VY=F("$ZodCheckEndsWith",($,_)=>{n$.init($,_);let U=new RegExp(`.*${t_(_.suffix)}$`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.endsWith(_.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:_.suffix,input:W.value,inst:$,continue:!_.abort})}});RY=F("$ZodCheckProperty",($,_)=>{n$.init($,_),$._zod.check=(U)=>{let W=_.schema._zod.run({value:U.value[_.property],issues:[]},{});if(W instanceof Promise)return W.then((J)=>Z3(J,U,_.property));Z3(W,U,_.property);return}}),AY=F("$ZodCheckMimeType",($,_)=>{n$.init($,_);let U=new Set(_.mime);$._zod.onattach.push((W)=>{W._zod.bag.mime=_.mime}),$._zod.check=(W)=>{if(U.has(W.value.type))return;W.issues.push({code:"invalid_value",values:_.mime,input:W.value.type,inst:$,continue:!_.abort})}}),bY=F("$ZodCheckOverwrite",($,_)=>{n$.init($,_),$._zod.check=(U)=>{U.value=_.tx(U.value)}})});class U9{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let U=$.split(` +`).filter((X)=>X),W=Math.min(...U.map((X)=>X.length-X.trimStart().length)),J=U.map((X)=>X.slice(W)).map((X)=>" ".repeat(this.indent*2)+X);for(let X of J)this.content.push(X)}compile(){let $=Function,_=this?.args,W=[...(this?.content??[""]).map((J)=>` ${J}`)];return new $(..._,W.join(` +`))}}var FY;var EY=y(()=>{FY={major:4,minor:4,patch:3}});function lY($){if($==="")return!0;if(/\s/.test($))return!1;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}function s3($){if(!aX.test($))return!1;let _=$.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),U=_.padEnd(Math.ceil(_.length/4)*4,"=");return lY(U)}function e3($,_=null){try{let U=$.split(".");if(U.length!==3)return!1;let[W]=U;if(!W)return!1;let J=JSON.parse(atob(W));if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&(!("alg"in J)||J.alg!==_))return!1;return!0}catch{return!1}}function h3($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function G9($,_,U,W,J,X){let G=U in W;if($.issues.length){if(J&&X&&!G)return;_.issues.push(...k_(U,$.issues))}if(!G&&!J){if(!$.issues.length)_.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if($.value===void 0){if(G)_.value[U]=void 0}else _.value[U]=$.value}function $H($){let _=Object.keys($.shape);for(let W of _)if(!$.shape?.[W]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${W}": expected a Zod schema`);let U=bQ($.shape);return{...$,keys:_,keySet:new Set(_),numKeys:_.length,optionalKeys:new Set(U)}}function _H($,_,U,W,J,X){let G=[],Q=J.keySet,Y=J.catchall._zod,j=Y.def.type,O=Y.optin==="optional",B=Y.optout==="optional";for(let V in _){if(V==="__proto__")continue;if(Q.has(V))continue;if(j==="never"){G.push(V);continue}let L=Y.run({value:_[V],issues:[]},W);if(L instanceof Promise)$.push(L.then((N)=>G9(N,U,V,_,O,B)));else G9(L,U,V,_,O,B)}if(G.length)U.issues.push({code:"unrecognized_keys",keys:G,input:_,inst:X});if(!$.length)return U;return Promise.all($).then(()=>{return U})}function x3($,_,U,W){for(let X of $)if(X.issues.length===0)return _.value=X.value,_;let J=$.filter((X)=>!n4(X));if(J.length===1)return _.value=J[0].value,J[0];return _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>K_(G,W,__())))}),_}function m3($,_,U,W){let J=$.filter((X)=>X.issues.length===0);if(J.length===1)return _.value=J[0].value,_;if(J.length===0)_.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>K_(G,W,__())))});else _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:[],inclusive:!1});return _}function KY($,_){if($===_)return{valid:!0,data:$};if($ instanceof Date&&_ instanceof Date&&+$===+_)return{valid:!0,data:$};if(d4($)&&d4(_)){let U=Object.keys(_),W=Object.keys($).filter((X)=>U.indexOf(X)!==-1),J={...$,..._};for(let X of W){let G=KY($[X],_[X]);if(!G.valid)return{valid:!1,mergeErrorPath:[X,...G.mergeErrorPath]};J[X]=G.data}return{valid:!0,data:J}}if(Array.isArray($)&&Array.isArray(_)){if($.length!==_.length)return{valid:!1,mergeErrorPath:[]};let U=[];for(let W=0;W<$.length;W++){let J=$[W],X=_[W],G=KY(J,X);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};U.push(G.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function u3($,_,U){let W=new Map,J;for(let Q of _.issues)if(Q.code==="unrecognized_keys"){J??(J=Q);for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).l=!0}}else $.issues.push(Q);for(let Q of U.issues)if(Q.code==="unrecognized_keys")for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).r=!0}else $.issues.push(Q);let X=[...W].filter(([,Q])=>Q.l&&Q.r).map(([Q])=>Q);if(X.length&&J)$.issues.push({...J,keys:X});if(n4($))return $;let G=KY(_.value,U.value);if(!G.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(G.mergeErrorPath)}`);return $.value=G.data,$}function d3($,_){for(let U=$.length-1;U>=0;U--)if($[U]._zod[_]!=="optional")return U+1;return 0}function n3($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function c3($,_,U,W,J){for(let X=0;X=J){_.value.length=X;break}_.issues.push(...k_(X,G.issues))}_.value[X]=G.value}for(let X=_.value.length-1;X>=W.length;X--)if(U[X]._zod.optout==="optional"&&_.value[X]===void 0)_.value.length=X;else break;return _}function l3($,_,U,W,J,X,G){if($.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,$.issues));else U.issues.push({code:"invalid_key",origin:"map",input:J,inst:X,issues:$.issues.map((Q)=>K_(Q,G,__()))});if(_.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,_.issues));else U.issues.push({origin:"map",code:"invalid_element",input:J,inst:X,key:W,issues:_.issues.map((Q)=>K_(Q,G,__()))});U.value.set($.value,_.value)}function r3($,_){if($.issues.length)_.issues.push(...$.issues);_.value.add($.value)}function i3($,_){if(_===void 0&&($.issues.length||$.fallback))return{issues:[],value:void 0};return $}function p3($,_){if($.value===void 0)$.value=_.defaultValue;return $}function o3($,_){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:_});return $}function J9($,_,U){if($.issues.length)return $.aborted=!0,$;return _._zod.run({value:$.value,issues:$.issues,fallback:$.fallback},U)}function W9($,_,U){if($.issues.length)return $.aborted=!0,$;if((U.direction||"forward")==="forward"){let J=_.transform($.value,$);if(J instanceof Promise)return J.then((X)=>X9($,X,_.out,U));return X9($,J,_.out,U)}else{let J=_.reverseTransform($.value,$);if(J instanceof Promise)return J.then((X)=>X9($,X,_.in,U));return X9($,J,_.in,U)}}function X9($,_,U,W){if($.issues.length)return $.aborted=!0,$;return U._zod.run({value:_,issues:$.issues},W)}function t3($){return $.value=Object.freeze($.value),$}function a3($,_,U,W){if(!$){let J={code:"custom",input:U,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)J.params=W._zod.def.params;_.issues.push(w2(J))}}var D$,u0,u$,MY,gY,IY,wY,kY,fY,PY,CY,TY,SY,ZY,vY,yY,hY,xY,mY,uY,dY,nY,cY,rY,iY,pY,oY,tY,Q9,aY,BJ,Y9,sY,eY,$j,_j,Uj,Jj,Wj,Xj,Gj,Qj,UH,Yj,HJ,jj,Dj,zj,j9,qj,Oj,Lj,Nj,Bj,Hj,Vj,D9,Rj,Aj,bj,Fj,Ej,Kj,Mj,gj,z9,VJ,Ij,wj,kj,fj,Pj,Cj,Tj;var Sj=y(()=>{_9();h0();wQ();sX();p();EY();p();D$=F("$ZodType",($,_)=>{var U;$??($={}),$._zod.def=_,$._zod.bag=$._zod.bag||{},$._zod.version=FY;let W=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))W.unshift($);for(let J of W)for(let X of J._zod.onattach)X($);if(W.length===0)(U=$._zod).deferred??(U.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let J=(G,Q,Y)=>{let j=n4(G),O;for(let B of Q){if(B._zod.def.when){if(KQ(G))continue;if(!B._zod.def.when(G))continue}else if(j)continue;let V=G.issues.length,L=B._zod.check(G);if(L instanceof Promise&&Y?.async===!1)throw new y6;if(O||L instanceof Promise)O=(O??Promise.resolve()).then(async()=>{if(await L,G.issues.length===V)return;if(!j)j=n4(G,V)});else{if(G.issues.length===V)continue;if(!j)j=n4(G,V)}}if(O)return O.then(()=>{return G});return G},X=(G,Q,Y)=>{if(n4(G))return G.aborted=!0,G;let j=J(Q,W,Y);if(j instanceof Promise){if(Y.async===!1)throw new y6;return j.then((O)=>$._zod.parse(O,Y))}return $._zod.parse(j,Y)};$._zod.run=(G,Q)=>{if(Q.skipChecks)return $._zod.parse(G,Q);if(Q.direction==="backward"){let j=$._zod.parse({value:G.value,issues:[]},{...Q,skipChecks:!0});if(j instanceof Promise)return j.then((O)=>{return X(O,G,Q)});return X(j,G,Q)}let Y=$._zod.parse(G,Q);if(Y instanceof Promise){if(Q.async===!1)throw new y6;return Y.then((j)=>J(j,W,Q))}return J(Y,W,Q)}}E$($,"~standard",()=>({validate:(J)=>{try{let X=gQ($,J);return X.success?{value:X.data}:{issues:X.error?.issues}}catch(X){return IQ($,J).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}))}),u0=F("$ZodString",($,_)=>{D$.init($,_),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??tQ($._zod.bag),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=String(U.value)}catch(J){}if(typeof U.value==="string")return U;return U.issues.push({expected:"string",code:"invalid_type",input:U.value,inst:$}),U}}),u$=F("$ZodStringFormat",($,_)=>{Z2.init($,_),u0.init($,_)}),MY=F("$ZodGUID",($,_)=>{_.pattern??(_.pattern=vQ),u$.init($,_)}),gY=F("$ZodUUID",($,_)=>{if(_.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[_.version];if(W===void 0)throw Error(`Invalid UUID version: "${_.version}"`);_.pattern??(_.pattern=m0(W))}else _.pattern??(_.pattern=m0());u$.init($,_)}),IY=F("$ZodEmail",($,_)=>{_.pattern??(_.pattern=yQ),u$.init($,_)}),wY=F("$ZodURL",($,_)=>{u$.init($,_),$._zod.check=(U)=>{try{let W=U.value.trim();if(!_.normalize&&_.protocol?.source===lQ.source){if(!/^https?:\/\//i.test(W)){U.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:U.value,inst:$,continue:!_.abort});return}}let J=new URL(W);if(_.hostname){if(_.hostname.lastIndex=0,!_.hostname.test(J.hostname))U.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:_.hostname.source,input:U.value,inst:$,continue:!_.abort})}if(_.protocol){if(_.protocol.lastIndex=0,!_.protocol.test(J.protocol.endsWith(":")?J.protocol.slice(0,-1):J.protocol))U.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:_.protocol.source,input:U.value,inst:$,continue:!_.abort})}if(_.normalize)U.value=J.href;else U.value=W;return}catch(W){U.issues.push({code:"invalid_format",format:"url",input:U.value,inst:$,continue:!_.abort})}}}),kY=F("$ZodEmoji",($,_)=>{_.pattern??(_.pattern=hQ()),u$.init($,_)}),fY=F("$ZodNanoID",($,_)=>{_.pattern??(_.pattern=SQ),u$.init($,_)}),PY=F("$ZodCUID",($,_)=>{_.pattern??(_.pattern=kQ),u$.init($,_)}),CY=F("$ZodCUID2",($,_)=>{_.pattern??(_.pattern=fQ),u$.init($,_)}),TY=F("$ZodULID",($,_)=>{_.pattern??(_.pattern=PQ),u$.init($,_)}),SY=F("$ZodXID",($,_)=>{_.pattern??(_.pattern=CQ),u$.init($,_)}),ZY=F("$ZodKSUID",($,_)=>{_.pattern??(_.pattern=TQ),u$.init($,_)}),vY=F("$ZodISODateTime",($,_)=>{_.pattern??(_.pattern=oQ(_)),u$.init($,_)}),yY=F("$ZodISODate",($,_)=>{_.pattern??(_.pattern=iQ),u$.init($,_)}),hY=F("$ZodISOTime",($,_)=>{_.pattern??(_.pattern=pQ(_)),u$.init($,_)}),xY=F("$ZodISODuration",($,_)=>{_.pattern??(_.pattern=ZQ),u$.init($,_)}),mY=F("$ZodIPv4",($,_)=>{_.pattern??(_.pattern=xQ),u$.init($,_),$._zod.bag.format="ipv4"}),uY=F("$ZodIPv6",($,_)=>{_.pattern??(_.pattern=mQ),u$.init($,_),$._zod.bag.format="ipv6",$._zod.check=(U)=>{try{new URL(`http://[${U.value}]`)}catch{U.issues.push({code:"invalid_format",format:"ipv6",input:U.value,inst:$,continue:!_.abort})}}}),dY=F("$ZodMAC",($,_)=>{_.pattern??(_.pattern=uQ(_.delimiter)),u$.init($,_),$._zod.bag.format="mac"}),nY=F("$ZodCIDRv4",($,_)=>{_.pattern??(_.pattern=dQ),u$.init($,_)}),cY=F("$ZodCIDRv6",($,_)=>{_.pattern??(_.pattern=nQ),u$.init($,_),$._zod.check=(U)=>{let W=U.value.split("/");try{if(W.length!==2)throw Error();let[J,X]=W;if(!X)throw Error();let G=Number(X);if(`${G}`!==X)throw Error();if(G<0||G>128)throw Error();new URL(`http://[${J}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:$,continue:!_.abort})}}});rY=F("$ZodBase64",($,_)=>{_.pattern??(_.pattern=cQ),u$.init($,_),$._zod.bag.contentEncoding="base64",$._zod.check=(U)=>{if(lY(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:$,continue:!_.abort})}});iY=F("$ZodBase64URL",($,_)=>{_.pattern??(_.pattern=aX),u$.init($,_),$._zod.bag.contentEncoding="base64url",$._zod.check=(U)=>{if(s3(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:$,continue:!_.abort})}}),pY=F("$ZodE164",($,_)=>{_.pattern??(_.pattern=rQ),u$.init($,_)});oY=F("$ZodJWT",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(e3(U.value,_.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:$,continue:!_.abort})}}),tY=F("$ZodCustomStringFormat",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(_.fn(U.value))return;U.issues.push({code:"invalid_format",format:_.format,input:U.value,inst:$,continue:!_.abort})}}),Q9=F("$ZodNumber",($,_)=>{D$.init($,_),$._zod.pattern=$._zod.bag.pattern??OJ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Number(U.value)}catch(G){}let J=U.value;if(typeof J==="number"&&!Number.isNaN(J)&&Number.isFinite(J))return U;let X=typeof J==="number"?Number.isNaN(J)?"NaN":!Number.isFinite(J)?"Infinity":void 0:void 0;return U.issues.push({expected:"number",code:"invalid_type",input:J,inst:$,...X?{received:X}:{}}),U}}),aY=F("$ZodNumberFormat",($,_)=>{XY.init($,_),Q9.init($,_)}),BJ=F("$ZodBoolean",($,_)=>{D$.init($,_),$._zod.pattern=eQ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Boolean(U.value)}catch(X){}let J=U.value;if(typeof J==="boolean")return U;return U.issues.push({expected:"boolean",code:"invalid_type",input:J,inst:$}),U}}),Y9=F("$ZodBigInt",($,_)=>{D$.init($,_),$._zod.pattern=aQ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=BigInt(U.value)}catch(J){}if(typeof U.value==="bigint")return U;return U.issues.push({expected:"bigint",code:"invalid_type",input:U.value,inst:$}),U}}),sY=F("$ZodBigIntFormat",($,_)=>{GY.init($,_),Y9.init($,_)}),eY=F("$ZodSymbol",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J==="symbol")return U;return U.issues.push({expected:"symbol",code:"invalid_type",input:J,inst:$}),U}}),$j=F("$ZodUndefined",($,_)=>{D$.init($,_),$._zod.pattern=_Y,$._zod.values=new Set([void 0]),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"undefined",code:"invalid_type",input:J,inst:$}),U}}),_j=F("$ZodNull",($,_)=>{D$.init($,_),$._zod.pattern=$Y,$._zod.values=new Set([null]),$._zod.parse=(U,W)=>{let J=U.value;if(J===null)return U;return U.issues.push({expected:"null",code:"invalid_type",input:J,inst:$}),U}}),Uj=F("$ZodAny",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Jj=F("$ZodUnknown",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Wj=F("$ZodNever",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:$}),U}}),Xj=F("$ZodVoid",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"void",code:"invalid_type",input:J,inst:$}),U}}),Gj=F("$ZodDate",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=new Date(U.value)}catch(Q){}let J=U.value,X=J instanceof Date;if(X&&!Number.isNaN(J.getTime()))return U;return U.issues.push({expected:"date",code:"invalid_type",input:J,...X?{received:"Invalid Date"}:{},inst:$}),U}});Qj=F("$ZodArray",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!Array.isArray(J))return U.issues.push({expected:"array",code:"invalid_type",input:J,inst:$}),U;U.value=Array(J.length);let X=[];for(let G=0;Gh3(j,U,G)));else h3(Y,U,G)}if(X.length)return Promise.all(X).then(()=>U);return U}});UH=F("$ZodObject",($,_)=>{if(D$.init($,_),!Object.getOwnPropertyDescriptor(_,"shape")?.get){let Q=_.shape;Object.defineProperty(_,"shape",{get:()=>{let Y={...Q};return Object.defineProperty(_,"shape",{value:Y}),Y}})}let W=I2(()=>$H(_));E$($._zod,"propValues",()=>{let Q=_.shape,Y={};for(let j in Q){let O=Q[j]._zod;if(O.values){Y[j]??(Y[j]=new Set);for(let B of O.values)Y[j].add(B)}}return Y});let J=x0,X=_.catchall,G;$._zod.parse=(Q,Y)=>{G??(G=W.value);let j=Q.value;if(!J(j))return Q.issues.push({expected:"object",code:"invalid_type",input:j,inst:$}),Q;Q.value={};let O=[],B=G.shape;for(let V of G.keys){let L=B[V],N=L._zod.optin==="optional",H=L._zod.optout==="optional",R=L._zod.run({value:j[V],issues:[]},Y);if(R instanceof Promise)O.push(R.then((b)=>G9(b,Q,V,j,N,H)));else G9(R,Q,V,j,N,H)}if(!X)return O.length?Promise.all(O).then(()=>Q):Q;return _H(O,j,Q,Y,W.value,$)}}),Yj=F("$ZodObjectJIT",($,_)=>{UH.init($,_);let U=$._zod.parse,W=I2(()=>$H(_)),J=(V)=>{let L=new U9(["shape","payload","ctx"]),N=W.value,H=(M)=>{let E=yX(M);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};L.write("const input = payload.value;");let R=Object.create(null),b=0;for(let M of N.keys)R[M]=`key_${b++}`;L.write("const newResult = {};");for(let M of N.keys){let E=R[M],g=yX(M),Z=V[M],k=Z?._zod?.optin==="optional",r=Z?._zod?.optout==="optional";if(L.write(`const ${E} = ${H(M)};`),k&&r)L.write(` + if (${E}.issues.length) { + if (${g} in input) { + payload.issues = payload.issues.concat(${E}.issues.map(iss => ({ ...iss, - path: iss.path ? [${I}, ...iss.path] : [${I}] + path: iss.path ? [${g}, ...iss.path] : [${g}] }))); } } - if (${V}.value === undefined) { - if (${I} in input) { - newResult[${I}] = undefined; + if (${E}.value === undefined) { + if (${g} in input) { + newResult[${g}] = undefined; } } else { - newResult[${I}] = ${V}.value; + newResult[${g}] = ${E}.value; } - `);else if(!P)Q.write(` - const ${V}_present = ${I} in input; - if (${V}.issues.length) { - payload.issues = payload.issues.concat(${V}.issues.map(iss => ({ + `);else if(!k)L.write(` + const ${E}_present = ${g} in input; + if (${E}.issues.length) { + payload.issues = payload.issues.concat(${E}.issues.map(iss => ({ ...iss, - path: iss.path ? [${I}, ...iss.path] : [${I}] + path: iss.path ? [${g}, ...iss.path] : [${g}] }))); } - if (!${V}_present && !${V}.issues.length) { + if (!${E}_present && !${E}.issues.length) { payload.issues.push({ code: "invalid_type", expected: "nonoptional", input: undefined, - path: [${I}] + path: [${g}] }); } - if (${V}_present) { - if (${V}.value === undefined) { - newResult[${I}] = undefined; + if (${E}_present) { + if (${E}.value === undefined) { + newResult[${g}] = undefined; } else { - newResult[${I}] = ${V}.value; + newResult[${g}] = ${E}.value; } } - `);else Q.write(` - if (${V}.issues.length) { - payload.issues = payload.issues.concat(${V}.issues.map(iss => ({ + `);else L.write(` + if (${E}.issues.length) { + payload.issues = payload.issues.concat(${E}.issues.map(iss => ({ ...iss, - path: iss.path ? [${I}, ...iss.path] : [${I}] + path: iss.path ? [${g}, ...iss.path] : [${g}] }))); } - if (${V}.value === undefined) { - if (${I} in input) { - newResult[${I}] = undefined; + if (${E}.value === undefined) { + if (${g} in input) { + newResult[${g}] = undefined; } } else { - newResult[${I}] = ${V}.value; + newResult[${g}] = ${E}.value; } - `)}Q.write("payload.value = newResult;"),Q.write("return payload;");let R=Q.compile();return(K,V)=>R(E,K,V)},j,W=l4,G=!d4.jitless,N=G&&kX.value,z=$.catchall,L;_._zod.parse=(E,Q)=>{L??(L=J.value);let q=E.value;if(!W(q))return E.issues.push({expected:"object",code:"invalid_type",input:q,inst:_}),E;if(G&&N&&Q?.async===!1&&Q.jitless!==!0){if(!j)j=D($.shape);if(E=j(E,Q),!z)return E;return SL([],q,E,Q,L,_)}return U(E,Q)}});aU=A("$ZodUnion",(_,$)=>{$_.init(_,$),Y_(_._zod,"optin",()=>$.options.some((J)=>J._zod.optin==="optional")?"optional":void 0),Y_(_._zod,"optout",()=>$.options.some((J)=>J._zod.optout==="optional")?"optional":void 0),Y_(_._zod,"values",()=>{if($.options.every((J)=>J._zod.values))return new Set($.options.flatMap((J)=>Array.from(J._zod.values)));return}),Y_(_._zod,"pattern",()=>{if($.options.every((J)=>J._zod.pattern)){let J=$.options.map((D)=>D._zod.pattern);return new RegExp(`^(${J.map((D)=>nU(D.source)).join("|")})$`)}return});let U=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(J,D)=>{if(U)return U(J,D);let j=!1,W=[];for(let G of $.options){let X=G._zod.run({value:J.value,issues:[]},D);if(X instanceof Promise)W.push(X),j=!0;else{if(X.issues.length===0)return X;W.push(X)}}if(!j)return LL(W,J,_,D);return Promise.all(W).then((G)=>{return LL(G,J,_,D)})}});HN=A("$ZodXor",(_,$)=>{aU.init(_,$),$.inclusive=!1;let U=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(J,D)=>{if(U)return U(J,D);let j=!1,W=[];for(let G of $.options){let X=G._zod.run({value:J.value,issues:[]},D);if(X instanceof Promise)W.push(X),j=!0;else W.push(X)}if(!j)return gL(W,J,_,D);return Promise.all(W).then((G)=>{return gL(G,J,_,D)})}}),AN=A("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,aU.init(_,$);let U=_._zod.parse;Y_(_._zod,"propValues",()=>{let D={};for(let j of $.options){let W=j._zod.propValues;if(!W||Object.keys(W).length===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(j)}"`);for(let[G,X]of Object.entries(W)){if(!D[G])D[G]=new Set;for(let N of X)D[G].add(N)}}return D});let J=g1(()=>{let D=$.options,j=new Map;for(let W of D){let G=W._zod.propValues?.[$.discriminator];if(!G||G.size===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(W)}"`);for(let X of G){if(j.has(X))throw Error(`Duplicate discriminator value "${String(X)}"`);j.set(X,W)}}return j});_._zod.parse=(D,j)=>{let W=D.value;if(!l4(W))return D.issues.push({code:"invalid_type",expected:"object",input:W,inst:_}),D;let G=J.value.get(W?.[$.discriminator]);if(G)return G._zod.run(D,j);if($.unionFallback||j.direction==="backward")return U(D,j);return D.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:$.discriminator,options:Array.from(J.value.keys()),input:W,path:[$.discriminator],inst:_}),D}}),VN=A("$ZodIntersection",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{let D=U.value,j=$.left._zod.run({value:D,issues:[]},J),W=$.right._zod.run({value:D,issues:[]},J);if(j instanceof Promise||W instanceof Promise)return Promise.all([j,W]).then(([X,N])=>{return EL(U,X,N)});return EL(U,j,W)}});vJ=A("$ZodTuple",(_,$)=>{$_.init(_,$);let U=$.items;_._zod.parse=(J,D)=>{let j=J.value;if(!Array.isArray(j))return J.issues.push({input:j,inst:_,expected:"tuple",code:"invalid_type"}),J;J.value=[];let W=[],G=BL(U,"optin"),X=BL(U,"optout");if(!$.rest){if(j.lengthU.length)J.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:j,inst:_,origin:"array"})}let N=Array(U.length);for(let z=0;z{N[z]=E}));else N[z]=L}if($.rest){let z=U.length-1,L=j.slice(U.length);for(let E of L){z++;let Q=$.rest._zod.run({value:E,issues:[]},D);if(Q instanceof Promise)W.push(Q.then((q)=>RL(q,J,z)));else RL(Q,J,z)}}if(W.length)return Promise.all(W).then(()=>HL(N,J,U,j,X));return HL(N,J,U,j,X)}});bN=A("$ZodRecord",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{let D=U.value;if(!J4(D))return U.issues.push({expected:"record",code:"invalid_type",input:D,inst:_}),U;let j=[],W=$.keyType._zod.values;if(W){U.value={};let G=new Set;for(let N of W)if(typeof N==="string"||typeof N==="number"||typeof N==="symbol"){G.add(typeof N==="number"?N.toString():N);let z=$.keyType._zod.run({value:N,issues:[]},J);if(z instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(z.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:z.issues.map((Q)=>W$(Q,J,x_())),input:N,path:[N],inst:_});continue}let L=z.value,E=$.valueType._zod.run({value:D[N],issues:[]},J);if(E instanceof Promise)j.push(E.then((Q)=>{if(Q.issues.length)U.issues.push(...Y$(N,Q.issues));U.value[L]=Q.value}));else{if(E.issues.length)U.issues.push(...Y$(N,E.issues));U.value[L]=E.value}}let X;for(let N in D)if(!G.has(N))X=X??[],X.push(N);if(X&&X.length>0)U.issues.push({code:"unrecognized_keys",input:D,inst:_,keys:X})}else{U.value={};for(let G of Reflect.ownKeys(D)){if(G==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(D,G))continue;let X=$.keyType._zod.run({value:G,issues:[]},J);if(X instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof G==="string"&&lU.test(G)&&X.issues.length){let L=$.keyType._zod.run({value:Number(G),issues:[]},J);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length===0)X=L}if(X.issues.length){if($.mode==="loose")U.value[G]=D[G];else U.issues.push({code:"invalid_key",origin:"record",issues:X.issues.map((L)=>W$(L,J,x_())),input:G,path:[G],inst:_});continue}let z=$.valueType._zod.run({value:D[G],issues:[]},J);if(z instanceof Promise)j.push(z.then((L)=>{if(L.issues.length)U.issues.push(...Y$(G,L.issues));U.value[X.value]=L.value}));else{if(z.issues.length)U.issues.push(...Y$(G,z.issues));U.value[X.value]=z.value}}}if(j.length)return Promise.all(j).then(()=>U);return U}}),KN=A("$ZodMap",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{let D=U.value;if(!(D instanceof Map))return U.issues.push({expected:"map",code:"invalid_type",input:D,inst:_}),U;let j=[];U.value=new Map;for(let[W,G]of D){let X=$.keyType._zod.run({value:W,issues:[]},J),N=$.valueType._zod.run({value:G,issues:[]},J);if(X instanceof Promise||N instanceof Promise)j.push(Promise.all([X,N]).then(([z,L])=>{AL(z,L,U,W,D,_,J)}));else AL(X,N,U,W,D,_,J)}if(j.length)return Promise.all(j).then(()=>U);return U}});IN=A("$ZodSet",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{let D=U.value;if(!(D instanceof Set))return U.issues.push({input:D,inst:_,expected:"set",code:"invalid_type"}),U;let j=[];U.value=new Set;for(let W of D){let G=$.valueType._zod.run({value:W,issues:[]},J);if(G instanceof Promise)j.push(G.then((X)=>VL(X,U)));else VL(G,U)}if(j.length)return Promise.all(j).then(()=>U);return U}});FN=A("$ZodEnum",(_,$)=>{$_.init(_,$);let U=uU($.entries),J=new Set(U);_._zod.values=J,_._zod.pattern=new RegExp(`^(${U.filter((D)=>mU.has(typeof D)).map((D)=>typeof D==="string"?k$(D):D.toString()).join("|")})$`),_._zod.parse=(D,j)=>{let W=D.value;if(J.has(W))return D;return D.issues.push({code:"invalid_value",values:U,input:W,inst:_}),D}}),MN=A("$ZodLiteral",(_,$)=>{if($_.init(_,$),$.values.length===0)throw Error("Cannot create literal schema with no valid values");let U=new Set($.values);_._zod.values=U,_._zod.pattern=new RegExp(`^(${$.values.map((J)=>typeof J==="string"?k$(J):J?k$(J.toString()):String(J)).join("|")})$`),_._zod.parse=(J,D)=>{let j=J.value;if(U.has(j))return J;return J.issues.push({code:"invalid_value",values:$.values,input:j,inst:_}),J}}),PN=A("$ZodFile",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{let D=U.value;if(D instanceof File)return U;return U.issues.push({expected:"file",code:"invalid_type",input:D,inst:_}),U}}),kN=A("$ZodTransform",(_,$)=>{$_.init(_,$),_._zod.optin="optional",_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new c4(_.constructor.name);let D=$.transform(U.value,U);if(J.async)return(D instanceof Promise?D:Promise.resolve(D)).then((W)=>{return U.value=W,U.fallback=!0,U});if(D instanceof Promise)throw new X6;return U.value=D,U.fallback=!0,U}});yJ=A("$ZodOptional",(_,$)=>{$_.init(_,$),_._zod.optin="optional",_._zod.optout="optional",Y_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,void 0]):void 0}),Y_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${nU(U.source)})?$`):void 0}),_._zod.parse=(U,J)=>{if($.innerType._zod.optin==="optional"){let D=U.value,j=$.innerType._zod.run(U,J);if(j instanceof Promise)return j.then((W)=>bL(W,D));return bL(j,D)}if(U.value===void 0)return U;return $.innerType._zod.run(U,J)}}),wN=A("$ZodExactOptional",(_,$)=>{yJ.init(_,$),Y_(_._zod,"values",()=>$.innerType._zod.values),Y_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(U,J)=>{return $.innerType._zod.run(U,J)}}),SN=A("$ZodNullable",(_,$)=>{$_.init(_,$),Y_(_._zod,"optin",()=>$.innerType._zod.optin),Y_(_._zod,"optout",()=>$.innerType._zod.optout),Y_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${nU(U.source)}|null)$`):void 0}),Y_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,null]):void 0}),_._zod.parse=(U,J)=>{if(U.value===null)return U;return $.innerType._zod.run(U,J)}}),fN=A("$ZodDefault",(_,$)=>{$_.init(_,$),_._zod.optin="optional",Y_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,J)=>{if(J.direction==="backward")return $.innerType._zod.run(U,J);if(U.value===void 0)return U.value=$.defaultValue,U;let D=$.innerType._zod.run(U,J);if(D instanceof Promise)return D.then((j)=>KL(j,$));return KL(D,$)}});TN=A("$ZodPrefault",(_,$)=>{$_.init(_,$),_._zod.optin="optional",Y_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,J)=>{if(J.direction==="backward")return $.innerType._zod.run(U,J);if(U.value===void 0)U.value=$.defaultValue;return $.innerType._zod.run(U,J)}}),CN=A("$ZodNonOptional",(_,$)=>{$_.init(_,$),Y_(_._zod,"values",()=>{let U=$.innerType._zod.values;return U?new Set([...U].filter((J)=>J!==void 0)):void 0}),_._zod.parse=(U,J)=>{let D=$.innerType._zod.run(U,J);if(D instanceof Promise)return D.then((j)=>IL(j,_));return IL(D,_)}});ZN=A("$ZodSuccess",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new c4("ZodSuccess");let D=$.innerType._zod.run(U,J);if(D instanceof Promise)return D.then((j)=>{return U.value=j.issues.length===0,U});return U.value=D.issues.length===0,U}}),vN=A("$ZodCatch",(_,$)=>{$_.init(_,$),_._zod.optin="optional",Y_(_._zod,"optout",()=>$.innerType._zod.optout),Y_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,J)=>{if(J.direction==="backward")return $.innerType._zod.run(U,J);let D=$.innerType._zod.run(U,J);if(D instanceof Promise)return D.then((j)=>{if(U.value=j.value,j.issues.length)U.value=$.catchValue({...U,error:{issues:j.issues.map((W)=>W$(W,J,x_()))},input:U.value}),U.issues=[],U.fallback=!0;return U});if(U.value=D.value,D.issues.length)U.value=$.catchValue({...U,error:{issues:D.issues.map((j)=>W$(j,J,x_()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),yN=A("$ZodNaN",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{if(typeof U.value!=="number"||!Number.isNaN(U.value))return U.issues.push({input:U.value,inst:_,expected:"nan",code:"invalid_type"}),U;return U}}),hJ=A("$ZodPipe",(_,$)=>{$_.init(_,$),Y_(_._zod,"values",()=>$.in._zod.values),Y_(_._zod,"optin",()=>$.in._zod.optin),Y_(_._zod,"optout",()=>$.out._zod.optout),Y_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,J)=>{if(J.direction==="backward"){let j=$.out._zod.run(U,J);if(j instanceof Promise)return j.then((W)=>wJ(W,$.in,J));return wJ(j,$.in,J)}let D=$.in._zod.run(U,J);if(D instanceof Promise)return D.then((j)=>wJ(j,$.out,J));return wJ(D,$.out,J)}});eU=A("$ZodCodec",(_,$)=>{$_.init(_,$),Y_(_._zod,"values",()=>$.in._zod.values),Y_(_._zod,"optin",()=>$.in._zod.optin),Y_(_._zod,"optout",()=>$.out._zod.optout),Y_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,J)=>{if((J.direction||"forward")==="forward"){let j=$.in._zod.run(U,J);if(j instanceof Promise)return j.then((W)=>SJ(W,$,J));return SJ(j,$,J)}else{let j=$.out._zod.run(U,J);if(j instanceof Promise)return j.then((W)=>SJ(W,$,J));return SJ(j,$,J)}}});hN=A("$ZodPreprocess",(_,$)=>{hJ.init(_,$)}),xN=A("$ZodReadonly",(_,$)=>{$_.init(_,$),Y_(_._zod,"propValues",()=>$.innerType._zod.propValues),Y_(_._zod,"values",()=>$.innerType._zod.values),Y_(_._zod,"optin",()=>$.innerType?._zod?.optin),Y_(_._zod,"optout",()=>$.innerType?._zod?.optout),_._zod.parse=(U,J)=>{if(J.direction==="backward")return $.innerType._zod.run(U,J);let D=$.innerType._zod.run(U,J);if(D instanceof Promise)return D.then(FL);return FL(D)}});rN=A("$ZodTemplateLiteral",(_,$)=>{$_.init(_,$);let U=[];for(let J of $.parts)if(typeof J==="object"&&J!==null){if(!J._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...J._zod.traits].shift()}`);let D=J._zod.pattern instanceof RegExp?J._zod.pattern.source:J._zod.pattern;if(!D)throw Error(`Invalid template literal part: ${J._zod.traits}`);let j=D.startsWith("^")?1:0,W=D.endsWith("$")?D.length-1:D.length;U.push(D.slice(j,W))}else if(J===null||SX.has(typeof J))U.push(k$(`${J}`));else throw Error(`Invalid template literal part: ${J}`);_._zod.pattern=new RegExp(`^${U.join("")}$`),_._zod.parse=(J,D)=>{if(typeof J.value!=="string")return J.issues.push({input:J.value,inst:_,expected:"string",code:"invalid_type"}),J;if(_._zod.pattern.lastIndex=0,!_._zod.pattern.test(J.value))return J.issues.push({input:J.value,inst:_,code:"invalid_format",format:$.format??"template_literal",pattern:_._zod.pattern.source}),J;return J}}),uN=A("$ZodFunction",(_,$)=>{return $_.init(_,$),_._def=$,_._zod.def=$,_.implement=(U)=>{if(typeof U!=="function")throw Error("implement() must be called with a function");return function(...J){let D=_._def.input?qJ(_._def.input,J):J,j=Reflect.apply(U,this,D);if(_._def.output)return qJ(_._def.output,j);return j}},_.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...J){let D=_._def.input?await LJ(_._def.input,J):J,j=await Reflect.apply(U,this,D);if(_._def.output)return await LJ(_._def.output,j);return j}},_._zod.parse=(U,J)=>{if(typeof U.value!=="function")return U.issues.push({code:"invalid_type",expected:"function",input:U.value,inst:_}),U;if(_._def.output&&_._def.output._zod.def.type==="promise")U.value=_.implementAsync(U.value);else U.value=_.implement(U.value);return U},_.input=(...U)=>{let J=_.constructor;if(Array.isArray(U[0]))return new J({type:"function",input:new vJ({type:"tuple",items:U[0],rest:U[1]}),output:_._def.output});return new J({type:"function",input:U[0],output:_._def.output})},_.output=(U)=>{return new _.constructor({type:"function",input:_._def.input,output:U})},_}),nN=A("$ZodPromise",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{return Promise.resolve(U.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},J))}}),mN=A("$ZodLazy",(_,$)=>{$_.init(_,$),Y_(_._zod,"innerType",()=>{let U=$;if(!U._cachedInner)U._cachedInner=$.getter();return U._cachedInner}),Y_(_._zod,"pattern",()=>_._zod.innerType?._zod?.pattern),Y_(_._zod,"propValues",()=>_._zod.innerType?._zod?.propValues),Y_(_._zod,"optin",()=>_._zod.innerType?._zod?.optin??void 0),Y_(_._zod,"optout",()=>_._zod.innerType?._zod?.optout??void 0),_._zod.parse=(U,J)=>{return _._zod.innerType._zod.run(U,J)}}),dN=A("$ZodCustom",(_,$)=>{k_.init(_,$),$_.init(_,$),_._zod.parse=(U,J)=>{return U},_._zod.check=(U)=>{let J=U.value,D=$.fn(J);if(D instanceof Promise)return D.then((j)=>ML(j,U,J,_));ML(D,U,J,_);return}})});function iN(){return{localeError:MP()}}var MP=()=>{let _={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function $(D){return _[D]??null}let U={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))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 ${D.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${G}`;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 ${j}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${G}`}case"invalid_value":if(D.values.length===1)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 ${F(D.values[0])}`;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: ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${D.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${j} ${D.maximum.toString()} ${W.unit??"\u0639\u0646\u0635\u0631"}`;return`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${D.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${D.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${j} ${D.minimum.toString()} ${W.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${D.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${D.prefix}"`;if(j.format==="ends_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${j.suffix}"`;if(j.format==="includes")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${j.includes}"`;if(j.format==="regex")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 ${j.pattern}`;return`${U[j.format]??D.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":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 ${D.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${D.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${D.keys.length>1?"\u0629":""}: ${b(D.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${D.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${D.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var TL=Z(()=>{d()});function lN(){return{localeError:PP()}}var PP=()=>{let _={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function $(D){return _[D]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${D.expected}, daxil olan ${G}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${j}, daxil olan ${G}`}case"invalid_value":if(D.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${F(D.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${j}${D.maximum.toString()} ${W.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${j}${D.minimum.toString()} ${W.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${j.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(j.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${j.suffix}" il\u0259 bitm\u0259lidir`;if(j.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${j.includes}" daxil olmal\u0131d\u0131r`;if(j.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${j.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[j.format]??D.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${D.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${D.keys.length>1?"lar":""}: ${b(D.keys,", ")}`;case"invalid_key":return`${D.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${D.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var CL=Z(()=>{d()});function ZL(_,$,U,J){let D=Math.abs(_),j=D%10,W=D%100;if(W>=11&&W<=19)return J;if(j===1)return $;if(j>=2&&j<=4)return U;return J}function oN(){return{localeError:kP()}}var kP=()=>{let _={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function $(D){return _[D]??null}let U={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},J={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${D.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${G}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${j}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${G}`}case"invalid_value":if(D.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${F(D.values[0])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=ZL(G,W.unit.one,W.unit.few,W.unit.many);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 ${D.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${W.verb} ${j}${D.maximum.toString()} ${X}`}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 ${D.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W){let G=Number(D.minimum),X=ZL(G,W.unit.one,W.unit.few,W.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${D.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${W.verb} ${j}${D.minimum.toString()} ${X}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${D.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"`;if(j.format==="ends_with")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 "${j.suffix}"`;if(j.format==="includes")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 "${j.includes}"`;if(j.format==="regex")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 ${j.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${D.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${b(D.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${D.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${D.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var vL=Z(()=>{d()});function pN(){return{localeError:wP()}}var wP=()=>{let _={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function $(D){return _[D]??null}let U={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},J={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${D.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${G}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${j}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${G}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${F(D.values[0])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${D.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${j}${D.maximum.toString()} ${W.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${D.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${D.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${j}${D.minimum.toString()} ${W.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${D.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"`;if(j.format==="ends_with")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 "${j.suffix}"`;if(j.format==="includes")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 "${j.includes}"`;if(j.format==="regex")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 ${j.pattern}`;let W="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(j.format==="emoji")W="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="datetime")W="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="date")W="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(j.format==="time")W="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="duration")W="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${W} ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${D.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${D.keys.length>1?"\u043E\u0432\u0435":""}: ${b(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${D.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var yL=Z(()=>{d()});function tN(){return{localeError:SP()}}var SP=()=>{let _={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function $(D){return _[D]??null}let U={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${D.expected}, s'ha rebut ${G}`;return`Tipus inv\xE0lid: s'esperava ${j}, s'ha rebut ${G}`}case"invalid_value":if(D.values.length===1)return`Valor inv\xE0lid: s'esperava ${F(D.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${b(D.values," o ")}`;case"too_big":{let j=D.inclusive?"com a m\xE0xim":"menys de",W=$(D.origin);if(W)return`Massa gran: s'esperava que ${D.origin??"el valor"} contingu\xE9s ${j} ${D.maximum.toString()} ${W.unit??"elements"}`;return`Massa gran: s'esperava que ${D.origin??"el valor"} fos ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?"com a m\xEDnim":"m\xE9s de",W=$(D.origin);if(W)return`Massa petit: s'esperava que ${D.origin} contingu\xE9s ${j} ${D.minimum.toString()} ${W.unit}`;return`Massa petit: s'esperava que ${D.origin} fos ${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${j.prefix}"`;if(j.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${j.suffix}"`;if(j.format==="includes")return`Format inv\xE0lid: ha d'incloure "${j.includes}"`;if(j.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${j.pattern}`;return`Format inv\xE0lid per a ${U[j.format]??D.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${D.divisor}`;case"unrecognized_keys":return`Clau${D.keys.length>1?"s":""} no reconeguda${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${D.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${D.origin}`;default:return"Entrada inv\xE0lida"}}};var hL=Z(()=>{d()});function aN(){return{localeError:fP()}}var fP=()=>{let _={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function $(D){return _[D]??null}let U={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},J={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${D.expected}, obdr\u017Eeno ${G}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${j}, obdr\u017Eeno ${G}`}case"invalid_value":if(D.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${F(D.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${j}${D.maximum.toString()} ${W.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${j}${D.minimum.toString()} ${W.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${j.prefix}"`;if(j.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${j.suffix}"`;if(j.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${j.includes}"`;if(j.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${j.pattern}`;return`Neplatn\xFD form\xE1t ${U[j.format]??D.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${D.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${b(D.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${D.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${D.origin}`;default:return"Neplatn\xFD vstup"}}};var xL=Z(()=>{d()});function eN(){return{localeError:TP()}}var TP=()=>{let _={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function $(D){return _[D]??null}let U={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},J={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Ugyldigt input: forventede instanceof ${D.expected}, fik ${G}`;return`Ugyldigt input: forventede ${j}, fik ${G}`}case"invalid_value":if(D.values.length===1)return`Ugyldig v\xE6rdi: forventede ${F(D.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin),G=J[D.origin]??D.origin;if(W)return`For stor: forventede ${G??"value"} ${W.verb} ${j} ${D.maximum.toString()} ${W.unit??"elementer"}`;return`For stor: forventede ${G??"value"} havde ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin),G=J[D.origin]??D.origin;if(W)return`For lille: forventede ${G} ${W.verb} ${j} ${D.minimum.toString()} ${W.unit}`;return`For lille: forventede ${G} havde ${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ugyldig streng: skal starte med "${j.prefix}"`;if(j.format==="ends_with")return`Ugyldig streng: skal ende med "${j.suffix}"`;if(j.format==="includes")return`Ugyldig streng: skal indeholde "${j.includes}"`;if(j.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${j.pattern}`;return`Ugyldig ${U[j.format]??D.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${b(D.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${D.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${D.origin}`;default:return"Ugyldigt input"}}};var rL=Z(()=>{d()});function sN(){return{localeError:CP()}}var CP=()=>{let _={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function $(D){return _[D]??null}let U={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},J={nan:"NaN",number:"Zahl",array:"Array"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${D.expected}, erhalten ${G}`;return`Ung\xFCltige Eingabe: erwartet ${j}, erhalten ${G}`}case"invalid_value":if(D.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${F(D.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${j}${D.maximum.toString()} ${W.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${j}${D.maximum.toString()} ist`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Zu klein: erwartet, dass ${D.origin} ${j}${D.minimum.toString()} ${W.unit} hat`;return`Zu klein: erwartet, dass ${D.origin} ${j}${D.minimum.toString()} ist`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ung\xFCltiger String: muss mit "${j.prefix}" beginnen`;if(j.format==="ends_with")return`Ung\xFCltiger String: muss mit "${j.suffix}" enden`;if(j.format==="includes")return`Ung\xFCltiger String: muss "${j.includes}" enthalten`;if(j.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${j.pattern} entsprechen`;return`Ung\xFCltig: ${U[j.format]??D.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${D.divisor} sein`;case"unrecognized_keys":return`${D.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${b(D.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${D.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${D.origin}`;default:return"Ung\xFCltige Eingabe"}}};var uL=Z(()=>{d()});function _9(){return{localeError:ZP()}}var ZP=()=>{let _={string:{unit:"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},file:{unit:"bytes",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},array:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},set:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},map:{unit:"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"}};function $(D){return _[D]??null}let U={regex:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",email:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",date:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",time:"ISO \u03CE\u03C1\u03B1",duration:"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",ipv4:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",ipv6:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",mac:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",cidrv4:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",cidrv6:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",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",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",json_string:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",e164:"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",jwt:"JWT",template_literal:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(typeof D.expected==="string"&&/^[A-Z]/.test(D.expected))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 ${D.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${G}`;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 ${j}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${G}`}case"invalid_value":if(D.values.length===1)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 ${F(D.values[0])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${D.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${j}${D.maximum.toString()} ${W.unit??"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${D.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${D.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${j}${D.minimum.toString()} ${W.unit}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${D.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"`;if(j.format==="ends_with")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 "${j.suffix}"`;if(j.format==="includes")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 "${j.includes}"`;if(j.format==="regex")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 ${j.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${D.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${D.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${b(D.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${D.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${D.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var nL=Z(()=>{d()});function sU(){return{localeError:vP()}}var vP=()=>{let _={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function $(D){return _[D]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;return`Invalid input: expected ${j}, received ${G}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${F(D.values[0])}`;return`Invalid option: expected one of ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Too big: expected ${D.origin??"value"} to have ${j}${D.maximum.toString()} ${W.unit??"elements"}`;return`Too big: expected ${D.origin??"value"} to be ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Too small: expected ${D.origin} to have ${j}${D.minimum.toString()} ${W.unit}`;return`Too small: expected ${D.origin} to be ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Invalid string: must start with "${j.prefix}"`;if(j.format==="ends_with")return`Invalid string: must end with "${j.suffix}"`;if(j.format==="includes")return`Invalid string: must include "${j.includes}"`;if(j.format==="regex")return`Invalid string: must match pattern ${j.pattern}`;return`Invalid ${U[j.format]??D.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${D.divisor}`;case"unrecognized_keys":return`Unrecognized key${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`Invalid key in ${D.origin}`;case"invalid_union":if(D.options&&Array.isArray(D.options)&&D.options.length>0)return`Invalid discriminator value. Expected ${D.options.map((W)=>`'${W}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${D.origin}`;default:return"Invalid input"}}};var $9=Z(()=>{d()});function U9(){return{localeError:yP()}}var yP=()=>{let _={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function $(D){return _[D]??null}let U={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},J={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${D.expected}, ricevi\u011Dis ${G}`;return`Nevalida enigo: atendi\u011Dis ${j}, ricevi\u011Dis ${G}`}case"invalid_value":if(D.values.length===1)return`Nevalida enigo: atendi\u011Dis ${F(D.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${j}${D.maximum.toString()} ${W.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Tro malgranda: atendi\u011Dis ke ${D.origin} havu ${j}${D.minimum.toString()} ${W.unit}`;return`Tro malgranda: atendi\u011Dis ke ${D.origin} estu ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${j.prefix}"`;if(j.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${j.suffix}"`;if(j.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${j.includes}"`;if(j.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${j.pattern}`;return`Nevalida ${U[j.format]??D.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${D.divisor}`;case"unrecognized_keys":return`Nekonata${D.keys.length>1?"j":""} \u015Dlosilo${D.keys.length>1?"j":""}: ${b(D.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${D.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${D.origin}`;default:return"Nevalida enigo"}}};var mL=Z(()=>{d()});function D9(){return{localeError:hP()}}var hP=()=>{let _={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function $(D){return _[D]??null}let U={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},J={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${D.expected}, recibido ${G}`;return`Entrada inv\xE1lida: se esperaba ${j}, recibido ${G}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: se esperaba ${F(D.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin),G=J[D.origin]??D.origin;if(W)return`Demasiado grande: se esperaba que ${G??"valor"} tuviera ${j}${D.maximum.toString()} ${W.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${G??"valor"} fuera ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin),G=J[D.origin]??D.origin;if(W)return`Demasiado peque\xF1o: se esperaba que ${G} tuviera ${j}${D.minimum.toString()} ${W.unit}`;return`Demasiado peque\xF1o: se esperaba que ${G} fuera ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${j.prefix}"`;if(j.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${j.suffix}"`;if(j.format==="includes")return`Cadena inv\xE1lida: debe incluir "${j.includes}"`;if(j.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${j.pattern}`;return`Inv\xE1lido ${U[j.format]??D.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${D.divisor}`;case"unrecognized_keys":return`Llave${D.keys.length>1?"s":""} desconocida${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${J[D.origin]??D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${J[D.origin]??D.origin}`;default:return"Entrada inv\xE1lida"}}};var dL=Z(()=>{d()});function J9(){return{localeError:xP()}}var xP=()=>{let _={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function $(D){return _[D]??null}let U={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},J={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${D.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${G} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${j} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${G} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(D.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${F(D.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;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 ${b(D.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} ${W.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} ${W.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${j.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(j.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${j.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(j.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${j.includes}" \u0628\u0627\u0634\u062F`;if(j.format==="regex")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${j.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[j.format]??D.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${D.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${D.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${b(D.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${D.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${D.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var cL=Z(()=>{d()});function j9(){return{localeError:rP()}}var rP=()=>{let _={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function $(D){return _[D]??null}let U={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Virheellinen tyyppi: odotettiin instanceof ${D.expected}, oli ${G}`;return`Virheellinen tyyppi: odotettiin ${j}, oli ${G}`}case"invalid_value":if(D.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${F(D.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Liian suuri: ${W.subject} t\xE4ytyy olla ${j}${D.maximum.toString()} ${W.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Liian pieni: ${W.subject} t\xE4ytyy olla ${j}${D.minimum.toString()} ${W.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${j.prefix}"`;if(j.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${j.suffix}"`;if(j.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${j.includes}"`;if(j.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${j.pattern}`;return`Virheellinen ${U[j.format]??D.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${D.divisor} monikerta`;case"unrecognized_keys":return`${D.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${b(D.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var iL=Z(()=>{d()});function W9(){return{localeError:uP()}}var uP=()=>{let _={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function $(D){return _[D]??null}let U={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},J={string:"cha\xEEne",number:"nombre",int:"entier",boolean:"bool\xE9en",bigint:"grand entier",symbol:"symbole",undefined:"ind\xE9fini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : instanceof ${D.expected} attendu, ${G} re\xE7u`;return`Entr\xE9e invalide : ${j} attendu, ${G} re\xE7u`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : ${F(D.values[0])} attendu`;return`Option invalide : une valeur parmi ${b(D.values,"|")} attendue`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Trop grand : ${J[D.origin]??"valeur"} doit ${W.verb} ${j}${D.maximum.toString()} ${W.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${J[D.origin]??"valeur"} doit \xEAtre ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Trop petit : ${J[D.origin]??"valeur"} doit ${W.verb} ${j}${D.minimum.toString()} ${W.unit}`;return`Trop petit : ${J[D.origin]??"valeur"} doit \xEAtre ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${j.prefix}"`;if(j.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${j.suffix}"`;if(j.format==="includes")return`Cha\xEEne invalide : doit inclure "${j.includes}"`;if(j.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${j.pattern}`;return`${U[j.format]??D.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${D.divisor}`;case"unrecognized_keys":return`Cl\xE9${D.keys.length>1?"s":""} non reconnue${D.keys.length>1?"s":""} : ${b(D.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${D.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${D.origin}`;default:return"Entr\xE9e invalide"}}};var lL=Z(()=>{d()});function G9(){return{localeError:nP()}}var nP=()=>{let _={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function $(D){return _[D]??null}let U={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : attendu instanceof ${D.expected}, re\xE7u ${G}`;return`Entr\xE9e invalide : attendu ${j}, re\xE7u ${G}`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : attendu ${F(D.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"\u2264":"<",W=$(D.origin);if(W)return`Trop grand : attendu que ${D.origin??"la valeur"} ait ${j}${D.maximum.toString()} ${W.unit}`;return`Trop grand : attendu que ${D.origin??"la valeur"} soit ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?"\u2265":">",W=$(D.origin);if(W)return`Trop petit : attendu que ${D.origin} ait ${j}${D.minimum.toString()} ${W.unit}`;return`Trop petit : attendu que ${D.origin} soit ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${j.prefix}"`;if(j.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${j.suffix}"`;if(j.format==="includes")return`Cha\xEEne invalide : doit inclure "${j.includes}"`;if(j.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${j.pattern}`;return`${U[j.format]??D.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${D.divisor}`;case"unrecognized_keys":return`Cl\xE9${D.keys.length>1?"s":""} non reconnue${D.keys.length>1?"s":""} : ${b(D.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${D.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${D.origin}`;default:return"Entr\xE9e invalide"}}};var oL=Z(()=>{d()});function X9(){return{localeError:mP()}}var mP=()=>{let _={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},$={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(N)=>N?_[N]:void 0,J=(N)=>{let z=U(N);if(z)return z.label;return N??_.unknown.label},D=(N)=>`\u05D4${J(N)}`,j=(N)=>{return(U(N)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},W=(N)=>{if(!N)return null;return $[N]??null},G={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},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"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},X={nan:"NaN"};return(N)=>{switch(N.code){case"invalid_type":{let z=N.expected,L=X[z??""]??J(z),E=M(N.input),Q=X[E]??_[E]?.label??E;if(/^[A-Z]/.test(N.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${N.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${Q}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${L}, \u05D4\u05EA\u05E7\u05D1\u05DC ${Q}`}case"invalid_value":{if(N.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${F(N.values[0])}`;let z=N.values.map((Q)=>F(Q));if(N.values.length===2)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 ${z[0]} \u05D0\u05D5 ${z[1]}`;let L=z[z.length-1];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 ${z.slice(0,-1).join(", ")} \u05D0\u05D5 ${L}`}case"too_big":{let z=W(N.origin),L=D(N.origin??"value");if(N.origin==="string")return`${z?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${L} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${N.maximum.toString()} ${z?.unit??""} ${N.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(N.origin==="number"){let q=N.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${N.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${N.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${L} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${q}`}if(N.origin==="array"||N.origin==="set"){let q=N.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",g=N.inclusive?`${N.maximum} ${z?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${N.maximum} ${z?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${L} ${q} \u05DC\u05D4\u05DB\u05D9\u05DC ${g}`.trim()}let E=N.inclusive?"<=":"<",Q=j(N.origin??"value");if(z?.unit)return`${z.longLabel} \u05DE\u05D3\u05D9: ${L} ${Q} ${E}${N.maximum.toString()} ${z.unit}`;return`${z?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${L} ${Q} ${E}${N.maximum.toString()}`}case"too_small":{let z=W(N.origin),L=D(N.origin??"value");if(N.origin==="string")return`${z?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${L} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${N.minimum.toString()} ${z?.unit??""} ${N.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(N.origin==="number"){let q=N.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${N.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${N.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${L} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${q}`}if(N.origin==="array"||N.origin==="set"){let q=N.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(N.minimum===1&&N.inclusive){let B=N.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";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${L} ${q} \u05DC\u05D4\u05DB\u05D9\u05DC ${B}`}let g=N.inclusive?`${N.minimum} ${z?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${N.minimum} ${z?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${L} ${q} \u05DC\u05D4\u05DB\u05D9\u05DC ${g}`.trim()}let E=N.inclusive?">=":">",Q=j(N.origin??"value");if(z?.unit)return`${z.shortLabel} \u05DE\u05D3\u05D9: ${L} ${Q} ${E}${N.minimum.toString()} ${z.unit}`;return`${z?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${L} ${Q} ${E}${N.minimum.toString()}`}case"invalid_format":{let z=N;if(z.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${z.prefix}"`;if(z.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${z.suffix}"`;if(z.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${z.includes}"`;if(z.format==="regex")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 ${z.pattern}`;let L=G[z.format],E=L?.label??z.format,q=(L?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${E} \u05DC\u05D0 ${q}`}case"not_multiple_of":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 ${N.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${N.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${N.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${b(N.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${D(N.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var pL=Z(()=>{d()});function N9(){return{localeError:dP()}}var dP=()=>{let _={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function $(D){return _[D]??null}let U={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},J={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${D.expected}, a primljeno je ${G}`;return`Neispravan unos: o\u010Dekuje se ${j}, a primljeno je ${G}`}case"invalid_value":if(D.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${F(D.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin),G=J[D.origin]??D.origin;if(W)return`Preveliko: o\u010Dekivano da ${G??"vrijednost"} ima ${j}${D.maximum.toString()} ${W.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${G??"vrijednost"} bude ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin),G=J[D.origin]??D.origin;if(W)return`Premalo: o\u010Dekivano da ${G} ima ${j}${D.minimum.toString()} ${W.unit}`;return`Premalo: o\u010Dekivano da ${G} bude ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${j.prefix}"`;if(j.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${j.suffix}"`;if(j.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${j.includes}"`;if(j.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${j.pattern}`;return`Neispravna ${U[j.format]??D.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${D.divisor}`;case"unrecognized_keys":return`Neprepoznat${D.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${b(D.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${J[D.origin]??D.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${J[D.origin]??D.origin}`;default:return"Neispravan unos"}}};var tL=Z(()=>{d()});function O9(){return{localeError:cP()}}var cP=()=>{let _={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function $(D){return _[D]??null}let U={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},J={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${D.expected}, a kapott \xE9rt\xE9k ${G}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${j}, a kapott \xE9rt\xE9k ${G}`}case"invalid_value":if(D.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${F(D.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`T\xFAl nagy: ${D.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${j}${D.maximum.toString()} ${W.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${D.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} m\xE9rete t\xFAl kicsi ${j}${D.minimum.toString()} ${W.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} t\xFAl kicsi ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\xC9rv\xE9nytelen string: "${j.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(j.format==="ends_with")return`\xC9rv\xE9nytelen string: "${j.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(j.format==="includes")return`\xC9rv\xE9nytelen string: "${j.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(j.format==="regex")return`\xC9rv\xE9nytelen string: ${j.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[j.format]??D.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${D.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${D.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${D.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var aL=Z(()=>{d()});function eL(_,$,U){return Math.abs(_)===1?$:U}function I1(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=_[_.length-1];return _+($.includes(U)?"\u0576":"\u0568")}function Y9(){return{localeError:iP()}}var iP=()=>{let _={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function $(D){return _[D]??null}let U={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},J={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))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 ${D.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${G}`;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 ${j}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${G}`}case"invalid_value":if(D.values.length===1)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 ${F(D.values[1])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=eL(G,W.unit.one,W.unit.many);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 ${I1(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${j}${D.maximum.toString()} ${X}`}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 ${I1(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W){let G=Number(D.minimum),X=eL(G,W.unit.one,W.unit.many);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 ${I1(D.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${j}${D.minimum.toString()} ${X}`}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 ${I1(D.origin)} \u056C\u056B\u0576\u056B ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${j.prefix}"-\u0578\u057E`;if(j.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${j.suffix}"-\u0578\u057E`;if(j.format==="includes")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${j.includes}"`;if(j.format==="regex")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 ${j.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${D.keys.length>1?"\u0576\u0565\u0580":""}. ${b(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${I1(D.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${I1(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var sL=Z(()=>{d()});function z9(){return{localeError:lP()}}var lP=()=>{let _={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function $(D){return _[D]??null}let U={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Input tidak valid: diharapkan instanceof ${D.expected}, diterima ${G}`;return`Input tidak valid: diharapkan ${j}, diterima ${G}`}case"invalid_value":if(D.values.length===1)return`Input tidak valid: diharapkan ${F(D.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Terlalu besar: diharapkan ${D.origin??"value"} memiliki ${j}${D.maximum.toString()} ${W.unit??"elemen"}`;return`Terlalu besar: diharapkan ${D.origin??"value"} menjadi ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Terlalu kecil: diharapkan ${D.origin} memiliki ${j}${D.minimum.toString()} ${W.unit}`;return`Terlalu kecil: diharapkan ${D.origin} menjadi ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`String tidak valid: harus dimulai dengan "${j.prefix}"`;if(j.format==="ends_with")return`String tidak valid: harus berakhir dengan "${j.suffix}"`;if(j.format==="includes")return`String tidak valid: harus menyertakan "${j.includes}"`;if(j.format==="regex")return`String tidak valid: harus sesuai pola ${j.pattern}`;return`${U[j.format]??D.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${D.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${D.origin}`;default:return"Input tidak valid"}}};var _g=Z(()=>{d()});function Q9(){return{localeError:oP()}}var oP=()=>{let _={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function $(D){return _[D]??null}let U={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},J={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${G} \xFEar sem \xE1 a\xF0 vera instanceof ${D.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${G} \xFEar sem \xE1 a\xF0 vera ${j}`}case"invalid_value":if(D.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${F(D.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} hafi ${j}${D.maximum.toString()} ${W.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} s\xE9 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} hafi ${j}${D.minimum.toString()} ${W.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} s\xE9 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${j.prefix}"`;if(j.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${j.suffix}"`;if(j.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${j.includes}"`;if(j.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${j.pattern}`;return`Rangt ${U[j.format]??D.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${D.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${D.keys.length>1?"ir lyklar":"ur lykill"}: ${b(D.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${D.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${D.origin}`;default:return"Rangt gildi"}}};var $g=Z(()=>{d()});function q9(){return{localeError:pP()}}var pP=()=>{let _={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function $(D){return _[D]??null}let U={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},J={nan:"NaN",number:"numero",array:"vettore"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Input non valido: atteso instanceof ${D.expected}, ricevuto ${G}`;return`Input non valido: atteso ${j}, ricevuto ${G}`}case"invalid_value":if(D.values.length===1)return`Input non valido: atteso ${F(D.values[0])}`;return`Opzione non valida: atteso uno tra ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Troppo grande: ${D.origin??"valore"} deve avere ${j}${D.maximum.toString()} ${W.unit??"elementi"}`;return`Troppo grande: ${D.origin??"valore"} deve essere ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Troppo piccolo: ${D.origin} deve avere ${j}${D.minimum.toString()} ${W.unit}`;return`Troppo piccolo: ${D.origin} deve essere ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Stringa non valida: deve iniziare con "${j.prefix}"`;if(j.format==="ends_with")return`Stringa non valida: deve terminare con "${j.suffix}"`;if(j.format==="includes")return`Stringa non valida: deve includere "${j.includes}"`;if(j.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${j.pattern}`;return`Input non valido: ${U[j.format]??D.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${D.divisor}`;case"unrecognized_keys":return`Chiav${D.keys.length>1?"i":"e"} non riconosciut${D.keys.length>1?"e":"a"}: ${b(D.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${D.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${D.origin}`;default:return"Input non valido"}}};var Ug=Z(()=>{d()});function L9(){return{localeError:tP()}}var tP=()=>{let _={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function $(D){return _[D]??null}let U={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},J={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${D.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${G}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${j}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${G}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(D.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${F(D.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${b(D.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let j=D.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",W=$(D.origin);if(W)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${W.unit??"\u8981\u7D20"}${j}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${j}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let j=D.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",W=$(D.origin);if(W)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${W.unit}${j}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${j}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${j.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(j.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${j.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(j.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${j.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(j.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${j.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[j.format]??D.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${D.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${D.keys.length>1?"\u7FA4":""}: ${b(D.keys,"\u3001")}`;case"invalid_key":return`${D.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${D.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var Dg=Z(()=>{d()});function g9(){return{localeError:aP()}}var aP=()=>{let _={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function $(D){return _[D]??null}let U={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",json_string:"JSON \u10D5\u10D4\u10DA\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},J={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10D5\u10D4\u10DA\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))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 ${D.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${G}`;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 ${j}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${G}`}case"invalid_value":if(D.values.length===1)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 ${F(D.values[0])}`;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 ${b(D.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${D.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${W.verb} ${j}${D.maximum.toString()} ${W.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${D.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)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 ${D.origin} ${W.verb} ${j}${D.minimum.toString()} ${W.unit}`;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 ${D.origin} \u10D8\u10E7\u10DD\u10E1 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"-\u10D8\u10D7`;if(j.format==="ends_with")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 "${j.suffix}"-\u10D8\u10D7`;if(j.format==="includes")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 "${j.includes}"-\u10E1`;if(j.format==="regex")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 ${j.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${D.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${D.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${b(D.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${D.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${D.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var Jg=Z(()=>{d()});function _2(){return{localeError:eP()}}var eP=()=>{let _={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function $(D){return _[D]??null}let U={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},J={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))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 ${D.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${G}`;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 ${j} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${G}`}case"invalid_value":if(D.values.length===1)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 ${F(D.values[0])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${j} ${D.maximum.toString()} ${W.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${j} ${D.minimum.toString()} ${W.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"`;if(j.format==="ends_with")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 "${j.suffix}"`;if(j.format==="includes")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 "${j.includes}"`;if(j.format==="regex")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 ${j.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${b(D.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${D.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":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 ${D.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var E9=Z(()=>{d()});function B9(){return _2()}var jg=Z(()=>{E9()});function R9(){return{localeError:sP()}}var sP=()=>{let _={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function $(D){return _[D]??null}let U={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${D.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${G}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${j}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${G}\uC785\uB2C8\uB2E4`}case"invalid_value":if(D.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${F(D.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${b(D.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let j=D.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",W=j==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",G=$(D.origin),X=G?.unit??"\uC694\uC18C";if(G)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()}${X} ${j}${W}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()} ${j}${W}`}case"too_small":{let j=D.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",W=j==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",G=$(D.origin),X=G?.unit??"\uC694\uC18C";if(G)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()}${X} ${j}${W}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()} ${j}${W}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${j.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(j.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${j.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(j.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${j.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(j.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${j.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[j.format]??D.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${D.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${b(D.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${D.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${D.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var Wg=Z(()=>{d()});function Gg(_){let $=Math.abs(_),U=$%10,J=$%100;if(J>=11&&J<=19||U===0)return"many";if(U===1)return"one";return"few"}function H9(){return{localeError:_k()}}var $2=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},_k=()=>{let _={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function $(D,j,W,G){let X=_[D]??null;if(X===null)return X;return{unit:X.unit[j],verb:X.verb[G][W?"inclusive":"notInclusive"]}}let U={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},J={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Gautas tipas ${G}, o tik\u0117tasi - instanceof ${D.expected}`;return`Gautas tipas ${G}, o tik\u0117tasi - ${j}`}case"invalid_value":if(D.values.length===1)return`Privalo b\u016Bti ${F(D.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${b(D.values,"|")} pasirinkim\u0173`;case"too_big":{let j=J[D.origin]??D.origin,W=$(D.origin,Gg(Number(D.maximum)),D.inclusive??!1,"smaller");if(W?.verb)return`${$2(j??D.origin??"reik\u0161m\u0117")} ${W.verb} ${D.maximum.toString()} ${W.unit??"element\u0173"}`;let G=D.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${$2(j??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${G} ${D.maximum.toString()} ${W?.unit}`}case"too_small":{let j=J[D.origin]??D.origin,W=$(D.origin,Gg(Number(D.minimum)),D.inclusive??!1,"bigger");if(W?.verb)return`${$2(j??D.origin??"reik\u0161m\u0117")} ${W.verb} ${D.minimum.toString()} ${W.unit??"element\u0173"}`;let G=D.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${$2(j??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${G} ${D.minimum.toString()} ${W?.unit}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${j.prefix}"`;if(j.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${j.suffix}"`;if(j.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${j.includes}"`;if(j.format==="regex")return`Eilut\u0117 privalo atitikti ${j.pattern}`;return`Neteisingas ${U[j.format]??D.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${D.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${D.keys.length>1?"i":"as"} rakt${D.keys.length>1?"ai":"as"}: ${b(D.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let j=J[D.origin]??D.origin;return`${$2(j??D.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var Xg=Z(()=>{d()});function A9(){return{localeError:$k()}}var $k=()=>{let _={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function $(D){return _[D]??null}let U={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},J={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${D.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${G}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${j}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${G}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${F(D.values[0])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${D.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${j}${D.maximum.toString()} ${W.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${D.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${D.origin} \u0434\u0430 \u0438\u043C\u0430 ${j}${D.minimum.toString()} ${W.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${D.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"`;if(j.format==="ends_with")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 "${j.suffix}"`;if(j.format==="includes")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 "${j.includes}"`;if(j.format==="regex")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 ${j.pattern}`;return`Invalid ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor}`;case"unrecognized_keys":return`${D.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"}: ${b(D.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${D.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${D.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var Ng=Z(()=>{d()});function V9(){return{localeError:Uk()}}var Uk=()=>{let _={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function $(D){return _[D]??null}let U={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},J={nan:"NaN",number:"nombor"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Input tidak sah: dijangka instanceof ${D.expected}, diterima ${G}`;return`Input tidak sah: dijangka ${j}, diterima ${G}`}case"invalid_value":if(D.values.length===1)return`Input tidak sah: dijangka ${F(D.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Terlalu besar: dijangka ${D.origin??"nilai"} ${W.verb} ${j}${D.maximum.toString()} ${W.unit??"elemen"}`;return`Terlalu besar: dijangka ${D.origin??"nilai"} adalah ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Terlalu kecil: dijangka ${D.origin} ${W.verb} ${j}${D.minimum.toString()} ${W.unit}`;return`Terlalu kecil: dijangka ${D.origin} adalah ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`String tidak sah: mesti bermula dengan "${j.prefix}"`;if(j.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${j.suffix}"`;if(j.format==="includes")return`String tidak sah: mesti mengandungi "${j.includes}"`;if(j.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${j.pattern}`;return`${U[j.format]??D.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${b(D.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${D.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${D.origin}`;default:return"Input tidak sah"}}};var Og=Z(()=>{d()});function b9(){return{localeError:Dk()}}var Dk=()=>{let _={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function $(D){return _[D]??null}let U={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},J={nan:"NaN",number:"getal"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Ongeldige invoer: verwacht instanceof ${D.expected}, ontving ${G}`;return`Ongeldige invoer: verwacht ${j}, ontving ${G}`}case"invalid_value":if(D.values.length===1)return`Ongeldige invoer: verwacht ${F(D.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin),G=D.origin==="date"?"laat":D.origin==="string"?"lang":"groot";if(W)return`Te ${G}: verwacht dat ${D.origin??"waarde"} ${j}${D.maximum.toString()} ${W.unit??"elementen"} ${W.verb}`;return`Te ${G}: verwacht dat ${D.origin??"waarde"} ${j}${D.maximum.toString()} is`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin),G=D.origin==="date"?"vroeg":D.origin==="string"?"kort":"klein";if(W)return`Te ${G}: verwacht dat ${D.origin} ${j}${D.minimum.toString()} ${W.unit} ${W.verb}`;return`Te ${G}: verwacht dat ${D.origin} ${j}${D.minimum.toString()} is`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ongeldige tekst: moet met "${j.prefix}" beginnen`;if(j.format==="ends_with")return`Ongeldige tekst: moet op "${j.suffix}" eindigen`;if(j.format==="includes")return`Ongeldige tekst: moet "${j.includes}" bevatten`;if(j.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${j.pattern}`;return`Ongeldig: ${U[j.format]??D.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${D.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${D.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${D.origin}`;default:return"Ongeldige invoer"}}};var Yg=Z(()=>{d()});function K9(){return{localeError:Jk()}}var Jk=()=>{let _={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function $(D){return _[D]??null}let U={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},J={nan:"NaN",number:"tall",array:"liste"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Ugyldig input: forventet instanceof ${D.expected}, fikk ${G}`;return`Ugyldig input: forventet ${j}, fikk ${G}`}case"invalid_value":if(D.values.length===1)return`Ugyldig verdi: forventet ${F(D.values[0])}`;return`Ugyldig valg: forventet en av ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${j}${D.maximum.toString()} ${W.unit??"elementer"}`;return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`For lite(n): forventet ${D.origin} til \xE5 ha ${j}${D.minimum.toString()} ${W.unit}`;return`For lite(n): forventet ${D.origin} til \xE5 ha ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${j.prefix}"`;if(j.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${j.suffix}"`;if(j.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${j.includes}"`;if(j.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${j.pattern}`;return`Ugyldig ${U[j.format]??D.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${b(D.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${D.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${D.origin}`;default:return"Ugyldig input"}}};var zg=Z(()=>{d()});function I9(){return{localeError:jk()}}var jk=()=>{let _={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function $(D){return _[D]??null}let U={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},J={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`F\xE2sit giren: umulan instanceof ${D.expected}, al\u0131nan ${G}`;return`F\xE2sit giren: umulan ${j}, al\u0131nan ${G}`}case"invalid_value":if(D.values.length===1)return`F\xE2sit giren: umulan ${F(D.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${j}${D.maximum.toString()} ${W.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${j}${D.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${j}${D.minimum.toString()} ${W.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${j}${D.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`F\xE2sit metin: "${j.prefix}" ile ba\u015Flamal\u0131.`;if(j.format==="ends_with")return`F\xE2sit metin: "${j.suffix}" ile bitmeli.`;if(j.format==="includes")return`F\xE2sit metin: "${j.includes}" ihtiv\xE2 etmeli.`;if(j.format==="regex")return`F\xE2sit metin: ${j.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[j.format]??D.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${D.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`${D.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${D.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var Qg=Z(()=>{d()});function F9(){return{localeError:Wk()}}var Wk=()=>{let _={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function $(D){return _[D]??null}let U={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},J={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${D.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${G} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${j} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${G} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(D.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${F(D.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${b(D.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} ${W.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} \u0648\u064A`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} ${W.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} \u0648\u064A`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${j.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(j.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${j.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(j.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${j.includes}" \u0648\u0644\u0631\u064A`;if(j.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${j.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[j.format]??D.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${D.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${D.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${b(D.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${D.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${D.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var qg=Z(()=>{d()});function M9(){return{localeError:Gk()}}var Gk=()=>{let _={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function $(D){return _[D]??null}let U={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},J={nan:"NaN",number:"liczba",array:"tablica"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${D.expected}, otrzymano ${G}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${j}, otrzymano ${G}`}case"invalid_value":if(D.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${F(D.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${j}${D.maximum.toString()} ${W.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${j}${D.minimum.toString()} ${W.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${j.prefix}"`;if(j.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${j.suffix}"`;if(j.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${j.includes}"`;if(j.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${j.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[j.format]??D.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${D.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${D.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${D.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var Lg=Z(()=>{d()});function P9(){return{localeError:Xk()}}var Xk=()=>{let _={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function $(D){return _[D]??null}let U={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},J={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Tipo inv\xE1lido: esperado instanceof ${D.expected}, recebido ${G}`;return`Tipo inv\xE1lido: esperado ${j}, recebido ${G}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: esperado ${F(D.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Muito grande: esperado que ${D.origin??"valor"} tivesse ${j}${D.maximum.toString()} ${W.unit??"elementos"}`;return`Muito grande: esperado que ${D.origin??"valor"} fosse ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Muito pequeno: esperado que ${D.origin} tivesse ${j}${D.minimum.toString()} ${W.unit}`;return`Muito pequeno: esperado que ${D.origin} fosse ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${j.prefix}"`;if(j.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${j.suffix}"`;if(j.format==="includes")return`Texto inv\xE1lido: deve incluir "${j.includes}"`;if(j.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${j.pattern}`;return`${U[j.format]??D.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${D.divisor}`;case"unrecognized_keys":return`Chave${D.keys.length>1?"s":""} desconhecida${D.keys.length>1?"s":""}: ${b(D.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${D.origin}`;default:return"Campo inv\xE1lido"}}};var gg=Z(()=>{d()});function k9(){return{localeError:Nk()}}var Nk=()=>{let _={string:{unit:"caractere",verb:"s\u0103 aib\u0103"},file:{unit:"octe\u021Bi",verb:"s\u0103 aib\u0103"},array:{unit:"elemente",verb:"s\u0103 aib\u0103"},set:{unit:"elemente",verb:"s\u0103 aib\u0103"},map:{unit:"intr\u0103ri",verb:"s\u0103 aib\u0103"}};function $(D){return _[D]??null}let U={regex:"intrare",email:"adres\u0103 de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dat\u0103 \u0219i or\u0103 ISO",date:"dat\u0103 ISO",time:"or\u0103 ISO",duration:"durat\u0103 ISO",ipv4:"adres\u0103 IPv4",ipv6:"adres\u0103 IPv6",mac:"adres\u0103 MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"\u0219ir codat base64",base64url:"\u0219ir codat base64url",json_string:"\u0219ir JSON",e164:"num\u0103r E.164",jwt:"JWT",template_literal:"intrare"},J={nan:"NaN",string:"\u0219ir",number:"num\u0103r",boolean:"boolean",function:"func\u021Bie",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"num\u0103r mare",void:"void",never:"never",map:"hart\u0103",set:"set"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;return`Intrare invalid\u0103: a\u0219teptat ${j}, primit ${G}`}case"invalid_value":if(D.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${F(D.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} ${W.verb} ${j}${D.maximum.toString()} ${W.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} s\u0103 fie ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Prea mic: a\u0219teptat ca ${D.origin} ${W.verb} ${j}${D.minimum.toString()} ${W.unit}`;return`Prea mic: a\u0219teptat ca ${D.origin} s\u0103 fie ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${j.prefix}"`;if(j.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${j.suffix}"`;if(j.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${j.includes}"`;if(j.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${j.pattern}`;return`Format invalid: ${U[j.format]??D.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${D.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${b(D.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${D.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${D.origin}`;default:return"Intrare invalid\u0103"}}};var Eg=Z(()=>{d()});function Bg(_,$,U,J){let D=Math.abs(_),j=D%10,W=D%100;if(W>=11&&W<=19)return J;if(j===1)return $;if(j>=2&&j<=4)return U;return J}function w9(){return{localeError:Ok()}}var Ok=()=>{let _={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function $(D){return _[D]??null}let U={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},J={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${D.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${G}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${j}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${G}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${F(D.values[0])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=Bg(G,W.unit.one,W.unit.few,W.unit.many);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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${j}${D.maximum.toString()} ${X}`}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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W){let G=Number(D.minimum),X=Bg(G,W.unit.one,W.unit.few,W.unit.many);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 ${D.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${j}${D.minimum.toString()} ${X}`}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 ${D.origin} \u0431\u0443\u0434\u0435\u0442 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"`;if(j.format==="ends_with")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 "${j.suffix}"`;if(j.format==="includes")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 "${j.includes}"`;if(j.format==="regex")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 ${j.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${D.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${D.keys.length>1?"\u0438":""}: ${b(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${D.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var Rg=Z(()=>{d()});function S9(){return{localeError:Yk()}}var Yk=()=>{let _={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function $(D){return _[D]??null}let U={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},J={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${D.expected}, prejeto ${G}`;return`Neveljaven vnos: pri\u010Dakovano ${j}, prejeto ${G}`}case"invalid_value":if(D.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${F(D.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} imelo ${j}${D.maximum.toString()} ${W.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Premajhno: pri\u010Dakovano, da bo ${D.origin} imelo ${j}${D.minimum.toString()} ${W.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${j.prefix}"`;if(j.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${j.suffix}"`;if(j.format==="includes")return`Neveljaven niz: mora vsebovati "${j.includes}"`;if(j.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${j.pattern}`;return`Neveljaven ${U[j.format]??D.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${D.divisor}`;case"unrecognized_keys":return`Neprepoznan${D.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${b(D.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${D.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${D.origin}`;default:return"Neveljaven vnos"}}};var Hg=Z(()=>{d()});function f9(){return{localeError:zk()}}var zk=()=>{let _={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function $(D){return _[D]??null}let U={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},J={nan:"NaN",number:"antal",array:"lista"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${D.expected}, fick ${G}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${j}, fick ${G}`}case"invalid_value":if(D.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${F(D.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${j}${D.maximum.toString()} ${W.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${D.origin??"v\xE4rdet"} att ha ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${j}${D.minimum.toString()} ${W.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${j.prefix}"`;if(j.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${j.suffix}"`;if(j.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${j.includes}"`;if(j.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${j.pattern}"`;return`Ogiltig(t) ${U[j.format]??D.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${b(D.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${D.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${D.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var Ag=Z(()=>{d()});function T9(){return{localeError:Qk()}}var Qk=()=>{let _={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"},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"},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"},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"}};function $(D){return _[D]??null}let U={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},J={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))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 ${D.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${G}`;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 ${j}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${G}`}case"invalid_value":if(D.values.length===1)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 ${F(D.values[0])}`;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 ${b(D.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)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 ${D.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${j}${D.maximum.toString()} ${W.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`;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 ${D.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${j}${D.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)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 ${D.origin} ${j}${D.minimum.toString()} ${W.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;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 ${D.origin} ${j}${D.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${j.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(j.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${j.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(j.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${j.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(j.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${j.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`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${D.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${D.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${b(D.keys,", ")}`;case"invalid_key":return`${D.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${D.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var Vg=Z(()=>{d()});function C9(){return{localeError:qk()}}var qk=()=>{let _={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function $(D){return _[D]??null}let U={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",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)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},J={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))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 ${D.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${G}`;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 ${j} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${G}`}case"invalid_value":if(D.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${F(D.values[0])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",W=$(D.origin);if(W)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.maximum.toString()} ${W.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",W=$(D.origin);if(W)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.minimum.toString()} ${W.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"`;if(j.format==="ends_with")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 "${j.suffix}"`;if(j.format==="includes")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 "${j.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(j.format==="regex")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 ${j.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${b(D.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${D.origin}`;case"invalid_union":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";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${D.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var bg=Z(()=>{d()});function Z9(){return{localeError:Lk()}}var Lk=()=>{let _={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function $(D){return _[D]??null}let U={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${D.expected}, al\u0131nan ${G}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${j}, al\u0131nan ${G}`}case"invalid_value":if(D.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${F(D.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${j}${D.maximum.toString()} ${W.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${j}${D.minimum.toString()} ${W.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ge\xE7ersiz metin: "${j.prefix}" ile ba\u015Flamal\u0131`;if(j.format==="ends_with")return`Ge\xE7ersiz metin: "${j.suffix}" ile bitmeli`;if(j.format==="includes")return`Ge\xE7ersiz metin: "${j.includes}" i\xE7ermeli`;if(j.format==="regex")return`Ge\xE7ersiz metin: ${j.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[j.format]??D.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${D.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${D.keys.length>1?"lar":""}: ${b(D.keys,", ")}`;case"invalid_key":return`${D.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${D.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var Kg=Z(()=>{d()});function U2(){return{localeError:gk()}}var gk=()=>{let _={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function $(D){return _[D]??null}let U={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},J={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))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 ${D.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${G}`;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 ${j}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${G}`}case"invalid_value":if(D.values.length===1)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 ${F(D.values[0])}`;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 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${W.verb} ${j}${D.maximum.toString()} ${W.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${D.origin} ${W.verb} ${j}${D.minimum.toString()} ${W.unit}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${D.origin} \u0431\u0443\u0434\u0435 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")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 "${j.prefix}"`;if(j.format==="ends_with")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 "${j.suffix}"`;if(j.format==="includes")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 "${j.includes}"`;if(j.format==="regex")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 ${j.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[j.format]??D.format}`}case"not_multiple_of":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 ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${D.keys.length>1?"\u0456":""}: ${b(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${D.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var v9=Z(()=>{d()});function y9(){return U2()}var Ig=Z(()=>{v9()});function h9(){return{localeError:Ek()}}var Ek=()=>{let _={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function $(D){return _[D]??null}let U={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},J={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${D.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${G} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${j} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${G} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(D.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${F(D.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${b(D.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${j}${D.maximum.toString()} ${W.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${j}${D.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u06D2 ${j}${D.minimum.toString()} ${W.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u0627 ${j}${D.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${j.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(j.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${j.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(j.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${j.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(j.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${j.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${D.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${D.keys.length>1?"\u0632":""}: ${b(D.keys,"\u060C ")}`;case"invalid_key":return`${D.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${D.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var Fg=Z(()=>{d()});function x9(){return{localeError:Bk()}}var Bk=()=>{let _={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"},map:{unit:"yozuv",verb:"bo\u2018lishi kerak"}};function $(D){return _[D]??null}let U={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},J={nan:"NaN",number:"raqam",array:"massiv"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${D.expected}, qabul qilingan ${G}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${j}, qabul qilingan ${G}`}case"invalid_value":if(D.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${F(D.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Juda katta: kutilgan ${D.origin??"qiymat"} ${j}${D.maximum.toString()} ${W.unit} ${W.verb}`;return`Juda katta: kutilgan ${D.origin??"qiymat"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Juda kichik: kutilgan ${D.origin} ${j}${D.minimum.toString()} ${W.unit} ${W.verb}`;return`Juda kichik: kutilgan ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${j.prefix}" bilan boshlanishi kerak`;if(j.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${j.suffix}" bilan tugashi kerak`;if(j.format==="includes")return`Noto\u2018g\u2018ri satr: "${j.includes}" ni o\u2018z ichiga olishi kerak`;if(j.format==="regex")return`Noto\u2018g\u2018ri satr: ${j.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[j.format]??D.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${D.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${D.keys.length>1?"lar":""}: ${b(D.keys,", ")}`;case"invalid_key":return`${D.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${D.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var Mg=Z(()=>{d()});function r9(){return{localeError:Rk()}}var Rk=()=>{let _={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function $(D){return _[D]??null}let U={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},J={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${D.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${G}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${j}, nh\u1EADn \u0111\u01B0\u1EE3c ${G}`}case"invalid_value":if(D.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${F(D.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${W.verb} ${j}${D.maximum.toString()} ${W.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${W.verb} ${j}${D.minimum.toString()} ${W.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${j.prefix}"`;if(j.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${j.suffix}"`;if(j.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${j.includes}"`;if(j.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${j.pattern}`;return`${U[j.format]??D.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${D.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${b(D.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${D.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${D.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var Pg=Z(()=>{d()});function u9(){return{localeError:Hk()}}var Hk=()=>{let _={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function $(D){return _[D]??null}let U={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},J={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${D.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${G}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${j}\uFF0C\u5B9E\u9645\u63A5\u6536 ${G}`}case"invalid_value":if(D.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${F(D.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${j}${D.maximum.toString()} ${W.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${j}${D.minimum.toString()} ${W.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${j.prefix}" \u5F00\u5934`;if(j.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${j.suffix}" \u7ED3\u5C3E`;if(j.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${j.includes}"`;if(j.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${j.pattern}`;return`\u65E0\u6548${U[j.format]??D.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${D.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${b(D.keys,", ")}`;case"invalid_key":return`${D.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${D.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var kg=Z(()=>{d()});function n9(){return{localeError:Ak()}}var Ak=()=>{let _={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function $(D){return _[D]??null}let U={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},J={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${D.expected}\uFF0C\u4F46\u6536\u5230 ${G}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${j}\uFF0C\u4F46\u6536\u5230 ${G}`}case"invalid_value":if(D.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${F(D.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${j}${D.maximum.toString()} ${W.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${j}${D.minimum.toString()} ${W.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${j.prefix}" \u958B\u982D`;if(j.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${j.suffix}" \u7D50\u5C3E`;if(j.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${j.includes}"`;if(j.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${j.pattern}`;return`\u7121\u6548\u7684 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${D.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${D.keys.length>1?"\u5011":""}\uFF1A${b(D.keys,"\u3001")}`;case"invalid_key":return`${D.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${D.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var wg=Z(()=>{d()});function m9(){return{localeError:Vk()}}var Vk=()=>{let _={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function $(D){return _[D]??null}let U={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},J={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(D)=>{switch(D.code){case"invalid_type":{let j=J[D.expected]??D.expected,W=M(D.input),G=J[W]??W;if(/^[A-Z]/.test(D.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${D.expected}, \xE0m\u1ECD\u0300 a r\xED ${G}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${j}, \xE0m\u1ECD\u0300 a r\xED ${G}`}case"invalid_value":if(D.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${F(D.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${b(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin??"iye"} ${W.verb} ${j}${D.maximum} ${W.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${j}${D.maximum}`}case"too_small":{let j=D.inclusive?">=":">",W=$(D.origin);if(W)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin} ${W.verb} ${j}${D.minimum} ${W.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${j}${D.minimum}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${j.prefix}"`;if(j.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${j.suffix}"`;if(j.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${j.includes}"`;if(j.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${j.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[j.format]??D.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${D.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${b(D.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${D.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${D.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var Sg=Z(()=>{d()});var F1={};_6(F1,{zhTW:()=>n9,zhCN:()=>u9,yo:()=>m9,vi:()=>r9,uz:()=>x9,ur:()=>h9,uk:()=>U2,ua:()=>y9,tr:()=>Z9,th:()=>C9,ta:()=>T9,sv:()=>f9,sl:()=>S9,ru:()=>w9,ro:()=>k9,pt:()=>P9,ps:()=>F9,pl:()=>M9,ota:()=>I9,no:()=>K9,nl:()=>b9,ms:()=>V9,mk:()=>A9,lt:()=>H9,ko:()=>R9,km:()=>_2,kh:()=>B9,ka:()=>g9,ja:()=>L9,it:()=>q9,is:()=>Q9,id:()=>z9,hy:()=>Y9,hu:()=>O9,hr:()=>N9,he:()=>X9,frCA:()=>G9,fr:()=>W9,fi:()=>j9,fa:()=>J9,es:()=>D9,eo:()=>U9,en:()=>sU,el:()=>_9,de:()=>sN,da:()=>eN,cs:()=>aN,ca:()=>tN,bg:()=>pN,be:()=>oN,az:()=>lN,ar:()=>iN});var d9=Z(()=>{TL();CL();vL();yL();hL();xL();rL();uL();nL();$9();mL();dL();cL();iL();lL();oL();pL();tL();aL();sL();_g();$g();Ug();Dg();Jg();jg();E9();Wg();Xg();Ng();Og();Yg();zg();Qg();qg();Lg();gg();Eg();Rg();Hg();Ag();Vg();bg();Kg();Ig();v9();Fg();Mg();Pg();kg();wg();Sg()});class c9{constructor(){this._map=new WeakMap,this._idmap=new Map}add(_,...$){let U=$[0];if(this._map.set(_,U),U&&typeof U==="object"&&"id"in U)this._idmap.set(U.id,_);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(_){let $=this._map.get(_);if($&&typeof $==="object"&&"id"in $)this._idmap.delete($.id);return this._map.delete(_),this}get(_){let $=_._zod.parent;if($){let U={...this.get($)??{}};delete U.id;let J={...U,...this._map.get(_)};return Object.keys(J).length?J:void 0}return this._map.get(_)}has(_){return this._map.has(_)}}function D2(){return new c9}var fg,xJ,rJ,o_;var J2=Z(()=>{xJ=Symbol("ZodOutput"),rJ=Symbol("ZodInput");(fg=globalThis).__zod_globalRegistry??(fg.__zod_globalRegistry=D2());o_=globalThis.__zod_globalRegistry});function i9(_,$){return new _({type:"string",...f($)})}function l9(_,$){return new _({type:"string",coerce:!0,...f($)})}function uJ(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...f($)})}function j2(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...f($)})}function nJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...f($)})}function mJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...f($)})}function dJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...f($)})}function cJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...f($)})}function W2(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...f($)})}function iJ(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...f($)})}function lJ(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...f($)})}function oJ(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...f($)})}function pJ(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...f($)})}function tJ(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...f($)})}function aJ(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...f($)})}function eJ(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...f($)})}function sJ(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...f($)})}function _j(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...f($)})}function o9(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...f($)})}function $j(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...f($)})}function Uj(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...f($)})}function Dj(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...f($)})}function Jj(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...f($)})}function jj(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...f($)})}function Wj(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...f($)})}function p9(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...f($)})}function t9(_,$){return new _({type:"string",format:"date",check:"string_format",...f($)})}function a9(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...f($)})}function e9(_,$){return new _({type:"string",format:"duration",check:"string_format",...f($)})}function s9(_,$){return new _({type:"number",checks:[],...f($)})}function _8(_,$){return new _({type:"number",coerce:!0,checks:[],...f($)})}function $8(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...f($)})}function U8(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...f($)})}function D8(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...f($)})}function J8(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...f($)})}function j8(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...f($)})}function W8(_,$){return new _({type:"boolean",...f($)})}function G8(_,$){return new _({type:"boolean",coerce:!0,...f($)})}function X8(_,$){return new _({type:"bigint",...f($)})}function N8(_,$){return new _({type:"bigint",coerce:!0,...f($)})}function O8(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...f($)})}function Y8(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...f($)})}function z8(_,$){return new _({type:"symbol",...f($)})}function Q8(_,$){return new _({type:"undefined",...f($)})}function q8(_,$){return new _({type:"null",...f($)})}function L8(_){return new _({type:"any"})}function g8(_){return new _({type:"unknown"})}function E8(_,$){return new _({type:"never",...f($)})}function B8(_,$){return new _({type:"void",...f($)})}function R8(_,$){return new _({type:"date",...f($)})}function H8(_,$){return new _({type:"date",coerce:!0,...f($)})}function A8(_,$){return new _({type:"nan",...f($)})}function u$(_,$){return new FJ({check:"less_than",...f($),value:_,inclusive:!1})}function q$(_,$){return new FJ({check:"less_than",...f($),value:_,inclusive:!0})}function n$(_,$){return new MJ({check:"greater_than",...f($),value:_,inclusive:!1})}function s_(_,$){return new MJ({check:"greater_than",...f($),value:_,inclusive:!0})}function G2(_){return n$(0,_)}function X2(_){return u$(0,_)}function N2(_){return q$(0,_)}function O2(_){return s_(0,_)}function k6(_,$){return new L5({check:"multiple_of",...f($),value:_})}function w6(_,$){return new B5({check:"max_size",...f($),maximum:_})}function m$(_,$){return new R5({check:"min_size",...f($),minimum:_})}function W4(_,$){return new H5({check:"size_equals",...f($),size:_})}function G4(_,$){return new A5({check:"max_length",...f($),maximum:_})}function N6(_,$){return new V5({check:"min_length",...f($),minimum:_})}function X4(_,$){return new b5({check:"length_equals",...f($),length:_})}function t4(_,$){return new K5({check:"string_format",format:"regex",...f($),pattern:_})}function a4(_){return new I5({check:"string_format",format:"lowercase",...f(_)})}function e4(_){return new F5({check:"string_format",format:"uppercase",...f(_)})}function s4(_,$){return new M5({check:"string_format",format:"includes",...f($),includes:_})}function _0(_,$){return new P5({check:"string_format",format:"starts_with",...f($),prefix:_})}function $0(_,$){return new k5({check:"string_format",format:"ends_with",...f($),suffix:_})}function Y2(_,$,U){return new w5({check:"property",property:_,schema:$,...f(U)})}function U0(_,$){return new S5({check:"mime_type",mime:_,...f($)})}function w$(_){return new f5({check:"overwrite",tx:_})}function D0(_){return w$(($)=>$.normalize(_))}function J0(){return w$((_)=>_.trim())}function j0(){return w$((_)=>_.toLowerCase())}function W0(){return w$((_)=>_.toUpperCase())}function G0(){return w$((_)=>PX(_))}function V8(_,$,U){return new _({type:"array",element:$,...f(U)})}function Kk(_,$,U){return new _({type:"union",options:$,...f(U)})}function Ik(_,$,U){return new _({type:"union",options:$,inclusive:!1,...f(U)})}function Fk(_,$,U,J){return new _({type:"union",options:U,discriminator:$,...f(J)})}function Mk(_,$,U){return new _({type:"intersection",left:$,right:U})}function Pk(_,$,U,J){let D=U instanceof $_;return new _({type:"tuple",items:$,rest:D?U:null,...f(D?J:U)})}function kk(_,$,U,J){return new _({type:"record",keyType:$,valueType:U,...f(J)})}function wk(_,$,U,J){return new _({type:"map",keyType:$,valueType:U,...f(J)})}function Sk(_,$,U){return new _({type:"set",valueType:$,...f(U)})}function fk(_,$,U){let J=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:J,...f(U)})}function Tk(_,$,U){return new _({type:"enum",entries:$,...f(U)})}function Ck(_,$,U){return new _({type:"literal",values:Array.isArray($)?$:[$],...f(U)})}function b8(_,$){return new _({type:"file",...f($)})}function Zk(_,$){return new _({type:"transform",transform:$})}function vk(_,$){return new _({type:"optional",innerType:$})}function yk(_,$){return new _({type:"nullable",innerType:$})}function hk(_,$,U){return new _({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():wX(U)}})}function xk(_,$,U){return new _({type:"nonoptional",innerType:$,...f(U)})}function rk(_,$){return new _({type:"success",innerType:$})}function uk(_,$,U){return new _({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}function nk(_,$,U){return new _({type:"pipe",in:$,out:U})}function mk(_,$){return new _({type:"readonly",innerType:$})}function dk(_,$,U){return new _({type:"template_literal",parts:$,...f(U)})}function ck(_,$){return new _({type:"lazy",getter:$})}function ik(_,$){return new _({type:"promise",innerType:$})}function K8(_,$,U){let J=f(U);return J.abort??(J.abort=!0),new _({type:"custom",check:"custom",fn:$,...J})}function I8(_,$,U){return new _({type:"custom",check:"custom",fn:$,...f(U)})}function F8(_,$){let U=Tg((J)=>{return J.addIssue=(D)=>{if(typeof D==="string")J.issues.push(E1(D,J.value,U._zod.def));else{let j=D;if(j.fatal)j.continue=!1;j.code??(j.code="custom"),j.input??(j.input=J.value),j.inst??(j.inst=U),j.continue??(j.continue=!U._zod.def.abort),J.issues.push(E1(j))}},_(J.value,J)},$);return U}function Tg(_,$){let U=new k_({check:"custom",...f($)});return U._zod.check=_,U}function M8(_){let $=new k_({check:"describe"});return $._zod.onattach=[(U)=>{let J=o_.get(U)??{};o_.add(U,{...J,description:_})}],$._zod.check=()=>{},$}function P8(_){let $=new k_({check:"meta"});return $._zod.onattach=[(U)=>{let J=o_.get(U)??{};o_.add(U,{...J,..._})}],$._zod.check=()=>{},$}function k8(_,$){let U=f($),J=U.truthy??["true","1","yes","on","y","enabled"],D=U.falsy??["false","0","no","off","n","disabled"];if(U.case!=="sensitive")J=J.map((Q)=>typeof Q==="string"?Q.toLowerCase():Q),D=D.map((Q)=>typeof Q==="string"?Q.toLowerCase():Q);let j=new Set(J),W=new Set(D),G=_.Codec??eU,X=_.Boolean??tU,z=new(_.String??p4)({type:"string",error:U.error}),L=new X({type:"boolean",error:U.error}),E=new G({type:"pipe",in:z,out:L,transform:(Q,q)=>{let g=Q;if(U.case!=="sensitive")g=g.toLowerCase();if(j.has(g))return!0;else if(W.has(g))return!1;else return q.issues.push({code:"invalid_value",expected:"stringbool",values:[...j,...W],input:q.value,inst:E,continue:!1}),{}},reverseTransform:(Q,q)=>{if(Q===!0)return J[0]||"true";else return D[0]||"false"},error:U.error});return E}function M1(_,$,U,J={}){let D=f(J),j={...f(J),check:"string_format",type:"string",format:$,fn:typeof U==="function"?U:(G)=>U.test(G),...D};if(U instanceof RegExp)j.pattern=U;return new _(j)}var Gj;var Cg=Z(()=>{PJ();J2();cN();d();Gj={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function N4(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";return{processors:_.processors??{},metadataRegistry:_?.metadata??o_,target:$,unrepresentable:_?.unrepresentable??"throw",override:_?.override??(()=>{}),io:_?.io??"output",counter:0,seen:new Map,cycles:_?.cycles??"ref",reused:_?.reused??"inline",external:_?.external??void 0}}function H_(_,$,U={path:[],schemaPath:[]}){var J;let D=_._zod.def,j=$.seen.get(_);if(j){if(j.count++,U.schemaPath.includes(_))j.cycle=U.path;return j.schema}let W={schema:{},count:1,cycle:void 0,path:U.path};$.seen.set(_,W);let G=_._zod.toJSONSchema?.();if(G)W.schema=G;else{let z={...U,schemaPath:[...U.schemaPath,_],path:U.path};if(_._zod.processJSONSchema)_._zod.processJSONSchema($,W.schema,z);else{let E=W.schema,Q=$.processors[D.type];if(!Q)throw Error(`[toJSONSchema]: Non-representable type encountered: ${D.type}`);Q(_,$,E,z)}let L=_._zod.parent;if(L){if(!W.ref)W.ref=L;H_(L,$,z),$.seen.get(L).isParent=!0}}let X=$.metadataRegistry.get(_);if(X)Object.assign(W.schema,X);if($.io==="input"&&G$(_))delete W.schema.examples,delete W.schema.default;if($.io==="input"&&"_prefault"in W.schema)(J=W.schema).default??(J.default=W.schema._prefault);return delete W.schema._prefault,$.seen.get(_).schema}function O4(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let J=new Map;for(let W of _.seen.entries()){let G=_.metadataRegistry.get(W[0])?.id;if(G){let X=J.get(G);if(X&&X!==W[0])throw Error(`Duplicate schema id "${G}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);J.set(G,W[0])}}let D=(W)=>{let G=_.target==="draft-2020-12"?"$defs":"definitions";if(_.external){let L=_.external.registry.get(W[0])?.id,E=_.external.uri??((q)=>q);if(L)return{ref:E(L)};let Q=W[1].defId??W[1].schema.id??`schema${_.counter++}`;return W[1].defId=Q,{defId:Q,ref:`${E("__shared")}#/${G}/${Q}`}}if(W[1]===U)return{ref:"#"};let N=`${"#"}/${G}/`,z=W[1].schema.id??`__schema${_.counter++}`;return{defId:z,ref:N+z}},j=(W)=>{if(W[1].schema.$ref)return;let G=W[1],{ref:X,defId:N}=D(W);if(G.def={...G.schema},N)G.defId=N;let z=G.schema;for(let L in z)delete z[L];z.$ref=X};if(_.cycles==="throw")for(let W of _.seen.entries()){let G=W[1];if(G.cycle)throw Error(`Cycle detected: #/${G.cycle?.join("/")}/ + `)}L.write("payload.value = newResult;"),L.write("return payload;");let A=L.compile();return(M,E)=>A(V,M,E)},X,G=x0,Q=!v0.jitless,j=Q&&VQ.value,O=_.catchall,B;$._zod.parse=(V,L)=>{B??(B=W.value);let N=V.value;if(!G(N))return V.issues.push({expected:"object",code:"invalid_type",input:N,inst:$}),V;if(Q&&j&&L?.async===!1&&L.jitless!==!0){if(!X)X=J(_.shape);if(V=X(V,L),!O)return V;return _H([],N,V,L,B,$)}return U(V,L)}});HJ=F("$ZodUnion",($,_)=>{D$.init($,_),E$($._zod,"optin",()=>_.options.some((W)=>W._zod.optin==="optional")?"optional":void 0),E$($._zod,"optout",()=>_.options.some((W)=>W._zod.optout==="optional")?"optional":void 0),E$($._zod,"values",()=>{if(_.options.every((W)=>W._zod.values))return new Set(_.options.flatMap((W)=>Array.from(W._zod.values)));return}),E$($._zod,"pattern",()=>{if(_.options.every((W)=>W._zod.pattern)){let W=_.options.map((J)=>J._zod.pattern);return new RegExp(`^(${W.map((J)=>YJ(J.source)).join("|")})$`)}return});let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else{if(Y.issues.length===0)return Y;G.push(Y)}}if(!X)return x3(G,W,$,J);return Promise.all(G).then((Q)=>{return x3(Q,W,$,J)})}});jj=F("$ZodXor",($,_)=>{HJ.init($,_),_.inclusive=!1;let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else G.push(Y)}if(!X)return m3(G,W,$,J);return Promise.all(G).then((Q)=>{return m3(Q,W,$,J)})}}),Dj=F("$ZodDiscriminatedUnion",($,_)=>{_.inclusive=!1,HJ.init($,_);let U=$._zod.parse;E$($._zod,"propValues",()=>{let J={};for(let X of _.options){let G=X._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(X)}"`);for(let[Q,Y]of Object.entries(G)){if(!J[Q])J[Q]=new Set;for(let j of Y)J[Q].add(j)}}return J});let W=I2(()=>{let J=_.options,X=new Map;for(let G of J){let Q=G._zod.propValues?.[_.discriminator];if(!Q||Q.size===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(G)}"`);for(let Y of Q){if(X.has(Y))throw Error(`Duplicate discriminator value "${String(Y)}"`);X.set(Y,G)}}return X});$._zod.parse=(J,X)=>{let G=J.value;if(!x0(G))return J.issues.push({code:"invalid_type",expected:"object",input:G,inst:$}),J;let Q=W.value.get(G?.[_.discriminator]);if(Q)return Q._zod.run(J,X);if(_.unionFallback||X.direction==="backward")return U(J,X);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:_.discriminator,options:Array.from(W.value.keys()),input:G,path:[_.discriminator],inst:$}),J}}),zj=F("$ZodIntersection",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value,X=_.left._zod.run({value:J,issues:[]},W),G=_.right._zod.run({value:J,issues:[]},W);if(X instanceof Promise||G instanceof Promise)return Promise.all([X,G]).then(([Y,j])=>{return u3(U,Y,j)});return u3(U,X,G)}});j9=F("$ZodTuple",($,_)=>{D$.init($,_);let U=_.items;$._zod.parse=(W,J)=>{let X=W.value;if(!Array.isArray(X))return W.issues.push({input:X,inst:$,expected:"tuple",code:"invalid_type"}),W;W.value=[];let G=[],Q=d3(U,"optin"),Y=d3(U,"optout");if(!_.rest){if(X.lengthU.length)W.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:X,inst:$,origin:"array"})}let j=Array(U.length);for(let O=0;O{j[O]=V}));else j[O]=B}if(_.rest){let O=U.length-1,B=X.slice(U.length);for(let V of B){O++;let L=_.rest._zod.run({value:V,issues:[]},J);if(L instanceof Promise)G.push(L.then((N)=>n3(N,W,O)));else n3(L,W,O)}}if(G.length)return Promise.all(G).then(()=>c3(j,W,U,X,Y));return c3(j,W,U,X,Y)}});qj=F("$ZodRecord",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!d4(J))return U.issues.push({expected:"record",code:"invalid_type",input:J,inst:$}),U;let X=[],G=_.keyType._zod.values;if(G){U.value={};let Q=new Set;for(let j of G)if(typeof j==="string"||typeof j==="number"||typeof j==="symbol"){Q.add(typeof j==="number"?j.toString():j);let O=_.keyType._zod.run({value:j,issues:[]},W);if(O instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(O.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:O.issues.map((L)=>K_(L,W,__())),input:j,path:[j],inst:$});continue}let B=O.value,V=_.valueType._zod.run({value:J[j],issues:[]},W);if(V instanceof Promise)X.push(V.then((L)=>{if(L.issues.length)U.issues.push(...k_(j,L.issues));U.value[B]=L.value}));else{if(V.issues.length)U.issues.push(...k_(j,V.issues));U.value[B]=V.value}}let Y;for(let j in J)if(!Q.has(j))Y=Y??[],Y.push(j);if(Y&&Y.length>0)U.issues.push({code:"unrecognized_keys",input:J,inst:$,keys:Y})}else{U.value={};for(let Q of Reflect.ownKeys(J)){if(Q==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(J,Q))continue;let Y=_.keyType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof Q==="string"&&OJ.test(Q)&&Y.issues.length){let B=_.keyType._zod.run({value:Number(Q),issues:[]},W);if(B instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(B.issues.length===0)Y=B}if(Y.issues.length){if(_.mode==="loose")U.value[Q]=J[Q];else U.issues.push({code:"invalid_key",origin:"record",issues:Y.issues.map((B)=>K_(B,W,__())),input:Q,path:[Q],inst:$});continue}let O=_.valueType._zod.run({value:J[Q],issues:[]},W);if(O instanceof Promise)X.push(O.then((B)=>{if(B.issues.length)U.issues.push(...k_(Q,B.issues));U.value[Y.value]=B.value}));else{if(O.issues.length)U.issues.push(...k_(Q,O.issues));U.value[Y.value]=O.value}}}if(X.length)return Promise.all(X).then(()=>U);return U}}),Oj=F("$ZodMap",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Map))return U.issues.push({expected:"map",code:"invalid_type",input:J,inst:$}),U;let X=[];U.value=new Map;for(let[G,Q]of J){let Y=_.keyType._zod.run({value:G,issues:[]},W),j=_.valueType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise||j instanceof Promise)X.push(Promise.all([Y,j]).then(([O,B])=>{l3(O,B,U,G,J,$,W)}));else l3(Y,j,U,G,J,$,W)}if(X.length)return Promise.all(X).then(()=>U);return U}});Lj=F("$ZodSet",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Set))return U.issues.push({input:J,inst:$,expected:"set",code:"invalid_type"}),U;let X=[];U.value=new Set;for(let G of J){let Q=_.valueType._zod.run({value:G,issues:[]},W);if(Q instanceof Promise)X.push(Q.then((Y)=>r3(Y,U)));else r3(Q,U)}if(X.length)return Promise.all(X).then(()=>U);return U}});Nj=F("$ZodEnum",($,_)=>{D$.init($,_);let U=QJ(_.entries),W=new Set(U);$._zod.values=W,$._zod.pattern=new RegExp(`^(${U.filter((J)=>jJ.has(typeof J)).map((J)=>typeof J==="string"?t_(J):J.toString()).join("|")})$`),$._zod.parse=(J,X)=>{let G=J.value;if(W.has(G))return J;return J.issues.push({code:"invalid_value",values:U,input:G,inst:$}),J}}),Bj=F("$ZodLiteral",($,_)=>{if(D$.init($,_),_.values.length===0)throw Error("Cannot create literal schema with no valid values");let U=new Set(_.values);$._zod.values=U,$._zod.pattern=new RegExp(`^(${_.values.map((W)=>typeof W==="string"?t_(W):W?t_(W.toString()):String(W)).join("|")})$`),$._zod.parse=(W,J)=>{let X=W.value;if(U.has(X))return W;return W.issues.push({code:"invalid_value",values:_.values,input:X,inst:$}),W}}),Hj=F("$ZodFile",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(J instanceof File)return U;return U.issues.push({expected:"file",code:"invalid_type",input:J,inst:$}),U}}),Vj=F("$ZodTransform",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0($.constructor.name);let J=_.transform(U.value,U);if(W.async)return(J instanceof Promise?J:Promise.resolve(J)).then((G)=>{return U.value=G,U.fallback=!0,U});if(J instanceof Promise)throw new y6;return U.value=J,U.fallback=!0,U}});D9=F("$ZodOptional",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.optout="optional",E$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,void 0]):void 0}),E$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)})?$`):void 0}),$._zod.parse=(U,W)=>{if(_.innerType._zod.optin==="optional"){let J=U.value,X=_.innerType._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>i3(G,J));return i3(X,J)}if(U.value===void 0)return U;return _.innerType._zod.run(U,W)}}),Rj=F("$ZodExactOptional",($,_)=>{D9.init($,_),E$($._zod,"values",()=>_.innerType._zod.values),E$($._zod,"pattern",()=>_.innerType._zod.pattern),$._zod.parse=(U,W)=>{return _.innerType._zod.run(U,W)}}),Aj=F("$ZodNullable",($,_)=>{D$.init($,_),E$($._zod,"optin",()=>_.innerType._zod.optin),E$($._zod,"optout",()=>_.innerType._zod.optout),E$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)}|null)$`):void 0}),E$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,null]):void 0}),$._zod.parse=(U,W)=>{if(U.value===null)return U;return _.innerType._zod.run(U,W)}}),bj=F("$ZodDefault",($,_)=>{D$.init($,_),$._zod.optin="optional",E$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)return U.value=_.defaultValue,U;let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>p3(X,_));return p3(J,_)}});Fj=F("$ZodPrefault",($,_)=>{D$.init($,_),$._zod.optin="optional",E$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)U.value=_.defaultValue;return _.innerType._zod.run(U,W)}}),Ej=F("$ZodNonOptional",($,_)=>{D$.init($,_),E$($._zod,"values",()=>{let U=_.innerType._zod.values;return U?new Set([...U].filter((W)=>W!==void 0)):void 0}),$._zod.parse=(U,W)=>{let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>o3(X,$));return o3(J,$)}});Kj=F("$ZodSuccess",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0("ZodSuccess");let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{return U.value=X.issues.length===0,U});return U.value=J.issues.length===0,U}}),Mj=F("$ZodCatch",($,_)=>{D$.init($,_),$._zod.optin="optional",E$($._zod,"optout",()=>_.innerType._zod.optout),E$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{if(U.value=X.value,X.issues.length)U.value=_.catchValue({...U,error:{issues:X.issues.map((G)=>K_(G,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U});if(U.value=J.value,J.issues.length)U.value=_.catchValue({...U,error:{issues:J.issues.map((X)=>K_(X,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),gj=F("$ZodNaN",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(typeof U.value!=="number"||!Number.isNaN(U.value))return U.issues.push({input:U.value,inst:$,expected:"nan",code:"invalid_type"}),U;return U}}),z9=F("$ZodPipe",($,_)=>{D$.init($,_),E$($._zod,"values",()=>_.in._zod.values),E$($._zod,"optin",()=>_.in._zod.optin),E$($._zod,"optout",()=>_.out._zod.optout),E$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if(W.direction==="backward"){let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>J9(G,_.in,W));return J9(X,_.in,W)}let J=_.in._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>J9(X,_.out,W));return J9(J,_.out,W)}});VJ=F("$ZodCodec",($,_)=>{D$.init($,_),E$($._zod,"values",()=>_.in._zod.values),E$($._zod,"optin",()=>_.in._zod.optin),E$($._zod,"optout",()=>_.out._zod.optout),E$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if((W.direction||"forward")==="forward"){let X=_.in._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>W9(G,_,W));return W9(X,_,W)}else{let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>W9(G,_,W));return W9(X,_,W)}}});Ij=F("$ZodPreprocess",($,_)=>{z9.init($,_)}),wj=F("$ZodReadonly",($,_)=>{D$.init($,_),E$($._zod,"propValues",()=>_.innerType._zod.propValues),E$($._zod,"values",()=>_.innerType._zod.values),E$($._zod,"optin",()=>_.innerType?._zod?.optin),E$($._zod,"optout",()=>_.innerType?._zod?.optout),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then(t3);return t3(J)}});kj=F("$ZodTemplateLiteral",($,_)=>{D$.init($,_);let U=[];for(let W of _.parts)if(typeof W==="object"&&W!==null){if(!W._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...W._zod.traits].shift()}`);let J=W._zod.pattern instanceof RegExp?W._zod.pattern.source:W._zod.pattern;if(!J)throw Error(`Invalid template literal part: ${W._zod.traits}`);let X=J.startsWith("^")?1:0,G=J.endsWith("$")?J.length-1:J.length;U.push(J.slice(X,G))}else if(W===null||AQ.has(typeof W))U.push(t_(`${W}`));else throw Error(`Invalid template literal part: ${W}`);$._zod.pattern=new RegExp(`^${U.join("")}$`),$._zod.parse=(W,J)=>{if(typeof W.value!=="string")return W.issues.push({input:W.value,inst:$,expected:"string",code:"invalid_type"}),W;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(W.value))return W.issues.push({input:W.value,inst:$,code:"invalid_format",format:_.format??"template_literal",pattern:$._zod.pattern.source}),W;return W}}),fj=F("$ZodFunction",($,_)=>{return D$.init($,_),$._def=_,$._zod.def=_,$.implement=(U)=>{if(typeof U!=="function")throw Error("implement() must be called with a function");return function(...W){let J=$._def.input?uX($._def.input,W):W,X=Reflect.apply(U,this,J);if($._def.output)return uX($._def.output,X);return X}},$.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...W){let J=$._def.input?await dX($._def.input,W):W,X=await Reflect.apply(U,this,J);if($._def.output)return await dX($._def.output,X);return X}},$._zod.parse=(U,W)=>{if(typeof U.value!=="function")return U.issues.push({code:"invalid_type",expected:"function",input:U.value,inst:$}),U;if($._def.output&&$._def.output._zod.def.type==="promise")U.value=$.implementAsync(U.value);else U.value=$.implement(U.value);return U},$.input=(...U)=>{let W=$.constructor;if(Array.isArray(U[0]))return new W({type:"function",input:new j9({type:"tuple",items:U[0],rest:U[1]}),output:$._def.output});return new W({type:"function",input:U[0],output:$._def.output})},$.output=(U)=>{return new $.constructor({type:"function",input:$._def.input,output:U})},$}),Pj=F("$ZodPromise",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return Promise.resolve(U.value).then((J)=>_.innerType._zod.run({value:J,issues:[]},W))}}),Cj=F("$ZodLazy",($,_)=>{D$.init($,_),E$($._zod,"innerType",()=>{let U=_;if(!U._cachedInner)U._cachedInner=_.getter();return U._cachedInner}),E$($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),E$($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),E$($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),E$($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(U,W)=>{return $._zod.innerType._zod.run(U,W)}}),Tj=F("$ZodCustom",($,_)=>{n$.init($,_),D$.init($,_),$._zod.parse=(U,W)=>{return U},$._zod.check=(U)=>{let W=U.value,J=_.fn(W);if(J instanceof Promise)return J.then((X)=>a3(X,U,W,$));a3(J,U,W,$);return}})});function Zj(){return{localeError:JS()}}var JS=()=>{let $={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`;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 ${X}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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: ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"}`;return`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()} ${G.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${J.prefix}"`;if(X.format==="ends_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${X.suffix}"`;if(X.format==="includes")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`${U[X.format]??J.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${J.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${J.keys.length>1?"\u0629":""}: ${K(J.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var JH=y(()=>{p()});function vj(){return{localeError:WS()}}var WS=()=>{let $={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${J.expected}, daxil olan ${Q}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${X}, daxil olan ${Q}`}case"invalid_value":if(J.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${I(J.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${X.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(X.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${X.suffix}" il\u0259 bitm\u0259lidir`;if(X.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${X.includes}" daxil olmal\u0131d\u0131r`;if(X.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${X.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[X.format]??J.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${J.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${J.keys.length>1?"lar":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${J.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var WH=y(()=>{p()});function XH($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function yj(){return{localeError:XS()}}var XS=()=>{let $={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},W={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${J.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${X}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=XH(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=XH(Q,G.unit.one,G.unit.few,G.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.minimum.toString()} ${Y}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${J.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${J.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var GH=y(()=>{p()});function hj(){return{localeError:GS()}}var GS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;let G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(X.format==="emoji")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="datetime")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="date")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(X.format==="time")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="duration")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${G} ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${J.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u043E\u0432\u0435":""}: ${K(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var QH=y(()=>{p()});function xj(){return{localeError:QS()}}var QS=()=>{let $={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${J.expected}, s'ha rebut ${Q}`;return`Tipus inv\xE0lid: s'esperava ${X}, s'ha rebut ${Q}`}case"invalid_value":if(J.values.length===1)return`Valor inv\xE0lid: s'esperava ${I(J.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${K(J.values," o ")}`;case"too_big":{let X=J.inclusive?"com a m\xE0xim":"menys de",G=_(J.origin);if(G)return`Massa gran: s'esperava que ${J.origin??"el valor"} contingu\xE9s ${X} ${J.maximum.toString()} ${G.unit??"elements"}`;return`Massa gran: s'esperava que ${J.origin??"el valor"} fos ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"com a m\xEDnim":"m\xE9s de",G=_(J.origin);if(G)return`Massa petit: s'esperava que ${J.origin} contingu\xE9s ${X} ${J.minimum.toString()} ${G.unit}`;return`Massa petit: s'esperava que ${J.origin} fos ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${X.prefix}"`;if(X.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${X.suffix}"`;if(X.format==="includes")return`Format inv\xE0lid: ha d'incloure "${X.includes}"`;if(X.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${X.pattern}`;return`Format inv\xE0lid per a ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${J.divisor}`;case"unrecognized_keys":return`Clau${J.keys.length>1?"s":""} no reconeguda${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${J.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${J.origin}`;default:return"Entrada inv\xE0lida"}}};var YH=y(()=>{p()});function mj(){return{localeError:YS()}}var YS=()=>{let $={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function _(J){return $[J]??null}let U={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},W={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${J.expected}, obdr\u017Eeno ${Q}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${X}, obdr\u017Eeno ${Q}`}case"invalid_value":if(J.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${I(J.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.maximum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.minimum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${X.prefix}"`;if(X.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${X.suffix}"`;if(X.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${X.includes}"`;if(X.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${X.pattern}`;return`Neplatn\xFD form\xE1t ${U[X.format]??J.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${J.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${K(J.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${J.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${J.origin}`;default:return"Neplatn\xFD vstup"}}};var jH=y(()=>{p()});function uj(){return{localeError:jS()}}var jS=()=>{let $={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldigt input: forventede instanceof ${J.expected}, fik ${Q}`;return`Ugyldigt input: forventede ${X}, fik ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig v\xE6rdi: forventede ${I(J.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For stor: forventede ${Q??"value"} ${G.verb} ${X} ${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor: forventede ${Q??"value"} havde ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For lille: forventede ${Q} ${G.verb} ${X} ${J.minimum.toString()} ${G.unit}`;return`For lille: forventede ${Q} havde ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: skal starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: skal ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: skal indeholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${K(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${J.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${J.origin}`;default:return"Ugyldigt input"}}};var DH=y(()=>{p()});function dj(){return{localeError:DS()}}var DS=()=>{let $={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function _(J){return $[J]??null}let U={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},W={nan:"NaN",number:"Zahl",array:"Array"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${J.expected}, erhalten ${Q}`;return`Ung\xFCltige Eingabe: erwartet ${X}, erhalten ${Q}`}case"invalid_value":if(J.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${I(J.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ${G.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ist`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ${G.unit} hat`;return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ist`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ung\xFCltiger String: muss mit "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ung\xFCltiger String: muss mit "${X.suffix}" enden`;if(X.format==="includes")return`Ung\xFCltiger String: muss "${X.includes}" enthalten`;if(X.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${X.pattern} entsprechen`;return`Ung\xFCltig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${J.divisor} sein`;case"unrecognized_keys":return`${J.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${K(J.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${J.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${J.origin}`;default:return"Ung\xFCltige Eingabe"}}};var zH=y(()=>{p()});function nj(){return{localeError:zS()}}var zS=()=>{let $={string:{unit:"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},file:{unit:"bytes",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},array:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},set:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},map:{unit:"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"}};function _(J){return $[J]??null}let U={regex:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",email:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",date:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",time:"ISO \u03CE\u03C1\u03B1",duration:"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",ipv4:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",ipv6:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",mac:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",cidrv4:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",cidrv6:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",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",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",json_string:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",e164:"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",jwt:"JWT",template_literal:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(typeof J.expected==="string"&&/^[A-Z]/.test(J.expected))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 ${J.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`;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 ${X}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.maximum.toString()} ${G.unit??"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.minimum.toString()} ${G.unit}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${J.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${J.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${J.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${J.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var qH=y(()=>{p()});function RJ(){return{localeError:qS()}}var qS=()=>{let $={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Invalid input: expected ${X}, received ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${I(J.values[0])}`;return`Invalid option: expected one of ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Too big: expected ${J.origin??"value"} to have ${X}${J.maximum.toString()} ${G.unit??"elements"}`;return`Too big: expected ${J.origin??"value"} to be ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Too small: expected ${J.origin} to have ${X}${J.minimum.toString()} ${G.unit}`;return`Too small: expected ${J.origin} to be ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Invalid string: must start with "${X.prefix}"`;if(X.format==="ends_with")return`Invalid string: must end with "${X.suffix}"`;if(X.format==="includes")return`Invalid string: must include "${X.includes}"`;if(X.format==="regex")return`Invalid string: must match pattern ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${J.divisor}`;case"unrecognized_keys":return`Unrecognized key${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Invalid key in ${J.origin}`;case"invalid_union":if(J.options&&Array.isArray(J.options)&&J.options.length>0)return`Invalid discriminator value. Expected ${J.options.map((G)=>`'${G}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${J.origin}`;default:return"Invalid input"}}};var cj=y(()=>{p()});function lj(){return{localeError:OS()}}var OS=()=>{let $={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function _(J){return $[J]??null}let U={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},W={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${J.expected}, ricevi\u011Dis ${Q}`;return`Nevalida enigo: atendi\u011Dis ${X}, ricevi\u011Dis ${Q}`}case"invalid_value":if(J.values.length===1)return`Nevalida enigo: atendi\u011Dis ${I(J.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()} ${G.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Tro malgranda: atendi\u011Dis ke ${J.origin} havu ${X}${J.minimum.toString()} ${G.unit}`;return`Tro malgranda: atendi\u011Dis ke ${J.origin} estu ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${X.prefix}"`;if(X.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${X.suffix}"`;if(X.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${X.includes}"`;if(X.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${X.pattern}`;return`Nevalida ${U[X.format]??J.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${J.divisor}`;case"unrecognized_keys":return`Nekonata${J.keys.length>1?"j":""} \u015Dlosilo${J.keys.length>1?"j":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${J.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${J.origin}`;default:return"Nevalida enigo"}}};var OH=y(()=>{p()});function rj(){return{localeError:LS()}}var LS=()=>{let $={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${J.expected}, recibido ${Q}`;return`Entrada inv\xE1lida: se esperaba ${X}, recibido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: se esperaba ${I(J.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado grande: se esperaba que ${Q??"valor"} tuviera ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${Q??"valor"} fuera ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado peque\xF1o: se esperaba que ${Q} tuviera ${X}${J.minimum.toString()} ${G.unit}`;return`Demasiado peque\xF1o: se esperaba que ${Q} fuera ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${X.prefix}"`;if(X.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${X.suffix}"`;if(X.format==="includes")return`Cadena inv\xE1lida: debe incluir "${X.includes}"`;if(X.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${X.pattern}`;return`Inv\xE1lido ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Llave${J.keys.length>1?"s":""} desconocida${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${W[J.origin]??J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${W[J.origin]??J.origin}`;default:return"Entrada inv\xE1lida"}}};var LH=y(()=>{p()});function ij(){return{localeError:NS()}}var NS=()=>{let $={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${J.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${X} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(J.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${I(J.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;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 ${K(J.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(X.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(X.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${X.includes}" \u0628\u0627\u0634\u062F`;if(X.format==="regex")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${X.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[X.format]??J.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${J.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${J.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${K(J.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${J.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${J.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var NH=y(()=>{p()});function pj(){return{localeError:BS()}}var BS=()=>{let $={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function _(J){return $[J]??null}let U={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Virheellinen tyyppi: odotettiin instanceof ${J.expected}, oli ${Q}`;return`Virheellinen tyyppi: odotettiin ${X}, oli ${Q}`}case"invalid_value":if(J.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${I(J.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Liian suuri: ${G.subject} t\xE4ytyy olla ${X}${J.maximum.toString()} ${G.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Liian pieni: ${G.subject} t\xE4ytyy olla ${X}${J.minimum.toString()} ${G.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${X.prefix}"`;if(X.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${X.suffix}"`;if(X.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${X.includes}"`;if(X.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${X.pattern}`;return`Virheellinen ${U[X.format]??J.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${J.divisor} monikerta`;case"unrecognized_keys":return`${J.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${K(J.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var BH=y(()=>{p()});function oj(){return{localeError:HS()}}var HS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={string:"cha\xEEne",number:"nombre",int:"entier",boolean:"bool\xE9en",bigint:"grand entier",symbol:"symbole",undefined:"ind\xE9fini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : instanceof ${J.expected} attendu, ${Q} re\xE7u`;return`Entr\xE9e invalide : ${X} attendu, ${Q} re\xE7u`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : ${I(J.values[0])} attendu`;return`Option invalide : une valeur parmi ${K(J.values,"|")} attendue`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Trop grand : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Trop petit : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${K(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var HH=y(()=>{p()});function tj(){return{localeError:VS()}}var VS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : attendu instanceof ${J.expected}, re\xE7u ${Q}`;return`Entr\xE9e invalide : attendu ${X}, re\xE7u ${Q}`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : attendu ${I(J.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u2264":"<",G=_(J.origin);if(G)return`Trop grand : attendu que ${J.origin??"la valeur"} ait ${X}${J.maximum.toString()} ${G.unit}`;return`Trop grand : attendu que ${J.origin??"la valeur"} soit ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u2265":">",G=_(J.origin);if(G)return`Trop petit : attendu que ${J.origin} ait ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : attendu que ${J.origin} soit ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${K(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var VH=y(()=>{p()});function aj(){return{localeError:RS()}}var RS=()=>{let $={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},_={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(j)=>j?$[j]:void 0,W=(j)=>{let O=U(j);if(O)return O.label;return j??$.unknown.label},J=(j)=>`\u05D4${W(j)}`,X=(j)=>{return(U(j)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},G=(j)=>{if(!j)return null;return _[j]??null},Q={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},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"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},Y={nan:"NaN"};return(j)=>{switch(j.code){case"invalid_type":{let O=j.expected,B=Y[O??""]??W(O),V=w(j.input),L=Y[V]??$[V]?.label??V;if(/^[A-Z]/.test(j.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${j.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${B}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`}case"invalid_value":{if(j.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${I(j.values[0])}`;let O=j.values.map((L)=>I(L));if(j.values.length===2)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 ${O[0]} \u05D0\u05D5 ${O[1]}`;let B=O[O.length-1];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 ${O.slice(0,-1).join(", ")} \u05D0\u05D5 ${B}`}case"too_big":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.maximum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${j.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",H=j.inclusive?`${j.maximum} ${O?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${j.maximum} ${O?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?"<=":"<",L=X(j.origin??"value");if(O?.unit)return`${O.longLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()} ${O.unit}`;return`${O?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()}`}case"too_small":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.minimum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${j.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(j.minimum===1&&j.inclusive){let R=j.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";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${R}`}let H=j.inclusive?`${j.minimum} ${O?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${j.minimum} ${O?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?">=":">",L=X(j.origin??"value");if(O?.unit)return`${O.shortLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()} ${O.unit}`;return`${O?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()}`}case"invalid_format":{let O=j;if(O.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${O.prefix}"`;if(O.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${O.suffix}"`;if(O.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${O.includes}"`;if(O.format==="regex")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 ${O.pattern}`;let B=Q[O.format],V=B?.label??O.format,N=(B?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${V} \u05DC\u05D0 ${N}`}case"not_multiple_of":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 ${j.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${j.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${j.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${K(j.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${J(j.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var RH=y(()=>{p()});function sj(){return{localeError:AS()}}var AS=()=>{let $={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function _(J){return $[J]??null}let U={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},W={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${J.expected}, a primljeno je ${Q}`;return`Neispravan unos: o\u010Dekuje se ${X}, a primljeno je ${Q}`}case"invalid_value":if(J.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${I(J.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} ima ${X}${J.maximum.toString()} ${G.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} bude ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Premalo: o\u010Dekivano da ${Q} ima ${X}${J.minimum.toString()} ${G.unit}`;return`Premalo: o\u010Dekivano da ${Q} bude ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${X.prefix}"`;if(X.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${X.suffix}"`;if(X.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${X.includes}"`;if(X.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${X.pattern}`;return`Neispravna ${U[X.format]??J.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${J.divisor}`;case"unrecognized_keys":return`Neprepoznat${J.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${K(J.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${W[J.origin]??J.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${W[J.origin]??J.origin}`;default:return"Neispravan unos"}}};var AH=y(()=>{p()});function ej(){return{localeError:bS()}}var bS=()=>{let $={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function _(J){return $[J]??null}let U={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},W={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${J.expected}, a kapott \xE9rt\xE9k ${Q}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${X}, a kapott \xE9rt\xE9k ${Q}`}case"invalid_value":if(J.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${I(J.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xFAl nagy: ${J.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${X}${J.maximum.toString()} ${G.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${J.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} m\xE9rete t\xFAl kicsi ${X}${J.minimum.toString()} ${G.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} t\xFAl kicsi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xC9rv\xE9nytelen string: "${X.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(X.format==="ends_with")return`\xC9rv\xE9nytelen string: "${X.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(X.format==="includes")return`\xC9rv\xE9nytelen string: "${X.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(X.format==="regex")return`\xC9rv\xE9nytelen string: ${X.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[X.format]??J.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${J.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${J.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${J.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var bH=y(()=>{p()});function FH($,_,U){return Math.abs($)===1?_:U}function v2($){if(!$)return"";let _=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=$[$.length-1];return $+(_.includes(U)?"\u0576":"\u0568")}function $D(){return{localeError:FS()}}var FS=()=>{let $={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function _(J){return $[J]??null}let U={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},W={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`;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 ${X}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[1])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=FH(Q,G.unit.one,G.unit.many);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 ${v2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.maximum.toString()} ${Y}`}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 ${v2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=FH(Q,G.unit.one,G.unit.many);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 ${v2(J.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.minimum.toString()} ${Y}`}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 ${v2(J.origin)} \u056C\u056B\u0576\u056B ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${X.prefix}"-\u0578\u057E`;if(X.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${X.suffix}"-\u0578\u057E`;if(X.format==="includes")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${X.includes}"`;if(X.format==="regex")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 ${X.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${J.keys.length>1?"\u0576\u0565\u0580":""}. ${K(J.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${v2(J.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${v2(J.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var EH=y(()=>{p()});function _D(){return{localeError:ES()}}var ES=()=>{let $={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak valid: diharapkan instanceof ${J.expected}, diterima ${Q}`;return`Input tidak valid: diharapkan ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak valid: diharapkan ${I(J.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: diharapkan ${J.origin??"value"} memiliki ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: diharapkan ${J.origin??"value"} menjadi ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: diharapkan ${J.origin} memiliki ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: diharapkan ${J.origin} menjadi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak valid: harus dimulai dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak valid: harus berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak valid: harus menyertakan "${X.includes}"`;if(X.format==="regex")return`String tidak valid: harus sesuai pola ${X.pattern}`;return`${U[X.format]??J.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${J.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${J.origin}`;default:return"Input tidak valid"}}};var KH=y(()=>{p()});function UD(){return{localeError:KS()}}var KS=()=>{let $={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function _(J){return $[J]??null}let U={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},W={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera instanceof ${J.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera ${X}`}case"invalid_value":if(J.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${I(J.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} hafi ${X}${J.maximum.toString()} ${G.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} s\xE9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} hafi ${X}${J.minimum.toString()} ${G.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} s\xE9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${X.prefix}"`;if(X.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${X.suffix}"`;if(X.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${X.includes}"`;if(X.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${X.pattern}`;return`Rangt ${U[X.format]??J.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${J.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${J.keys.length>1?"ir lyklar":"ur lykill"}: ${K(J.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${J.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${J.origin}`;default:return"Rangt gildi"}}};var MH=y(()=>{p()});function JD(){return{localeError:MS()}}var MS=()=>{let $={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function _(J){return $[J]??null}let U={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"numero",array:"vettore"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input non valido: atteso instanceof ${J.expected}, ricevuto ${Q}`;return`Input non valido: atteso ${X}, ricevuto ${Q}`}case"invalid_value":if(J.values.length===1)return`Input non valido: atteso ${I(J.values[0])}`;return`Opzione non valida: atteso uno tra ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Troppo grande: ${J.origin??"valore"} deve avere ${X}${J.maximum.toString()} ${G.unit??"elementi"}`;return`Troppo grande: ${J.origin??"valore"} deve essere ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Troppo piccolo: ${J.origin} deve avere ${X}${J.minimum.toString()} ${G.unit}`;return`Troppo piccolo: ${J.origin} deve essere ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Stringa non valida: deve iniziare con "${X.prefix}"`;if(X.format==="ends_with")return`Stringa non valida: deve terminare con "${X.suffix}"`;if(X.format==="includes")return`Stringa non valida: deve includere "${X.includes}"`;if(X.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${X.pattern}`;return`Input non valido: ${U[X.format]??J.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${J.divisor}`;case"unrecognized_keys":return`Chiav${J.keys.length>1?"i":"e"} non riconosciut${J.keys.length>1?"e":"a"}: ${K(J.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${J.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${J.origin}`;default:return"Input non valido"}}};var gH=y(()=>{p()});function WD(){return{localeError:gS()}}var gS=()=>{let $={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function _(J){return $[J]??null}let U={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},W={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${J.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${X}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(J.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${I(J.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${K(J.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let X=J.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",G=_(J.origin);if(G)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${G.unit??"\u8981\u7D20"}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let X=J.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",G=_(J.origin);if(G)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${G.unit}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${X.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${J.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${J.keys.length>1?"\u7FA4":""}: ${K(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var IH=y(()=>{p()});function XD(){return{localeError:IS()}}var IS=()=>{let $={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function _(J){return $[J]??null}let U={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",json_string:"JSON \u10D5\u10D4\u10DA\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},W={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10D5\u10D4\u10DA\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`;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 ${X}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;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 ${J.origin} \u10D8\u10E7\u10DD\u10E1 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"-\u10D8\u10D7`;if(X.format==="ends_with")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 "${X.suffix}"-\u10D8\u10D7`;if(X.format==="includes")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 "${X.includes}"-\u10E1`;if(X.format==="regex")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 ${X.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${J.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${J.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${J.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${J.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var wH=y(()=>{p()});function AJ(){return{localeError:wS()}}var wS=()=>{let $={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function _(J){return $[J]??null}let U={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},W={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`;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 ${X} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()} ${G.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()} ${G.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${K(J.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${J.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":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 ${J.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var GD=y(()=>{p()});function QD(){return AJ()}var kH=y(()=>{GD()});function YD(){return{localeError:kS()}}var kS=()=>{let $={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${J.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${X}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`}case"invalid_value":if(J.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${I(J.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${K(J.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let X=J.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",G=X==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()} ${X}${G}`}case"too_small":{let X=J.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",G=X==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()} ${X}${G}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${X.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[X.format]??J.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${J.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${K(J.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${J.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${J.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var fH=y(()=>{p()});function PH($){let _=Math.abs($),U=_%10,W=_%100;if(W>=11&&W<=19||U===0)return"many";if(U===1)return"one";return"few"}function jD(){return{localeError:fS()}}var bJ=($)=>{return $.charAt(0).toUpperCase()+$.slice(1)},fS=()=>{let $={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function _(J,X,G,Q){let Y=$[J]??null;if(Y===null)return Y;return{unit:Y.unit[X],verb:Y.verb[Q][G?"inclusive":"notInclusive"]}}let U={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},W={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Gautas tipas ${Q}, o tik\u0117tasi - instanceof ${J.expected}`;return`Gautas tipas ${Q}, o tik\u0117tasi - ${X}`}case"invalid_value":if(J.values.length===1)return`Privalo b\u016Bti ${I(J.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${K(J.values,"|")} pasirinkim\u0173`;case"too_big":{let X=W[J.origin]??J.origin,G=_(J.origin,PH(Number(J.maximum)),J.inclusive??!1,"smaller");if(G?.verb)return`${bJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.maximum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${bJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.maximum.toString()} ${G?.unit}`}case"too_small":{let X=W[J.origin]??J.origin,G=_(J.origin,PH(Number(J.minimum)),J.inclusive??!1,"bigger");if(G?.verb)return`${bJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.minimum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${bJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.minimum.toString()} ${G?.unit}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${X.prefix}"`;if(X.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${X.suffix}"`;if(X.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${X.includes}"`;if(X.format==="regex")return`Eilut\u0117 privalo atitikti ${X.pattern}`;return`Neteisingas ${U[X.format]??J.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${J.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${J.keys.length>1?"i":"as"} rakt${J.keys.length>1?"ai":"as"}: ${K(J.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let X=W[J.origin]??J.origin;return`${bJ(X??J.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var CH=y(()=>{p()});function DD(){return{localeError:PS()}}var PS=()=>{let $={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function _(J){return $[J]??null}let U={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},W={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${J.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${X}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`${J.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"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${J.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${J.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var TH=y(()=>{p()});function zD(){return{localeError:CS()}}var CS=()=>{let $={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"nombor"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak sah: dijangka instanceof ${J.expected}, diterima ${Q}`;return`Input tidak sah: dijangka ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak sah: dijangka ${I(J.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: dijangka ${J.origin??"nilai"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: dijangka ${J.origin??"nilai"} adalah ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: dijangka ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: dijangka ${J.origin} adalah ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak sah: mesti bermula dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak sah: mesti mengandungi "${X.includes}"`;if(X.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${X.pattern}`;return`${U[X.format]??J.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${K(J.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${J.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${J.origin}`;default:return"Input tidak sah"}}};var SH=y(()=>{p()});function qD(){return{localeError:TS()}}var TS=()=>{let $={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function _(J){return $[J]??null}let U={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},W={nan:"NaN",number:"getal"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ongeldige invoer: verwacht instanceof ${J.expected}, ontving ${Q}`;return`Ongeldige invoer: verwacht ${X}, ontving ${Q}`}case"invalid_value":if(J.values.length===1)return`Ongeldige invoer: verwacht ${I(J.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=J.origin==="date"?"laat":J.origin==="string"?"lang":"groot";if(G)return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} ${G.unit??"elementen"} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} is`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=J.origin==="date"?"vroeg":J.origin==="string"?"kort":"klein";if(G)return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} is`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ongeldige tekst: moet met "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ongeldige tekst: moet op "${X.suffix}" eindigen`;if(X.format==="includes")return`Ongeldige tekst: moet "${X.includes}" bevatten`;if(X.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${X.pattern}`;return`Ongeldig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${J.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${J.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${J.origin}`;default:return"Ongeldige invoer"}}};var ZH=y(()=>{p()});function OD(){return{localeError:SS()}}var SS=()=>{let $={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"tall",array:"liste"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldig input: forventet instanceof ${J.expected}, fikk ${Q}`;return`Ugyldig input: forventet ${X}, fikk ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig verdi: forventet ${I(J.values[0])}`;return`Ugyldig valg: forventet en av ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()} ${G.unit}`;return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${K(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${J.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${J.origin}`;default:return"Ugyldig input"}}};var vH=y(()=>{p()});function LD(){return{localeError:ZS()}}var ZS=()=>{let $={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},W={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`F\xE2sit giren: umulan instanceof ${J.expected}, al\u0131nan ${Q}`;return`F\xE2sit giren: umulan ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`F\xE2sit giren: umulan ${I(J.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} ${G.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} ${G.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`F\xE2sit metin: "${X.prefix}" ile ba\u015Flamal\u0131.`;if(X.format==="ends_with")return`F\xE2sit metin: "${X.suffix}" ile bitmeli.`;if(X.format==="includes")return`F\xE2sit metin: "${X.includes}" ihtiv\xE2 etmeli.`;if(X.format==="regex")return`F\xE2sit metin: ${X.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[X.format]??J.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${J.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${J.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var yH=y(()=>{p()});function ND(){return{localeError:vS()}}var vS=()=>{let $={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${J.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${X} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(J.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${I(J.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${K(J.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0648\u064A`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0648\u064A`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(X.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(X.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${X.includes}" \u0648\u0644\u0631\u064A`;if(X.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${X.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[X.format]??J.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${J.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${J.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${J.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${J.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var hH=y(()=>{p()});function BD(){return{localeError:yS()}}var yS=()=>{let $={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function _(J){return $[J]??null}let U={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},W={nan:"NaN",number:"liczba",array:"tablica"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${J.expected}, otrzymano ${Q}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${X}, otrzymano ${Q}`}case"invalid_value":if(J.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${I(J.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.maximum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.minimum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${X.prefix}"`;if(X.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${X.suffix}"`;if(X.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${X.includes}"`;if(X.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${X.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[X.format]??J.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${J.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${J.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${J.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var xH=y(()=>{p()});function HD(){return{localeError:hS()}}var hS=()=>{let $={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function _(J){return $[J]??null}let U={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipo inv\xE1lido: esperado instanceof ${J.expected}, recebido ${Q}`;return`Tipo inv\xE1lido: esperado ${X}, recebido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: esperado ${I(J.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Muito grande: esperado que ${J.origin??"valor"} tivesse ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Muito grande: esperado que ${J.origin??"valor"} fosse ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Muito pequeno: esperado que ${J.origin} tivesse ${X}${J.minimum.toString()} ${G.unit}`;return`Muito pequeno: esperado que ${J.origin} fosse ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${X.prefix}"`;if(X.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${X.suffix}"`;if(X.format==="includes")return`Texto inv\xE1lido: deve incluir "${X.includes}"`;if(X.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${X.pattern}`;return`${U[X.format]??J.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Chave${J.keys.length>1?"s":""} desconhecida${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${J.origin}`;default:return"Campo inv\xE1lido"}}};var mH=y(()=>{p()});function VD(){return{localeError:xS()}}var xS=()=>{let $={string:{unit:"caractere",verb:"s\u0103 aib\u0103"},file:{unit:"octe\u021Bi",verb:"s\u0103 aib\u0103"},array:{unit:"elemente",verb:"s\u0103 aib\u0103"},set:{unit:"elemente",verb:"s\u0103 aib\u0103"},map:{unit:"intr\u0103ri",verb:"s\u0103 aib\u0103"}};function _(J){return $[J]??null}let U={regex:"intrare",email:"adres\u0103 de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dat\u0103 \u0219i or\u0103 ISO",date:"dat\u0103 ISO",time:"or\u0103 ISO",duration:"durat\u0103 ISO",ipv4:"adres\u0103 IPv4",ipv6:"adres\u0103 IPv6",mac:"adres\u0103 MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"\u0219ir codat base64",base64url:"\u0219ir codat base64url",json_string:"\u0219ir JSON",e164:"num\u0103r E.164",jwt:"JWT",template_literal:"intrare"},W={nan:"NaN",string:"\u0219ir",number:"num\u0103r",boolean:"boolean",function:"func\u021Bie",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"num\u0103r mare",void:"void",never:"never",map:"hart\u0103",set:"set"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Intrare invalid\u0103: a\u0219teptat ${X}, primit ${Q}`}case"invalid_value":if(J.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${I(J.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} s\u0103 fie ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Prea mic: a\u0219teptat ca ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Prea mic: a\u0219teptat ca ${J.origin} s\u0103 fie ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${X.prefix}"`;if(X.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${X.suffix}"`;if(X.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${X.includes}"`;if(X.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${X.pattern}`;return`Format invalid: ${U[X.format]??J.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${J.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${K(J.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${J.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${J.origin}`;default:return"Intrare invalid\u0103"}}};var uH=y(()=>{p()});function dH($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function RD(){return{localeError:mS()}}var mS=()=>{let $={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=dH(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=dH(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.minimum.toString()} ${Y}`}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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${J.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0438":""}: ${K(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var nH=y(()=>{p()});function AD(){return{localeError:uS()}}var uS=()=>{let $={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function _(J){return $[J]??null}let U={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},W={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${J.expected}, prejeto ${Q}`;return`Neveljaven vnos: pri\u010Dakovano ${X}, prejeto ${Q}`}case"invalid_value":if(J.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${I(J.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} imelo ${X}${J.maximum.toString()} ${G.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Premajhno: pri\u010Dakovano, da bo ${J.origin} imelo ${X}${J.minimum.toString()} ${G.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${X.prefix}"`;if(X.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${X.suffix}"`;if(X.format==="includes")return`Neveljaven niz: mora vsebovati "${X.includes}"`;if(X.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${X.pattern}`;return`Neveljaven ${U[X.format]??J.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${J.divisor}`;case"unrecognized_keys":return`Neprepoznan${J.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${K(J.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${J.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${J.origin}`;default:return"Neveljaven vnos"}}};var cH=y(()=>{p()});function bD(){return{localeError:dS()}}var dS=()=>{let $={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function _(J){return $[J]??null}let U={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},W={nan:"NaN",number:"antal",array:"lista"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${J.expected}, fick ${Q}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${X}, fick ${Q}`}case"invalid_value":if(J.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${I(J.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()} ${G.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${X.prefix}"`;if(X.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${X.suffix}"`;if(X.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${X.includes}"`;if(X.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${X.pattern}"`;return`Ogiltig(t) ${U[X.format]??J.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${K(J.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${J.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${J.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var lH=y(()=>{p()});function FD(){return{localeError:nS()}}var nS=()=>{let $={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"},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"},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"},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"}};function _(J){return $[J]??null}let U={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`;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 ${X}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} ${G.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`;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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${X}${J.minimum.toString()} ${G.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;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 ${J.origin} ${X}${J.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${X.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`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${J.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${J.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var rH=y(()=>{p()});function ED(){return{localeError:cS()}}var cS=()=>{let $={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function _(J){return $[J]??null}let U={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",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)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},W={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`;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 ${X} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()} ${G.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()} ${G.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(X.format==="regex")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 ${X.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${K(J.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;case"invalid_union":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";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var iH=y(()=>{p()});function KD(){return{localeError:lS()}}var lS=()=>{let $={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function _(J){return $[J]??null}let U={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${J.expected}, al\u0131nan ${Q}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${I(J.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()} ${G.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ge\xE7ersiz metin: "${X.prefix}" ile ba\u015Flamal\u0131`;if(X.format==="ends_with")return`Ge\xE7ersiz metin: "${X.suffix}" ile bitmeli`;if(X.format==="includes")return`Ge\xE7ersiz metin: "${X.includes}" i\xE7ermeli`;if(X.format==="regex")return`Ge\xE7ersiz metin: ${X.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[X.format]??J.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${J.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${J.keys.length>1?"lar":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${J.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var pH=y(()=>{p()});function FJ(){return{localeError:rS()}}var rS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`;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 ${X}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} \u0431\u0443\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0456":""}: ${K(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${J.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var MD=y(()=>{p()});function gD(){return FJ()}var oH=y(()=>{MD()});function ID(){return{localeError:iS()}}var iS=()=>{let $={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function _(J){return $[J]??null}let U={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},W={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${J.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${X} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(J.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${I(J.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${K(J.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${X}${J.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u06D2 ${X}${J.minimum.toString()} ${G.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u0627 ${X}${J.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${X.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${J.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${J.keys.length>1?"\u0632":""}: ${K(J.keys,"\u060C ")}`;case"invalid_key":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var tH=y(()=>{p()});function wD(){return{localeError:pS()}}var pS=()=>{let $={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"},map:{unit:"yozuv",verb:"bo\u2018lishi kerak"}};function _(J){return $[J]??null}let U={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},W={nan:"NaN",number:"raqam",array:"massiv"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${J.expected}, qabul qilingan ${Q}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${X}, qabul qilingan ${Q}`}case"invalid_value":if(J.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${I(J.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()} ${G.unit} ${G.verb}`;return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${X.prefix}" bilan boshlanishi kerak`;if(X.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${X.suffix}" bilan tugashi kerak`;if(X.format==="includes")return`Noto\u2018g\u2018ri satr: "${X.includes}" ni o\u2018z ichiga olishi kerak`;if(X.format==="regex")return`Noto\u2018g\u2018ri satr: ${X.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[X.format]??J.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${J.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${J.keys.length>1?"lar":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${J.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var aH=y(()=>{p()});function kD(){return{localeError:oS()}}var oS=()=>{let $={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function _(J){return $[J]??null}let U={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},W={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${J.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${X}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${I(J.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${X.prefix}"`;if(X.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${X.suffix}"`;if(X.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${X.includes}"`;if(X.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${X.pattern}`;return`${U[X.format]??J.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${J.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${K(J.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var sH=y(()=>{p()});function fD(){return{localeError:tS()}}var tS=()=>{let $={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function _(J){return $[J]??null}let U={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},W={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${J.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${X}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${I(J.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()} ${G.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.prefix}" \u5F00\u5934`;if(X.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.suffix}" \u7ED3\u5C3E`;if(X.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${X.pattern}`;return`\u65E0\u6548${U[X.format]??J.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${J.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${J.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var eH=y(()=>{p()});function PD(){return{localeError:aS()}}var aS=()=>{let $={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function _(J){return $[J]??null}let U={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${J.expected}\uFF0C\u4F46\u6536\u5230 ${Q}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${X}\uFF0C\u4F46\u6536\u5230 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${I(J.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()} ${G.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()} ${G.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.prefix}" \u958B\u982D`;if(X.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.suffix}" \u7D50\u5C3E`;if(X.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${X.pattern}`;return`\u7121\u6548\u7684 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${J.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${J.keys.length>1?"\u5011":""}\uFF1A${K(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var $V=y(()=>{p()});function CD(){return{localeError:sS()}}var sS=()=>{let $={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function _(J){return $[J]??null}let U={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},W={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${J.expected}, \xE0m\u1ECD\u0300 a r\xED ${Q}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${X}, \xE0m\u1ECD\u0300 a r\xED ${Q}`}case"invalid_value":if(J.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${I(J.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin??"iye"} ${G.verb} ${X}${J.maximum} ${G.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.maximum}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin} ${G.verb} ${X}${J.minimum} ${G.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.minimum}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${X.prefix}"`;if(X.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${X.suffix}"`;if(X.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${X.includes}"`;if(X.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${X.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[X.format]??J.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${J.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${K(J.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var _V=y(()=>{p()});var y2={};g6(y2,{zhTW:()=>PD,zhCN:()=>fD,yo:()=>CD,vi:()=>kD,uz:()=>wD,ur:()=>ID,uk:()=>FJ,ua:()=>gD,tr:()=>KD,th:()=>ED,ta:()=>FD,sv:()=>bD,sl:()=>AD,ru:()=>RD,ro:()=>VD,pt:()=>HD,ps:()=>ND,pl:()=>BD,ota:()=>LD,no:()=>OD,nl:()=>qD,ms:()=>zD,mk:()=>DD,lt:()=>jD,ko:()=>YD,km:()=>AJ,kh:()=>QD,ka:()=>XD,ja:()=>WD,it:()=>JD,is:()=>UD,id:()=>_D,hy:()=>$D,hu:()=>ej,hr:()=>sj,he:()=>aj,frCA:()=>tj,fr:()=>oj,fi:()=>pj,fa:()=>ij,es:()=>rj,eo:()=>lj,en:()=>RJ,el:()=>nj,de:()=>dj,da:()=>uj,cs:()=>mj,ca:()=>xj,bg:()=>hj,be:()=>yj,az:()=>vj,ar:()=>Zj});var TD=y(()=>{JH();WH();GH();QH();YH();jH();DH();zH();qH();cj();OH();LH();NH();BH();HH();VH();RH();AH();bH();EH();KH();MH();gH();IH();wH();kH();GD();fH();CH();TH();SH();ZH();vH();yH();hH();xH();mH();uH();nH();cH();lH();rH();iH();pH();oH();MD();tH();aH();sH();eH();$V();_V()});class SD{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,..._){let U=_[0];if(this._map.set($,U),U&&typeof U==="object"&&"id"in U)this._idmap.set(U.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let _=this._map.get($);if(_&&typeof _==="object"&&"id"in _)this._idmap.delete(_.id);return this._map.delete($),this}get($){let _=$._zod.parent;if(_){let U={...this.get(_)??{}};delete U.id;let W={...U,...this._map.get($)};return Object.keys(W).length?W:void 0}return this._map.get($)}has($){return this._map.has($)}}function EJ(){return new SD}var UV,q9,O9,D_;var KJ=y(()=>{q9=Symbol("ZodOutput"),O9=Symbol("ZodInput");(UV=globalThis).__zod_globalRegistry??(UV.__zod_globalRegistry=EJ());D_=globalThis.__zod_globalRegistry});function ZD($,_){return new $({type:"string",...S(_)})}function vD($,_){return new $({type:"string",coerce:!0,...S(_)})}function L9($,_){return new $({type:"string",format:"email",check:"string_format",abort:!1,...S(_)})}function MJ($,_){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...S(_)})}function N9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...S(_)})}function B9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...S(_)})}function H9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...S(_)})}function V9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...S(_)})}function gJ($,_){return new $({type:"string",format:"url",check:"string_format",abort:!1,...S(_)})}function R9($,_){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...S(_)})}function A9($,_){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...S(_)})}function b9($,_){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...S(_)})}function F9($,_){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...S(_)})}function E9($,_){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...S(_)})}function K9($,_){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...S(_)})}function M9($,_){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...S(_)})}function g9($,_){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...S(_)})}function I9($,_){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...S(_)})}function yD($,_){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...S(_)})}function w9($,_){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...S(_)})}function k9($,_){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...S(_)})}function f9($,_){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...S(_)})}function P9($,_){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...S(_)})}function C9($,_){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...S(_)})}function T9($,_){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...S(_)})}function hD($,_){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...S(_)})}function xD($,_){return new $({type:"string",format:"date",check:"string_format",...S(_)})}function mD($,_){return new $({type:"string",format:"time",check:"string_format",precision:null,...S(_)})}function uD($,_){return new $({type:"string",format:"duration",check:"string_format",...S(_)})}function dD($,_){return new $({type:"number",checks:[],...S(_)})}function nD($,_){return new $({type:"number",coerce:!0,checks:[],...S(_)})}function cD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...S(_)})}function lD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...S(_)})}function rD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...S(_)})}function iD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...S(_)})}function pD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...S(_)})}function oD($,_){return new $({type:"boolean",...S(_)})}function tD($,_){return new $({type:"boolean",coerce:!0,...S(_)})}function aD($,_){return new $({type:"bigint",...S(_)})}function sD($,_){return new $({type:"bigint",coerce:!0,...S(_)})}function eD($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...S(_)})}function $7($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...S(_)})}function _7($,_){return new $({type:"symbol",...S(_)})}function U7($,_){return new $({type:"undefined",...S(_)})}function J7($,_){return new $({type:"null",...S(_)})}function W7($){return new $({type:"any"})}function X7($){return new $({type:"unknown"})}function G7($,_){return new $({type:"never",...S(_)})}function Q7($,_){return new $({type:"void",...S(_)})}function Y7($,_){return new $({type:"date",...S(_)})}function j7($,_){return new $({type:"date",coerce:!0,...S(_)})}function D7($,_){return new $({type:"nan",...S(_)})}function O6($,_){return new eX({check:"less_than",...S(_),value:$,inclusive:!1})}function C_($,_){return new eX({check:"less_than",...S(_),value:$,inclusive:!0})}function L6($,_){return new $9({check:"greater_than",...S(_),value:$,inclusive:!1})}function B_($,_){return new $9({check:"greater_than",...S(_),value:$,inclusive:!0})}function IJ($){return L6(0,$)}function wJ($){return O6(0,$)}function kJ($){return C_(0,$)}function fJ($){return B_(0,$)}function j4($,_){return new WY({check:"multiple_of",...S(_),value:$})}function D4($,_){return new QY({check:"max_size",...S(_),maximum:$})}function N6($,_){return new YY({check:"min_size",...S(_),minimum:$})}function c4($,_){return new jY({check:"size_equals",...S(_),size:$})}function l4($,_){return new DY({check:"max_length",...S(_),maximum:$})}function h6($,_){return new zY({check:"min_length",...S(_),minimum:$})}function r4($,_){return new qY({check:"length_equals",...S(_),length:$})}function d0($,_){return new OY({check:"string_format",format:"regex",...S(_),pattern:$})}function n0($){return new LY({check:"string_format",format:"lowercase",...S($)})}function c0($){return new NY({check:"string_format",format:"uppercase",...S($)})}function l0($,_){return new BY({check:"string_format",format:"includes",...S(_),includes:$})}function r0($,_){return new HY({check:"string_format",format:"starts_with",...S(_),prefix:$})}function i0($,_){return new VY({check:"string_format",format:"ends_with",...S(_),suffix:$})}function PJ($,_,U){return new RY({check:"property",property:$,schema:_,...S(U)})}function p0($,_){return new AY({check:"mime_type",mime:$,...S(_)})}function a_($){return new bY({check:"overwrite",tx:$})}function o0($){return a_((_)=>_.normalize($))}function t0(){return a_(($)=>$.trim())}function a0(){return a_(($)=>$.toLowerCase())}function s0(){return a_(($)=>$.toUpperCase())}function e0(){return a_(($)=>HQ($))}function z7($,_,U){return new $({type:"array",element:_,...S(U)})}function $Z($,_,U){return new $({type:"union",options:_,...S(U)})}function _Z($,_,U){return new $({type:"union",options:_,inclusive:!1,...S(U)})}function UZ($,_,U,W){return new $({type:"union",options:U,discriminator:_,...S(W)})}function JZ($,_,U){return new $({type:"intersection",left:_,right:U})}function WZ($,_,U,W){let J=U instanceof D$;return new $({type:"tuple",items:_,rest:J?U:null,...S(J?W:U)})}function XZ($,_,U,W){return new $({type:"record",keyType:_,valueType:U,...S(W)})}function GZ($,_,U,W){return new $({type:"map",keyType:_,valueType:U,...S(W)})}function QZ($,_,U){return new $({type:"set",valueType:_,...S(U)})}function YZ($,_,U){let W=Array.isArray(_)?Object.fromEntries(_.map((J)=>[J,J])):_;return new $({type:"enum",entries:W,...S(U)})}function jZ($,_,U){return new $({type:"enum",entries:_,...S(U)})}function DZ($,_,U){return new $({type:"literal",values:Array.isArray(_)?_:[_],...S(U)})}function q7($,_){return new $({type:"file",...S(_)})}function zZ($,_){return new $({type:"transform",transform:_})}function qZ($,_){return new $({type:"optional",innerType:_})}function OZ($,_){return new $({type:"nullable",innerType:_})}function LZ($,_,U){return new $({type:"default",innerType:_,get defaultValue(){return typeof U==="function"?U():RQ(U)}})}function NZ($,_,U){return new $({type:"nonoptional",innerType:_,...S(U)})}function BZ($,_){return new $({type:"success",innerType:_})}function HZ($,_,U){return new $({type:"catch",innerType:_,catchValue:typeof U==="function"?U:()=>U})}function VZ($,_,U){return new $({type:"pipe",in:_,out:U})}function RZ($,_){return new $({type:"readonly",innerType:_})}function AZ($,_,U){return new $({type:"template_literal",parts:_,...S(U)})}function bZ($,_){return new $({type:"lazy",getter:_})}function FZ($,_){return new $({type:"promise",innerType:_})}function O7($,_,U){let W=S(U);return W.abort??(W.abort=!0),new $({type:"custom",check:"custom",fn:_,...W})}function L7($,_,U){return new $({type:"custom",check:"custom",fn:_,...S(U)})}function N7($,_){let U=JV((W)=>{return W.addIssue=(J)=>{if(typeof J==="string")W.issues.push(w2(J,W.value,U._zod.def));else{let X=J;if(X.fatal)X.continue=!1;X.code??(X.code="custom"),X.input??(X.input=W.value),X.inst??(X.inst=U),X.continue??(X.continue=!U._zod.def.abort),W.issues.push(w2(X))}},$(W.value,W)},_);return U}function JV($,_){let U=new n$({check:"custom",...S(_)});return U._zod.check=$,U}function B7($){let _=new n$({check:"describe"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,description:$})}],_._zod.check=()=>{},_}function H7($){let _=new n$({check:"meta"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,...$})}],_._zod.check=()=>{},_}function V7($,_){let U=S(_),W=U.truthy??["true","1","yes","on","y","enabled"],J=U.falsy??["false","0","no","off","n","disabled"];if(U.case!=="sensitive")W=W.map((L)=>typeof L==="string"?L.toLowerCase():L),J=J.map((L)=>typeof L==="string"?L.toLowerCase():L);let X=new Set(W),G=new Set(J),Q=$.Codec??VJ,Y=$.Boolean??BJ,O=new($.String??u0)({type:"string",error:U.error}),B=new Y({type:"boolean",error:U.error}),V=new Q({type:"pipe",in:O,out:B,transform:(L,N)=>{let H=L;if(U.case!=="sensitive")H=H.toLowerCase();if(X.has(H))return!0;else if(G.has(H))return!1;else return N.issues.push({code:"invalid_value",expected:"stringbool",values:[...X,...G],input:N.value,inst:V,continue:!1}),{}},reverseTransform:(L,N)=>{if(L===!0)return W[0]||"true";else return J[0]||"false"},error:U.error});return V}function h2($,_,U,W={}){let J=S(W),X={...S(W),check:"string_format",type:"string",format:_,fn:typeof U==="function"?U:(Q)=>U.test(Q),...J};if(U instanceof RegExp)X.pattern=U;return new $(X)}var S9;var WV=y(()=>{_9();KJ();Sj();p();S9={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function i4($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";return{processors:$.processors??{},metadataRegistry:$?.metadata??D_,target:_,unrepresentable:$?.unrepresentable??"throw",override:$?.override??(()=>{}),io:$?.io??"output",counter:0,seen:new Map,cycles:$?.cycles??"ref",reused:$?.reused??"inline",external:$?.external??void 0}}function T$($,_,U={path:[],schemaPath:[]}){var W;let J=$._zod.def,X=_.seen.get($);if(X){if(X.count++,U.schemaPath.includes($))X.cycle=U.path;return X.schema}let G={schema:{},count:1,cycle:void 0,path:U.path};_.seen.set($,G);let Q=$._zod.toJSONSchema?.();if(Q)G.schema=Q;else{let O={...U,schemaPath:[...U.schemaPath,$],path:U.path};if($._zod.processJSONSchema)$._zod.processJSONSchema(_,G.schema,O);else{let V=G.schema,L=_.processors[J.type];if(!L)throw Error(`[toJSONSchema]: Non-representable type encountered: ${J.type}`);L($,_,V,O)}let B=$._zod.parent;if(B){if(!G.ref)G.ref=B;T$(B,_,O),_.seen.get(B).isParent=!0}}let Y=_.metadataRegistry.get($);if(Y)Object.assign(G.schema,Y);if(_.io==="input"&&M_($))delete G.schema.examples,delete G.schema.default;if(_.io==="input"&&"_prefault"in G.schema)(W=G.schema).default??(W.default=G.schema._prefault);return delete G.schema._prefault,_.seen.get($).schema}function p4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=new Map;for(let G of $.seen.entries()){let Q=$.metadataRegistry.get(G[0])?.id;if(Q){let Y=W.get(Q);if(Y&&Y!==G[0])throw Error(`Duplicate schema id "${Q}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);W.set(Q,G[0])}}let J=(G)=>{let Q=$.target==="draft-2020-12"?"$defs":"definitions";if($.external){let B=$.external.registry.get(G[0])?.id,V=$.external.uri??((N)=>N);if(B)return{ref:V(B)};let L=G[1].defId??G[1].schema.id??`schema${$.counter++}`;return G[1].defId=L,{defId:L,ref:`${V("__shared")}#/${Q}/${L}`}}if(G[1]===U)return{ref:"#"};let j=`${"#"}/${Q}/`,O=G[1].schema.id??`__schema${$.counter++}`;return{defId:O,ref:j+O}},X=(G)=>{if(G[1].schema.$ref)return;let Q=G[1],{ref:Y,defId:j}=J(G);if(Q.def={...Q.schema},j)Q.defId=j;let O=Q.schema;for(let B in O)delete O[B];O.$ref=Y};if($.cycles==="throw")for(let G of $.seen.entries()){let Q=G[1];if(Q.cycle)throw Error(`Cycle detected: #/${Q.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let W of _.seen.entries()){let G=W[1];if($===W[0]){j(W);continue}if(_.external){let N=_.external.registry.get(W[0])?.id;if($!==W[0]&&N){j(W);continue}}if(_.metadataRegistry.get(W[0])?.id){j(W);continue}if(G.cycle){j(W);continue}if(G.count>1){if(_.reused==="ref"){j(W);continue}}}}function Y4(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let J=(G)=>{let X=_.seen.get(G);if(X.ref===null)return;let N=X.def??X.schema,z={...N},L=X.ref;if(X.ref=null,L){J(L);let Q=_.seen.get(L),q=Q.schema;if(q.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))N.allOf=N.allOf??[],N.allOf.push(q);else Object.assign(N,q);if(Object.assign(N,z),G._zod.parent===L)for(let B in N){if(B==="$ref"||B==="allOf")continue;if(!(B in z))delete N[B]}if(q.$ref&&Q.def)for(let B in N){if(B==="$ref"||B==="allOf")continue;if(B in Q.def&&JSON.stringify(N[B])===JSON.stringify(Q.def[B]))delete N[B]}}let E=G._zod.parent;if(E&&E!==L){J(E);let Q=_.seen.get(E);if(Q?.schema.$ref){if(N.$ref=Q.schema.$ref,Q.def)for(let q in N){if(q==="$ref"||q==="allOf")continue;if(q in Q.def&&JSON.stringify(N[q])===JSON.stringify(Q.def[q]))delete N[q]}}}_.override({zodSchema:G,jsonSchema:N,path:X.path??[]})};for(let G of[..._.seen.entries()].reverse())J(G[0]);let D={};if(_.target==="draft-2020-12")D.$schema="https://json-schema.org/draft/2020-12/schema";else if(_.target==="draft-07")D.$schema="http://json-schema.org/draft-07/schema#";else if(_.target==="draft-04")D.$schema="http://json-schema.org/draft-04/schema#";else if(_.target==="openapi-3.0");if(_.external?.uri){let G=_.external.registry.get($)?.id;if(!G)throw Error("Schema is missing an `id` property");D.$id=_.external.uri(G)}Object.assign(D,U.def??U.schema);let j=_.metadataRegistry.get($)?.id;if(j!==void 0&&D.id===j)delete D.id;let W=_.external?.defs??{};for(let G of _.seen.entries()){let X=G[1];if(X.def&&X.defId){if(X.def.id===X.defId)delete X.def.id;W[X.defId]=X.def}}if(_.external);else if(Object.keys(W).length>0)if(_.target==="draft-2020-12")D.$defs=W;else D.definitions=W;try{let G=JSON.parse(JSON.stringify(D));return Object.defineProperty(G,"~standard",{value:{...$["~standard"],jsonSchema:{input:P1($,"input",_.processors),output:P1($,"output",_.processors)}},enumerable:!1,writable:!1}),G}catch(G){throw Error("Error converting schema to JSON.")}}function G$(_,$){let U=$??{seen:new Set};if(U.seen.has(_))return!1;U.seen.add(_);let J=_._zod.def;if(J.type==="transform")return!0;if(J.type==="array")return G$(J.element,U);if(J.type==="set")return G$(J.valueType,U);if(J.type==="lazy")return G$(J.getter(),U);if(J.type==="promise"||J.type==="optional"||J.type==="nonoptional"||J.type==="nullable"||J.type==="readonly"||J.type==="default"||J.type==="prefault")return G$(J.innerType,U);if(J.type==="intersection")return G$(J.left,U)||G$(J.right,U);if(J.type==="record"||J.type==="map")return G$(J.keyType,U)||G$(J.valueType,U);if(J.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return G$(J.in,U)||G$(J.out,U)}if(J.type==="object"){for(let D in J.shape)if(G$(J.shape[D],U))return!0;return!1}if(J.type==="union"){for(let D of J.options)if(G$(D,U))return!0;return!1}if(J.type==="tuple"){for(let D of J.items)if(G$(D,U))return!0;if(J.rest&&G$(J.rest,U))return!0;return!1}return!1}var w8=(_,$={})=>(U)=>{let J=N4({...U,processors:$});return H_(_,J),O4(J,_),Y4(J,_)},P1=(_,$,U={})=>(J)=>{let{libraryOptions:D,target:j}=J??{},W=N4({...D??{},target:j,io:$,processors:U});return H_(_,W),O4(W,_),Y4(W,_)};var z2=Z(()=>{J2()});function Q2(_,$){if("_idmap"in _){let J=_,D=N4({...$,processors:Xj}),j={};for(let X of J._idmap.entries()){let[N,z]=X;H_(z,D)}let W={},G={registry:J,uri:$?.uri,defs:j};D.external=G;for(let X of J._idmap.entries()){let[N,z]=X;O4(D,z),W[N]=Y4(D,z)}if(Object.keys(j).length>0){let X=D.target==="draft-2020-12"?"$defs":"definitions";W.__shared={[X]:j}}return{schemas:W}}let U=N4({...$,processors:Xj});return H_(_,U),O4(U,_),Y4(U,_)}var lk,S8=(_,$,U,J)=>{let D=U;D.type="string";let{minimum:j,maximum:W,format:G,patterns:X,contentEncoding:N}=_._zod.bag;if(typeof j==="number")D.minLength=j;if(typeof W==="number")D.maxLength=W;if(G){if(D.format=lk[G]??G,D.format==="")delete D.format;if(G==="time")delete D.format}if(N)D.contentEncoding=N;if(X&&X.size>0){let z=[...X];if(z.length===1)D.pattern=z[0].source;else if(z.length>1)D.allOf=[...z.map((L)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:L.source}))]}},f8=(_,$,U,J)=>{let D=U,{minimum:j,maximum:W,format:G,multipleOf:X,exclusiveMaximum:N,exclusiveMinimum:z}=_._zod.bag;if(typeof G==="string"&&G.includes("int"))D.type="integer";else D.type="number";let L=typeof z==="number"&&z>=(j??Number.NEGATIVE_INFINITY),E=typeof N==="number"&&N<=(W??Number.POSITIVE_INFINITY),Q=$.target==="draft-04"||$.target==="openapi-3.0";if(L)if(Q)D.minimum=z,D.exclusiveMinimum=!0;else D.exclusiveMinimum=z;else if(typeof j==="number")D.minimum=j;if(E)if(Q)D.maximum=N,D.exclusiveMaximum=!0;else D.exclusiveMaximum=N;else if(typeof W==="number")D.maximum=W;if(typeof X==="number")D.multipleOf=X},T8=(_,$,U,J)=>{U.type="boolean"},C8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Z8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},v8=(_,$,U,J)=>{if($.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},y8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},h8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},x8=(_,$,U,J)=>{U.not={}},r8=(_,$,U,J)=>{},u8=(_,$,U,J)=>{},n8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},m8=(_,$,U,J)=>{let D=_._zod.def,j=uU(D.entries);if(j.every((W)=>typeof W==="number"))U.type="number";if(j.every((W)=>typeof W==="string"))U.type="string";U.enum=j},d8=(_,$,U,J)=>{let D=_._zod.def,j=[];for(let W of D.values)if(W===void 0){if($.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof W==="bigint")if($.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else j.push(Number(W));else j.push(W);if(j.length===0);else if(j.length===1){let W=j[0];if(U.type=W===null?"null":typeof W,$.target==="draft-04"||$.target==="openapi-3.0")U.enum=[W];else U.const=W}else{if(j.every((W)=>typeof W==="number"))U.type="number";if(j.every((W)=>typeof W==="string"))U.type="string";if(j.every((W)=>typeof W==="boolean"))U.type="boolean";if(j.every((W)=>W===null))U.type="null";U.enum=j}},c8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},i8=(_,$,U,J)=>{let D=U,j=_._zod.pattern;if(!j)throw Error("Pattern not found in template literal");D.type="string",D.pattern=j.source},l8=(_,$,U,J)=>{let D=U,j={type:"string",format:"binary",contentEncoding:"binary"},{minimum:W,maximum:G,mime:X}=_._zod.bag;if(W!==void 0)j.minLength=W;if(G!==void 0)j.maxLength=G;if(X)if(X.length===1)j.contentMediaType=X[0],Object.assign(D,j);else Object.assign(D,j),D.anyOf=X.map((N)=>({contentMediaType:N}));else Object.assign(D,j)},o8=(_,$,U,J)=>{U.type="boolean"},p8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},t8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},a8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},e8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},s8=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},_O=(_,$,U,J)=>{let D=U,j=_._zod.def,{minimum:W,maximum:G}=_._zod.bag;if(typeof W==="number")D.minItems=W;if(typeof G==="number")D.maxItems=G;D.type="array",D.items=H_(j.element,$,{...J,path:[...J.path,"items"]})},$O=(_,$,U,J)=>{let D=U,j=_._zod.def;D.type="object",D.properties={};let W=j.shape;for(let N in W)D.properties[N]=H_(W[N],$,{...J,path:[...J.path,"properties",N]});let G=new Set(Object.keys(W)),X=new Set([...G].filter((N)=>{let z=j.shape[N]._zod;if($.io==="input")return z.optin===void 0;else return z.optout===void 0}));if(X.size>0)D.required=Array.from(X);if(j.catchall?._zod.def.type==="never")D.additionalProperties=!1;else if(!j.catchall){if($.io==="output")D.additionalProperties=!1}else if(j.catchall)D.additionalProperties=H_(j.catchall,$,{...J,path:[...J.path,"additionalProperties"]})},Nj=(_,$,U,J)=>{let D=_._zod.def,j=D.inclusive===!1,W=D.options.map((G,X)=>H_(G,$,{...J,path:[...J.path,j?"oneOf":"anyOf",X]}));if(j)U.oneOf=W;else U.anyOf=W},UO=(_,$,U,J)=>{let D=_._zod.def,j=H_(D.left,$,{...J,path:[...J.path,"allOf",0]}),W=H_(D.right,$,{...J,path:[...J.path,"allOf",1]}),G=(N)=>("allOf"in N)&&Object.keys(N).length===1,X=[...G(j)?j.allOf:[j],...G(W)?W.allOf:[W]];U.allOf=X},DO=(_,$,U,J)=>{let D=U,j=_._zod.def;D.type="array";let W=$.target==="draft-2020-12"?"prefixItems":"items",G=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",X=j.items.map((E,Q)=>H_(E,$,{...J,path:[...J.path,W,Q]})),N=j.rest?H_(j.rest,$,{...J,path:[...J.path,G,...$.target==="openapi-3.0"?[j.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(D.prefixItems=X,N)D.items=N}else if($.target==="openapi-3.0"){if(D.items={anyOf:X},N)D.items.anyOf.push(N);if(D.minItems=X.length,!N)D.maxItems=X.length}else if(D.items=X,N)D.additionalItems=N;let{minimum:z,maximum:L}=_._zod.bag;if(typeof z==="number")D.minItems=z;if(typeof L==="number")D.maxItems=L},JO=(_,$,U,J)=>{let D=U,j=_._zod.def;D.type="object";let W=j.keyType,X=W._zod.bag?.patterns;if(j.mode==="loose"&&X&&X.size>0){let z=H_(j.valueType,$,{...J,path:[...J.path,"patternProperties","*"]});D.patternProperties={};for(let L of X)D.patternProperties[L.source]=z}else{if($.target==="draft-07"||$.target==="draft-2020-12")D.propertyNames=H_(j.keyType,$,{...J,path:[...J.path,"propertyNames"]});D.additionalProperties=H_(j.valueType,$,{...J,path:[...J.path,"additionalProperties"]})}let N=W._zod.values;if(N){let z=[...N].filter((L)=>typeof L==="string"||typeof L==="number");if(z.length>0)D.required=z}},jO=(_,$,U,J)=>{let D=_._zod.def,j=H_(D.innerType,$,J),W=$.seen.get(_);if($.target==="openapi-3.0")W.ref=D.innerType,U.nullable=!0;else U.anyOf=[j,{type:"null"}]},WO=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},GO=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType,U.default=JSON.parse(JSON.stringify(D.defaultValue))},XO=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);if(j.ref=D.innerType,$.io==="input")U._prefault=JSON.parse(JSON.stringify(D.defaultValue))},NO=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType;let W;try{W=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=W},OO=(_,$,U,J)=>{let D=_._zod.def,j=D.in._zod.traits.has("$ZodTransform"),W=$.io==="input"?j?D.out:D.in:D.out;H_(W,$,J);let G=$.seen.get(_);G.ref=W},YO=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType,U.readOnly=!0},zO=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},Oj=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},QO=(_,$,U,J)=>{let D=_._zod.innerType;H_(D,$,J);let j=$.seen.get(_);j.ref=D},Xj;var q2=Z(()=>{z2();d();lk={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Xj={string:S8,number:f8,boolean:T8,bigint:C8,symbol:Z8,null:v8,undefined:y8,void:h8,never:x8,any:r8,unknown:u8,date:n8,enum:m8,literal:d8,nan:c8,template_literal:i8,file:l8,success:o8,custom:p8,function:t8,transform:a8,map:e8,set:s8,array:_O,object:$O,union:Nj,intersection:UO,tuple:DO,record:JO,nullable:jO,nonoptional:WO,default:GO,prefault:XO,catch:NO,pipe:OO,readonly:YO,promise:zO,optional:Oj,lazy:QO}});class qO{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(_){this.ctx.counter=_}get seen(){return this.ctx.seen}constructor(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";this.ctx=N4({processors:Xj,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return H_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}O4(this.ctx,_);let U=Y4(this.ctx,_),{"~standard":J,...D}=U;return D}}var Zg=Z(()=>{q2();z2()});var vg={};var yg=()=>{};var O6={};_6(O6,{version:()=>T5,util:()=>k,treeifyError:()=>zJ,toJSONSchema:()=>Q2,toDotPath:()=>GL,safeParseAsync:()=>hX,safeParse:()=>yX,safeEncodeAsync:()=>tM,safeEncode:()=>oM,safeDecodeAsync:()=>aM,safeDecode:()=>pM,registry:()=>D2,regexes:()=>Q$,process:()=>H_,prettifyError:()=>QJ,parseAsync:()=>LJ,parse:()=>qJ,meta:()=>P8,locales:()=>F1,isValidJWT:()=>kL,isValidBase64URL:()=>PL,isValidBase64:()=>UN,initializeContext:()=>N4,globalRegistry:()=>o_,globalConfig:()=>d4,formatError:()=>R1,flattenError:()=>B1,finalize:()=>Y4,extractDefs:()=>O4,encodeAsync:()=>iM,encode:()=>dM,describe:()=>M8,decodeAsync:()=>lM,decode:()=>cM,createToJSONSchemaMethod:()=>w8,createStandardJSONSchemaMethod:()=>P1,config:()=>x_,clone:()=>e_,_xor:()=>Ik,_xid:()=>aJ,_void:()=>B8,_uuidv7:()=>cJ,_uuidv6:()=>dJ,_uuidv4:()=>mJ,_uuid:()=>nJ,_url:()=>W2,_uppercase:()=>e4,_unknown:()=>g8,_union:()=>Kk,_undefined:()=>Q8,_ulid:()=>tJ,_uint64:()=>Y8,_uint32:()=>j8,_tuple:()=>Pk,_trim:()=>J0,_transform:()=>Zk,_toUpperCase:()=>W0,_toLowerCase:()=>j0,_templateLiteral:()=>dk,_symbol:()=>z8,_superRefine:()=>F8,_success:()=>rk,_stringbool:()=>k8,_stringFormat:()=>M1,_string:()=>i9,_startsWith:()=>_0,_slugify:()=>G0,_size:()=>W4,_set:()=>Sk,_safeParseAsync:()=>b1,_safeParse:()=>V1,_safeEncodeAsync:()=>VJ,_safeEncode:()=>HJ,_safeDecodeAsync:()=>bJ,_safeDecode:()=>AJ,_regex:()=>t4,_refine:()=>I8,_record:()=>kk,_readonly:()=>mk,_property:()=>Y2,_promise:()=>ik,_positive:()=>G2,_pipe:()=>nk,_parseAsync:()=>A1,_parse:()=>H1,_overwrite:()=>w$,_optional:()=>vk,_number:()=>s9,_nullable:()=>yk,_null:()=>q8,_normalize:()=>D0,_nonpositive:()=>N2,_nonoptional:()=>xk,_nonnegative:()=>O2,_never:()=>E8,_negative:()=>X2,_nativeEnum:()=>Tk,_nanoid:()=>lJ,_nan:()=>A8,_multipleOf:()=>k6,_minSize:()=>m$,_minLength:()=>N6,_min:()=>s_,_mime:()=>U0,_maxSize:()=>w6,_maxLength:()=>G4,_max:()=>q$,_map:()=>wk,_mac:()=>o9,_lte:()=>q$,_lt:()=>u$,_lowercase:()=>a4,_literal:()=>Ck,_length:()=>X4,_lazy:()=>ck,_ksuid:()=>eJ,_jwt:()=>Wj,_isoTime:()=>a9,_isoDuration:()=>e9,_isoDateTime:()=>p9,_isoDate:()=>t9,_ipv6:()=>_j,_ipv4:()=>sJ,_intersection:()=>Mk,_int64:()=>O8,_int32:()=>J8,_int:()=>$8,_includes:()=>s4,_guid:()=>j2,_gte:()=>s_,_gt:()=>n$,_float64:()=>D8,_float32:()=>U8,_file:()=>b8,_enum:()=>fk,_endsWith:()=>$0,_encodeAsync:()=>BJ,_encode:()=>gJ,_emoji:()=>iJ,_email:()=>uJ,_e164:()=>jj,_discriminatedUnion:()=>Fk,_default:()=>hk,_decodeAsync:()=>RJ,_decode:()=>EJ,_date:()=>R8,_custom:()=>K8,_cuid2:()=>pJ,_cuid:()=>oJ,_coercedString:()=>l9,_coercedNumber:()=>_8,_coercedDate:()=>H8,_coercedBoolean:()=>G8,_coercedBigint:()=>N8,_cidrv6:()=>Uj,_cidrv4:()=>$j,_check:()=>Tg,_catch:()=>uk,_boolean:()=>W8,_bigint:()=>X8,_base64url:()=>Jj,_base64:()=>Dj,_array:()=>V8,_any:()=>L8,TimePrecision:()=>Gj,NEVER:()=>XJ,JSONSchemaGenerator:()=>qO,JSONSchema:()=>vg,Doc:()=>kJ,$output:()=>xJ,$input:()=>rJ,$constructor:()=>A,$brand:()=>NJ,$ZodXor:()=>HN,$ZodXID:()=>c5,$ZodVoid:()=>gN,$ZodUnknown:()=>qN,$ZodUnion:()=>aU,$ZodUndefined:()=>YN,$ZodUUID:()=>y5,$ZodURL:()=>x5,$ZodULID:()=>d5,$ZodType:()=>$_,$ZodTuple:()=>vJ,$ZodTransform:()=>kN,$ZodTemplateLiteral:()=>rN,$ZodSymbol:()=>ON,$ZodSuccess:()=>ZN,$ZodStringFormat:()=>M_,$ZodString:()=>p4,$ZodSet:()=>IN,$ZodRegistry:()=>c9,$ZodRecord:()=>bN,$ZodRealError:()=>z$,$ZodReadonly:()=>xN,$ZodPromise:()=>nN,$ZodPreprocess:()=>hN,$ZodPrefault:()=>TN,$ZodPipe:()=>hJ,$ZodOptional:()=>yJ,$ZodObjectJIT:()=>RN,$ZodObject:()=>fL,$ZodNumberFormat:()=>XN,$ZodNumber:()=>CJ,$ZodNullable:()=>SN,$ZodNull:()=>zN,$ZodNonOptional:()=>CN,$ZodNever:()=>LN,$ZodNanoID:()=>u5,$ZodNaN:()=>yN,$ZodMap:()=>KN,$ZodMAC:()=>s5,$ZodLiteral:()=>MN,$ZodLazy:()=>mN,$ZodKSUID:()=>i5,$ZodJWT:()=>WN,$ZodIntersection:()=>VN,$ZodISOTime:()=>p5,$ZodISODuration:()=>t5,$ZodISODateTime:()=>l5,$ZodISODate:()=>o5,$ZodIPv6:()=>e5,$ZodIPv4:()=>a5,$ZodGUID:()=>v5,$ZodFunction:()=>uN,$ZodFile:()=>PN,$ZodExactOptional:()=>wN,$ZodError:()=>iU,$ZodEnum:()=>FN,$ZodEncodeError:()=>c4,$ZodEmoji:()=>r5,$ZodEmail:()=>h5,$ZodE164:()=>jN,$ZodDiscriminatedUnion:()=>AN,$ZodDefault:()=>fN,$ZodDate:()=>EN,$ZodCustomStringFormat:()=>GN,$ZodCustom:()=>dN,$ZodCodec:()=>eU,$ZodCheckUpperCase:()=>F5,$ZodCheckStringFormat:()=>K1,$ZodCheckStartsWith:()=>P5,$ZodCheckSizeEquals:()=>H5,$ZodCheckRegex:()=>K5,$ZodCheckProperty:()=>w5,$ZodCheckOverwrite:()=>f5,$ZodCheckNumberFormat:()=>g5,$ZodCheckMultipleOf:()=>L5,$ZodCheckMinSize:()=>R5,$ZodCheckMinLength:()=>V5,$ZodCheckMimeType:()=>S5,$ZodCheckMaxSize:()=>B5,$ZodCheckMaxLength:()=>A5,$ZodCheckLowerCase:()=>I5,$ZodCheckLessThan:()=>FJ,$ZodCheckLengthEquals:()=>b5,$ZodCheckIncludes:()=>M5,$ZodCheckGreaterThan:()=>MJ,$ZodCheckEndsWith:()=>k5,$ZodCheckBigIntFormat:()=>E5,$ZodCheck:()=>k_,$ZodCatch:()=>vN,$ZodCUID2:()=>m5,$ZodCUID:()=>n5,$ZodCIDRv6:()=>$N,$ZodCIDRv4:()=>_N,$ZodBoolean:()=>tU,$ZodBigIntFormat:()=>NN,$ZodBigInt:()=>ZJ,$ZodBase64URL:()=>JN,$ZodBase64:()=>DN,$ZodAsyncError:()=>X6,$ZodArray:()=>BN,$ZodAny:()=>QN});var H$=Z(()=>{d();IJ();d9();q2();Zg();yg();i4();xX();vX();cN();PJ();C5();J2();Cg();z2()});var Yj={};_6(Yj,{uppercase:()=>e4,trim:()=>J0,toUpperCase:()=>W0,toLowerCase:()=>j0,startsWith:()=>_0,slugify:()=>G0,size:()=>W4,regex:()=>t4,property:()=>Y2,positive:()=>G2,overwrite:()=>w$,normalize:()=>D0,nonpositive:()=>N2,nonnegative:()=>O2,negative:()=>X2,multipleOf:()=>k6,minSize:()=>m$,minLength:()=>N6,mime:()=>U0,maxSize:()=>w6,maxLength:()=>G4,lte:()=>q$,lt:()=>u$,lowercase:()=>a4,length:()=>X4,includes:()=>s4,gte:()=>s_,gt:()=>n$,endsWith:()=>$0});var zj=Z(()=>{H$()});var X0={};_6(X0,{time:()=>EO,duration:()=>BO,datetime:()=>LO,date:()=>gO,ZodISOTime:()=>E2,ZodISODuration:()=>B2,ZodISODateTime:()=>L2,ZodISODate:()=>g2});function LO(_){return p9(L2,_)}function gO(_){return t9(g2,_)}function EO(_){return a9(E2,_)}function BO(_){return e9(B2,_)}var L2,g2,E2,B2;var R2=Z(()=>{H$();A2();L2=A("ZodISODateTime",(_,$)=>{l5.init(_,$),b_.init(_,$)});g2=A("ZodISODate",(_,$)=>{o5.init(_,$),b_.init(_,$)});E2=A("ZodISOTime",(_,$)=>{p5.init(_,$),b_.init(_,$)});B2=A("ZodISODuration",(_,$)=>{t5.init(_,$),b_.init(_,$)})});var hg=(_,$)=>{iU.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(U)=>R1(_,U)},flatten:{value:(U)=>B1(_,U)},addIssue:{value:(U)=>{_.issues.push(U),_.message=JSON.stringify(_.issues,L1,2)}},addIssues:{value:(U)=>{_.issues.push(...U),_.message=JSON.stringify(_.issues,L1,2)}},isEmpty:{get(){return _.issues.length===0}}})},xg,X$;var RO=Z(()=>{H$();H$();d();xg=A("ZodError",hg),X$=A("ZodError",hg,{Parent:Error})});var Qj,qj,Lj,gj,Ej,Bj,Rj,Hj,Aj,Vj,bj,Kj;var HO=Z(()=>{H$();RO();Qj=H1(X$),qj=A1(X$),Lj=V1(X$),gj=b1(X$),Ej=gJ(X$),Bj=EJ(X$),Rj=BJ(X$),Hj=RJ(X$),Aj=HJ(X$),Vj=AJ(X$),bj=VJ(X$),Kj=bJ(X$)});var H2={};_6(H2,{xor:()=>YY,xid:()=>CO,void:()=>jY,uuidv7:()=>FO,uuidv6:()=>IO,uuidv4:()=>KO,uuid:()=>bO,url:()=>MO,unknown:()=>z4,union:()=>d2,undefined:()=>DY,ulid:()=>TO,uint64:()=>$Y,uint32:()=>eO,tuple:()=>nj,transform:()=>i2,templateLiteral:()=>IY,symbol:()=>UY,superRefine:()=>gW,success:()=>AY,stringbool:()=>TY,stringFormat:()=>cO,string:()=>k1,strictObject:()=>NY,set:()=>gY,refine:()=>LW,record:()=>mj,readonly:()=>NW,promise:()=>FY,preprocess:()=>ZY,prefault:()=>$W,pipe:()=>b2,partialRecord:()=>QY,optional:()=>S1,object:()=>XY,number:()=>Fj,nullish:()=>HY,nullable:()=>f1,null:()=>Sj,nonoptional:()=>UW,never:()=>m2,nativeEnum:()=>EY,nanoid:()=>wO,nan:()=>VY,meta:()=>SY,map:()=>LY,mac:()=>yO,looseRecord:()=>qY,looseObject:()=>OY,literal:()=>BY,lazy:()=>zW,ksuid:()=>ZO,keyof:()=>GY,jwt:()=>dO,json:()=>CY,ipv6:()=>hO,ipv4:()=>vO,invertCodec:()=>KY,intersection:()=>rj,int64:()=>_Y,int32:()=>aO,int:()=>V2,instanceof:()=>fY,httpUrl:()=>PO,hostname:()=>iO,hex:()=>lO,hash:()=>oO,guid:()=>VO,function:()=>MY,float64:()=>tO,float32:()=>pO,file:()=>RY,exactOptional:()=>tj,enum:()=>c2,emoji:()=>kO,email:()=>AO,e164:()=>mO,discriminatedUnion:()=>zY,describe:()=>wY,date:()=>WY,custom:()=>kY,cuid2:()=>fO,cuid:()=>SO,codec:()=>bY,cidrv6:()=>rO,cidrv4:()=>xO,check:()=>PY,catch:()=>jW,boolean:()=>Mj,bigint:()=>sO,base64url:()=>nO,base64:()=>uO,array:()=>Z1,any:()=>JY,_function:()=>MY,_default:()=>sj,_ZodString:()=>I2,ZodXor:()=>yj,ZodXID:()=>f2,ZodVoid:()=>Zj,ZodUnknown:()=>Tj,ZodUnion:()=>y1,ZodUndefined:()=>kj,ZodUUID:()=>d$,ZodURL:()=>T1,ZodULID:()=>S2,ZodType:()=>D_,ZodTuple:()=>uj,ZodTransform:()=>oj,ZodTemplateLiteral:()=>OW,ZodSymbol:()=>Pj,ZodSuccess:()=>DW,ZodStringFormat:()=>b_,ZodString:()=>Y0,ZodSet:()=>cj,ZodRecord:()=>N0,ZodReadonly:()=>XW,ZodPromise:()=>QW,ZodPreprocess:()=>GW,ZodPrefault:()=>_W,ZodPipe:()=>h1,ZodOptional:()=>l2,ZodObject:()=>v1,ZodNumberFormat:()=>Q4,ZodNumber:()=>Q0,ZodNullable:()=>aj,ZodNull:()=>wj,ZodNonOptional:()=>o2,ZodNever:()=>Cj,ZodNanoID:()=>P2,ZodNaN:()=>WW,ZodMap:()=>dj,ZodMAC:()=>Ij,ZodLiteral:()=>ij,ZodLazy:()=>YW,ZodKSUID:()=>T2,ZodJWT:()=>u2,ZodIntersection:()=>xj,ZodIPv6:()=>Z2,ZodIPv4:()=>C2,ZodGUID:()=>w1,ZodFunction:()=>qW,ZodFile:()=>lj,ZodExactOptional:()=>pj,ZodEnum:()=>O0,ZodEmoji:()=>M2,ZodEmail:()=>F2,ZodE164:()=>r2,ZodDiscriminatedUnion:()=>hj,ZodDefault:()=>ej,ZodDate:()=>C1,ZodCustomStringFormat:()=>z0,ZodCustom:()=>r1,ZodCodec:()=>x1,ZodCatch:()=>JW,ZodCUID2:()=>w2,ZodCUID:()=>k2,ZodCIDRv6:()=>y2,ZodCIDRv4:()=>v2,ZodBoolean:()=>q0,ZodBigIntFormat:()=>n2,ZodBigInt:()=>L0,ZodBase64URL:()=>x2,ZodBase64:()=>h2,ZodArray:()=>vj,ZodAny:()=>fj});function K2(_,$,U){let J=Object.getPrototypeOf(_),D=rg.get(J);if(!D)D=new Set,rg.set(J,D);if(D.has($))return;D.add($);for(let j in U){let W=U[j];Object.defineProperty(J,j,{configurable:!0,enumerable:!1,get(){let G=W.bind(this);return Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:G}),G},set(G){Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:G})}})}}function k1(_){return i9(Y0,_)}function AO(_){return uJ(F2,_)}function VO(_){return j2(w1,_)}function bO(_){return nJ(d$,_)}function KO(_){return mJ(d$,_)}function IO(_){return dJ(d$,_)}function FO(_){return cJ(d$,_)}function MO(_){return W2(T1,_)}function PO(_){return W2(T1,{protocol:Q$.httpProtocol,hostname:Q$.domain,...k.normalizeParams(_)})}function kO(_){return iJ(M2,_)}function wO(_){return lJ(P2,_)}function SO(_){return oJ(k2,_)}function fO(_){return pJ(w2,_)}function TO(_){return tJ(S2,_)}function CO(_){return aJ(f2,_)}function ZO(_){return eJ(T2,_)}function vO(_){return sJ(C2,_)}function yO(_){return o9(Ij,_)}function hO(_){return _j(Z2,_)}function xO(_){return $j(v2,_)}function rO(_){return Uj(y2,_)}function uO(_){return Dj(h2,_)}function nO(_){return Jj(x2,_)}function mO(_){return jj(r2,_)}function dO(_){return Wj(u2,_)}function cO(_,$,U={}){return M1(z0,_,$,U)}function iO(_){return M1(z0,"hostname",Q$.hostname,_)}function lO(_){return M1(z0,"hex",Q$.hex,_)}function oO(_,$){let U=$?.enc??"hex",J=`${_}_${U}`,D=Q$[J];if(!D)throw Error(`Unrecognized hash format: ${J}`);return M1(z0,J,D,$)}function Fj(_){return s9(Q0,_)}function V2(_){return $8(Q4,_)}function pO(_){return U8(Q4,_)}function tO(_){return D8(Q4,_)}function aO(_){return J8(Q4,_)}function eO(_){return j8(Q4,_)}function Mj(_){return W8(q0,_)}function sO(_){return X8(L0,_)}function _Y(_){return O8(n2,_)}function $Y(_){return Y8(n2,_)}function UY(_){return z8(Pj,_)}function DY(_){return Q8(kj,_)}function Sj(_){return q8(wj,_)}function JY(){return L8(fj)}function z4(){return g8(Tj)}function m2(_){return E8(Cj,_)}function jY(_){return B8(Zj,_)}function WY(_){return R8(C1,_)}function Z1(_,$){return V8(vj,_,$)}function GY(_){let $=_._zod.def.shape;return c2(Object.keys($))}function XY(_,$){let U={type:"object",shape:_??{},...k.normalizeParams($)};return new v1(U)}function NY(_,$){return new v1({type:"object",shape:_,catchall:m2(),...k.normalizeParams($)})}function OY(_,$){return new v1({type:"object",shape:_,catchall:z4(),...k.normalizeParams($)})}function d2(_,$){return new y1({type:"union",options:_,...k.normalizeParams($)})}function YY(_,$){return new yj({type:"union",options:_,inclusive:!1,...k.normalizeParams($)})}function zY(_,$,U){return new hj({type:"union",options:$,discriminator:_,...k.normalizeParams(U)})}function rj(_,$){return new xj({type:"intersection",left:_,right:$})}function nj(_,$,U){let J=$ instanceof $_,D=J?U:$;return new uj({type:"tuple",items:_,rest:J?$:null,...k.normalizeParams(D)})}function mj(_,$,U){if(!$||!$._zod)return new N0({type:"record",keyType:k1(),valueType:_,...k.normalizeParams($)});return new N0({type:"record",keyType:_,valueType:$,...k.normalizeParams(U)})}function QY(_,$,U){let J=e_(_);return J._zod.values=void 0,new N0({type:"record",keyType:J,valueType:$,...k.normalizeParams(U)})}function qY(_,$,U){return new N0({type:"record",keyType:_,valueType:$,mode:"loose",...k.normalizeParams(U)})}function LY(_,$,U){return new dj({type:"map",keyType:_,valueType:$,...k.normalizeParams(U)})}function gY(_,$){return new cj({type:"set",valueType:_,...k.normalizeParams($)})}function c2(_,$){let U=Array.isArray(_)?Object.fromEntries(_.map((J)=>[J,J])):_;return new O0({type:"enum",entries:U,...k.normalizeParams($)})}function EY(_,$){return new O0({type:"enum",entries:_,...k.normalizeParams($)})}function BY(_,$){return new ij({type:"literal",values:Array.isArray(_)?_:[_],...k.normalizeParams($)})}function RY(_){return b8(lj,_)}function i2(_){return new oj({type:"transform",transform:_})}function S1(_){return new l2({type:"optional",innerType:_})}function tj(_){return new pj({type:"optional",innerType:_})}function f1(_){return new aj({type:"nullable",innerType:_})}function HY(_){return S1(f1(_))}function sj(_,$){return new ej({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function $W(_,$){return new _W({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function UW(_,$){return new o2({type:"nonoptional",innerType:_,...k.normalizeParams($)})}function AY(_){return new DW({type:"success",innerType:_})}function jW(_,$){return new JW({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function VY(_){return A8(WW,_)}function b2(_,$){return new h1({type:"pipe",in:_,out:$})}function bY(_,$,U){return new x1({type:"pipe",in:_,out:$,transform:U.decode,reverseTransform:U.encode})}function KY(_){let $=_._zod.def;return new x1({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function NW(_){return new XW({type:"readonly",innerType:_})}function IY(_,$){return new OW({type:"template_literal",parts:_,...k.normalizeParams($)})}function zW(_){return new YW({type:"lazy",getter:_})}function FY(_){return new QW({type:"promise",innerType:_})}function MY(_){return new qW({type:"function",input:Array.isArray(_?.input)?nj(_?.input):_?.input??Z1(z4()),output:_?.output??z4()})}function PY(_){let $=new k_({check:"custom"});return $._zod.check=_,$}function kY(_,$){return K8(r1,_??(()=>!0),$)}function LW(_,$={}){return I8(r1,_,$)}function gW(_,$){return F8(_,$)}function fY(_,$={}){let U=new r1({type:"custom",check:"custom",fn:(J)=>J instanceof _,abort:!0,...k.normalizeParams($)});return U._zod.bag.Class=_,U._zod.check=(J)=>{if(!(J.value instanceof _))J.issues.push({code:"invalid_type",expected:_.name,input:J.value,inst:U,path:[...U._zod.def.path??[]]})},U}function CY(_){let $=zW(()=>{return d2([k1(_),Fj(),Mj(),Sj(),Z1($),mj(k1(),$)])});return $}function ZY(_,$){return new GW({type:"pipe",in:i2(_),out:$})}var rg,D_,I2,Y0,b_,F2,w1,d$,T1,M2,P2,k2,w2,S2,f2,T2,C2,Ij,Z2,v2,y2,h2,x2,r2,u2,z0,Q0,Q4,q0,L0,n2,Pj,kj,wj,fj,Tj,Cj,Zj,C1,vj,v1,y1,yj,hj,xj,uj,N0,dj,cj,O0,ij,lj,oj,l2,pj,aj,ej,_W,o2,DW,JW,WW,h1,x1,GW,XW,OW,YW,QW,qW,r1,wY,SY,TY=(..._)=>k8({Codec:x1,Boolean:q0,String:Y0},..._);var A2=Z(()=>{H$();H$();q2();z2();zj();R2();HO();rg=new WeakMap;D_=A("ZodType",(_,$)=>{return $_.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:P1(_,"input"),output:P1(_,"output")}}),_.toJSONSchema=w8(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(U,J)=>Qj(_,U,J,{callee:_.parse}),_.safeParse=(U,J)=>Lj(_,U,J),_.parseAsync=async(U,J)=>qj(_,U,J,{callee:_.parseAsync}),_.safeParseAsync=async(U,J)=>gj(_,U,J),_.spa=_.safeParseAsync,_.encode=(U,J)=>Ej(_,U,J),_.decode=(U,J)=>Bj(_,U,J),_.encodeAsync=async(U,J)=>Rj(_,U,J),_.decodeAsync=async(U,J)=>Hj(_,U,J),_.safeEncode=(U,J)=>Aj(_,U,J),_.safeDecode=(U,J)=>Vj(_,U,J),_.safeEncodeAsync=async(U,J)=>bj(_,U,J),_.safeDecodeAsync=async(U,J)=>Kj(_,U,J),K2(_,"ZodType",{check(...U){let J=this.def;return this.clone(k.mergeDefs(J,{checks:[...J.checks??[],...U.map((D)=>typeof D==="function"?{_zod:{check:D,def:{check:"custom"},onattach:[]}}:D)]}),{parent:!0})},with(...U){return this.check(...U)},clone(U,J){return e_(this,U,J)},brand(){return this},register(U,J){return U.add(this,J),this},refine(U,J){return this.check(LW(U,J))},superRefine(U,J){return this.check(gW(U,J))},overwrite(U){return this.check(w$(U))},optional(){return S1(this)},exactOptional(){return tj(this)},nullable(){return f1(this)},nullish(){return S1(f1(this))},nonoptional(U){return UW(this,U)},array(){return Z1(this)},or(U){return d2([this,U])},and(U){return rj(this,U)},transform(U){return b2(this,i2(U))},default(U){return sj(this,U)},prefault(U){return $W(this,U)},catch(U){return jW(this,U)},pipe(U){return b2(this,U)},readonly(){return NW(this)},describe(U){let J=this.clone();return o_.add(J,{description:U}),J},meta(...U){if(U.length===0)return o_.get(this);let J=this.clone();return o_.add(J,U[0]),J},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty(_,"description",{get(){return o_.get(_)?.description},configurable:!0}),_}),I2=A("_ZodString",(_,$)=>{p4.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>S8(_,J,D,j);let U=_._zod.bag;_.format=U.format??null,_.minLength=U.minimum??null,_.maxLength=U.maximum??null,K2(_,"_ZodString",{regex(...J){return this.check(t4(...J))},includes(...J){return this.check(s4(...J))},startsWith(...J){return this.check(_0(...J))},endsWith(...J){return this.check($0(...J))},min(...J){return this.check(N6(...J))},max(...J){return this.check(G4(...J))},length(...J){return this.check(X4(...J))},nonempty(...J){return this.check(N6(1,...J))},lowercase(J){return this.check(a4(J))},uppercase(J){return this.check(e4(J))},trim(){return this.check(J0())},normalize(...J){return this.check(D0(...J))},toLowerCase(){return this.check(j0())},toUpperCase(){return this.check(W0())},slugify(){return this.check(G0())}})}),Y0=A("ZodString",(_,$)=>{p4.init(_,$),I2.init(_,$),_.email=(U)=>_.check(uJ(F2,U)),_.url=(U)=>_.check(W2(T1,U)),_.jwt=(U)=>_.check(Wj(u2,U)),_.emoji=(U)=>_.check(iJ(M2,U)),_.guid=(U)=>_.check(j2(w1,U)),_.uuid=(U)=>_.check(nJ(d$,U)),_.uuidv4=(U)=>_.check(mJ(d$,U)),_.uuidv6=(U)=>_.check(dJ(d$,U)),_.uuidv7=(U)=>_.check(cJ(d$,U)),_.nanoid=(U)=>_.check(lJ(P2,U)),_.guid=(U)=>_.check(j2(w1,U)),_.cuid=(U)=>_.check(oJ(k2,U)),_.cuid2=(U)=>_.check(pJ(w2,U)),_.ulid=(U)=>_.check(tJ(S2,U)),_.base64=(U)=>_.check(Dj(h2,U)),_.base64url=(U)=>_.check(Jj(x2,U)),_.xid=(U)=>_.check(aJ(f2,U)),_.ksuid=(U)=>_.check(eJ(T2,U)),_.ipv4=(U)=>_.check(sJ(C2,U)),_.ipv6=(U)=>_.check(_j(Z2,U)),_.cidrv4=(U)=>_.check($j(v2,U)),_.cidrv6=(U)=>_.check(Uj(y2,U)),_.e164=(U)=>_.check(jj(r2,U)),_.datetime=(U)=>_.check(LO(U)),_.date=(U)=>_.check(gO(U)),_.time=(U)=>_.check(EO(U)),_.duration=(U)=>_.check(BO(U))});b_=A("ZodStringFormat",(_,$)=>{M_.init(_,$),I2.init(_,$)}),F2=A("ZodEmail",(_,$)=>{h5.init(_,$),b_.init(_,$)});w1=A("ZodGUID",(_,$)=>{v5.init(_,$),b_.init(_,$)});d$=A("ZodUUID",(_,$)=>{y5.init(_,$),b_.init(_,$)});T1=A("ZodURL",(_,$)=>{x5.init(_,$),b_.init(_,$)});M2=A("ZodEmoji",(_,$)=>{r5.init(_,$),b_.init(_,$)});P2=A("ZodNanoID",(_,$)=>{u5.init(_,$),b_.init(_,$)});k2=A("ZodCUID",(_,$)=>{n5.init(_,$),b_.init(_,$)});w2=A("ZodCUID2",(_,$)=>{m5.init(_,$),b_.init(_,$)});S2=A("ZodULID",(_,$)=>{d5.init(_,$),b_.init(_,$)});f2=A("ZodXID",(_,$)=>{c5.init(_,$),b_.init(_,$)});T2=A("ZodKSUID",(_,$)=>{i5.init(_,$),b_.init(_,$)});C2=A("ZodIPv4",(_,$)=>{a5.init(_,$),b_.init(_,$)});Ij=A("ZodMAC",(_,$)=>{s5.init(_,$),b_.init(_,$)});Z2=A("ZodIPv6",(_,$)=>{e5.init(_,$),b_.init(_,$)});v2=A("ZodCIDRv4",(_,$)=>{_N.init(_,$),b_.init(_,$)});y2=A("ZodCIDRv6",(_,$)=>{$N.init(_,$),b_.init(_,$)});h2=A("ZodBase64",(_,$)=>{DN.init(_,$),b_.init(_,$)});x2=A("ZodBase64URL",(_,$)=>{JN.init(_,$),b_.init(_,$)});r2=A("ZodE164",(_,$)=>{jN.init(_,$),b_.init(_,$)});u2=A("ZodJWT",(_,$)=>{WN.init(_,$),b_.init(_,$)});z0=A("ZodCustomStringFormat",(_,$)=>{GN.init(_,$),b_.init(_,$)});Q0=A("ZodNumber",(_,$)=>{CJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>f8(_,J,D,j),K2(_,"ZodNumber",{gt(J,D){return this.check(n$(J,D))},gte(J,D){return this.check(s_(J,D))},min(J,D){return this.check(s_(J,D))},lt(J,D){return this.check(u$(J,D))},lte(J,D){return this.check(q$(J,D))},max(J,D){return this.check(q$(J,D))},int(J){return this.check(V2(J))},safe(J){return this.check(V2(J))},positive(J){return this.check(n$(0,J))},nonnegative(J){return this.check(s_(0,J))},negative(J){return this.check(u$(0,J))},nonpositive(J){return this.check(q$(0,J))},multipleOf(J,D){return this.check(k6(J,D))},step(J,D){return this.check(k6(J,D))},finite(){return this}});let U=_._zod.bag;_.minValue=Math.max(U.minimum??Number.NEGATIVE_INFINITY,U.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,_.maxValue=Math.min(U.maximum??Number.POSITIVE_INFINITY,U.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,_.isInt=(U.format??"").includes("int")||Number.isSafeInteger(U.multipleOf??0.5),_.isFinite=!0,_.format=U.format??null});Q4=A("ZodNumberFormat",(_,$)=>{XN.init(_,$),Q0.init(_,$)});q0=A("ZodBoolean",(_,$)=>{tU.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>T8(_,U,J,D)});L0=A("ZodBigInt",(_,$)=>{ZJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>C8(_,J,D,j),_.gte=(J,D)=>_.check(s_(J,D)),_.min=(J,D)=>_.check(s_(J,D)),_.gt=(J,D)=>_.check(n$(J,D)),_.gte=(J,D)=>_.check(s_(J,D)),_.min=(J,D)=>_.check(s_(J,D)),_.lt=(J,D)=>_.check(u$(J,D)),_.lte=(J,D)=>_.check(q$(J,D)),_.max=(J,D)=>_.check(q$(J,D)),_.positive=(J)=>_.check(n$(BigInt(0),J)),_.negative=(J)=>_.check(u$(BigInt(0),J)),_.nonpositive=(J)=>_.check(q$(BigInt(0),J)),_.nonnegative=(J)=>_.check(s_(BigInt(0),J)),_.multipleOf=(J,D)=>_.check(k6(J,D));let U=_._zod.bag;_.minValue=U.minimum??null,_.maxValue=U.maximum??null,_.format=U.format??null});n2=A("ZodBigIntFormat",(_,$)=>{NN.init(_,$),L0.init(_,$)});Pj=A("ZodSymbol",(_,$)=>{ON.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Z8(_,U,J,D)});kj=A("ZodUndefined",(_,$)=>{YN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>y8(_,U,J,D)});wj=A("ZodNull",(_,$)=>{zN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>v8(_,U,J,D)});fj=A("ZodAny",(_,$)=>{QN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>r8(_,U,J,D)});Tj=A("ZodUnknown",(_,$)=>{qN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>u8(_,U,J,D)});Cj=A("ZodNever",(_,$)=>{LN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>x8(_,U,J,D)});Zj=A("ZodVoid",(_,$)=>{gN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>h8(_,U,J,D)});C1=A("ZodDate",(_,$)=>{EN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>n8(_,J,D,j),_.min=(J,D)=>_.check(s_(J,D)),_.max=(J,D)=>_.check(q$(J,D));let U=_._zod.bag;_.minDate=U.minimum?new Date(U.minimum):null,_.maxDate=U.maximum?new Date(U.maximum):null});vj=A("ZodArray",(_,$)=>{BN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>_O(_,U,J,D),_.element=$.element,K2(_,"ZodArray",{min(U,J){return this.check(N6(U,J))},nonempty(U){return this.check(N6(1,U))},max(U,J){return this.check(G4(U,J))},length(U,J){return this.check(X4(U,J))},unwrap(){return this.element}})});v1=A("ZodObject",(_,$)=>{RN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>$O(_,U,J,D),k.defineLazy(_,"shape",()=>{return $.shape}),K2(_,"ZodObject",{keyof(){return c2(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:z4()})},loose(){return this.clone({...this._zod.def,catchall:z4()})},strict(){return this.clone({...this._zod.def,catchall:m2()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(U){return k.extend(this,U)},safeExtend(U){return k.safeExtend(this,U)},merge(U){return k.merge(this,U)},pick(U){return k.pick(this,U)},omit(U){return k.omit(this,U)},partial(...U){return k.partial(l2,this,U[0])},required(...U){return k.required(o2,this,U[0])}})});y1=A("ZodUnion",(_,$)=>{aU.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Nj(_,U,J,D),_.options=$.options});yj=A("ZodXor",(_,$)=>{y1.init(_,$),HN.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Nj(_,U,J,D),_.options=$.options});hj=A("ZodDiscriminatedUnion",(_,$)=>{y1.init(_,$),AN.init(_,$)});xj=A("ZodIntersection",(_,$)=>{VN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>UO(_,U,J,D)});uj=A("ZodTuple",(_,$)=>{vJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>DO(_,U,J,D),_.rest=(U)=>_.clone({..._._zod.def,rest:U})});N0=A("ZodRecord",(_,$)=>{bN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>JO(_,U,J,D),_.keyType=$.keyType,_.valueType=$.valueType});dj=A("ZodMap",(_,$)=>{KN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>e8(_,U,J,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...U)=>_.check(m$(...U)),_.nonempty=(U)=>_.check(m$(1,U)),_.max=(...U)=>_.check(w6(...U)),_.size=(...U)=>_.check(W4(...U))});cj=A("ZodSet",(_,$)=>{IN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>s8(_,U,J,D),_.min=(...U)=>_.check(m$(...U)),_.nonempty=(U)=>_.check(m$(1,U)),_.max=(...U)=>_.check(w6(...U)),_.size=(...U)=>_.check(W4(...U))});O0=A("ZodEnum",(_,$)=>{FN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>m8(_,J,D,j),_.enum=$.entries,_.options=Object.values($.entries);let U=new Set(Object.keys($.entries));_.extract=(J,D)=>{let j={};for(let W of J)if(U.has(W))j[W]=$.entries[W];else throw Error(`Key ${W} not found in enum`);return new O0({...$,checks:[],...k.normalizeParams(D),entries:j})},_.exclude=(J,D)=>{let j={...$.entries};for(let W of J)if(U.has(W))delete j[W];else throw Error(`Key ${W} not found in enum`);return new O0({...$,checks:[],...k.normalizeParams(D),entries:j})}});ij=A("ZodLiteral",(_,$)=>{MN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>d8(_,U,J,D),_.values=new Set($.values),Object.defineProperty(_,"value",{get(){if($.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return $.values[0]}})});lj=A("ZodFile",(_,$)=>{PN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>l8(_,U,J,D),_.min=(U,J)=>_.check(m$(U,J)),_.max=(U,J)=>_.check(w6(U,J)),_.mime=(U,J)=>_.check(U0(Array.isArray(U)?U:[U],J))});oj=A("ZodTransform",(_,$)=>{kN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>a8(_,U,J,D),_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new c4(_.constructor.name);U.addIssue=(j)=>{if(typeof j==="string")U.issues.push(k.issue(j,U.value,$));else{let W=j;if(W.fatal)W.continue=!1;W.code??(W.code="custom"),W.input??(W.input=U.value),W.inst??(W.inst=_),U.issues.push(k.issue(W))}};let D=$.transform(U.value,U);if(D instanceof Promise)return D.then((j)=>{return U.value=j,U.fallback=!0,U});return U.value=D,U.fallback=!0,U}});l2=A("ZodOptional",(_,$)=>{yJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Oj(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});pj=A("ZodExactOptional",(_,$)=>{wN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Oj(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});aj=A("ZodNullable",(_,$)=>{SN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>jO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});ej=A("ZodDefault",(_,$)=>{fN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>GO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});_W=A("ZodPrefault",(_,$)=>{TN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>XO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});o2=A("ZodNonOptional",(_,$)=>{CN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>WO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});DW=A("ZodSuccess",(_,$)=>{ZN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>o8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});JW=A("ZodCatch",(_,$)=>{vN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>NO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});WW=A("ZodNaN",(_,$)=>{yN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>c8(_,U,J,D)});h1=A("ZodPipe",(_,$)=>{hJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>OO(_,U,J,D),_.in=$.in,_.out=$.out});x1=A("ZodCodec",(_,$)=>{h1.init(_,$),eU.init(_,$)});GW=A("ZodPreprocess",(_,$)=>{h1.init(_,$),hN.init(_,$)}),XW=A("ZodReadonly",(_,$)=>{xN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>YO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});OW=A("ZodTemplateLiteral",(_,$)=>{rN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>i8(_,U,J,D)});YW=A("ZodLazy",(_,$)=>{mN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>QO(_,U,J,D),_.unwrap=()=>_._zod.def.getter()});QW=A("ZodPromise",(_,$)=>{nN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>zO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});qW=A("ZodFunction",(_,$)=>{uN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>t8(_,U,J,D)});r1=A("ZodCustom",(_,$)=>{dN.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>p8(_,U,J,D)});wY=M8,SY=P8});function ng(_){x_({customError:_})}function mg(){return x_().customError}var ug,EW;var dg=Z(()=>{H$();ug={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function(_){})(EW||(EW={}))});function ak(_,$){let U=_.$schema;if(U==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(U==="http://json-schema.org/draft-07/schema#")return"draft-7";if(U==="http://json-schema.org/draft-04/schema#")return"draft-4";return $??"draft-2020-12"}function ek(_,$){if(!_.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let U=_.slice(1).split("/").filter(Boolean);if(U.length===0)return $.rootSchema;let J=$.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===J){let D=U[1];if(!D||!$.defs[D])throw Error(`Reference not found: ${_}`);return $.defs[D]}throw Error(`Reference not found: ${_}`)}function cg(_,$){if(_.not!==void 0){if(typeof _.not==="object"&&Object.keys(_.not).length===0)return y.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(_.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(_.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(_.if!==void 0||_.then!==void 0||_.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(_.dependentSchemas!==void 0||_.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(_.$ref){let D=_.$ref;if($.refs.has(D))return $.refs.get(D);if($.processing.has(D))return y.lazy(()=>{if(!$.refs.has(D))throw Error(`Circular reference not resolved: ${D}`);return $.refs.get(D)});$.processing.add(D);let j=ek(D,$),W=_$(j,$);return $.refs.set(D,W),$.processing.delete(D),W}if(_.enum!==void 0){let D=_.enum;if($.version==="openapi-3.0"&&_.nullable===!0&&D.length===1&&D[0]===null)return y.null();if(D.length===0)return y.never();if(D.length===1)return y.literal(D[0]);if(D.every((W)=>typeof W==="string"))return y.enum(D);let j=D.map((W)=>y.literal(W));if(j.length<2)return j[0];return y.union([j[0],j[1],...j.slice(2)])}if(_.const!==void 0)return y.literal(_.const);let U=_.type;if(Array.isArray(U)){let D=U.map((j)=>{let W={..._,type:j};return cg(W,$)});if(D.length===0)return y.never();if(D.length===1)return D[0];return y.union(D)}if(!U)return y.any();let J;switch(U){case"string":{let D=y.string();if(_.format){let j=_.format;if(j==="email")D=D.check(y.email());else if(j==="uri"||j==="uri-reference")D=D.check(y.url());else if(j==="uuid"||j==="guid")D=D.check(y.uuid());else if(j==="date-time")D=D.check(y.iso.datetime());else if(j==="date")D=D.check(y.iso.date());else if(j==="time")D=D.check(y.iso.time());else if(j==="duration")D=D.check(y.iso.duration());else if(j==="ipv4")D=D.check(y.ipv4());else if(j==="ipv6")D=D.check(y.ipv6());else if(j==="mac")D=D.check(y.mac());else if(j==="cidr")D=D.check(y.cidrv4());else if(j==="cidr-v6")D=D.check(y.cidrv6());else if(j==="base64")D=D.check(y.base64());else if(j==="base64url")D=D.check(y.base64url());else if(j==="e164")D=D.check(y.e164());else if(j==="jwt")D=D.check(y.jwt());else if(j==="emoji")D=D.check(y.emoji());else if(j==="nanoid")D=D.check(y.nanoid());else if(j==="cuid")D=D.check(y.cuid());else if(j==="cuid2")D=D.check(y.cuid2());else if(j==="ulid")D=D.check(y.ulid());else if(j==="xid")D=D.check(y.xid());else if(j==="ksuid")D=D.check(y.ksuid())}if(typeof _.minLength==="number")D=D.min(_.minLength);if(typeof _.maxLength==="number")D=D.max(_.maxLength);if(_.pattern)D=D.regex(new RegExp(_.pattern));J=D;break}case"number":case"integer":{let D=U==="integer"?y.number().int():y.number();if(typeof _.minimum==="number")D=D.min(_.minimum);if(typeof _.maximum==="number")D=D.max(_.maximum);if(typeof _.exclusiveMinimum==="number")D=D.gt(_.exclusiveMinimum);else if(_.exclusiveMinimum===!0&&typeof _.minimum==="number")D=D.gt(_.minimum);if(typeof _.exclusiveMaximum==="number")D=D.lt(_.exclusiveMaximum);else if(_.exclusiveMaximum===!0&&typeof _.maximum==="number")D=D.lt(_.maximum);if(typeof _.multipleOf==="number")D=D.multipleOf(_.multipleOf);J=D;break}case"boolean":{J=y.boolean();break}case"null":{J=y.null();break}case"object":{let D={},j=_.properties||{},W=new Set(_.required||[]);for(let[X,N]of Object.entries(j)){let z=_$(N,$);D[X]=W.has(X)?z:z.optional()}if(_.propertyNames){let X=_$(_.propertyNames,$),N=_.additionalProperties&&typeof _.additionalProperties==="object"?_$(_.additionalProperties,$):y.any();if(Object.keys(D).length===0){J=y.record(X,N);break}let z=y.object(D).passthrough(),L=y.looseRecord(X,N);J=y.intersection(z,L);break}if(_.patternProperties){let X=_.patternProperties,N=Object.keys(X),z=[];for(let E of N){let Q=_$(X[E],$),q=y.string().regex(new RegExp(E));z.push(y.looseRecord(q,Q))}let L=[];if(Object.keys(D).length>0)L.push(y.object(D).passthrough());if(L.push(...z),L.length===0)J=y.object({}).passthrough();else if(L.length===1)J=L[0];else{let E=y.intersection(L[0],L[1]);for(let Q=2;Q_$(X,$)),G=j&&typeof j==="object"&&!Array.isArray(j)?_$(j,$):void 0;if(G)J=y.tuple(W).rest(G);else J=y.tuple(W);if(typeof _.minItems==="number")J=J.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")J=J.check(y.maxLength(_.maxItems))}else if(Array.isArray(j)){let W=j.map((X)=>_$(X,$)),G=_.additionalItems&&typeof _.additionalItems==="object"?_$(_.additionalItems,$):void 0;if(G)J=y.tuple(W).rest(G);else J=y.tuple(W);if(typeof _.minItems==="number")J=J.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")J=J.check(y.maxLength(_.maxItems))}else if(j!==void 0){let W=_$(j,$),G=y.array(W);if(typeof _.minItems==="number")G=G.min(_.minItems);if(typeof _.maxItems==="number")G=G.max(_.maxItems);J=G}else J=y.array(y.any());break}default:throw Error(`Unsupported type: ${U}`)}return J}function _$(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U=cg(_,$),J=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let G=_.anyOf.map((N)=>_$(N,$)),X=y.union(G);U=J?y.intersection(U,X):X}if(_.oneOf&&Array.isArray(_.oneOf)){let G=_.oneOf.map((N)=>_$(N,$)),X=y.xor(G);U=J?y.intersection(U,X):X}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)U=J?U:y.any();else{let G=J?U:_$(_.allOf[0],$),X=J?0:1;for(let N=X;N<_.allOf.length;N++)G=y.intersection(G,_$(_.allOf[N],$));U=G}if(_.nullable===!0&&$.version==="openapi-3.0")U=y.nullable(U);if(_.readOnly===!0)U=y.readonly(U);if(_.default!==void 0)U=U.default(_.default);let D={},j=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let G of j)if(G in _)D[G]=_[G];let W=["contentEncoding","contentMediaType","contentSchema"];for(let G of W)if(G in _)D[G]=_[G];for(let G of Object.keys(_))if(!tk.has(G))D[G]=_[G];if(Object.keys(D).length>0)$.registry.add(U,D);if(_.description)U=U.describe(_.description);return U}function vY(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U;try{U=JSON.parse(JSON.stringify(_))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let J=ak(U,$?.defaultTarget),D=U.$defs||U.definitions||{},j={version:J,defs:D,refs:new Map,processing:new Set,rootSchema:U,registry:$?.registry??o_};return _$(U,j)}var y,tk;var ig=Z(()=>{J2();zj();R2();A2();y={...H2,...Yj,iso:X0},tk=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var BW={};_6(BW,{string:()=>sk,number:()=>_w,date:()=>Dw,boolean:()=>$w,bigint:()=>Uw});function sk(_){return l9(Y0,_)}function _w(_){return _8(Q0,_)}function $w(_){return G8(q0,_)}function Uw(_){return N8(L0,_)}function Dw(_){return H8(C1,_)}var lg=Z(()=>{H$();A2()});var RW={};_6(RW,{xor:()=>YY,xid:()=>CO,void:()=>jY,uuidv7:()=>FO,uuidv6:()=>IO,uuidv4:()=>KO,uuid:()=>bO,util:()=>k,url:()=>MO,uppercase:()=>e4,unknown:()=>z4,union:()=>d2,undefined:()=>DY,ulid:()=>TO,uint64:()=>$Y,uint32:()=>eO,tuple:()=>nj,trim:()=>J0,treeifyError:()=>zJ,transform:()=>i2,toUpperCase:()=>W0,toLowerCase:()=>j0,toJSONSchema:()=>Q2,templateLiteral:()=>IY,symbol:()=>UY,superRefine:()=>gW,success:()=>AY,stringbool:()=>TY,stringFormat:()=>cO,string:()=>k1,strictObject:()=>NY,startsWith:()=>_0,slugify:()=>G0,size:()=>W4,setErrorMap:()=>ng,set:()=>gY,safeParseAsync:()=>gj,safeParse:()=>Lj,safeEncodeAsync:()=>bj,safeEncode:()=>Aj,safeDecodeAsync:()=>Kj,safeDecode:()=>Vj,registry:()=>D2,regexes:()=>Q$,regex:()=>t4,refine:()=>LW,record:()=>mj,readonly:()=>NW,property:()=>Y2,promise:()=>FY,prettifyError:()=>QJ,preprocess:()=>ZY,prefault:()=>$W,positive:()=>G2,pipe:()=>b2,partialRecord:()=>QY,parseAsync:()=>qj,parse:()=>Qj,overwrite:()=>w$,optional:()=>S1,object:()=>XY,number:()=>Fj,nullish:()=>HY,nullable:()=>f1,null:()=>Sj,normalize:()=>D0,nonpositive:()=>N2,nonoptional:()=>UW,nonnegative:()=>O2,never:()=>m2,negative:()=>X2,nativeEnum:()=>EY,nanoid:()=>wO,nan:()=>VY,multipleOf:()=>k6,minSize:()=>m$,minLength:()=>N6,mime:()=>U0,meta:()=>SY,maxSize:()=>w6,maxLength:()=>G4,map:()=>LY,mac:()=>yO,lte:()=>q$,lt:()=>u$,lowercase:()=>a4,looseRecord:()=>qY,looseObject:()=>OY,locales:()=>F1,literal:()=>BY,length:()=>X4,lazy:()=>zW,ksuid:()=>ZO,keyof:()=>GY,jwt:()=>dO,json:()=>CY,iso:()=>X0,ipv6:()=>hO,ipv4:()=>vO,invertCodec:()=>KY,intersection:()=>rj,int64:()=>_Y,int32:()=>aO,int:()=>V2,instanceof:()=>fY,includes:()=>s4,httpUrl:()=>PO,hostname:()=>iO,hex:()=>lO,hash:()=>oO,guid:()=>VO,gte:()=>s_,gt:()=>n$,globalRegistry:()=>o_,getErrorMap:()=>mg,function:()=>MY,fromJSONSchema:()=>vY,formatError:()=>R1,float64:()=>tO,float32:()=>pO,flattenError:()=>B1,file:()=>RY,exactOptional:()=>tj,enum:()=>c2,endsWith:()=>$0,encodeAsync:()=>Rj,encode:()=>Ej,emoji:()=>kO,email:()=>AO,e164:()=>mO,discriminatedUnion:()=>zY,describe:()=>wY,decodeAsync:()=>Hj,decode:()=>Bj,date:()=>WY,custom:()=>kY,cuid2:()=>fO,cuid:()=>SO,core:()=>O6,config:()=>x_,coerce:()=>BW,codec:()=>bY,clone:()=>e_,cidrv6:()=>rO,cidrv4:()=>xO,check:()=>PY,catch:()=>jW,boolean:()=>Mj,bigint:()=>sO,base64url:()=>nO,base64:()=>uO,array:()=>Z1,any:()=>JY,_function:()=>MY,_default:()=>sj,_ZodString:()=>I2,ZodXor:()=>yj,ZodXID:()=>f2,ZodVoid:()=>Zj,ZodUnknown:()=>Tj,ZodUnion:()=>y1,ZodUndefined:()=>kj,ZodUUID:()=>d$,ZodURL:()=>T1,ZodULID:()=>S2,ZodType:()=>D_,ZodTuple:()=>uj,ZodTransform:()=>oj,ZodTemplateLiteral:()=>OW,ZodSymbol:()=>Pj,ZodSuccess:()=>DW,ZodStringFormat:()=>b_,ZodString:()=>Y0,ZodSet:()=>cj,ZodRecord:()=>N0,ZodRealError:()=>X$,ZodReadonly:()=>XW,ZodPromise:()=>QW,ZodPreprocess:()=>GW,ZodPrefault:()=>_W,ZodPipe:()=>h1,ZodOptional:()=>l2,ZodObject:()=>v1,ZodNumberFormat:()=>Q4,ZodNumber:()=>Q0,ZodNullable:()=>aj,ZodNull:()=>wj,ZodNonOptional:()=>o2,ZodNever:()=>Cj,ZodNanoID:()=>P2,ZodNaN:()=>WW,ZodMap:()=>dj,ZodMAC:()=>Ij,ZodLiteral:()=>ij,ZodLazy:()=>YW,ZodKSUID:()=>T2,ZodJWT:()=>u2,ZodIssueCode:()=>ug,ZodIntersection:()=>xj,ZodISOTime:()=>E2,ZodISODuration:()=>B2,ZodISODateTime:()=>L2,ZodISODate:()=>g2,ZodIPv6:()=>Z2,ZodIPv4:()=>C2,ZodGUID:()=>w1,ZodFunction:()=>qW,ZodFirstPartyTypeKind:()=>EW,ZodFile:()=>lj,ZodExactOptional:()=>pj,ZodError:()=>xg,ZodEnum:()=>O0,ZodEmoji:()=>M2,ZodEmail:()=>F2,ZodE164:()=>r2,ZodDiscriminatedUnion:()=>hj,ZodDefault:()=>ej,ZodDate:()=>C1,ZodCustomStringFormat:()=>z0,ZodCustom:()=>r1,ZodCodec:()=>x1,ZodCatch:()=>JW,ZodCUID2:()=>w2,ZodCUID:()=>k2,ZodCIDRv6:()=>y2,ZodCIDRv4:()=>v2,ZodBoolean:()=>q0,ZodBigIntFormat:()=>n2,ZodBigInt:()=>L0,ZodBase64URL:()=>x2,ZodBase64:()=>h2,ZodArray:()=>vj,ZodAny:()=>fj,TimePrecision:()=>Gj,NEVER:()=>XJ,$output:()=>xJ,$input:()=>rJ,$brand:()=>NJ});var yY=Z(()=>{H$();H$();$9();H$();q2();ig();d9();R2();R2();lg();A2();zj();RO();HO();dg();x_(sU())});var og={};_6(og,{z:()=>RW,xor:()=>YY,xid:()=>CO,void:()=>jY,uuidv7:()=>FO,uuidv6:()=>IO,uuidv4:()=>KO,uuid:()=>bO,util:()=>k,url:()=>MO,uppercase:()=>e4,unknown:()=>z4,union:()=>d2,undefined:()=>DY,ulid:()=>TO,uint64:()=>$Y,uint32:()=>eO,tuple:()=>nj,trim:()=>J0,treeifyError:()=>zJ,transform:()=>i2,toUpperCase:()=>W0,toLowerCase:()=>j0,toJSONSchema:()=>Q2,templateLiteral:()=>IY,symbol:()=>UY,superRefine:()=>gW,success:()=>AY,stringbool:()=>TY,stringFormat:()=>cO,string:()=>k1,strictObject:()=>NY,startsWith:()=>_0,slugify:()=>G0,size:()=>W4,setErrorMap:()=>ng,set:()=>gY,safeParseAsync:()=>gj,safeParse:()=>Lj,safeEncodeAsync:()=>bj,safeEncode:()=>Aj,safeDecodeAsync:()=>Kj,safeDecode:()=>Vj,registry:()=>D2,regexes:()=>Q$,regex:()=>t4,refine:()=>LW,record:()=>mj,readonly:()=>NW,property:()=>Y2,promise:()=>FY,prettifyError:()=>QJ,preprocess:()=>ZY,prefault:()=>$W,positive:()=>G2,pipe:()=>b2,partialRecord:()=>QY,parseAsync:()=>qj,parse:()=>Qj,overwrite:()=>w$,optional:()=>S1,object:()=>XY,number:()=>Fj,nullish:()=>HY,nullable:()=>f1,null:()=>Sj,normalize:()=>D0,nonpositive:()=>N2,nonoptional:()=>UW,nonnegative:()=>O2,never:()=>m2,negative:()=>X2,nativeEnum:()=>EY,nanoid:()=>wO,nan:()=>VY,multipleOf:()=>k6,minSize:()=>m$,minLength:()=>N6,mime:()=>U0,meta:()=>SY,maxSize:()=>w6,maxLength:()=>G4,map:()=>LY,mac:()=>yO,lte:()=>q$,lt:()=>u$,lowercase:()=>a4,looseRecord:()=>qY,looseObject:()=>OY,locales:()=>F1,literal:()=>BY,length:()=>X4,lazy:()=>zW,ksuid:()=>ZO,keyof:()=>GY,jwt:()=>dO,json:()=>CY,iso:()=>X0,ipv6:()=>hO,ipv4:()=>vO,invertCodec:()=>KY,intersection:()=>rj,int64:()=>_Y,int32:()=>aO,int:()=>V2,instanceof:()=>fY,includes:()=>s4,httpUrl:()=>PO,hostname:()=>iO,hex:()=>lO,hash:()=>oO,guid:()=>VO,gte:()=>s_,gt:()=>n$,globalRegistry:()=>o_,getErrorMap:()=>mg,function:()=>MY,fromJSONSchema:()=>vY,formatError:()=>R1,float64:()=>tO,float32:()=>pO,flattenError:()=>B1,file:()=>RY,exactOptional:()=>tj,enum:()=>c2,endsWith:()=>$0,encodeAsync:()=>Rj,encode:()=>Ej,emoji:()=>kO,email:()=>AO,e164:()=>mO,discriminatedUnion:()=>zY,describe:()=>wY,default:()=>Jw,decodeAsync:()=>Hj,decode:()=>Bj,date:()=>WY,custom:()=>kY,cuid2:()=>fO,cuid:()=>SO,core:()=>O6,config:()=>x_,coerce:()=>BW,codec:()=>bY,clone:()=>e_,cidrv6:()=>rO,cidrv4:()=>xO,check:()=>PY,catch:()=>jW,boolean:()=>Mj,bigint:()=>sO,base64url:()=>nO,base64:()=>uO,array:()=>Z1,any:()=>JY,_function:()=>MY,_default:()=>sj,_ZodString:()=>I2,ZodXor:()=>yj,ZodXID:()=>f2,ZodVoid:()=>Zj,ZodUnknown:()=>Tj,ZodUnion:()=>y1,ZodUndefined:()=>kj,ZodUUID:()=>d$,ZodURL:()=>T1,ZodULID:()=>S2,ZodType:()=>D_,ZodTuple:()=>uj,ZodTransform:()=>oj,ZodTemplateLiteral:()=>OW,ZodSymbol:()=>Pj,ZodSuccess:()=>DW,ZodStringFormat:()=>b_,ZodString:()=>Y0,ZodSet:()=>cj,ZodRecord:()=>N0,ZodRealError:()=>X$,ZodReadonly:()=>XW,ZodPromise:()=>QW,ZodPreprocess:()=>GW,ZodPrefault:()=>_W,ZodPipe:()=>h1,ZodOptional:()=>l2,ZodObject:()=>v1,ZodNumberFormat:()=>Q4,ZodNumber:()=>Q0,ZodNullable:()=>aj,ZodNull:()=>wj,ZodNonOptional:()=>o2,ZodNever:()=>Cj,ZodNanoID:()=>P2,ZodNaN:()=>WW,ZodMap:()=>dj,ZodMAC:()=>Ij,ZodLiteral:()=>ij,ZodLazy:()=>YW,ZodKSUID:()=>T2,ZodJWT:()=>u2,ZodIssueCode:()=>ug,ZodIntersection:()=>xj,ZodISOTime:()=>E2,ZodISODuration:()=>B2,ZodISODateTime:()=>L2,ZodISODate:()=>g2,ZodIPv6:()=>Z2,ZodIPv4:()=>C2,ZodGUID:()=>w1,ZodFunction:()=>qW,ZodFirstPartyTypeKind:()=>EW,ZodFile:()=>lj,ZodExactOptional:()=>pj,ZodError:()=>xg,ZodEnum:()=>O0,ZodEmoji:()=>M2,ZodEmail:()=>F2,ZodE164:()=>r2,ZodDiscriminatedUnion:()=>hj,ZodDefault:()=>ej,ZodDate:()=>C1,ZodCustomStringFormat:()=>z0,ZodCustom:()=>r1,ZodCodec:()=>x1,ZodCatch:()=>JW,ZodCUID2:()=>w2,ZodCUID:()=>k2,ZodCIDRv6:()=>y2,ZodCIDRv4:()=>v2,ZodBoolean:()=>q0,ZodBigIntFormat:()=>n2,ZodBigInt:()=>L0,ZodBase64URL:()=>x2,ZodBase64:()=>h2,ZodArray:()=>vj,ZodAny:()=>fj,TimePrecision:()=>Gj,NEVER:()=>XJ,$output:()=>xJ,$input:()=>rJ,$brand:()=>NJ});var Jw;var pg=Z(()=>{yY();yY();Jw=RW});var LD=V4(($v)=>{class Iz extends Error{constructor(_,$,U){super(U);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=$,this.exitCode=_,this.nestedError=void 0}}class qB extends Iz{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}$v.CommanderError=Iz;$v.InvalidArgumentError=qB});var sW=V4((Wv)=>{var{InvalidArgumentError:Jv}=LD();class LB{constructor(_,$){switch(this.description=$||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,_[0]){case"<":this.required=!0,this._name=_.slice(1,-1);break;case"[":this.required=!1,this._name=_.slice(1,-1);break;default:this.required=!0,this._name=_;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue(_,$){if($===this.defaultValue||!Array.isArray($))return[_];return $.concat(_)}default(_,$){return this.defaultValue=_,this.defaultValueDescription=$,this}argParser(_){return this.parseArg=_,this}choices(_){return this.argChoices=_.slice(),this.parseArg=($,U)=>{if(!this.argChoices.includes($))throw new Jv(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,U);return $},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function jv(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}Wv.Argument=LB;Wv.humanReadableArgName=jv});var Fz=V4((Ov)=>{var{humanReadableArgName:Nv}=sW();class gB{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(_){this.helpWidth=this.helpWidth??_.helpWidth??80}visibleCommands(_){let $=_.commands.filter((J)=>!J._hidden),U=_._getHelpCommand();if(U&&!U._hidden)$.push(U);if(this.sortSubcommands)$.sort((J,D)=>{return J.name().localeCompare(D.name())});return $}compareOptions(_,$){let U=(J)=>{return J.short?J.short.replace(/^-/,""):J.long.replace(/^--/,"")};return U(_).localeCompare(U($))}visibleOptions(_){let $=_.options.filter((J)=>!J.hidden),U=_._getHelpOption();if(U&&!U.hidden){let J=U.short&&_._findOption(U.short),D=U.long&&_._findOption(U.long);if(!J&&!D)$.push(U);else if(U.long&&!D)$.push(_.createOption(U.long,U.description));else if(U.short&&!J)$.push(_.createOption(U.short,U.description))}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleGlobalOptions(_){if(!this.showGlobalOptions)return[];let $=[];for(let U=_.parent;U;U=U.parent){let J=U.options.filter((D)=>!D.hidden);$.push(...J)}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleArguments(_){if(_._argsDescription)_.registeredArguments.forEach(($)=>{$.description=$.description||_._argsDescription[$.name()]||""});if(_.registeredArguments.find(($)=>$.description))return _.registeredArguments;return[]}subcommandTerm(_){let $=_.registeredArguments.map((U)=>Nv(U)).join(" ");return _._name+(_._aliases[0]?"|"+_._aliases[0]:"")+(_.options.length?" [options]":"")+($?" "+$:"")}optionTerm(_){return _.flags}argumentTerm(_){return _.name()}longestSubcommandTermLength(_,$){return $.visibleCommands(_).reduce((U,J)=>{return Math.max(U,this.displayWidth($.styleSubcommandTerm($.subcommandTerm(J))))},0)}longestOptionTermLength(_,$){return $.visibleOptions(_).reduce((U,J)=>{return Math.max(U,this.displayWidth($.styleOptionTerm($.optionTerm(J))))},0)}longestGlobalOptionTermLength(_,$){return $.visibleGlobalOptions(_).reduce((U,J)=>{return Math.max(U,this.displayWidth($.styleOptionTerm($.optionTerm(J))))},0)}longestArgumentTermLength(_,$){return $.visibleArguments(_).reduce((U,J)=>{return Math.max(U,this.displayWidth($.styleArgumentTerm($.argumentTerm(J))))},0)}commandUsage(_){let $=_._name;if(_._aliases[0])$=$+"|"+_._aliases[0];let U="";for(let J=_.parent;J;J=J.parent)U=J.name()+" "+U;return U+$+" "+_.usage()}commandDescription(_){return _.description()}subcommandDescription(_){return _.summary()||_.description()}optionDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if(_.defaultValue!==void 0){if(_.required||_.optional||_.isBoolean()&&typeof _.defaultValue==="boolean")$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`)}if(_.presetArg!==void 0&&_.optional)$.push(`preset: ${JSON.stringify(_.presetArg)}`);if(_.envVar!==void 0)$.push(`env: ${_.envVar}`);if($.length>0)return`${_.description} (${$.join(", ")})`;return _.description}argumentDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if(_.defaultValue!==void 0)$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`);if($.length>0){let U=`(${$.join(", ")})`;if(_.description)return`${_.description} ${U}`;return U}return _.description}formatHelp(_,$){let U=$.padWidth(_,$),J=$.helpWidth??80;function D(z,L){return $.formatItem(z,U,L,$)}let j=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],W=$.commandDescription(_);if(W.length>0)j=j.concat([$.boxWrap($.styleCommandDescription(W),J),""]);let G=$.visibleArguments(_).map((z)=>{return D($.styleArgumentTerm($.argumentTerm(z)),$.styleArgumentDescription($.argumentDescription(z)))});if(G.length>0)j=j.concat([$.styleTitle("Arguments:"),...G,""]);let X=$.visibleOptions(_).map((z)=>{return D($.styleOptionTerm($.optionTerm(z)),$.styleOptionDescription($.optionDescription(z)))});if(X.length>0)j=j.concat([$.styleTitle("Options:"),...X,""]);if($.showGlobalOptions){let z=$.visibleGlobalOptions(_).map((L)=>{return D($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(z.length>0)j=j.concat([$.styleTitle("Global Options:"),...z,""])}let N=$.visibleCommands(_).map((z)=>{return D($.styleSubcommandTerm($.subcommandTerm(z)),$.styleSubcommandDescription($.subcommandDescription(z)))});if(N.length>0)j=j.concat([$.styleTitle("Commands:"),...N,""]);return j.join(` -`)}displayWidth(_){return EB(_).length}styleTitle(_){return _}styleUsage(_){return _.split(" ").map(($)=>{if($==="[options]")return this.styleOptionText($);if($==="[command]")return this.styleSubcommandText($);if($[0]==="["||$[0]==="<")return this.styleArgumentText($);return this.styleCommandText($)}).join(" ")}styleCommandDescription(_){return this.styleDescriptionText(_)}styleOptionDescription(_){return this.styleDescriptionText(_)}styleSubcommandDescription(_){return this.styleDescriptionText(_)}styleArgumentDescription(_){return this.styleDescriptionText(_)}styleDescriptionText(_){return _}styleOptionTerm(_){return this.styleOptionText(_)}styleSubcommandTerm(_){return _.split(" ").map(($)=>{if($==="[options]")return this.styleOptionText($);if($[0]==="["||$[0]==="<")return this.styleArgumentText($);return this.styleSubcommandText($)}).join(" ")}styleArgumentTerm(_){return this.styleArgumentText(_)}styleOptionText(_){return _}styleArgumentText(_){return _}styleSubcommandText(_){return _}styleCommandText(_){return _}padWidth(_,$){return Math.max($.longestOptionTermLength(_,$),$.longestGlobalOptionTermLength(_,$),$.longestSubcommandTermLength(_,$),$.longestArgumentTermLength(_,$))}preformatted(_){return/\n[^\S\r\n]/.test(_)}formatItem(_,$,U,J){let j=" ".repeat(2);if(!U)return j+_;let W=_.padEnd($+_.length-J.displayWidth(_)),G=2,N=(this.helpWidth??80)-$-G-2,z;if(N{let W=j.match(J);if(W===null){D.push("");return}let G=[W.shift()],X=this.displayWidth(G[0]);W.forEach((N)=>{let z=this.displayWidth(N);if(X+z<=$){G.push(N),X+=z;return}D.push(G.join(""));let L=N.trimStart();G=[L],X=this.displayWidth(L)}),D.push(G.join(""))}),D.join(` -`)}}function EB(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}Ov.Help=gB;Ov.stripColor=EB});var Mz=V4((Lv)=>{var{InvalidArgumentError:Qv}=LD();class RB{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let U=qv(_);if(this.short=U.shortFlag,this.long=U.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default(_,$){return this.defaultValue=_,this.defaultValueDescription=$,this}preset(_){return this.presetArg=_,this}conflicts(_){return this.conflictsWith=this.conflictsWith.concat(_),this}implies(_){let $=_;if(typeof _==="string")$={[_]:!0};return this.implied=Object.assign(this.implied||{},$),this}env(_){return this.envVar=_,this}argParser(_){return this.parseArg=_,this}makeOptionMandatory(_=!0){return this.mandatory=!!_,this}hideHelp(_=!0){return this.hidden=!!_,this}_concatValue(_,$){if($===this.defaultValue||!Array.isArray($))return[_];return $.concat(_)}choices(_){return this.argChoices=_.slice(),this.parseArg=($,U)=>{if(!this.argChoices.includes($))throw new Qv(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,U);return $},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return BB(this.name().replace(/^no-/,""));return BB(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class HB{constructor(_){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,_.forEach(($)=>{if($.negate)this.negativeOptions.set($.attributeName(),$);else this.positiveOptions.set($.attributeName(),$)}),this.negativeOptions.forEach(($,U)=>{if(this.positiveOptions.has(U))this.dualOptions.add(U)})}valueFromOption(_,$){let U=$.attributeName();if(!this.dualOptions.has(U))return!0;let J=this.negativeOptions.get(U).presetArg,D=J!==void 0?J:!1;return $.negate===(D===_)}}function BB(_){return _.split("-").reduce(($,U)=>{return $+U[0].toUpperCase()+U.slice(1)})}function qv(_){let $,U,J=/^-[^-]$/,D=/^--[^-]/,j=_.split(/[ |,]+/).concat("guard");if(J.test(j[0]))$=j.shift();if(D.test(j[0]))U=j.shift();if(!$&&J.test(j[0]))$=j.shift();if(!$&&D.test(j[0]))$=U,U=j.shift();if(j[0].startsWith("-")){let W=j[0],G=`option creation failed due to '${W}' in option flags '${_}'`;if(/^-[^-][^-]/.test(W))throw Error(`${G} +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let G of $.seen.entries()){let Q=G[1];if(_===G[0]){X(G);continue}if($.external){let j=$.external.registry.get(G[0])?.id;if(_!==G[0]&&j){X(G);continue}}if($.metadataRegistry.get(G[0])?.id){X(G);continue}if(Q.cycle){X(G);continue}if(Q.count>1){if($.reused==="ref"){X(G);continue}}}}function o4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=(Q)=>{let Y=$.seen.get(Q);if(Y.ref===null)return;let j=Y.def??Y.schema,O={...j},B=Y.ref;if(Y.ref=null,B){W(B);let L=$.seen.get(B),N=L.schema;if(N.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))j.allOf=j.allOf??[],j.allOf.push(N);else Object.assign(j,N);if(Object.assign(j,O),Q._zod.parent===B)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(!(R in O))delete j[R]}if(N.$ref&&L.def)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(R in L.def&&JSON.stringify(j[R])===JSON.stringify(L.def[R]))delete j[R]}}let V=Q._zod.parent;if(V&&V!==B){W(V);let L=$.seen.get(V);if(L?.schema.$ref){if(j.$ref=L.schema.$ref,L.def)for(let N in j){if(N==="$ref"||N==="allOf")continue;if(N in L.def&&JSON.stringify(j[N])===JSON.stringify(L.def[N]))delete j[N]}}}$.override({zodSchema:Q,jsonSchema:j,path:Y.path??[]})};for(let Q of[...$.seen.entries()].reverse())W(Q[0]);let J={};if($.target==="draft-2020-12")J.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")J.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")J.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let Q=$.external.registry.get(_)?.id;if(!Q)throw Error("Schema is missing an `id` property");J.$id=$.external.uri(Q)}Object.assign(J,U.def??U.schema);let X=$.metadataRegistry.get(_)?.id;if(X!==void 0&&J.id===X)delete J.id;let G=$.external?.defs??{};for(let Q of $.seen.entries()){let Y=Q[1];if(Y.def&&Y.defId){if(Y.def.id===Y.defId)delete Y.def.id;G[Y.defId]=Y.def}}if($.external);else if(Object.keys(G).length>0)if($.target==="draft-2020-12")J.$defs=G;else J.definitions=G;try{let Q=JSON.parse(JSON.stringify(J));return Object.defineProperty(Q,"~standard",{value:{..._["~standard"],jsonSchema:{input:x2(_,"input",$.processors),output:x2(_,"output",$.processors)}},enumerable:!1,writable:!1}),Q}catch(Q){throw Error("Error converting schema to JSON.")}}function M_($,_){let U=_??{seen:new Set};if(U.seen.has($))return!1;U.seen.add($);let W=$._zod.def;if(W.type==="transform")return!0;if(W.type==="array")return M_(W.element,U);if(W.type==="set")return M_(W.valueType,U);if(W.type==="lazy")return M_(W.getter(),U);if(W.type==="promise"||W.type==="optional"||W.type==="nonoptional"||W.type==="nullable"||W.type==="readonly"||W.type==="default"||W.type==="prefault")return M_(W.innerType,U);if(W.type==="intersection")return M_(W.left,U)||M_(W.right,U);if(W.type==="record"||W.type==="map")return M_(W.keyType,U)||M_(W.valueType,U);if(W.type==="pipe"){if($._zod.traits.has("$ZodCodec"))return!0;return M_(W.in,U)||M_(W.out,U)}if(W.type==="object"){for(let J in W.shape)if(M_(W.shape[J],U))return!0;return!1}if(W.type==="union"){for(let J of W.options)if(M_(J,U))return!0;return!1}if(W.type==="tuple"){for(let J of W.items)if(M_(J,U))return!0;if(W.rest&&M_(W.rest,U))return!0;return!1}return!1}var R7=($,_={})=>(U)=>{let W=i4({...U,processors:_});return T$($,W),p4(W,$),o4(W,$)},x2=($,_,U={})=>(W)=>{let{libraryOptions:J,target:X}=W??{},G=i4({...J??{},target:X,io:_,processors:U});return T$($,G),p4(G,$),o4(G,$)};var CJ=y(()=>{KJ()});function TJ($,_){if("_idmap"in $){let W=$,J=i4({..._,processors:Z9}),X={};for(let Y of W._idmap.entries()){let[j,O]=Y;T$(O,J)}let G={},Q={registry:W,uri:_?.uri,defs:X};J.external=Q;for(let Y of W._idmap.entries()){let[j,O]=Y;p4(J,O),G[j]=o4(J,O)}if(Object.keys(X).length>0){let Y=J.target==="draft-2020-12"?"$defs":"definitions";G.__shared={[Y]:X}}return{schemas:G}}let U=i4({..._,processors:Z9});return T$($,U),p4(U,$),o4(U,$)}var EZ,A7=($,_,U,W)=>{let J=U;J.type="string";let{minimum:X,maximum:G,format:Q,patterns:Y,contentEncoding:j}=$._zod.bag;if(typeof X==="number")J.minLength=X;if(typeof G==="number")J.maxLength=G;if(Q){if(J.format=EZ[Q]??Q,J.format==="")delete J.format;if(Q==="time")delete J.format}if(j)J.contentEncoding=j;if(Y&&Y.size>0){let O=[...Y];if(O.length===1)J.pattern=O[0].source;else if(O.length>1)J.allOf=[...O.map((B)=>({..._.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"?{type:"string"}:{},pattern:B.source}))]}},b7=($,_,U,W)=>{let J=U,{minimum:X,maximum:G,format:Q,multipleOf:Y,exclusiveMaximum:j,exclusiveMinimum:O}=$._zod.bag;if(typeof Q==="string"&&Q.includes("int"))J.type="integer";else J.type="number";let B=typeof O==="number"&&O>=(X??Number.NEGATIVE_INFINITY),V=typeof j==="number"&&j<=(G??Number.POSITIVE_INFINITY),L=_.target==="draft-04"||_.target==="openapi-3.0";if(B)if(L)J.minimum=O,J.exclusiveMinimum=!0;else J.exclusiveMinimum=O;else if(typeof X==="number")J.minimum=X;if(V)if(L)J.maximum=j,J.exclusiveMaximum=!0;else J.exclusiveMaximum=j;else if(typeof G==="number")J.maximum=G;if(typeof Y==="number")J.multipleOf=Y},F7=($,_,U,W)=>{U.type="boolean"},E7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},K7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},M7=($,_,U,W)=>{if(_.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},g7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},I7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},w7=($,_,U,W)=>{U.not={}},k7=($,_,U,W)=>{},f7=($,_,U,W)=>{},P7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},C7=($,_,U,W)=>{let J=$._zod.def,X=QJ(J.entries);if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";U.enum=X},T7=($,_,U,W)=>{let J=$._zod.def,X=[];for(let G of J.values)if(G===void 0){if(_.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof G==="bigint")if(_.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else X.push(Number(G));else X.push(G);if(X.length===0);else if(X.length===1){let G=X[0];if(U.type=G===null?"null":typeof G,_.target==="draft-04"||_.target==="openapi-3.0")U.enum=[G];else U.const=G}else{if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";if(X.every((G)=>typeof G==="boolean"))U.type="boolean";if(X.every((G)=>G===null))U.type="null";U.enum=X}},S7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Z7=($,_,U,W)=>{let J=U,X=$._zod.pattern;if(!X)throw Error("Pattern not found in template literal");J.type="string",J.pattern=X.source},v7=($,_,U,W)=>{let J=U,X={type:"string",format:"binary",contentEncoding:"binary"},{minimum:G,maximum:Q,mime:Y}=$._zod.bag;if(G!==void 0)X.minLength=G;if(Q!==void 0)X.maxLength=Q;if(Y)if(Y.length===1)X.contentMediaType=Y[0],Object.assign(J,X);else Object.assign(J,X),J.anyOf=Y.map((j)=>({contentMediaType:j}));else Object.assign(J,X)},y7=($,_,U,W)=>{U.type="boolean"},h7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},x7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},m7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},u7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},d7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},n7=($,_,U,W)=>{let J=U,X=$._zod.def,{minimum:G,maximum:Q}=$._zod.bag;if(typeof G==="number")J.minItems=G;if(typeof Q==="number")J.maxItems=Q;J.type="array",J.items=T$(X.element,_,{...W,path:[...W.path,"items"]})},c7=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object",J.properties={};let G=X.shape;for(let j in G)J.properties[j]=T$(G[j],_,{...W,path:[...W.path,"properties",j]});let Q=new Set(Object.keys(G)),Y=new Set([...Q].filter((j)=>{let O=X.shape[j]._zod;if(_.io==="input")return O.optin===void 0;else return O.optout===void 0}));if(Y.size>0)J.required=Array.from(Y);if(X.catchall?._zod.def.type==="never")J.additionalProperties=!1;else if(!X.catchall){if(_.io==="output")J.additionalProperties=!1}else if(X.catchall)J.additionalProperties=T$(X.catchall,_,{...W,path:[...W.path,"additionalProperties"]})},v9=($,_,U,W)=>{let J=$._zod.def,X=J.inclusive===!1,G=J.options.map((Q,Y)=>T$(Q,_,{...W,path:[...W.path,X?"oneOf":"anyOf",Y]}));if(X)U.oneOf=G;else U.anyOf=G},l7=($,_,U,W)=>{let J=$._zod.def,X=T$(J.left,_,{...W,path:[...W.path,"allOf",0]}),G=T$(J.right,_,{...W,path:[...W.path,"allOf",1]}),Q=(j)=>("allOf"in j)&&Object.keys(j).length===1,Y=[...Q(X)?X.allOf:[X],...Q(G)?G.allOf:[G]];U.allOf=Y},r7=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="array";let G=_.target==="draft-2020-12"?"prefixItems":"items",Q=_.target==="draft-2020-12"?"items":_.target==="openapi-3.0"?"items":"additionalItems",Y=X.items.map((V,L)=>T$(V,_,{...W,path:[...W.path,G,L]})),j=X.rest?T$(X.rest,_,{...W,path:[...W.path,Q,..._.target==="openapi-3.0"?[X.items.length]:[]]}):null;if(_.target==="draft-2020-12"){if(J.prefixItems=Y,j)J.items=j}else if(_.target==="openapi-3.0"){if(J.items={anyOf:Y},j)J.items.anyOf.push(j);if(J.minItems=Y.length,!j)J.maxItems=Y.length}else if(J.items=Y,j)J.additionalItems=j;let{minimum:O,maximum:B}=$._zod.bag;if(typeof O==="number")J.minItems=O;if(typeof B==="number")J.maxItems=B},i7=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object";let G=X.keyType,Y=G._zod.bag?.patterns;if(X.mode==="loose"&&Y&&Y.size>0){let O=T$(X.valueType,_,{...W,path:[...W.path,"patternProperties","*"]});J.patternProperties={};for(let B of Y)J.patternProperties[B.source]=O}else{if(_.target==="draft-07"||_.target==="draft-2020-12")J.propertyNames=T$(X.keyType,_,{...W,path:[...W.path,"propertyNames"]});J.additionalProperties=T$(X.valueType,_,{...W,path:[...W.path,"additionalProperties"]})}let j=G._zod.values;if(j){let O=[...j].filter((B)=>typeof B==="string"||typeof B==="number");if(O.length>0)J.required=O}},p7=($,_,U,W)=>{let J=$._zod.def,X=T$(J.innerType,_,W),G=_.seen.get($);if(_.target==="openapi-3.0")G.ref=J.innerType,U.nullable=!0;else U.anyOf=[X,{type:"null"}]},o7=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},t7=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.default=JSON.parse(JSON.stringify(J.defaultValue))},a7=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);if(X.ref=J.innerType,_.io==="input")U._prefault=JSON.parse(JSON.stringify(J.defaultValue))},s7=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType;let G;try{G=J.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=G},e7=($,_,U,W)=>{let J=$._zod.def,X=J.in._zod.traits.has("$ZodTransform"),G=_.io==="input"?X?J.out:J.in:J.out;T$(G,_,W);let Q=_.seen.get($);Q.ref=G},$z=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.readOnly=!0},_z=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},y9=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},Uz=($,_,U,W)=>{let J=$._zod.innerType;T$(J,_,W);let X=_.seen.get($);X.ref=J},Z9;var SJ=y(()=>{CJ();p();EZ={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Z9={string:A7,number:b7,boolean:F7,bigint:E7,symbol:K7,null:M7,undefined:g7,void:I7,never:w7,any:k7,unknown:f7,date:P7,enum:C7,literal:T7,nan:S7,template_literal:Z7,file:v7,success:y7,custom:h7,function:x7,transform:m7,map:u7,set:d7,array:n7,object:c7,union:v9,intersection:l7,tuple:r7,record:i7,nullable:p7,nonoptional:o7,default:t7,prefault:a7,catch:s7,pipe:e7,readonly:$z,promise:_z,optional:y9,lazy:Uz}});class Jz{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";this.ctx=i4({processors:Z9,target:_,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,_={path:[],schemaPath:[]}){return T$($,this.ctx,_)}emit($,_){if(_){if(_.cycles)this.ctx.cycles=_.cycles;if(_.reused)this.ctx.reused=_.reused;if(_.external)this.ctx.external=_.external}p4(this.ctx,$);let U=o4(this.ctx,$),{"~standard":W,...J}=U;return J}}var XV=y(()=>{SJ();CJ()});var GV={};var QV=()=>{};var x6={};g6(x6,{version:()=>FY,util:()=>f,treeifyError:()=>xX,toJSONSchema:()=>TJ,toDotPath:()=>P3,safeParseAsync:()=>IQ,safeParse:()=>gQ,safeEncodeAsync:()=>gT,safeEncode:()=>KT,safeDecodeAsync:()=>IT,safeDecode:()=>MT,registry:()=>EJ,regexes:()=>P_,process:()=>T$,prettifyError:()=>mX,parseAsync:()=>dX,parse:()=>uX,meta:()=>H7,locales:()=>y2,isValidJWT:()=>e3,isValidBase64URL:()=>s3,isValidBase64:()=>lY,initializeContext:()=>i4,globalRegistry:()=>D_,globalConfig:()=>v0,formatError:()=>f2,flattenError:()=>k2,finalize:()=>o4,extractDefs:()=>p4,encodeAsync:()=>FT,encode:()=>AT,describe:()=>B7,decodeAsync:()=>ET,decode:()=>bT,createToJSONSchemaMethod:()=>R7,createStandardJSONSchemaMethod:()=>x2,config:()=>__,clone:()=>N_,_xor:()=>_Z,_xid:()=>K9,_void:()=>Q7,_uuidv7:()=>V9,_uuidv6:()=>H9,_uuidv4:()=>B9,_uuid:()=>N9,_url:()=>gJ,_uppercase:()=>c0,_unknown:()=>X7,_union:()=>$Z,_undefined:()=>U7,_ulid:()=>E9,_uint64:()=>$7,_uint32:()=>pD,_tuple:()=>WZ,_trim:()=>t0,_transform:()=>zZ,_toUpperCase:()=>s0,_toLowerCase:()=>a0,_templateLiteral:()=>AZ,_symbol:()=>_7,_superRefine:()=>N7,_success:()=>BZ,_stringbool:()=>V7,_stringFormat:()=>h2,_string:()=>ZD,_startsWith:()=>r0,_slugify:()=>e0,_size:()=>c4,_set:()=>QZ,_safeParseAsync:()=>S2,_safeParse:()=>T2,_safeEncodeAsync:()=>oX,_safeEncode:()=>iX,_safeDecodeAsync:()=>tX,_safeDecode:()=>pX,_regex:()=>d0,_refine:()=>L7,_record:()=>XZ,_readonly:()=>RZ,_property:()=>PJ,_promise:()=>FZ,_positive:()=>IJ,_pipe:()=>VZ,_parseAsync:()=>C2,_parse:()=>P2,_overwrite:()=>a_,_optional:()=>qZ,_number:()=>dD,_nullable:()=>OZ,_null:()=>J7,_normalize:()=>o0,_nonpositive:()=>kJ,_nonoptional:()=>NZ,_nonnegative:()=>fJ,_never:()=>G7,_negative:()=>wJ,_nativeEnum:()=>jZ,_nanoid:()=>A9,_nan:()=>D7,_multipleOf:()=>j4,_minSize:()=>N6,_minLength:()=>h6,_min:()=>B_,_mime:()=>p0,_maxSize:()=>D4,_maxLength:()=>l4,_max:()=>C_,_map:()=>GZ,_mac:()=>yD,_lte:()=>C_,_lt:()=>O6,_lowercase:()=>n0,_literal:()=>DZ,_length:()=>r4,_lazy:()=>bZ,_ksuid:()=>M9,_jwt:()=>T9,_isoTime:()=>mD,_isoDuration:()=>uD,_isoDateTime:()=>hD,_isoDate:()=>xD,_ipv6:()=>I9,_ipv4:()=>g9,_intersection:()=>JZ,_int64:()=>eD,_int32:()=>iD,_int:()=>cD,_includes:()=>l0,_guid:()=>MJ,_gte:()=>B_,_gt:()=>L6,_float64:()=>rD,_float32:()=>lD,_file:()=>q7,_enum:()=>YZ,_endsWith:()=>i0,_encodeAsync:()=>lX,_encode:()=>nX,_emoji:()=>R9,_email:()=>L9,_e164:()=>C9,_discriminatedUnion:()=>UZ,_default:()=>LZ,_decodeAsync:()=>rX,_decode:()=>cX,_date:()=>Y7,_custom:()=>O7,_cuid2:()=>F9,_cuid:()=>b9,_coercedString:()=>vD,_coercedNumber:()=>nD,_coercedDate:()=>j7,_coercedBoolean:()=>tD,_coercedBigint:()=>sD,_cidrv6:()=>k9,_cidrv4:()=>w9,_check:()=>JV,_catch:()=>HZ,_boolean:()=>oD,_bigint:()=>aD,_base64url:()=>P9,_base64:()=>f9,_array:()=>z7,_any:()=>W7,TimePrecision:()=>S9,NEVER:()=>ZX,JSONSchemaGenerator:()=>Jz,JSONSchema:()=>GV,Doc:()=>U9,$output:()=>q9,$input:()=>O9,$constructor:()=>F,$brand:()=>vX,$ZodXor:()=>jj,$ZodXID:()=>SY,$ZodVoid:()=>Xj,$ZodUnknown:()=>Jj,$ZodUnion:()=>HJ,$ZodUndefined:()=>$j,$ZodUUID:()=>gY,$ZodURL:()=>wY,$ZodULID:()=>TY,$ZodType:()=>D$,$ZodTuple:()=>j9,$ZodTransform:()=>Vj,$ZodTemplateLiteral:()=>kj,$ZodSymbol:()=>eY,$ZodSuccess:()=>Kj,$ZodStringFormat:()=>u$,$ZodString:()=>u0,$ZodSet:()=>Lj,$ZodRegistry:()=>SD,$ZodRecord:()=>qj,$ZodRealError:()=>f_,$ZodReadonly:()=>wj,$ZodPromise:()=>Pj,$ZodPreprocess:()=>Ij,$ZodPrefault:()=>Fj,$ZodPipe:()=>z9,$ZodOptional:()=>D9,$ZodObjectJIT:()=>Yj,$ZodObject:()=>UH,$ZodNumberFormat:()=>aY,$ZodNumber:()=>Q9,$ZodNullable:()=>Aj,$ZodNull:()=>_j,$ZodNonOptional:()=>Ej,$ZodNever:()=>Wj,$ZodNanoID:()=>fY,$ZodNaN:()=>gj,$ZodMap:()=>Oj,$ZodMAC:()=>dY,$ZodLiteral:()=>Bj,$ZodLazy:()=>Cj,$ZodKSUID:()=>ZY,$ZodJWT:()=>oY,$ZodIntersection:()=>zj,$ZodISOTime:()=>hY,$ZodISODuration:()=>xY,$ZodISODateTime:()=>vY,$ZodISODate:()=>yY,$ZodIPv6:()=>uY,$ZodIPv4:()=>mY,$ZodGUID:()=>MY,$ZodFunction:()=>fj,$ZodFile:()=>Hj,$ZodExactOptional:()=>Rj,$ZodError:()=>qJ,$ZodEnum:()=>Nj,$ZodEncodeError:()=>y0,$ZodEmoji:()=>kY,$ZodEmail:()=>IY,$ZodE164:()=>pY,$ZodDiscriminatedUnion:()=>Dj,$ZodDefault:()=>bj,$ZodDate:()=>Gj,$ZodCustomStringFormat:()=>tY,$ZodCustom:()=>Tj,$ZodCodec:()=>VJ,$ZodCheckUpperCase:()=>NY,$ZodCheckStringFormat:()=>Z2,$ZodCheckStartsWith:()=>HY,$ZodCheckSizeEquals:()=>jY,$ZodCheckRegex:()=>OY,$ZodCheckProperty:()=>RY,$ZodCheckOverwrite:()=>bY,$ZodCheckNumberFormat:()=>XY,$ZodCheckMultipleOf:()=>WY,$ZodCheckMinSize:()=>YY,$ZodCheckMinLength:()=>zY,$ZodCheckMimeType:()=>AY,$ZodCheckMaxSize:()=>QY,$ZodCheckMaxLength:()=>DY,$ZodCheckLowerCase:()=>LY,$ZodCheckLessThan:()=>eX,$ZodCheckLengthEquals:()=>qY,$ZodCheckIncludes:()=>BY,$ZodCheckGreaterThan:()=>$9,$ZodCheckEndsWith:()=>VY,$ZodCheckBigIntFormat:()=>GY,$ZodCheck:()=>n$,$ZodCatch:()=>Mj,$ZodCUID2:()=>CY,$ZodCUID:()=>PY,$ZodCIDRv6:()=>cY,$ZodCIDRv4:()=>nY,$ZodBoolean:()=>BJ,$ZodBigIntFormat:()=>sY,$ZodBigInt:()=>Y9,$ZodBase64URL:()=>iY,$ZodBase64:()=>rY,$ZodAsyncError:()=>y6,$ZodArray:()=>Qj,$ZodAny:()=>Uj});var m_=y(()=>{p();sX();TD();SJ();XV();QV();h0();wQ();MQ();Sj();_9();EY();KJ();WV();CJ()});var h9={};g6(h9,{uppercase:()=>c0,trim:()=>t0,toUpperCase:()=>s0,toLowerCase:()=>a0,startsWith:()=>r0,slugify:()=>e0,size:()=>c4,regex:()=>d0,property:()=>PJ,positive:()=>IJ,overwrite:()=>a_,normalize:()=>o0,nonpositive:()=>kJ,nonnegative:()=>fJ,negative:()=>wJ,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,maxSize:()=>D4,maxLength:()=>l4,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,length:()=>r4,includes:()=>l0,gte:()=>B_,gt:()=>L6,endsWith:()=>i0});var x9=y(()=>{m_()});var $1={};g6($1,{time:()=>Gz,duration:()=>Qz,datetime:()=>Wz,date:()=>Xz,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ});function Wz($){return hD(ZJ,$)}function Xz($){return xD(vJ,$)}function Gz($){return mD(yJ,$)}function Qz($){return uD(hJ,$)}var ZJ,vJ,yJ,hJ;var xJ=y(()=>{m_();uJ();ZJ=F("ZodISODateTime",($,_)=>{vY.init($,_),y$.init($,_)});vJ=F("ZodISODate",($,_)=>{yY.init($,_),y$.init($,_)});yJ=F("ZodISOTime",($,_)=>{hY.init($,_),y$.init($,_)});hJ=F("ZodISODuration",($,_)=>{xY.init($,_),y$.init($,_)})});var YV=($,_)=>{qJ.init($,_),$.name="ZodError",Object.defineProperties($,{format:{value:(U)=>f2($,U)},flatten:{value:(U)=>k2($,U)},addIssue:{value:(U)=>{$.issues.push(U),$.message=JSON.stringify($.issues,g2,2)}},addIssues:{value:(U)=>{$.issues.push(...U),$.message=JSON.stringify($.issues,g2,2)}},isEmpty:{get(){return $.issues.length===0}}})},jV,g_;var Yz=y(()=>{m_();m_();p();jV=F("ZodError",YV),g_=F("ZodError",YV,{Parent:Error})});var m9,u9,d9,n9,c9,l9,r9,i9,p9,o9,t9,a9;var jz=y(()=>{m_();Yz();m9=P2(g_),u9=C2(g_),d9=T2(g_),n9=S2(g_),c9=nX(g_),l9=cX(g_),r9=lX(g_),i9=rX(g_),p9=iX(g_),o9=pX(g_),t9=oX(g_),a9=tX(g_)});var mJ={};g6(mJ,{xor:()=>$q,xid:()=>Ez,void:()=>pz,uuidv7:()=>Nz,uuidv6:()=>Lz,uuidv4:()=>Oz,uuid:()=>qz,url:()=>Bz,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Fz,uint64:()=>cz,uint32:()=>uz,tuple:()=>N8,transform:()=>qW,templateLiteral:()=>Lq,symbol:()=>lz,superRefine:()=>n8,success:()=>Dq,stringbool:()=>Fq,stringFormat:()=>Sz,string:()=>m2,strictObject:()=>sz,set:()=>Xq,refine:()=>d8,record:()=>B8,readonly:()=>v8,promise:()=>Nq,preprocess:()=>Kq,prefault:()=>w8,pipe:()=>nJ,partialRecord:()=>Uq,optional:()=>d2,object:()=>az,number:()=>e9,nullish:()=>jq,nullable:()=>n2,null:()=>W8,nonoptional:()=>k8,never:()=>jW,nativeEnum:()=>Gq,nanoid:()=>Rz,nan:()=>zq,meta:()=>Aq,map:()=>Wq,mac:()=>gz,looseRecord:()=>Jq,looseObject:()=>ez,literal:()=>Qq,lazy:()=>x8,ksuid:()=>Kz,keyof:()=>tz,jwt:()=>Tz,json:()=>Eq,ipv6:()=>Iz,ipv4:()=>Mz,invertCodec:()=>Oq,intersection:()=>O8,int64:()=>nz,int32:()=>mz,int:()=>dJ,instanceof:()=>bq,httpUrl:()=>Hz,hostname:()=>Zz,hex:()=>vz,hash:()=>yz,guid:()=>zz,function:()=>Bq,float64:()=>xz,float32:()=>hz,file:()=>Yq,exactOptional:()=>E8,enum:()=>zW,emoji:()=>Vz,email:()=>Dz,e164:()=>Cz,discriminatedUnion:()=>_q,describe:()=>Rq,date:()=>oz,custom:()=>Vq,cuid2:()=>bz,cuid:()=>Az,codec:()=>qq,cidrv6:()=>kz,cidrv4:()=>wz,check:()=>Hq,catch:()=>C8,boolean:()=>$8,bigint:()=>dz,base64url:()=>Pz,base64:()=>fz,array:()=>r2,any:()=>iz,_function:()=>Bq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>D8,ZodXID:()=>sJ,ZodVoid:()=>Y8,ZodUnknown:()=>G8,ZodUnion:()=>p2,ZodUndefined:()=>U8,ZodUUID:()=>B6,ZodURL:()=>c2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>L8,ZodTransform:()=>b8,ZodTemplateLiteral:()=>y8,ZodSymbol:()=>_8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>V8,ZodRecord:()=>_1,ZodReadonly:()=>Z8,ZodPromise:()=>m8,ZodPreprocess:()=>S8,ZodPrefault:()=>I8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>i2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>K8,ZodNull:()=>J8,ZodNonOptional:()=>LW,ZodNever:()=>Q8,ZodNanoID:()=>pJ,ZodNaN:()=>T8,ZodMap:()=>H8,ZodMAC:()=>s9,ZodLiteral:()=>R8,ZodLazy:()=>h8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIntersection:()=>q8,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>u8,ZodFile:()=>A8,ZodExactOptional:()=>F8,ZodEnum:()=>U1,ZodEmoji:()=>iJ,ZodEmail:()=>rJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>z8,ZodDefault:()=>M8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>P8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>j8,ZodAny:()=>X8});function cJ($,_,U){let W=Object.getPrototypeOf($),J=DV.get(W);if(!J)J=new Set,DV.set(W,J);if(J.has(_))return;J.add(_);for(let X in U){let G=U[X];Object.defineProperty(W,X,{configurable:!0,enumerable:!1,get(){let Q=G.bind(this);return Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q}),Q},set(Q){Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q})}})}}function m2($){return ZD(J1,$)}function Dz($){return L9(rJ,$)}function zz($){return MJ(u2,$)}function qz($){return N9(B6,$)}function Oz($){return B9(B6,$)}function Lz($){return H9(B6,$)}function Nz($){return V9(B6,$)}function Bz($){return gJ(c2,$)}function Hz($){return gJ(c2,{protocol:P_.httpProtocol,hostname:P_.domain,...f.normalizeParams($)})}function Vz($){return R9(iJ,$)}function Rz($){return A9(pJ,$)}function Az($){return b9(oJ,$)}function bz($){return F9(tJ,$)}function Fz($){return E9(aJ,$)}function Ez($){return K9(sJ,$)}function Kz($){return M9(eJ,$)}function Mz($){return g9($W,$)}function gz($){return yD(s9,$)}function Iz($){return I9(_W,$)}function wz($){return w9(UW,$)}function kz($){return k9(JW,$)}function fz($){return f9(WW,$)}function Pz($){return P9(XW,$)}function Cz($){return C9(GW,$)}function Tz($){return T9(QW,$)}function Sz($,_,U={}){return h2(W1,$,_,U)}function Zz($){return h2(W1,"hostname",P_.hostname,$)}function vz($){return h2(W1,"hex",P_.hex,$)}function yz($,_){let U=_?.enc??"hex",W=`${$}_${U}`,J=P_[W];if(!J)throw Error(`Unrecognized hash format: ${W}`);return h2(W1,W,J,_)}function e9($){return dD(X1,$)}function dJ($){return cD(a4,$)}function hz($){return lD(a4,$)}function xz($){return rD(a4,$)}function mz($){return iD(a4,$)}function uz($){return pD(a4,$)}function $8($){return oD(G1,$)}function dz($){return aD(Q1,$)}function nz($){return eD(YW,$)}function cz($){return $7(YW,$)}function lz($){return _7(_8,$)}function rz($){return U7(U8,$)}function W8($){return J7(J8,$)}function iz(){return W7(X8)}function t4(){return X7(G8)}function jW($){return G7(Q8,$)}function pz($){return Q7(Y8,$)}function oz($){return Y7(l2,$)}function r2($,_){return z7(j8,$,_)}function tz($){let _=$._zod.def.shape;return zW(Object.keys(_))}function az($,_){let U={type:"object",shape:$??{},...f.normalizeParams(_)};return new i2(U)}function sz($,_){return new i2({type:"object",shape:$,catchall:jW(),...f.normalizeParams(_)})}function ez($,_){return new i2({type:"object",shape:$,catchall:t4(),...f.normalizeParams(_)})}function DW($,_){return new p2({type:"union",options:$,...f.normalizeParams(_)})}function $q($,_){return new D8({type:"union",options:$,inclusive:!1,...f.normalizeParams(_)})}function _q($,_,U){return new z8({type:"union",options:_,discriminator:$,...f.normalizeParams(U)})}function O8($,_){return new q8({type:"intersection",left:$,right:_})}function N8($,_,U){let W=_ instanceof D$,J=W?U:_;return new L8({type:"tuple",items:$,rest:W?_:null,...f.normalizeParams(J)})}function B8($,_,U){if(!_||!_._zod)return new _1({type:"record",keyType:m2(),valueType:$,...f.normalizeParams(_)});return new _1({type:"record",keyType:$,valueType:_,...f.normalizeParams(U)})}function Uq($,_,U){let W=N_($);return W._zod.values=void 0,new _1({type:"record",keyType:W,valueType:_,...f.normalizeParams(U)})}function Jq($,_,U){return new _1({type:"record",keyType:$,valueType:_,mode:"loose",...f.normalizeParams(U)})}function Wq($,_,U){return new H8({type:"map",keyType:$,valueType:_,...f.normalizeParams(U)})}function Xq($,_){return new V8({type:"set",valueType:$,...f.normalizeParams(_)})}function zW($,_){let U=Array.isArray($)?Object.fromEntries($.map((W)=>[W,W])):$;return new U1({type:"enum",entries:U,...f.normalizeParams(_)})}function Gq($,_){return new U1({type:"enum",entries:$,...f.normalizeParams(_)})}function Qq($,_){return new R8({type:"literal",values:Array.isArray($)?$:[$],...f.normalizeParams(_)})}function Yq($){return q7(A8,$)}function qW($){return new b8({type:"transform",transform:$})}function d2($){return new OW({type:"optional",innerType:$})}function E8($){return new F8({type:"optional",innerType:$})}function n2($){return new K8({type:"nullable",innerType:$})}function jq($){return d2(n2($))}function g8($,_){return new M8({type:"default",innerType:$,get defaultValue(){return typeof _==="function"?_():f.shallowClone(_)}})}function w8($,_){return new I8({type:"prefault",innerType:$,get defaultValue(){return typeof _==="function"?_():f.shallowClone(_)}})}function k8($,_){return new LW({type:"nonoptional",innerType:$,...f.normalizeParams(_)})}function Dq($){return new f8({type:"success",innerType:$})}function C8($,_){return new P8({type:"catch",innerType:$,catchValue:typeof _==="function"?_:()=>_})}function zq($){return D7(T8,$)}function nJ($,_){return new o2({type:"pipe",in:$,out:_})}function qq($,_,U){return new t2({type:"pipe",in:$,out:_,transform:U.decode,reverseTransform:U.encode})}function Oq($){let _=$._zod.def;return new t2({type:"pipe",in:_.out,out:_.in,transform:_.reverseTransform,reverseTransform:_.transform})}function v8($){return new Z8({type:"readonly",innerType:$})}function Lq($,_){return new y8({type:"template_literal",parts:$,...f.normalizeParams(_)})}function x8($){return new h8({type:"lazy",getter:$})}function Nq($){return new m8({type:"promise",innerType:$})}function Bq($){return new u8({type:"function",input:Array.isArray($?.input)?N8($?.input):$?.input??r2(t4()),output:$?.output??t4()})}function Hq($){let _=new n$({check:"custom"});return _._zod.check=$,_}function Vq($,_){return O7(a2,$??(()=>!0),_)}function d8($,_={}){return L7(a2,$,_)}function n8($,_){return N7($,_)}function bq($,_={}){let U=new a2({type:"custom",check:"custom",fn:(W)=>W instanceof $,abort:!0,...f.normalizeParams(_)});return U._zod.bag.Class=$,U._zod.check=(W)=>{if(!(W.value instanceof $))W.issues.push({code:"invalid_type",expected:$.name,input:W.value,inst:U,path:[...U._zod.def.path??[]]})},U}function Eq($){let _=x8(()=>{return DW([m2($),e9(),$8(),W8(),r2(_),B8(m2(),_)])});return _}function Kq($,_){return new S8({type:"pipe",in:qW($),out:_})}var DV,q$,lJ,J1,y$,rJ,u2,B6,c2,iJ,pJ,oJ,tJ,aJ,sJ,eJ,$W,s9,_W,UW,JW,WW,XW,GW,QW,W1,X1,a4,G1,Q1,YW,_8,U8,J8,X8,G8,Q8,Y8,l2,j8,i2,p2,D8,z8,q8,L8,_1,H8,V8,U1,R8,A8,b8,OW,F8,K8,M8,I8,LW,f8,P8,T8,o2,t2,S8,Z8,y8,h8,m8,u8,a2,Rq,Aq,Fq=(...$)=>V7({Codec:t2,Boolean:G1,String:J1},...$);var uJ=y(()=>{m_();m_();SJ();CJ();x9();xJ();jz();DV=new WeakMap;q$=F("ZodType",($,_)=>{return D$.init($,_),Object.assign($["~standard"],{jsonSchema:{input:x2($,"input"),output:x2($,"output")}}),$.toJSONSchema=R7($,{}),$.def=_,$.type=_.type,Object.defineProperty($,"_def",{value:_}),$.parse=(U,W)=>m9($,U,W,{callee:$.parse}),$.safeParse=(U,W)=>d9($,U,W),$.parseAsync=async(U,W)=>u9($,U,W,{callee:$.parseAsync}),$.safeParseAsync=async(U,W)=>n9($,U,W),$.spa=$.safeParseAsync,$.encode=(U,W)=>c9($,U,W),$.decode=(U,W)=>l9($,U,W),$.encodeAsync=async(U,W)=>r9($,U,W),$.decodeAsync=async(U,W)=>i9($,U,W),$.safeEncode=(U,W)=>p9($,U,W),$.safeDecode=(U,W)=>o9($,U,W),$.safeEncodeAsync=async(U,W)=>t9($,U,W),$.safeDecodeAsync=async(U,W)=>a9($,U,W),cJ($,"ZodType",{check(...U){let W=this.def;return this.clone(f.mergeDefs(W,{checks:[...W.checks??[],...U.map((J)=>typeof J==="function"?{_zod:{check:J,def:{check:"custom"},onattach:[]}}:J)]}),{parent:!0})},with(...U){return this.check(...U)},clone(U,W){return N_(this,U,W)},brand(){return this},register(U,W){return U.add(this,W),this},refine(U,W){return this.check(d8(U,W))},superRefine(U,W){return this.check(n8(U,W))},overwrite(U){return this.check(a_(U))},optional(){return d2(this)},exactOptional(){return E8(this)},nullable(){return n2(this)},nullish(){return d2(n2(this))},nonoptional(U){return k8(this,U)},array(){return r2(this)},or(U){return DW([this,U])},and(U){return O8(this,U)},transform(U){return nJ(this,qW(U))},default(U){return g8(this,U)},prefault(U){return w8(this,U)},catch(U){return C8(this,U)},pipe(U){return nJ(this,U)},readonly(){return v8(this)},describe(U){let W=this.clone();return D_.add(W,{description:U}),W},meta(...U){if(U.length===0)return D_.get(this);let W=this.clone();return D_.add(W,U[0]),W},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty($,"description",{get(){return D_.get($)?.description},configurable:!0}),$}),lJ=F("_ZodString",($,_)=>{u0.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>A7($,W,J,X);let U=$._zod.bag;$.format=U.format??null,$.minLength=U.minimum??null,$.maxLength=U.maximum??null,cJ($,"_ZodString",{regex(...W){return this.check(d0(...W))},includes(...W){return this.check(l0(...W))},startsWith(...W){return this.check(r0(...W))},endsWith(...W){return this.check(i0(...W))},min(...W){return this.check(h6(...W))},max(...W){return this.check(l4(...W))},length(...W){return this.check(r4(...W))},nonempty(...W){return this.check(h6(1,...W))},lowercase(W){return this.check(n0(W))},uppercase(W){return this.check(c0(W))},trim(){return this.check(t0())},normalize(...W){return this.check(o0(...W))},toLowerCase(){return this.check(a0())},toUpperCase(){return this.check(s0())},slugify(){return this.check(e0())}})}),J1=F("ZodString",($,_)=>{u0.init($,_),lJ.init($,_),$.email=(U)=>$.check(L9(rJ,U)),$.url=(U)=>$.check(gJ(c2,U)),$.jwt=(U)=>$.check(T9(QW,U)),$.emoji=(U)=>$.check(R9(iJ,U)),$.guid=(U)=>$.check(MJ(u2,U)),$.uuid=(U)=>$.check(N9(B6,U)),$.uuidv4=(U)=>$.check(B9(B6,U)),$.uuidv6=(U)=>$.check(H9(B6,U)),$.uuidv7=(U)=>$.check(V9(B6,U)),$.nanoid=(U)=>$.check(A9(pJ,U)),$.guid=(U)=>$.check(MJ(u2,U)),$.cuid=(U)=>$.check(b9(oJ,U)),$.cuid2=(U)=>$.check(F9(tJ,U)),$.ulid=(U)=>$.check(E9(aJ,U)),$.base64=(U)=>$.check(f9(WW,U)),$.base64url=(U)=>$.check(P9(XW,U)),$.xid=(U)=>$.check(K9(sJ,U)),$.ksuid=(U)=>$.check(M9(eJ,U)),$.ipv4=(U)=>$.check(g9($W,U)),$.ipv6=(U)=>$.check(I9(_W,U)),$.cidrv4=(U)=>$.check(w9(UW,U)),$.cidrv6=(U)=>$.check(k9(JW,U)),$.e164=(U)=>$.check(C9(GW,U)),$.datetime=(U)=>$.check(Wz(U)),$.date=(U)=>$.check(Xz(U)),$.time=(U)=>$.check(Gz(U)),$.duration=(U)=>$.check(Qz(U))});y$=F("ZodStringFormat",($,_)=>{u$.init($,_),lJ.init($,_)}),rJ=F("ZodEmail",($,_)=>{IY.init($,_),y$.init($,_)});u2=F("ZodGUID",($,_)=>{MY.init($,_),y$.init($,_)});B6=F("ZodUUID",($,_)=>{gY.init($,_),y$.init($,_)});c2=F("ZodURL",($,_)=>{wY.init($,_),y$.init($,_)});iJ=F("ZodEmoji",($,_)=>{kY.init($,_),y$.init($,_)});pJ=F("ZodNanoID",($,_)=>{fY.init($,_),y$.init($,_)});oJ=F("ZodCUID",($,_)=>{PY.init($,_),y$.init($,_)});tJ=F("ZodCUID2",($,_)=>{CY.init($,_),y$.init($,_)});aJ=F("ZodULID",($,_)=>{TY.init($,_),y$.init($,_)});sJ=F("ZodXID",($,_)=>{SY.init($,_),y$.init($,_)});eJ=F("ZodKSUID",($,_)=>{ZY.init($,_),y$.init($,_)});$W=F("ZodIPv4",($,_)=>{mY.init($,_),y$.init($,_)});s9=F("ZodMAC",($,_)=>{dY.init($,_),y$.init($,_)});_W=F("ZodIPv6",($,_)=>{uY.init($,_),y$.init($,_)});UW=F("ZodCIDRv4",($,_)=>{nY.init($,_),y$.init($,_)});JW=F("ZodCIDRv6",($,_)=>{cY.init($,_),y$.init($,_)});WW=F("ZodBase64",($,_)=>{rY.init($,_),y$.init($,_)});XW=F("ZodBase64URL",($,_)=>{iY.init($,_),y$.init($,_)});GW=F("ZodE164",($,_)=>{pY.init($,_),y$.init($,_)});QW=F("ZodJWT",($,_)=>{oY.init($,_),y$.init($,_)});W1=F("ZodCustomStringFormat",($,_)=>{tY.init($,_),y$.init($,_)});X1=F("ZodNumber",($,_)=>{Q9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>b7($,W,J,X),cJ($,"ZodNumber",{gt(W,J){return this.check(L6(W,J))},gte(W,J){return this.check(B_(W,J))},min(W,J){return this.check(B_(W,J))},lt(W,J){return this.check(O6(W,J))},lte(W,J){return this.check(C_(W,J))},max(W,J){return this.check(C_(W,J))},int(W){return this.check(dJ(W))},safe(W){return this.check(dJ(W))},positive(W){return this.check(L6(0,W))},nonnegative(W){return this.check(B_(0,W))},negative(W){return this.check(O6(0,W))},nonpositive(W){return this.check(C_(0,W))},multipleOf(W,J){return this.check(j4(W,J))},step(W,J){return this.check(j4(W,J))},finite(){return this}});let U=$._zod.bag;$.minValue=Math.max(U.minimum??Number.NEGATIVE_INFINITY,U.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(U.maximum??Number.POSITIVE_INFINITY,U.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(U.format??"").includes("int")||Number.isSafeInteger(U.multipleOf??0.5),$.isFinite=!0,$.format=U.format??null});a4=F("ZodNumberFormat",($,_)=>{aY.init($,_),X1.init($,_)});G1=F("ZodBoolean",($,_)=>{BJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>F7($,U,W,J)});Q1=F("ZodBigInt",($,_)=>{Y9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>E7($,W,J,X),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.gt=(W,J)=>$.check(L6(W,J)),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.lt=(W,J)=>$.check(O6(W,J)),$.lte=(W,J)=>$.check(C_(W,J)),$.max=(W,J)=>$.check(C_(W,J)),$.positive=(W)=>$.check(L6(BigInt(0),W)),$.negative=(W)=>$.check(O6(BigInt(0),W)),$.nonpositive=(W)=>$.check(C_(BigInt(0),W)),$.nonnegative=(W)=>$.check(B_(BigInt(0),W)),$.multipleOf=(W,J)=>$.check(j4(W,J));let U=$._zod.bag;$.minValue=U.minimum??null,$.maxValue=U.maximum??null,$.format=U.format??null});YW=F("ZodBigIntFormat",($,_)=>{sY.init($,_),Q1.init($,_)});_8=F("ZodSymbol",($,_)=>{eY.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>K7($,U,W,J)});U8=F("ZodUndefined",($,_)=>{$j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>g7($,U,W,J)});J8=F("ZodNull",($,_)=>{_j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>M7($,U,W,J)});X8=F("ZodAny",($,_)=>{Uj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>k7($,U,W,J)});G8=F("ZodUnknown",($,_)=>{Jj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>f7($,U,W,J)});Q8=F("ZodNever",($,_)=>{Wj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>w7($,U,W,J)});Y8=F("ZodVoid",($,_)=>{Xj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>I7($,U,W,J)});l2=F("ZodDate",($,_)=>{Gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>P7($,W,J,X),$.min=(W,J)=>$.check(B_(W,J)),$.max=(W,J)=>$.check(C_(W,J));let U=$._zod.bag;$.minDate=U.minimum?new Date(U.minimum):null,$.maxDate=U.maximum?new Date(U.maximum):null});j8=F("ZodArray",($,_)=>{Qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>n7($,U,W,J),$.element=_.element,cJ($,"ZodArray",{min(U,W){return this.check(h6(U,W))},nonempty(U){return this.check(h6(1,U))},max(U,W){return this.check(l4(U,W))},length(U,W){return this.check(r4(U,W))},unwrap(){return this.element}})});i2=F("ZodObject",($,_)=>{Yj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>c7($,U,W,J),f.defineLazy($,"shape",()=>{return _.shape}),cJ($,"ZodObject",{keyof(){return zW(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:t4()})},loose(){return this.clone({...this._zod.def,catchall:t4()})},strict(){return this.clone({...this._zod.def,catchall:jW()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(U){return f.extend(this,U)},safeExtend(U){return f.safeExtend(this,U)},merge(U){return f.merge(this,U)},pick(U){return f.pick(this,U)},omit(U){return f.omit(this,U)},partial(...U){return f.partial(OW,this,U[0])},required(...U){return f.required(LW,this,U[0])}})});p2=F("ZodUnion",($,_)=>{HJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>v9($,U,W,J),$.options=_.options});D8=F("ZodXor",($,_)=>{p2.init($,_),jj.init($,_),$._zod.processJSONSchema=(U,W,J)=>v9($,U,W,J),$.options=_.options});z8=F("ZodDiscriminatedUnion",($,_)=>{p2.init($,_),Dj.init($,_)});q8=F("ZodIntersection",($,_)=>{zj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>l7($,U,W,J)});L8=F("ZodTuple",($,_)=>{j9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>r7($,U,W,J),$.rest=(U)=>$.clone({...$._zod.def,rest:U})});_1=F("ZodRecord",($,_)=>{qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>i7($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType});H8=F("ZodMap",($,_)=>{Oj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>u7($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType,$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(c4(...U))});V8=F("ZodSet",($,_)=>{Lj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>d7($,U,W,J),$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(c4(...U))});U1=F("ZodEnum",($,_)=>{Nj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>C7($,W,J,X),$.enum=_.entries,$.options=Object.values(_.entries);let U=new Set(Object.keys(_.entries));$.extract=(W,J)=>{let X={};for(let G of W)if(U.has(G))X[G]=_.entries[G];else throw Error(`Key ${G} not found in enum`);return new U1({..._,checks:[],...f.normalizeParams(J),entries:X})},$.exclude=(W,J)=>{let X={..._.entries};for(let G of W)if(U.has(G))delete X[G];else throw Error(`Key ${G} not found in enum`);return new U1({..._,checks:[],...f.normalizeParams(J),entries:X})}});R8=F("ZodLiteral",($,_)=>{Bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>T7($,U,W,J),$.values=new Set(_.values),Object.defineProperty($,"value",{get(){if(_.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return _.values[0]}})});A8=F("ZodFile",($,_)=>{Hj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>v7($,U,W,J),$.min=(U,W)=>$.check(N6(U,W)),$.max=(U,W)=>$.check(D4(U,W)),$.mime=(U,W)=>$.check(p0(Array.isArray(U)?U:[U],W))});b8=F("ZodTransform",($,_)=>{Vj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>m7($,U,W,J),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0($.constructor.name);U.addIssue=(X)=>{if(typeof X==="string")U.issues.push(f.issue(X,U.value,_));else{let G=X;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=U.value),G.inst??(G.inst=$),U.issues.push(f.issue(G))}};let J=_.transform(U.value,U);if(J instanceof Promise)return J.then((X)=>{return U.value=X,U.fallback=!0,U});return U.value=J,U.fallback=!0,U}});OW=F("ZodOptional",($,_)=>{D9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>y9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});F8=F("ZodExactOptional",($,_)=>{Rj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>y9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});K8=F("ZodNullable",($,_)=>{Aj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>p7($,U,W,J),$.unwrap=()=>$._zod.def.innerType});M8=F("ZodDefault",($,_)=>{bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>t7($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});I8=F("ZodPrefault",($,_)=>{Fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>a7($,U,W,J),$.unwrap=()=>$._zod.def.innerType});LW=F("ZodNonOptional",($,_)=>{Ej.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>o7($,U,W,J),$.unwrap=()=>$._zod.def.innerType});f8=F("ZodSuccess",($,_)=>{Kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>y7($,U,W,J),$.unwrap=()=>$._zod.def.innerType});P8=F("ZodCatch",($,_)=>{Mj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>s7($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});T8=F("ZodNaN",($,_)=>{gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>S7($,U,W,J)});o2=F("ZodPipe",($,_)=>{z9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>e7($,U,W,J),$.in=_.in,$.out=_.out});t2=F("ZodCodec",($,_)=>{o2.init($,_),VJ.init($,_)});S8=F("ZodPreprocess",($,_)=>{o2.init($,_),Ij.init($,_)}),Z8=F("ZodReadonly",($,_)=>{wj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>$z($,U,W,J),$.unwrap=()=>$._zod.def.innerType});y8=F("ZodTemplateLiteral",($,_)=>{kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Z7($,U,W,J)});h8=F("ZodLazy",($,_)=>{Cj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Uz($,U,W,J),$.unwrap=()=>$._zod.def.getter()});m8=F("ZodPromise",($,_)=>{Pj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>_z($,U,W,J),$.unwrap=()=>$._zod.def.innerType});u8=F("ZodFunction",($,_)=>{fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>x7($,U,W,J)});a2=F("ZodCustom",($,_)=>{Tj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>h7($,U,W,J)});Rq=B7,Aq=H7});function qV($){__({customError:$})}function OV(){return __().customError}var zV,c8;var LV=y(()=>{m_();zV={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function($){})(c8||(c8={}))});function IZ($,_){let U=$.$schema;if(U==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(U==="http://json-schema.org/draft-07/schema#")return"draft-7";if(U==="http://json-schema.org/draft-04/schema#")return"draft-4";return _??"draft-2020-12"}function wZ($,_){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let U=$.slice(1).split("/").filter(Boolean);if(U.length===0)return _.rootSchema;let W=_.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===W){let J=U[1];if(!J||!_.defs[J])throw Error(`Reference not found: ${$}`);return _.defs[J]}throw Error(`Reference not found: ${$}`)}function NV($,_){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return m.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let J=$.$ref;if(_.refs.has(J))return _.refs.get(J);if(_.processing.has(J))return m.lazy(()=>{if(!_.refs.has(J))throw Error(`Circular reference not resolved: ${J}`);return _.refs.get(J)});_.processing.add(J);let X=wZ(J,_),G=H_(X,_);return _.refs.set(J,G),_.processing.delete(J),G}if($.enum!==void 0){let J=$.enum;if(_.version==="openapi-3.0"&&$.nullable===!0&&J.length===1&&J[0]===null)return m.null();if(J.length===0)return m.never();if(J.length===1)return m.literal(J[0]);if(J.every((G)=>typeof G==="string"))return m.enum(J);let X=J.map((G)=>m.literal(G));if(X.length<2)return X[0];return m.union([X[0],X[1],...X.slice(2)])}if($.const!==void 0)return m.literal($.const);let U=$.type;if(Array.isArray(U)){let J=U.map((X)=>{let G={...$,type:X};return NV(G,_)});if(J.length===0)return m.never();if(J.length===1)return J[0];return m.union(J)}if(!U)return m.any();let W;switch(U){case"string":{let J=m.string();if($.format){let X=$.format;if(X==="email")J=J.check(m.email());else if(X==="uri"||X==="uri-reference")J=J.check(m.url());else if(X==="uuid"||X==="guid")J=J.check(m.uuid());else if(X==="date-time")J=J.check(m.iso.datetime());else if(X==="date")J=J.check(m.iso.date());else if(X==="time")J=J.check(m.iso.time());else if(X==="duration")J=J.check(m.iso.duration());else if(X==="ipv4")J=J.check(m.ipv4());else if(X==="ipv6")J=J.check(m.ipv6());else if(X==="mac")J=J.check(m.mac());else if(X==="cidr")J=J.check(m.cidrv4());else if(X==="cidr-v6")J=J.check(m.cidrv6());else if(X==="base64")J=J.check(m.base64());else if(X==="base64url")J=J.check(m.base64url());else if(X==="e164")J=J.check(m.e164());else if(X==="jwt")J=J.check(m.jwt());else if(X==="emoji")J=J.check(m.emoji());else if(X==="nanoid")J=J.check(m.nanoid());else if(X==="cuid")J=J.check(m.cuid());else if(X==="cuid2")J=J.check(m.cuid2());else if(X==="ulid")J=J.check(m.ulid());else if(X==="xid")J=J.check(m.xid());else if(X==="ksuid")J=J.check(m.ksuid())}if(typeof $.minLength==="number")J=J.min($.minLength);if(typeof $.maxLength==="number")J=J.max($.maxLength);if($.pattern)J=J.regex(new RegExp($.pattern));W=J;break}case"number":case"integer":{let J=U==="integer"?m.number().int():m.number();if(typeof $.minimum==="number")J=J.min($.minimum);if(typeof $.maximum==="number")J=J.max($.maximum);if(typeof $.exclusiveMinimum==="number")J=J.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")J=J.gt($.minimum);if(typeof $.exclusiveMaximum==="number")J=J.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")J=J.lt($.maximum);if(typeof $.multipleOf==="number")J=J.multipleOf($.multipleOf);W=J;break}case"boolean":{W=m.boolean();break}case"null":{W=m.null();break}case"object":{let J={},X=$.properties||{},G=new Set($.required||[]);for(let[Y,j]of Object.entries(X)){let O=H_(j,_);J[Y]=G.has(Y)?O:O.optional()}if($.propertyNames){let Y=H_($.propertyNames,_),j=$.additionalProperties&&typeof $.additionalProperties==="object"?H_($.additionalProperties,_):m.any();if(Object.keys(J).length===0){W=m.record(Y,j);break}let O=m.object(J).passthrough(),B=m.looseRecord(Y,j);W=m.intersection(O,B);break}if($.patternProperties){let Y=$.patternProperties,j=Object.keys(Y),O=[];for(let V of j){let L=H_(Y[V],_),N=m.string().regex(new RegExp(V));O.push(m.looseRecord(N,L))}let B=[];if(Object.keys(J).length>0)B.push(m.object(J).passthrough());if(B.push(...O),B.length===0)W=m.object({}).passthrough();else if(B.length===1)W=B[0];else{let V=m.intersection(B[0],B[1]);for(let L=2;LH_(Y,_)),Q=X&&typeof X==="object"&&!Array.isArray(X)?H_(X,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(Array.isArray(X)){let G=X.map((Y)=>H_(Y,_)),Q=$.additionalItems&&typeof $.additionalItems==="object"?H_($.additionalItems,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(X!==void 0){let G=H_(X,_),Q=m.array(G);if(typeof $.minItems==="number")Q=Q.min($.minItems);if(typeof $.maxItems==="number")Q=Q.max($.maxItems);W=Q}else W=m.array(m.any());break}default:throw Error(`Unsupported type: ${U}`)}return W}function H_($,_){if(typeof $==="boolean")return $?m.any():m.never();let U=NV($,_),W=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let Q=$.anyOf.map((j)=>H_(j,_)),Y=m.union(Q);U=W?m.intersection(U,Y):Y}if($.oneOf&&Array.isArray($.oneOf)){let Q=$.oneOf.map((j)=>H_(j,_)),Y=m.xor(Q);U=W?m.intersection(U,Y):Y}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)U=W?U:m.any();else{let Q=W?U:H_($.allOf[0],_),Y=W?0:1;for(let j=Y;j<$.allOf.length;j++)Q=m.intersection(Q,H_($.allOf[j],_));U=Q}if($.nullable===!0&&_.version==="openapi-3.0")U=m.nullable(U);if($.readOnly===!0)U=m.readonly(U);if($.default!==void 0)U=U.default($.default);let J={},X=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let Q of X)if(Q in $)J[Q]=$[Q];let G=["contentEncoding","contentMediaType","contentSchema"];for(let Q of G)if(Q in $)J[Q]=$[Q];for(let Q of Object.keys($))if(!gZ.has(Q))J[Q]=$[Q];if(Object.keys(J).length>0)_.registry.add(U,J);if($.description)U=U.describe($.description);return U}function Mq($,_){if(typeof $==="boolean")return $?m.any():m.never();let U;try{U=JSON.parse(JSON.stringify($))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let W=IZ(U,_?.defaultTarget),J=U.$defs||U.definitions||{},X={version:W,defs:J,refs:new Map,processing:new Set,rootSchema:U,registry:_?.registry??D_};return H_(U,X)}var m,gZ;var BV=y(()=>{KJ();x9();xJ();uJ();m={...mJ,...h9,iso:$1},gZ=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var l8={};g6(l8,{string:()=>kZ,number:()=>fZ,date:()=>TZ,boolean:()=>PZ,bigint:()=>CZ});function kZ($){return vD(J1,$)}function fZ($){return nD(X1,$)}function PZ($){return tD(G1,$)}function CZ($){return sD(Q1,$)}function TZ($){return j7(l2,$)}var HV=y(()=>{m_();uJ()});var r8={};g6(r8,{xor:()=>$q,xid:()=>Ez,void:()=>pz,uuidv7:()=>Nz,uuidv6:()=>Lz,uuidv4:()=>Oz,uuid:()=>qz,util:()=>f,url:()=>Bz,uppercase:()=>c0,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Fz,uint64:()=>cz,uint32:()=>uz,tuple:()=>N8,trim:()=>t0,treeifyError:()=>xX,transform:()=>qW,toUpperCase:()=>s0,toLowerCase:()=>a0,toJSONSchema:()=>TJ,templateLiteral:()=>Lq,symbol:()=>lz,superRefine:()=>n8,success:()=>Dq,stringbool:()=>Fq,stringFormat:()=>Sz,string:()=>m2,strictObject:()=>sz,startsWith:()=>r0,slugify:()=>e0,size:()=>c4,setErrorMap:()=>qV,set:()=>Xq,safeParseAsync:()=>n9,safeParse:()=>d9,safeEncodeAsync:()=>t9,safeEncode:()=>p9,safeDecodeAsync:()=>a9,safeDecode:()=>o9,registry:()=>EJ,regexes:()=>P_,regex:()=>d0,refine:()=>d8,record:()=>B8,readonly:()=>v8,property:()=>PJ,promise:()=>Nq,prettifyError:()=>mX,preprocess:()=>Kq,prefault:()=>w8,positive:()=>IJ,pipe:()=>nJ,partialRecord:()=>Uq,parseAsync:()=>u9,parse:()=>m9,overwrite:()=>a_,optional:()=>d2,object:()=>az,number:()=>e9,nullish:()=>jq,nullable:()=>n2,null:()=>W8,normalize:()=>o0,nonpositive:()=>kJ,nonoptional:()=>k8,nonnegative:()=>fJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Gq,nanoid:()=>Rz,nan:()=>zq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,meta:()=>Aq,maxSize:()=>D4,maxLength:()=>l4,map:()=>Wq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,looseRecord:()=>Jq,looseObject:()=>ez,locales:()=>y2,literal:()=>Qq,length:()=>r4,lazy:()=>x8,ksuid:()=>Kz,keyof:()=>tz,jwt:()=>Tz,json:()=>Eq,iso:()=>$1,ipv6:()=>Iz,ipv4:()=>Mz,invertCodec:()=>Oq,intersection:()=>O8,int64:()=>nz,int32:()=>mz,int:()=>dJ,instanceof:()=>bq,includes:()=>l0,httpUrl:()=>Hz,hostname:()=>Zz,hex:()=>vz,hash:()=>yz,guid:()=>zz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>OV,function:()=>Bq,fromJSONSchema:()=>Mq,formatError:()=>f2,float64:()=>xz,float32:()=>hz,flattenError:()=>k2,file:()=>Yq,exactOptional:()=>E8,enum:()=>zW,endsWith:()=>i0,encodeAsync:()=>r9,encode:()=>c9,emoji:()=>Vz,email:()=>Dz,e164:()=>Cz,discriminatedUnion:()=>_q,describe:()=>Rq,decodeAsync:()=>i9,decode:()=>l9,date:()=>oz,custom:()=>Vq,cuid2:()=>bz,cuid:()=>Az,core:()=>x6,config:()=>__,coerce:()=>l8,codec:()=>qq,clone:()=>N_,cidrv6:()=>kz,cidrv4:()=>wz,check:()=>Hq,catch:()=>C8,boolean:()=>$8,bigint:()=>dz,base64url:()=>Pz,base64:()=>fz,array:()=>r2,any:()=>iz,_function:()=>Bq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>D8,ZodXID:()=>sJ,ZodVoid:()=>Y8,ZodUnknown:()=>G8,ZodUnion:()=>p2,ZodUndefined:()=>U8,ZodUUID:()=>B6,ZodURL:()=>c2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>L8,ZodTransform:()=>b8,ZodTemplateLiteral:()=>y8,ZodSymbol:()=>_8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>V8,ZodRecord:()=>_1,ZodRealError:()=>g_,ZodReadonly:()=>Z8,ZodPromise:()=>m8,ZodPreprocess:()=>S8,ZodPrefault:()=>I8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>i2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>K8,ZodNull:()=>J8,ZodNonOptional:()=>LW,ZodNever:()=>Q8,ZodNanoID:()=>pJ,ZodNaN:()=>T8,ZodMap:()=>H8,ZodMAC:()=>s9,ZodLiteral:()=>R8,ZodLazy:()=>h8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>zV,ZodIntersection:()=>q8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>u8,ZodFirstPartyTypeKind:()=>c8,ZodFile:()=>A8,ZodExactOptional:()=>F8,ZodError:()=>jV,ZodEnum:()=>U1,ZodEmoji:()=>iJ,ZodEmail:()=>rJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>z8,ZodDefault:()=>M8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>P8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>j8,ZodAny:()=>X8,TimePrecision:()=>S9,NEVER:()=>ZX,$output:()=>q9,$input:()=>O9,$brand:()=>vX});var gq=y(()=>{m_();m_();cj();m_();SJ();BV();TD();xJ();xJ();HV();uJ();x9();Yz();jz();LV();__(RJ())});var VV={};g6(VV,{z:()=>r8,xor:()=>$q,xid:()=>Ez,void:()=>pz,uuidv7:()=>Nz,uuidv6:()=>Lz,uuidv4:()=>Oz,uuid:()=>qz,util:()=>f,url:()=>Bz,uppercase:()=>c0,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Fz,uint64:()=>cz,uint32:()=>uz,tuple:()=>N8,trim:()=>t0,treeifyError:()=>xX,transform:()=>qW,toUpperCase:()=>s0,toLowerCase:()=>a0,toJSONSchema:()=>TJ,templateLiteral:()=>Lq,symbol:()=>lz,superRefine:()=>n8,success:()=>Dq,stringbool:()=>Fq,stringFormat:()=>Sz,string:()=>m2,strictObject:()=>sz,startsWith:()=>r0,slugify:()=>e0,size:()=>c4,setErrorMap:()=>qV,set:()=>Xq,safeParseAsync:()=>n9,safeParse:()=>d9,safeEncodeAsync:()=>t9,safeEncode:()=>p9,safeDecodeAsync:()=>a9,safeDecode:()=>o9,registry:()=>EJ,regexes:()=>P_,regex:()=>d0,refine:()=>d8,record:()=>B8,readonly:()=>v8,property:()=>PJ,promise:()=>Nq,prettifyError:()=>mX,preprocess:()=>Kq,prefault:()=>w8,positive:()=>IJ,pipe:()=>nJ,partialRecord:()=>Uq,parseAsync:()=>u9,parse:()=>m9,overwrite:()=>a_,optional:()=>d2,object:()=>az,number:()=>e9,nullish:()=>jq,nullable:()=>n2,null:()=>W8,normalize:()=>o0,nonpositive:()=>kJ,nonoptional:()=>k8,nonnegative:()=>fJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Gq,nanoid:()=>Rz,nan:()=>zq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,meta:()=>Aq,maxSize:()=>D4,maxLength:()=>l4,map:()=>Wq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,looseRecord:()=>Jq,looseObject:()=>ez,locales:()=>y2,literal:()=>Qq,length:()=>r4,lazy:()=>x8,ksuid:()=>Kz,keyof:()=>tz,jwt:()=>Tz,json:()=>Eq,iso:()=>$1,ipv6:()=>Iz,ipv4:()=>Mz,invertCodec:()=>Oq,intersection:()=>O8,int64:()=>nz,int32:()=>mz,int:()=>dJ,instanceof:()=>bq,includes:()=>l0,httpUrl:()=>Hz,hostname:()=>Zz,hex:()=>vz,hash:()=>yz,guid:()=>zz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>OV,function:()=>Bq,fromJSONSchema:()=>Mq,formatError:()=>f2,float64:()=>xz,float32:()=>hz,flattenError:()=>k2,file:()=>Yq,exactOptional:()=>E8,enum:()=>zW,endsWith:()=>i0,encodeAsync:()=>r9,encode:()=>c9,emoji:()=>Vz,email:()=>Dz,e164:()=>Cz,discriminatedUnion:()=>_q,describe:()=>Rq,default:()=>SZ,decodeAsync:()=>i9,decode:()=>l9,date:()=>oz,custom:()=>Vq,cuid2:()=>bz,cuid:()=>Az,core:()=>x6,config:()=>__,coerce:()=>l8,codec:()=>qq,clone:()=>N_,cidrv6:()=>kz,cidrv4:()=>wz,check:()=>Hq,catch:()=>C8,boolean:()=>$8,bigint:()=>dz,base64url:()=>Pz,base64:()=>fz,array:()=>r2,any:()=>iz,_function:()=>Bq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>D8,ZodXID:()=>sJ,ZodVoid:()=>Y8,ZodUnknown:()=>G8,ZodUnion:()=>p2,ZodUndefined:()=>U8,ZodUUID:()=>B6,ZodURL:()=>c2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>L8,ZodTransform:()=>b8,ZodTemplateLiteral:()=>y8,ZodSymbol:()=>_8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>V8,ZodRecord:()=>_1,ZodRealError:()=>g_,ZodReadonly:()=>Z8,ZodPromise:()=>m8,ZodPreprocess:()=>S8,ZodPrefault:()=>I8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>i2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>K8,ZodNull:()=>J8,ZodNonOptional:()=>LW,ZodNever:()=>Q8,ZodNanoID:()=>pJ,ZodNaN:()=>T8,ZodMap:()=>H8,ZodMAC:()=>s9,ZodLiteral:()=>R8,ZodLazy:()=>h8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>zV,ZodIntersection:()=>q8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>u8,ZodFirstPartyTypeKind:()=>c8,ZodFile:()=>A8,ZodExactOptional:()=>F8,ZodError:()=>jV,ZodEnum:()=>U1,ZodEmoji:()=>iJ,ZodEmail:()=>rJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>z8,ZodDefault:()=>M8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>P8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>j8,ZodAny:()=>X8,TimePrecision:()=>S9,NEVER:()=>ZX,$output:()=>q9,$input:()=>O9,$brand:()=>vX});var SZ;var RV=y(()=>{gq();gq();SZ=r8});var ZW=G0((gu)=>{class LO extends Error{constructor($,_,U){super(U);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=_,this.exitCode=$,this.nestedError=void 0}}class hA extends LO{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}gu.CommanderError=LO;gu.InvalidArgumentError=hA});var g5=G0((Pu)=>{var{InvalidArgumentError:ku}=ZW();class xA{constructor($,_){switch(this.description=_||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new ku(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function fu($){let _=$.name()+($.variadic===!0?"...":"");return $.required?"<"+_+">":"["+_+"]"}Pu.Argument=xA;Pu.humanReadableArgName=fu});var NO=G0((Zu)=>{var{humanReadableArgName:Su}=g5();class mA{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let _=$.commands.filter((W)=>!W._hidden),U=$._getHelpCommand();if(U&&!U._hidden)_.push(U);if(this.sortSubcommands)_.sort((W,J)=>{return W.name().localeCompare(J.name())});return _}compareOptions($,_){let U=(W)=>{return W.short?W.short.replace(/^-/,""):W.long.replace(/^--/,"")};return U($).localeCompare(U(_))}visibleOptions($){let _=$.options.filter((W)=>!W.hidden),U=$._getHelpOption();if(U&&!U.hidden){let W=U.short&&$._findOption(U.short),J=U.long&&$._findOption(U.long);if(!W&&!J)_.push(U);else if(U.long&&!J)_.push($.createOption(U.long,U.description));else if(U.short&&!W)_.push($.createOption(U.short,U.description))}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let _=[];for(let U=$.parent;U;U=U.parent){let W=U.options.filter((J)=>!J.hidden);_.push(...W)}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((_)=>{_.description=_.description||$._argsDescription[_.name()]||""});if($.registeredArguments.find((_)=>_.description))return $.registeredArguments;return[]}subcommandTerm($){let _=$.registeredArguments.map((U)=>Su(U)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(_?" "+_:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,_){return _.visibleCommands($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleSubcommandTerm(_.subcommandTerm(W))))},0)}longestOptionTermLength($,_){return _.visibleOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestGlobalOptionTermLength($,_){return _.visibleGlobalOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestArgumentTermLength($,_){return _.visibleArguments($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleArgumentTerm(_.argumentTerm(W))))},0)}commandUsage($){let _=$._name;if($._aliases[0])_=_+"|"+$._aliases[0];let U="";for(let W=$.parent;W;W=W.parent)U=W.name()+" "+U;return U+_+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)_.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)_.push(`env: ${$.envVar}`);if(_.length>0)return`${$.description} (${_.join(", ")})`;return $.description}argumentDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0)_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(_.length>0){let U=`(${_.join(", ")})`;if($.description)return`${$.description} ${U}`;return U}return $.description}formatHelp($,_){let U=_.padWidth($,_),W=_.helpWidth??80;function J(O,B){return _.formatItem(O,U,B,_)}let X=[`${_.styleTitle("Usage:")} ${_.styleUsage(_.commandUsage($))}`,""],G=_.commandDescription($);if(G.length>0)X=X.concat([_.boxWrap(_.styleCommandDescription(G),W),""]);let Q=_.visibleArguments($).map((O)=>{return J(_.styleArgumentTerm(_.argumentTerm(O)),_.styleArgumentDescription(_.argumentDescription(O)))});if(Q.length>0)X=X.concat([_.styleTitle("Arguments:"),...Q,""]);let Y=_.visibleOptions($).map((O)=>{return J(_.styleOptionTerm(_.optionTerm(O)),_.styleOptionDescription(_.optionDescription(O)))});if(Y.length>0)X=X.concat([_.styleTitle("Options:"),...Y,""]);if(_.showGlobalOptions){let O=_.visibleGlobalOptions($).map((B)=>{return J(_.styleOptionTerm(_.optionTerm(B)),_.styleOptionDescription(_.optionDescription(B)))});if(O.length>0)X=X.concat([_.styleTitle("Global Options:"),...O,""])}let j=_.visibleCommands($).map((O)=>{return J(_.styleSubcommandTerm(_.subcommandTerm(O)),_.styleSubcommandDescription(_.subcommandDescription(O)))});if(j.length>0)X=X.concat([_.styleTitle("Commands:"),...j,""]);return X.join(` +`)}displayWidth($){return uA($).length}styleTitle($){return $}styleUsage($){return $.split(" ").map((_)=>{if(_==="[options]")return this.styleOptionText(_);if(_==="[command]")return this.styleSubcommandText(_);if(_[0]==="["||_[0]==="<")return this.styleArgumentText(_);return this.styleCommandText(_)}).join(" ")}styleCommandDescription($){return this.styleDescriptionText($)}styleOptionDescription($){return this.styleDescriptionText($)}styleSubcommandDescription($){return this.styleDescriptionText($)}styleArgumentDescription($){return this.styleDescriptionText($)}styleDescriptionText($){return $}styleOptionTerm($){return this.styleOptionText($)}styleSubcommandTerm($){return $.split(" ").map((_)=>{if(_==="[options]")return this.styleOptionText(_);if(_[0]==="["||_[0]==="<")return this.styleArgumentText(_);return this.styleSubcommandText(_)}).join(" ")}styleArgumentTerm($){return this.styleArgumentText($)}styleOptionText($){return $}styleArgumentText($){return $}styleSubcommandText($){return $}styleCommandText($){return $}padWidth($,_){return Math.max(_.longestOptionTermLength($,_),_.longestGlobalOptionTermLength($,_),_.longestSubcommandTermLength($,_),_.longestArgumentTermLength($,_))}preformatted($){return/\n[^\S\r\n]/.test($)}formatItem($,_,U,W){let X=" ".repeat(2);if(!U)return X+$;let G=$.padEnd(_+$.length-W.displayWidth($)),Q=2,j=(this.helpWidth??80)-_-Q-2,O;if(j{let G=X.match(W);if(G===null){J.push("");return}let Q=[G.shift()],Y=this.displayWidth(Q[0]);G.forEach((j)=>{let O=this.displayWidth(j);if(Y+O<=_){Q.push(j),Y+=O;return}J.push(Q.join(""));let B=j.trimStart();Q=[B],Y=this.displayWidth(B)}),J.push(Q.join(""))}),J.join(` +`)}}function uA($){let _=/\x1b\[\d*(;\d*)*m/g;return $.replace(_,"")}Zu.Help=mA;Zu.stripColor=uA});var BO=G0((mu)=>{var{InvalidArgumentError:hu}=ZW();class nA{constructor($,_){this.flags=$,this.description=_||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let U=xu($);if(this.short=U.shortFlag,this.long=U.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let _=$;if(typeof $==="string")_={[$]:!0};return this.implied=Object.assign(this.implied||{},_),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new hu(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return dA(this.name().replace(/^no-/,""));return dA(this.name())}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class cA{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((_)=>{if(_.negate)this.negativeOptions.set(_.attributeName(),_);else this.positiveOptions.set(_.attributeName(),_)}),this.negativeOptions.forEach((_,U)=>{if(this.positiveOptions.has(U))this.dualOptions.add(U)})}valueFromOption($,_){let U=_.attributeName();if(!this.dualOptions.has(U))return!0;let W=this.negativeOptions.get(U).presetArg,J=W!==void 0?W:!1;return _.negate===(J===$)}}function dA($){return $.split("-").reduce((_,U)=>{return _+U[0].toUpperCase()+U.slice(1)})}function xu($){let _,U,W=/^-[^-]$/,J=/^--[^-]/,X=$.split(/[ |,]+/).concat("guard");if(W.test(X[0]))_=X.shift();if(J.test(X[0]))U=X.shift();if(!_&&W.test(X[0]))_=X.shift();if(!_&&J.test(X[0]))_=U,U=X.shift();if(X[0].startsWith("-")){let G=X[0],Q=`option creation failed due to '${G}' in option flags '${$}'`;if(/^-[^-][^-]/.test(G))throw Error(`${Q} - a short flag is a single dash and a single character - either use a single dash and a single character (for a short flag) - - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(J.test(W))throw Error(`${G} -- too many short flags`);if(D.test(W))throw Error(`${G} -- too many long flags`);throw Error(`${G} -- unrecognised flag format`)}if($===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${_}'.`);return{shortFlag:$,longFlag:U}}Lv.Option=RB;Lv.DualOptions=HB});var AB=V4((Hv)=>{function Bv(_,$){if(Math.abs(_.length-$.length)>3)return Math.max(_.length,$.length);let U=[];for(let J=0;J<=_.length;J++)U[J]=[J];for(let J=0;J<=$.length;J++)U[0][J]=J;for(let J=1;J<=$.length;J++)for(let D=1;D<=_.length;D++){let j=1;if(_[D-1]===$[J-1])j=0;else j=1;if(U[D][J]=Math.min(U[D-1][J]+1,U[D][J-1]+1,U[D-1][J-1]+j),D>1&&J>1&&_[D-1]===$[J-2]&&_[D-2]===$[J-1])U[D][J]=Math.min(U[D][J],U[D-2][J-2]+1)}return U[_.length][$.length]}function Rv(_,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let U=_.startsWith("--");if(U)_=_.slice(2),$=$.map((W)=>W.slice(2));let J=[],D=3,j=0.4;if($.forEach((W)=>{if(W.length<=1)return;let G=Bv(_,W),X=Math.max(_.length,W.length);if((X-G)/X>j){if(GW.localeCompare(G)),U)J=J.map((W)=>`--${W}`);if(J.length>1)return` -(Did you mean one of ${J.join(", ")}?)`;if(J.length===1)return` -(Did you mean ${J[0]}?)`;return""}Hv.suggestSimilar=Rv});var IB=V4((Pv)=>{var Vv=R_("events").EventEmitter,Pz=R_("child_process"),u6=R_("path"),_G=R_("fs"),E_=R_("process"),{Argument:bv,humanReadableArgName:Kv}=sW(),{CommanderError:kz}=LD(),{Help:Iv,stripColor:Fv}=Fz(),{Option:VB,DualOptions:Mv}=Mz(),{suggestSimilar:bB}=AB();class Sz extends Vv{constructor(_){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=_||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:($)=>E_.stdout.write($),writeErr:($)=>E_.stderr.write($),outputError:($,U)=>U($),getOutHelpWidth:()=>E_.stdout.isTTY?E_.stdout.columns:void 0,getErrHelpWidth:()=>E_.stderr.isTTY?E_.stderr.columns:void 0,getOutHasColors:()=>wz()??(E_.stdout.isTTY&&E_.stdout.hasColors?.()),getErrHasColors:()=>wz()??(E_.stderr.isTTY&&E_.stderr.hasColors?.()),stripColor:($)=>Fv($)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings(_){return this._outputConfiguration=_._outputConfiguration,this._helpOption=_._helpOption,this._helpCommand=_._helpCommand,this._helpConfiguration=_._helpConfiguration,this._exitCallback=_._exitCallback,this._storeOptionsAsProperties=_._storeOptionsAsProperties,this._combineFlagAndOptionalValue=_._combineFlagAndOptionalValue,this._allowExcessArguments=_._allowExcessArguments,this._enablePositionalOptions=_._enablePositionalOptions,this._showHelpAfterError=_._showHelpAfterError,this._showSuggestionAfterError=_._showSuggestionAfterError,this}_getCommandAndAncestors(){let _=[];for(let $=this;$;$=$.parent)_.push($);return _}command(_,$,U){let J=$,D=U;if(typeof J==="object"&&J!==null)D=J,J=null;D=D||{};let[,j,W]=_.match(/([^ ]+) *(.*)/),G=this.createCommand(j);if(J)G.description(J),G._executableHandler=!0;if(D.isDefault)this._defaultCommandName=G._name;if(G._hidden=!!(D.noHelp||D.hidden),G._executableFile=D.executableFile||null,W)G.arguments(W);if(this._registerCommand(G),G.parent=this,G.copyInheritedSettings(this),J)return this;return G}createCommand(_){return new Sz(_)}createHelp(){return Object.assign(new Iv,this.configureHelp())}configureHelp(_){if(_===void 0)return this._helpConfiguration;return this._helpConfiguration=_,this}configureOutput(_){if(_===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,_),this}showHelpAfterError(_=!0){if(typeof _!=="string")_=!!_;return this._showHelpAfterError=_,this}showSuggestionAfterError(_=!0){return this._showSuggestionAfterError=!!_,this}addCommand(_,$){if(!_._name)throw Error(`Command passed to .addCommand() must have a name -- specify the name in Command constructor or using .name()`);if($=$||{},$.isDefault)this._defaultCommandName=_._name;if($.noHelp||$.hidden)_._hidden=!0;return this._registerCommand(_),_.parent=this,_._checkForBrokenPassThrough(),this}createArgument(_,$){return new bv(_,$)}argument(_,$,U,J){let D=this.createArgument(_,$);if(typeof U==="function")D.default(J).argParser(U);else D.default(U);return this.addArgument(D),this}arguments(_){return _.trim().split(/ +/).forEach(($)=>{this.argument($)}),this}addArgument(_){let $=this.registeredArguments.slice(-1)[0];if($&&$.variadic)throw Error(`only the last argument can be variadic '${$.name()}'`);if(_.required&&_.defaultValue!==void 0&&_.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${_.name()}'`);return this.registeredArguments.push(_),this}helpCommand(_,$){if(typeof _==="boolean")return this._addImplicitHelpCommand=_,this;_=_??"help [command]";let[,U,J]=_.match(/([^ ]+) *(.*)/),D=$??"display help for command",j=this.createCommand(U);if(j.helpOption(!1),J)j.arguments(J);if(D)j.description(D);return this._addImplicitHelpCommand=!0,this._helpCommand=j,this}addHelpCommand(_,$){if(typeof _!=="object")return this.helpCommand(_,$),this;return this._addImplicitHelpCommand=!0,this._helpCommand=_,this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(_,$){let U=["preSubcommand","preAction","postAction"];if(!U.includes(_))throw Error(`Unexpected value for event passed to hook : '${_}'. -Expecting one of '${U.join("', '")}'`);if(this._lifeCycleHooks[_])this._lifeCycleHooks[_].push($);else this._lifeCycleHooks[_]=[$];return this}exitOverride(_){if(_)this._exitCallback=_;else this._exitCallback=($)=>{if($.code!=="commander.executeSubCommandAsync")throw $};return this}_exit(_,$,U){if(this._exitCallback)this._exitCallback(new kz(_,$,U));E_.exit(_)}action(_){let $=(U)=>{let J=this.registeredArguments.length,D=U.slice(0,J);if(this._storeOptionsAsProperties)D[J]=this;else D[J]=this.opts();return D.push(this),_.apply(this,D)};return this._actionHandler=$,this}createOption(_,$){return new VB(_,$)}_callParseArg(_,$,U,J){try{return _.parseArg($,U)}catch(D){if(D.code==="commander.invalidArgument"){let j=`${J} ${D.message}`;this.error(j,{exitCode:D.exitCode,code:D.code})}throw D}}_registerOption(_){let $=_.short&&this._findOption(_.short)||_.long&&this._findOption(_.long);if($){let U=_.long&&this._findOption(_.long)?_.long:_.short;throw Error(`Cannot add option '${_.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${U}' -- already used by option '${$.flags}'`)}this.options.push(_)}_registerCommand(_){let $=(J)=>{return[J.name()].concat(J.aliases())},U=$(_).find((J)=>this._findCommand(J));if(U){let J=$(this._findCommand(U)).join("|"),D=$(_).join("|");throw Error(`cannot add command '${D}' as already have command '${J}'`)}this.commands.push(_)}addOption(_){this._registerOption(_);let $=_.name(),U=_.attributeName();if(_.negate){let D=_.long.replace(/^--no-/,"--");if(!this._findOption(D))this.setOptionValueWithSource(U,_.defaultValue===void 0?!0:_.defaultValue,"default")}else if(_.defaultValue!==void 0)this.setOptionValueWithSource(U,_.defaultValue,"default");let J=(D,j,W)=>{if(D==null&&_.presetArg!==void 0)D=_.presetArg;let G=this.getOptionValue(U);if(D!==null&&_.parseArg)D=this._callParseArg(_,D,G,j);else if(D!==null&&_.variadic)D=_._concatValue(D,G);if(D==null)if(_.negate)D=!1;else if(_.isBoolean()||_.optional)D=!0;else D="";this.setOptionValueWithSource(U,D,W)};if(this.on("option:"+$,(D)=>{let j=`error: option '${_.flags}' argument '${D}' is invalid.`;J(D,j,"cli")}),_.envVar)this.on("optionEnv:"+$,(D)=>{let j=`error: option '${_.flags}' value '${D}' from env '${_.envVar}' is invalid.`;J(D,j,"env")});return this}_optionEx(_,$,U,J,D){if(typeof $==="object"&&$ instanceof VB)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let j=this.createOption($,U);if(j.makeOptionMandatory(!!_.mandatory),typeof J==="function")j.default(D).argParser(J);else if(J instanceof RegExp){let W=J;J=(G,X)=>{let N=W.exec(G);return N?N[0]:X},j.default(D).argParser(J)}else j.default(J);return this.addOption(j)}option(_,$,U,J){return this._optionEx({},_,$,U,J)}requiredOption(_,$,U,J){return this._optionEx({mandatory:!0},_,$,U,J)}combineFlagAndOptionalValue(_=!0){return this._combineFlagAndOptionalValue=!!_,this}allowUnknownOption(_=!0){return this._allowUnknownOption=!!_,this}allowExcessArguments(_=!0){return this._allowExcessArguments=!!_,this}enablePositionalOptions(_=!0){return this._enablePositionalOptions=!!_,this}passThroughOptions(_=!0){return this._passThroughOptions=!!_,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(_=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!_,this}getOptionValue(_){if(this._storeOptionsAsProperties)return this[_];return this._optionValues[_]}setOptionValue(_,$){return this.setOptionValueWithSource(_,$,void 0)}setOptionValueWithSource(_,$,U){if(this._storeOptionsAsProperties)this[_]=$;else this._optionValues[_]=$;return this._optionValueSources[_]=U,this}getOptionValueSource(_){return this._optionValueSources[_]}getOptionValueSourceWithGlobals(_){let $;return this._getCommandAndAncestors().forEach((U)=>{if(U.getOptionValueSource(_)!==void 0)$=U.getOptionValueSource(_)}),$}_prepareUserArgs(_,$){if(_!==void 0&&!Array.isArray(_))throw Error("first parameter to parse must be array or undefined");if($=$||{},_===void 0&&$.from===void 0){if(E_.versions?.electron)$.from="electron";let J=E_.execArgv??[];if(J.includes("-e")||J.includes("--eval")||J.includes("-p")||J.includes("--print"))$.from="eval"}if(_===void 0)_=E_.argv;this.rawArgs=_.slice();let U;switch($.from){case void 0:case"node":this._scriptPath=_[1],U=_.slice(2);break;case"electron":if(E_.defaultApp)this._scriptPath=_[1],U=_.slice(2);else U=_.slice(1);break;case"user":U=_.slice(0);break;case"eval":U=_.slice(1);break;default:throw Error(`unexpected parse option { from: '${$.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",U}parse(_,$){this._prepareForParse();let U=this._prepareUserArgs(_,$);return this._parseCommand([],U),this}async parseAsync(_,$){this._prepareForParse();let U=this._prepareUserArgs(_,$);return await this._parseCommand([],U),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true. -- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(_,$,U){if(_G.existsSync(_))return;let J=$?`searched for local subcommand relative to directory '${$}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",D=`'${_}' does not exist + - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(W.test(G))throw Error(`${Q} +- too many short flags`);if(J.test(G))throw Error(`${Q} +- too many long flags`);throw Error(`${Q} +- unrecognised flag format`)}if(_===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:_,longFlag:U}}mu.Option=nA;mu.DualOptions=cA});var lA=G0((lu)=>{function nu($,_){if(Math.abs($.length-_.length)>3)return Math.max($.length,_.length);let U=[];for(let W=0;W<=$.length;W++)U[W]=[W];for(let W=0;W<=_.length;W++)U[0][W]=W;for(let W=1;W<=_.length;W++)for(let J=1;J<=$.length;J++){let X=1;if($[J-1]===_[W-1])X=0;else X=1;if(U[J][W]=Math.min(U[J-1][W]+1,U[J][W-1]+1,U[J-1][W-1]+X),J>1&&W>1&&$[J-1]===_[W-2]&&$[J-2]===_[W-1])U[J][W]=Math.min(U[J][W],U[J-2][W-2]+1)}return U[$.length][_.length]}function cu($,_){if(!_||_.length===0)return"";_=Array.from(new Set(_));let U=$.startsWith("--");if(U)$=$.slice(2),_=_.map((G)=>G.slice(2));let W=[],J=3,X=0.4;if(_.forEach((G)=>{if(G.length<=1)return;let Q=nu($,G),Y=Math.max($.length,G.length);if((Y-Q)/Y>X){if(QG.localeCompare(Q)),U)W=W.map((G)=>`--${G}`);if(W.length>1)return` +(Did you mean one of ${W.join(", ")}?)`;if(W.length===1)return` +(Did you mean ${W[0]}?)`;return""}lu.suggestSimilar=cu});var oA=G0((eu)=>{var iu=C$("events").EventEmitter,HO=C$("child_process"),b4=C$("path"),I5=C$("fs"),f$=C$("process"),{Argument:pu,humanReadableArgName:ou}=g5(),{CommanderError:VO}=ZW(),{Help:tu,stripColor:au}=NO(),{Option:rA,DualOptions:su}=BO(),{suggestSimilar:iA}=lA();class AO extends iu{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(_)=>f$.stdout.write(_),writeErr:(_)=>f$.stderr.write(_),outputError:(_,U)=>U(_),getOutHelpWidth:()=>f$.stdout.isTTY?f$.stdout.columns:void 0,getErrHelpWidth:()=>f$.stderr.isTTY?f$.stderr.columns:void 0,getOutHasColors:()=>RO()??(f$.stdout.isTTY&&f$.stdout.hasColors?.()),getErrHasColors:()=>RO()??(f$.stderr.isTTY&&f$.stderr.hasColors?.()),stripColor:(_)=>au(_)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let _=this;_;_=_.parent)$.push(_);return $}command($,_,U){let W=_,J=U;if(typeof W==="object"&&W!==null)J=W,W=null;J=J||{};let[,X,G]=$.match(/([^ ]+) *(.*)/),Q=this.createCommand(X);if(W)Q.description(W),Q._executableHandler=!0;if(J.isDefault)this._defaultCommandName=Q._name;if(Q._hidden=!!(J.noHelp||J.hidden),Q._executableFile=J.executableFile||null,G)Q.arguments(G);if(this._registerCommand(Q),Q.parent=this,Q.copyInheritedSettings(this),W)return this;return Q}createCommand($){return new AO($)}createHelp(){return Object.assign(new tu,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,$),this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,_){if(!$._name)throw Error(`Command passed to .addCommand() must have a name +- specify the name in Command constructor or using .name()`);if(_=_||{},_.isDefault)this._defaultCommandName=$._name;if(_.noHelp||_.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,_){return new pu($,_)}argument($,_,U,W){let J=this.createArgument($,_);if(typeof U==="function")J.default(W).argParser(U);else J.default(U);return this.addArgument(J),this}arguments($){return $.trim().split(/ +/).forEach((_)=>{this.argument(_)}),this}addArgument($){let _=this.registeredArguments.slice(-1)[0];if(_&&_.variadic)throw Error(`only the last argument can be variadic '${_.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,_){if(typeof $==="boolean")return this._addImplicitHelpCommand=$,this;$=$??"help [command]";let[,U,W]=$.match(/([^ ]+) *(.*)/),J=_??"display help for command",X=this.createCommand(U);if(X.helpOption(!1),W)X.arguments(W);if(J)X.description(J);return this._addImplicitHelpCommand=!0,this._helpCommand=X,this}addHelpCommand($,_){if(typeof $!=="object")return this.helpCommand($,_),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,_){let U=["preSubcommand","preAction","postAction"];if(!U.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'. +Expecting one of '${U.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(_);else this._lifeCycleHooks[$]=[_];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(_)=>{if(_.code!=="commander.executeSubCommandAsync")throw _};return this}_exit($,_,U){if(this._exitCallback)this._exitCallback(new VO($,_,U));f$.exit($)}action($){let _=(U)=>{let W=this.registeredArguments.length,J=U.slice(0,W);if(this._storeOptionsAsProperties)J[W]=this;else J[W]=this.opts();return J.push(this),$.apply(this,J)};return this._actionHandler=_,this}createOption($,_){return new rA($,_)}_callParseArg($,_,U,W){try{return $.parseArg(_,U)}catch(J){if(J.code==="commander.invalidArgument"){let X=`${W} ${J.message}`;this.error(X,{exitCode:J.exitCode,code:J.code})}throw J}}_registerOption($){let _=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(_){let U=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${U}' +- already used by option '${_.flags}'`)}this.options.push($)}_registerCommand($){let _=(W)=>{return[W.name()].concat(W.aliases())},U=_($).find((W)=>this._findCommand(W));if(U){let W=_(this._findCommand(U)).join("|"),J=_($).join("|");throw Error(`cannot add command '${J}' as already have command '${W}'`)}this.commands.push($)}addOption($){this._registerOption($);let _=$.name(),U=$.attributeName();if($.negate){let J=$.long.replace(/^--no-/,"--");if(!this._findOption(J))this.setOptionValueWithSource(U,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(U,$.defaultValue,"default");let W=(J,X,G)=>{if(J==null&&$.presetArg!==void 0)J=$.presetArg;let Q=this.getOptionValue(U);if(J!==null&&$.parseArg)J=this._callParseArg($,J,Q,X);else if(J!==null&&$.variadic)J=$._concatValue(J,Q);if(J==null)if($.negate)J=!1;else if($.isBoolean()||$.optional)J=!0;else J="";this.setOptionValueWithSource(U,J,G)};if(this.on("option:"+_,(J)=>{let X=`error: option '${$.flags}' argument '${J}' is invalid.`;W(J,X,"cli")}),$.envVar)this.on("optionEnv:"+_,(J)=>{let X=`error: option '${$.flags}' value '${J}' from env '${$.envVar}' is invalid.`;W(J,X,"env")});return this}_optionEx($,_,U,W,J){if(typeof _==="object"&&_ instanceof rA)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let X=this.createOption(_,U);if(X.makeOptionMandatory(!!$.mandatory),typeof W==="function")X.default(J).argParser(W);else if(W instanceof RegExp){let G=W;W=(Q,Y)=>{let j=G.exec(Q);return j?j[0]:Y},X.default(J).argParser(W)}else X.default(W);return this.addOption(X)}option($,_,U,W){return this._optionEx({},$,_,U,W)}requiredOption($,_,U,W){return this._optionEx({mandatory:!0},$,_,U,W)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,_){return this.setOptionValueWithSource($,_,void 0)}setOptionValueWithSource($,_,U){if(this._storeOptionsAsProperties)this[$]=_;else this._optionValues[$]=_;return this._optionValueSources[$]=U,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let _;return this._getCommandAndAncestors().forEach((U)=>{if(U.getOptionValueSource($)!==void 0)_=U.getOptionValueSource($)}),_}_prepareUserArgs($,_){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(_=_||{},$===void 0&&_.from===void 0){if(f$.versions?.electron)_.from="electron";let W=f$.execArgv??[];if(W.includes("-e")||W.includes("--eval")||W.includes("-p")||W.includes("--print"))_.from="eval"}if($===void 0)$=f$.argv;this.rawArgs=$.slice();let U;switch(_.from){case void 0:case"node":this._scriptPath=$[1],U=$.slice(2);break;case"electron":if(f$.defaultApp)this._scriptPath=$[1],U=$.slice(2);else U=$.slice(1);break;case"user":U=$.slice(0);break;case"eval":U=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${_.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",U}parse($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return this._parseCommand([],U),this}async parseAsync($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return await this._parseCommand([],U),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true. +- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable($,_,U){if(I5.existsSync($))return;let W=_?`searched for local subcommand relative to directory '${_}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",J=`'${$}' does not exist - if '${U}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead - if the default executable name is not suitable, use the executableFile option to supply a custom name or path - - ${J}`;throw Error(D)}_executeSubCommand(_,$){$=$.slice();let U=!1,J=[".js",".ts",".tsx",".mjs",".cjs"];function D(N,z){let L=u6.resolve(N,z);if(_G.existsSync(L))return L;if(J.includes(u6.extname(z)))return;let E=J.find((Q)=>_G.existsSync(`${L}${Q}`));if(E)return`${L}${E}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let j=_._executableFile||`${this._name}-${_._name}`,W=this._executableDir||"";if(this._scriptPath){let N;try{N=_G.realpathSync(this._scriptPath)}catch{N=this._scriptPath}W=u6.resolve(u6.dirname(N),W)}if(W){let N=D(W,j);if(!N&&!_._executableFile&&this._scriptPath){let z=u6.basename(this._scriptPath,u6.extname(this._scriptPath));if(z!==this._name)N=D(W,`${z}-${_._name}`)}j=N||j}U=J.includes(u6.extname(j));let G;if(E_.platform!=="win32")if(U)$.unshift(j),$=KB(E_.execArgv).concat($),G=Pz.spawn(E_.argv[0],$,{stdio:"inherit"});else G=Pz.spawn(j,$,{stdio:"inherit"});else this._checkForMissingExecutable(j,W,_._name),$.unshift(j),$=KB(E_.execArgv).concat($),G=Pz.spawn(E_.execPath,$,{stdio:"inherit"});if(!G.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((z)=>{E_.on(z,()=>{if(G.killed===!1&&G.exitCode===null)G.kill(z)})});let X=this._exitCallback;G.on("close",(N)=>{if(N=N??1,!X)E_.exit(N);else X(new kz(N,"commander.executeSubCommandAsync","(close)"))}),G.on("error",(N)=>{if(N.code==="ENOENT")this._checkForMissingExecutable(j,W,_._name);else if(N.code==="EACCES")throw Error(`'${j}' not executable`);if(!X)E_.exit(1);else{let z=new kz(1,"commander.executeSubCommandAsync","(error)");z.nestedError=N,X(z)}}),this.runningCommand=G}_dispatchSubcommand(_,$,U){let J=this._findCommand(_);if(!J)this.help({error:!0});J._prepareForParse();let D;return D=this._chainOrCallSubCommandHook(D,J,"preSubcommand"),D=this._chainOrCall(D,()=>{if(J._executableHandler)this._executeSubCommand(J,$.concat(U));else return J._parseCommand($,U)}),D}_dispatchHelpCommand(_){if(!_)this.help();let $=this._findCommand(_);if($&&!$._executableHandler)$.help();return this._dispatchSubcommand(_,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((_,$)=>{if(_.required&&this.args[$]==null)this.missingArgument(_.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let _=(U,J,D)=>{let j=J;if(J!==null&&U.parseArg){let W=`error: command-argument value '${J}' is invalid for argument '${U.name()}'.`;j=this._callParseArg(U,J,D,W)}return j};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((U,J)=>{let D=U.defaultValue;if(U.variadic){if(J{return _(U,W,j)},U.defaultValue)}else if(D===void 0)D=[]}else if(J$());return $()}_chainOrCallHooks(_,$){let U=_,J=[];if(this._getCommandAndAncestors().reverse().filter((D)=>D._lifeCycleHooks[$]!==void 0).forEach((D)=>{D._lifeCycleHooks[$].forEach((j)=>{J.push({hookedCommand:D,callback:j})})}),$==="postAction")J.reverse();return J.forEach((D)=>{U=this._chainOrCall(U,()=>{return D.callback(D.hookedCommand,this)})}),U}_chainOrCallSubCommandHook(_,$,U){let J=_;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((D)=>{J=this._chainOrCall(J,()=>{return D(this,$)})});return J}_parseCommand(_,$){let U=this.parseOptions($);if(this._parseOptionsEnv(),this._parseOptionsImplied(),_=_.concat(U.operands),$=U.unknown,this.args=_.concat($),_&&this._findCommand(_[0]))return this._dispatchSubcommand(_[0],_.slice(1),$);if(this._getHelpCommand()&&_[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(_[1]);if(this._defaultCommandName)return this._outputHelpIfRequested($),this._dispatchSubcommand(this._defaultCommandName,_,$);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(U.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let J=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},D=`command:${this.name()}`;if(this._actionHandler){J(),this._processArguments();let j;if(j=this._chainOrCallHooks(j,"preAction"),j=this._chainOrCall(j,()=>this._actionHandler(this.processedArgs)),this.parent)j=this._chainOrCall(j,()=>{this.parent.emit(D,_,$)});return j=this._chainOrCallHooks(j,"postAction"),j}if(this.parent&&this.parent.listenerCount(D))J(),this._processArguments(),this.parent.emit(D,_,$);else if(_.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",_,$);if(this.listenerCount("command:*"))this.emit("command:*",_,$);else if(this.commands.length)this.unknownCommand();else J(),this._processArguments()}else if(this.commands.length)J(),this.help({error:!0});else J(),this._processArguments()}_findCommand(_){if(!_)return;return this.commands.find(($)=>$._name===_||$._aliases.includes(_))}_findOption(_){return this.options.find(($)=>$.is(_))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((_)=>{_.options.forEach(($)=>{if($.mandatory&&_.getOptionValue($.attributeName())===void 0)_.missingMandatoryOptionValue($)})})}_checkForConflictingLocalOptions(){let _=this.options.filter((U)=>{let J=U.attributeName();if(this.getOptionValue(J)===void 0)return!1;return this.getOptionValueSource(J)!=="default"});_.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let J=_.find((D)=>U.conflictsWith.includes(D.attributeName()));if(J)this._conflictingOption(U,J)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((_)=>{_._checkForConflictingLocalOptions()})}parseOptions(_){let $=[],U=[],J=$,D=_.slice();function j(G){return G.length>1&&G[0]==="-"}let W=null;while(D.length){let G=D.shift();if(G==="--"){if(J===U)J.push(G);J.push(...D);break}if(W&&!j(G)){this.emit(`option:${W.name()}`,G);continue}if(W=null,j(G)){let X=this._findOption(G);if(X){if(X.required){let N=D.shift();if(N===void 0)this.optionMissingArgument(X);this.emit(`option:${X.name()}`,N)}else if(X.optional){let N=null;if(D.length>0&&!j(D[0]))N=D.shift();this.emit(`option:${X.name()}`,N)}else this.emit(`option:${X.name()}`);W=X.variadic?X:null;continue}}if(G.length>2&&G[0]==="-"&&G[1]!=="-"){let X=this._findOption(`-${G[1]}`);if(X){if(X.required||X.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${X.name()}`,G.slice(2));else this.emit(`option:${X.name()}`),D.unshift(`-${G.slice(2)}`);continue}}if(/^--[^=]+=/.test(G)){let X=G.indexOf("="),N=this._findOption(G.slice(0,X));if(N&&(N.required||N.optional)){this.emit(`option:${N.name()}`,G.slice(X+1));continue}}if(j(G))J=U;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&U.length===0){if(this._findCommand(G)){if($.push(G),D.length>0)U.push(...D);break}else if(this._getHelpCommand()&&G===this._getHelpCommand().name()){if($.push(G),D.length>0)$.push(...D);break}else if(this._defaultCommandName){if(U.push(G),D.length>0)U.push(...D);break}}if(this._passThroughOptions){if(J.push(G),D.length>0)J.push(...D);break}J.push(G)}return{operands:$,unknown:U}}opts(){if(this._storeOptionsAsProperties){let _={},$=this.options.length;for(let U=0;U<$;U++){let J=this.options[U].attributeName();_[J]=J===this._versionOptionName?this._version:this[J]}return _}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((_,$)=>Object.assign(_,$.opts()),{})}error(_,$){if(this._outputConfiguration.outputError(`${_} + - ${W}`;throw Error(J)}_executeSubCommand($,_){_=_.slice();let U=!1,W=[".js",".ts",".tsx",".mjs",".cjs"];function J(j,O){let B=b4.resolve(j,O);if(I5.existsSync(B))return B;if(W.includes(b4.extname(O)))return;let V=W.find((L)=>I5.existsSync(`${B}${L}`));if(V)return`${B}${V}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let X=$._executableFile||`${this._name}-${$._name}`,G=this._executableDir||"";if(this._scriptPath){let j;try{j=I5.realpathSync(this._scriptPath)}catch{j=this._scriptPath}G=b4.resolve(b4.dirname(j),G)}if(G){let j=J(G,X);if(!j&&!$._executableFile&&this._scriptPath){let O=b4.basename(this._scriptPath,b4.extname(this._scriptPath));if(O!==this._name)j=J(G,`${O}-${$._name}`)}X=j||X}U=W.includes(b4.extname(X));let Q;if(f$.platform!=="win32")if(U)_.unshift(X),_=pA(f$.execArgv).concat(_),Q=HO.spawn(f$.argv[0],_,{stdio:"inherit"});else Q=HO.spawn(X,_,{stdio:"inherit"});else this._checkForMissingExecutable(X,G,$._name),_.unshift(X),_=pA(f$.execArgv).concat(_),Q=HO.spawn(f$.execPath,_,{stdio:"inherit"});if(!Q.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((O)=>{f$.on(O,()=>{if(Q.killed===!1&&Q.exitCode===null)Q.kill(O)})});let Y=this._exitCallback;Q.on("close",(j)=>{if(j=j??1,!Y)f$.exit(j);else Y(new VO(j,"commander.executeSubCommandAsync","(close)"))}),Q.on("error",(j)=>{if(j.code==="ENOENT")this._checkForMissingExecutable(X,G,$._name);else if(j.code==="EACCES")throw Error(`'${X}' not executable`);if(!Y)f$.exit(1);else{let O=new VO(1,"commander.executeSubCommandAsync","(error)");O.nestedError=j,Y(O)}}),this.runningCommand=Q}_dispatchSubcommand($,_,U){let W=this._findCommand($);if(!W)this.help({error:!0});W._prepareForParse();let J;return J=this._chainOrCallSubCommandHook(J,W,"preSubcommand"),J=this._chainOrCall(J,()=>{if(W._executableHandler)this._executeSubCommand(W,_.concat(U));else return W._parseCommand(_,U)}),J}_dispatchHelpCommand($){if(!$)this.help();let _=this._findCommand($);if(_&&!_._executableHandler)_.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,_)=>{if($.required&&this.args[_]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(U,W,J)=>{let X=W;if(W!==null&&U.parseArg){let G=`error: command-argument value '${W}' is invalid for argument '${U.name()}'.`;X=this._callParseArg(U,W,J,G)}return X};this._checkNumberOfArguments();let _=[];this.registeredArguments.forEach((U,W)=>{let J=U.defaultValue;if(U.variadic){if(W{return $(U,G,X)},U.defaultValue)}else if(J===void 0)J=[]}else if(W_());return _()}_chainOrCallHooks($,_){let U=$,W=[];if(this._getCommandAndAncestors().reverse().filter((J)=>J._lifeCycleHooks[_]!==void 0).forEach((J)=>{J._lifeCycleHooks[_].forEach((X)=>{W.push({hookedCommand:J,callback:X})})}),_==="postAction")W.reverse();return W.forEach((J)=>{U=this._chainOrCall(U,()=>{return J.callback(J.hookedCommand,this)})}),U}_chainOrCallSubCommandHook($,_,U){let W=$;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((J)=>{W=this._chainOrCall(W,()=>{return J(this,_)})});return W}_parseCommand($,_){let U=this.parseOptions(_);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(U.operands),_=U.unknown,this.args=$.concat(_),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),_);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(_),this._dispatchSubcommand(this._defaultCommandName,$,_);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(U.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let W=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},J=`command:${this.name()}`;if(this._actionHandler){W(),this._processArguments();let X;if(X=this._chainOrCallHooks(X,"preAction"),X=this._chainOrCall(X,()=>this._actionHandler(this.processedArgs)),this.parent)X=this._chainOrCall(X,()=>{this.parent.emit(J,$,_)});return X=this._chainOrCallHooks(X,"postAction"),X}if(this.parent&&this.parent.listenerCount(J))W(),this._processArguments(),this.parent.emit(J,$,_);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,_);if(this.listenerCount("command:*"))this.emit("command:*",$,_);else if(this.commands.length)this.unknownCommand();else W(),this._processArguments()}else if(this.commands.length)W(),this.help({error:!0});else W(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((_)=>_._name===$||_._aliases.includes($))}_findOption($){return this.options.find((_)=>_.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((_)=>{if(_.mandatory&&$.getOptionValue(_.attributeName())===void 0)$.missingMandatoryOptionValue(_)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((U)=>{let W=U.attributeName();if(this.getOptionValue(W)===void 0)return!1;return this.getOptionValueSource(W)!=="default"});$.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let W=$.find((J)=>U.conflictsWith.includes(J.attributeName()));if(W)this._conflictingOption(U,W)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let _=[],U=[],W=_,J=$.slice();function X(Q){return Q.length>1&&Q[0]==="-"}let G=null;while(J.length){let Q=J.shift();if(Q==="--"){if(W===U)W.push(Q);W.push(...J);break}if(G&&!X(Q)){this.emit(`option:${G.name()}`,Q);continue}if(G=null,X(Q)){let Y=this._findOption(Q);if(Y){if(Y.required){let j=J.shift();if(j===void 0)this.optionMissingArgument(Y);this.emit(`option:${Y.name()}`,j)}else if(Y.optional){let j=null;if(J.length>0&&!X(J[0]))j=J.shift();this.emit(`option:${Y.name()}`,j)}else this.emit(`option:${Y.name()}`);G=Y.variadic?Y:null;continue}}if(Q.length>2&&Q[0]==="-"&&Q[1]!=="-"){let Y=this._findOption(`-${Q[1]}`);if(Y){if(Y.required||Y.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${Y.name()}`,Q.slice(2));else this.emit(`option:${Y.name()}`),J.unshift(`-${Q.slice(2)}`);continue}}if(/^--[^=]+=/.test(Q)){let Y=Q.indexOf("="),j=this._findOption(Q.slice(0,Y));if(j&&(j.required||j.optional)){this.emit(`option:${j.name()}`,Q.slice(Y+1));continue}}if(X(Q))W=U;if((this._enablePositionalOptions||this._passThroughOptions)&&_.length===0&&U.length===0){if(this._findCommand(Q)){if(_.push(Q),J.length>0)U.push(...J);break}else if(this._getHelpCommand()&&Q===this._getHelpCommand().name()){if(_.push(Q),J.length>0)_.push(...J);break}else if(this._defaultCommandName){if(U.push(Q),J.length>0)U.push(...J);break}}if(this._passThroughOptions){if(W.push(Q),J.length>0)W.push(...J);break}W.push(Q)}return{operands:_,unknown:U}}opts(){if(this._storeOptionsAsProperties){let $={},_=this.options.length;for(let U=0;U<_;U++){let W=this.options[U].attributeName();$[W]=W===this._versionOptionName?this._version:this[W]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,_)=>Object.assign($,_.opts()),{})}error($,_){if(this._outputConfiguration.outputError(`${$} `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError} `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(` -`),this.outputHelp({error:!0});let U=$||{},J=U.exitCode||1,D=U.code||"commander.error";this._exit(J,D,_)}_parseOptionsEnv(){this.options.forEach((_)=>{if(_.envVar&&_.envVar in E_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,E_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new Mv(this.options),$=(U)=>{return this.getOptionValue(U)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(U))};this.options.filter((U)=>U.implied!==void 0&&$(U.attributeName())&&_.valueFromOption(this.getOptionValue(U.attributeName()),U)).forEach((U)=>{Object.keys(U.implied).filter((J)=>!$(J)).forEach((J)=>{this.setOptionValueWithSource(J,U.implied[J],"implied")})})}missingArgument(_){let $=`error: missing required argument '${_}'`;this.error($,{code:"commander.missingArgument"})}optionMissingArgument(_){let $=`error: option '${_.flags}' argument missing`;this.error($,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(_){let $=`error: required option '${_.flags}' not specified`;this.error($,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(_,$){let U=(j)=>{let W=j.attributeName(),G=this.getOptionValue(W),X=this.options.find((z)=>z.negate&&W===z.attributeName()),N=this.options.find((z)=>!z.negate&&W===z.attributeName());if(X&&(X.presetArg===void 0&&G===!1||X.presetArg!==void 0&&G===X.presetArg))return X;return N||j},J=(j)=>{let W=U(j),G=W.attributeName();if(this.getOptionValueSource(G)==="env")return`environment variable '${W.envVar}'`;return`option '${W.flags}'`},D=`error: ${J(_)} cannot be used with ${J($)}`;this.error(D,{code:"commander.conflictingOption"})}unknownOption(_){if(this._allowUnknownOption)return;let $="";if(_.startsWith("--")&&this._showSuggestionAfterError){let J=[],D=this;do{let j=D.createHelp().visibleOptions(D).filter((W)=>W.long).map((W)=>W.long);J=J.concat(j),D=D.parent}while(D&&!D._enablePositionalOptions);$=bB(_,J)}let U=`error: unknown option '${_}'${$}`;this.error(U,{code:"commander.unknownOption"})}_excessArguments(_){if(this._allowExcessArguments)return;let $=this.registeredArguments.length,U=$===1?"":"s",D=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${$} argument${U} but got ${_.length}.`;this.error(D,{code:"commander.excessArguments"})}unknownCommand(){let _=this.args[0],$="";if(this._showSuggestionAfterError){let J=[];this.createHelp().visibleCommands(this).forEach((D)=>{if(J.push(D.name()),D.alias())J.push(D.alias())}),$=bB(_,J)}let U=`error: unknown command '${_}'${$}`;this.error(U,{code:"commander.unknownCommand"})}version(_,$,U){if(_===void 0)return this._version;this._version=_,$=$||"-V, --version",U=U||"output the version number";let J=this.createOption($,U);return this._versionOptionName=J.attributeName(),this._registerOption(J),this.on("option:"+J.name(),()=>{this._outputConfiguration.writeOut(`${_} -`),this._exit(0,"commander.version",_)}),this}description(_,$){if(_===void 0&&$===void 0)return this._description;if(this._description=_,$)this._argsDescription=$;return this}summary(_){if(_===void 0)return this._summary;return this._summary=_,this}alias(_){if(_===void 0)return this._aliases[0];let $=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)$=this.commands[this.commands.length-1];if(_===$._name)throw Error("Command alias can't be the same as its name");let U=this.parent?._findCommand(_);if(U){let J=[U.name()].concat(U.aliases()).join("|");throw Error(`cannot add alias '${_}' to command '${this.name()}' as already have command '${J}'`)}return $._aliases.push(_),this}aliases(_){if(_===void 0)return this._aliases;return _.forEach(($)=>this.alias($)),this}usage(_){if(_===void 0){if(this._usage)return this._usage;let $=this.registeredArguments.map((U)=>{return Kv(U)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?$:[]).join(" ")}return this._usage=_,this}name(_){if(_===void 0)return this._name;return this._name=_,this}nameFromFilename(_){return this._name=u6.basename(_,u6.extname(_)),this}executableDir(_){if(_===void 0)return this._executableDir;return this._executableDir=_,this}helpInformation(_){let $=this.createHelp(),U=this._getOutputContext(_);$.prepareContext({error:U.error,helpWidth:U.helpWidth,outputHasColors:U.hasColors});let J=$.formatHelp(this,$);if(U.hasColors)return J;return this._outputConfiguration.stripColor(J)}_getOutputContext(_){_=_||{};let $=!!_.error,U,J,D;if($)U=(W)=>this._outputConfiguration.writeErr(W),J=this._outputConfiguration.getErrHasColors(),D=this._outputConfiguration.getErrHelpWidth();else U=(W)=>this._outputConfiguration.writeOut(W),J=this._outputConfiguration.getOutHasColors(),D=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(W)=>{if(!J)W=this._outputConfiguration.stripColor(W);return U(W)},hasColors:J,helpWidth:D}}outputHelp(_){let $;if(typeof _==="function")$=_,_=void 0;let U=this._getOutputContext(_),J={error:U.error,write:U.write,command:this};this._getCommandAndAncestors().reverse().forEach((j)=>j.emit("beforeAllHelp",J)),this.emit("beforeHelp",J);let D=this.helpInformation({error:U.error});if($){if(D=$(D),typeof D!=="string"&&!Buffer.isBuffer(D))throw Error("outputHelp callback must return a string or a Buffer")}if(U.write(D),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",J),this._getCommandAndAncestors().forEach((j)=>j.emit("afterAllHelp",J))}helpOption(_,$){if(typeof _==="boolean"){if(_)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return _=_??"-h, --help",$=$??"display help for command",this._helpOption=this.createOption(_,$),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(_){return this._helpOption=_,this}help(_){this.outputHelp(_);let $=Number(E_.exitCode??0);if($===0&&_&&typeof _!=="function"&&_.error)$=1;this._exit($,"commander.help","(outputHelp)")}addHelpText(_,$){let U=["beforeAll","before","after","afterAll"];if(!U.includes(_))throw Error(`Unexpected value for position to addHelpText. -Expecting one of '${U.join("', '")}'`);let J=`${_}Help`;return this.on(J,(D)=>{let j;if(typeof $==="function")j=$({error:D.error,command:D.command});else j=$;if(j)D.write(`${j} -`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((J)=>$.is(J)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function KB(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let U,J="127.0.0.1",D="9229",j;if((j=$.match(/^(--inspect(-brk)?)$/))!==null)U=j[1];else if((j=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=j[1],/^\d+$/.test(j[3]))D=j[3];else J=j[3];else if((j=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=j[1],J=j[3],D=j[4];if(U&&D!=="0")return`${U}=${J}:${parseInt(D)+1}`;return $})}function wz(){if(E_.env.NO_COLOR||E_.env.FORCE_COLOR==="0"||E_.env.FORCE_COLOR==="false")return!1;if(E_.env.FORCE_COLOR||E_.env.CLICOLOR_FORCE!==void 0)return!0;return}Pv.Command=Sz;Pv.useColor=wz});var kB=V4((Tv)=>{var{Argument:FB}=sW(),{Command:fz}=IB(),{CommanderError:Sv,InvalidArgumentError:MB}=LD(),{Help:fv}=Fz(),{Option:PB}=Mz();Tv.program=new fz;Tv.createCommand=(_)=>new fz(_);Tv.createOption=(_,$)=>new PB(_,$);Tv.createArgument=(_,$)=>new FB(_,$);Tv.Command=fz;Tv.Option=PB;Tv.Argument=FB;Tv.Help=fv;Tv.CommanderError=Sv;Tv.InvalidArgumentError=MB;Tv.InvalidOptionArgumentError=MB});import{chmodSync as az,closeSync as LU,existsSync as Z0,fsyncSync as EG,lstatSync as VR,openSync as BG,readFileSync as gU,renameSync as ez,unlinkSync as RG,writeFileSync as HG}from"fs";import{randomUUID as EU}from"crypto";import{basename as bR,dirname as sz,join as gG}from"path";import{chmodSync as nz,existsSync as ER,mkdirSync as NG,readFileSync as BR,writeFileSync as mz}from"fs";import{homedir as OG}from"os";import{dirname as RR,join as t_,resolve as dz}from"path";var L6=t_(".hasna","knowledge"),cz=t_(".hasna","apps","knowledge"),A_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:L6,s3:{bucket:"example-knowledge-prod",region:"us-east-1",profile:"example-infra",prefix:".hasna/knowledge",server_side_encryption:"AES256"},secrets:{env:"example/knowledge/prod/env",aws:"example/knowledge/prod/aws",s3:"example/knowledge/prod/s3",rds:null,future_rds:"example/knowledge/prod/rds"},source_owner:"open-files",evidence_doc:"docs/canonical-secrets-bootstrap-2026-06-08.md"};function iz(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:A_.s3.bucket,prefix:A_.s3.prefix,region:A_.s3.region,profile:A_.s3.profile,server_side_encryption:A_.s3.server_side_encryption}}}function QU(){return t_(OG(),".open-knowledge","db.json")}function AD(){return t_(OG(),".hasna","knowledge")}function YG(_=process.cwd()){return dz(_,L6)}function HR(){return t_(OG(),cz)}function AR(_=process.cwd()){return dz(_,cz)}function zG(_,$=process.cwd()){if(_==="project"||_==="local")return L$(AR($));return L$(HR())}function L$(_){return{home:_,configPath:t_(_,"config.json"),jsonStorePath:t_(_,"db.json"),knowledgeDbPath:t_(_,"knowledge.db"),artifactsDir:t_(_,"artifacts"),cacheDir:t_(_,"cache"),exportsDir:t_(_,"exports"),indexesDir:t_(_,"indexes"),logsDir:t_(_,"logs"),runsDir:t_(_,"runs"),schemasDir:t_(_,"schemas"),wikiDir:t_(_,"wiki")}}function qU(){return{version:1,mode:"local",hosted:{api_url:"https://knowledge.md"},storage:{type:"local",artifacts_root:"artifacts"},sources:{preferred_ref:"open-files",allowed_schemes:["open-files","s3","file","https","http"]},providers:{default_model:"openai:gpt-5.2",aliases:{fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"},openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},embeddings:{default_model:"openai:text-embedding-3-small",dimensions:1536,batch_size:64,max_parallel_calls:4},safety:{network:{web_search_enabled:!1,s3_reads_enabled:!1,allowed_s3_buckets:[]},redaction:{enabled:!0},approvals:{generated_writes_require_approval:!0}}}}function C0(_){let $=L$(_);NG($.home,{recursive:!0,mode:448});for(let U of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])NG(U,{recursive:!0,mode:448});if(!ER($.configPath))mz($.configPath,`${JSON.stringify(qU(),null,2)} -`,{mode:384}),nz($.configPath,384);return $}function VD(_,$=process.cwd()){if(_==="project"||_==="local")return L$(YG($));return L$(AD())}function m6(_){NG(RR(_),{recursive:!0})}function QG(_){let $=BR(_,"utf8");return JSON.parse($)}function lz(_,$){m6(_),mz(_,`${JSON.stringify($,null,2)} -`,{mode:384}),nz(_,384)}function KD(){return L$(AD()).jsonStorePath}function BU(_){if(_===KD()&&Z0(QU()))VG();if(!Z0(_))m6(_),UQ(_,`${JSON.stringify({items:[]},null,2)} -`)}function KR(_){return _.toISOString().replace(/[:.]/g,"-")}function AG(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function IR(_){let $=new Set;for(let U of _)for(let J of AG(U))$.add(J);return $}function FR(_,$){return AG($).some((U)=>_.has(U))}function qG(_,$){m6(_),HG(_,`${JSON.stringify($,null,2)} -`,{mode:384}),az(_,384)}function oz(_){let $=JSON.parse(gU(_,"utf8"));if(!$||typeof $!=="object"||!Array.isArray($.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},J=0;for(let D of $.items)if(D&&typeof D==="object"&&typeof D.id==="string"&&D.id.length>0)U.items.push(D);else J+=1;return{store:U,skippedInvalid:J}}function VG(_={}){if(_.dryRun===!0)return pz(_);return $6(KD(),()=>pz(_),{createParent:!0})}function pz(_={}){let $=_.dryRun===!0,U=_.now??new Date,J=L$(AD()),D=QU(),j=J.jsonStorePath,W=Z0(D),G=Z0(j),X={ok:!0,dry_run:$,legacy_path:D,canonical_path:j,legacy_exists:W,canonical_existed:G,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:W?"Legacy global store already imported":"No legacy global store found"};if(!W)return X;let N;try{let q=oz(D);N=q.store,X.skipped_invalid=q.skippedInvalid}catch(q){return X.ok=!1,X.errors.push(`Could not read legacy store: ${q instanceof Error?q.message:String(q)}`),X.message="Legacy global store import failed",X}let z={items:[]};if(G)try{z=oz(j).store}catch(q){return X.ok=!1,X.errors.push(`Could not read canonical store: ${q instanceof Error?q.message:String(q)}`),X.message="Legacy global store import failed",X}let L=IR(z.items),E={items:[...z.items]};for(let q of N.items){if(!q?.id){X.skipped_invalid+=1;continue}if(FR(L,q)){X.skipped_existing+=1;continue}E.items.push(q);for(let g of AG(q))L.add(g);X.imported+=1}if(X.would_create_canonical=!G&&X.imported>0,X.canonical_created=!$&&X.would_create_canonical,X.message=X.imported>0?`Imported ${X.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",$||X.imported===0)return X;let Q=`${KR(U)}-${EU().slice(0,8)}`;if(G)X.backup_path=gG(J.exportsDir,`legacy-open-knowledge-db-before-import-${Q}.json`),qG(X.backup_path,z);return qG(j,E),X.report_path=gG(J.runsDir,`legacy-open-knowledge-import-${Q}.json`),qG(X.report_path,X),X}function v0(_){if(!Z0(_))return{exists:!1,items:[]};let $=gU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function MR(_){return`${_}.lock`}var bD=1e4,_Q=25,tz=120000,PR=new Int32Array(new SharedArrayBuffer(4));function bG(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function $Q(_){let $=null;try{$=BG(sz(_),"r"),EG($)}catch{}finally{if($!==null)try{LU($)}catch{}}}var LG=new Set;function UQ(_,$){m6(_);let U=gG(sz(_),`.${bR(_)}.tmp.${EU()}`),J=null;try{J=BG(U,"wx",384),HG(J,$),EG(J),LU(J),J=null,ez(U,_);try{az(_,384)}catch{}$Q(_)}catch(D){if(J!==null)try{LU(J)}catch{}try{RG(U)}catch{}throw D}}function DQ(_){Atomics.wait(PR,0,0,_)}function kR(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return bG($)!=="ESRCH"}}function JQ(_,$){try{let U=gU(_,"utf8"),J=JSON.parse(U);if(typeof J.ts==="number")return $-J.ts>tz&&!kR(J.pid)}catch{}try{return $-VR(_).mtimeMs>tz}catch{return!1}}function wR(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${_}.stale.${$}.${EU()}`;try{ez(_,U)}catch(J){if(bG(J)!=="ENOENT")throw J;return}}function SR(_){let $=EU(),U=`${_}.breaker`,J=Date.now();while(Date.now()-J_;function ZR(_,$){this[_]=CR.bind(null,$)}var vR=(_,$)=>{for(var U in $)TR(_,U,{get:$[U],enumerable:!0,configurable:!0,set:ZR.bind($,U)})},O={};vR(O,{void:()=>HH,util:()=>Q_,unknown:()=>BH,union:()=>KH,undefined:()=>LH,tuple:()=>MH,transformer:()=>YQ,symbol:()=>qH,string:()=>AQ,strictObject:()=>bH,setErrorMap:()=>xR,set:()=>wH,record:()=>PH,quotelessJson:()=>yR,promise:()=>vH,preprocess:()=>xH,pipeline:()=>rH,ostring:()=>uH,optional:()=>yH,onumber:()=>nH,oboolean:()=>mH,objectUtil:()=>PG,object:()=>VH,number:()=>VQ,nullable:()=>hH,null:()=>gH,never:()=>RH,nativeEnum:()=>ZH,nan:()=>YH,map:()=>kH,makeIssue:()=>MD,literal:()=>TH,lazy:()=>fH,late:()=>NH,isValid:()=>b4,isDirty:()=>wG,isAsync:()=>HU,isAborted:()=>kG,intersection:()=>FH,instanceof:()=>OH,getParsedType:()=>B6,getErrorMap:()=>FD,function:()=>SH,enum:()=>CH,effect:()=>YQ,discriminatedUnion:()=>IH,defaultErrorMap:()=>r0,datetimeRegex:()=>BQ,date:()=>QH,custom:()=>HQ,coerce:()=>dH,boolean:()=>bQ,bigint:()=>zH,array:()=>AH,any:()=>EH,addIssueToContext:()=>v,ZodVoid:()=>VU,ZodUnknown:()=>d6,ZodUnion:()=>d0,ZodUndefined:()=>n0,ZodType:()=>X_,ZodTuple:()=>D6,ZodTransformer:()=>I$,ZodSymbol:()=>AU,ZodString:()=>C$,ZodSet:()=>F4,ZodSchema:()=>X_,ZodRecord:()=>bU,ZodReadonly:()=>a0,ZodPromise:()=>M4,ZodPipeline:()=>FU,ZodParsedType:()=>r,ZodOptional:()=>v$,ZodObject:()=>y_,ZodNumber:()=>c6,ZodNullable:()=>R6,ZodNull:()=>m0,ZodNever:()=>U6,ZodNativeEnum:()=>o0,ZodNaN:()=>IU,ZodMap:()=>KU,ZodLiteral:()=>l0,ZodLazy:()=>i0,ZodIssueCode:()=>w,ZodIntersection:()=>c0,ZodFunction:()=>x0,ZodFirstPartyTypeKind:()=>e,ZodError:()=>g$,ZodEnum:()=>l6,ZodEffects:()=>I$,ZodDiscriminatedUnion:()=>kD,ZodDefault:()=>p0,ZodDate:()=>K4,ZodCatch:()=>t0,ZodBranded:()=>wD,ZodBoolean:()=>u0,ZodBigInt:()=>i6,ZodArray:()=>Z$,ZodAny:()=>I4,Schema:()=>X_,ParseStatus:()=>a_,OK:()=>j$,NEVER:()=>cH,INVALID:()=>t,EMPTY_PATH:()=>rR,DIRTY:()=>h0,BRAND:()=>XH});var Q_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function U(D){throw Error()}_.assertNever=U,_.arrayToEnum=(D)=>{let j={};for(let W of D)j[W]=W;return j},_.getValidEnumValues=(D)=>{let j=_.objectKeys(D).filter((G)=>typeof D[D[G]]!=="number"),W={};for(let G of j)W[G]=D[G];return _.objectValues(W)},_.objectValues=(D)=>{return _.objectKeys(D).map(function(j){return D[j]})},_.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let j=[];for(let W in D)if(Object.prototype.hasOwnProperty.call(D,W))j.push(W);return j},_.find=(D,j)=>{for(let W of D)if(j(W))return W;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function J(D,j=" | "){return D.map((W)=>typeof W==="string"?`'${W}'`:W).join(j)}_.joinValues=J,_.jsonStringifyReplacer=(D,j)=>{if(typeof j==="bigint")return j.toString();return j}})(Q_||(Q_={}));var PG;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(PG||(PG={}));var r=Q_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),B6=(_)=>{switch(typeof _){case"undefined":return r.undefined;case"string":return r.string;case"number":return Number.isNaN(_)?r.nan:r.number;case"boolean":return r.boolean;case"function":return r.function;case"bigint":return r.bigint;case"symbol":return r.symbol;case"object":if(Array.isArray(_))return r.array;if(_===null)return r.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return r.promise;if(typeof Map<"u"&&_ instanceof Map)return r.map;if(typeof Set<"u"&&_ instanceof Set)return r.set;if(typeof Date<"u"&&_ instanceof Date)return r.date;return r.object;default:return r.unknown}},w=Q_.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),yR=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class g$ extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=_}format(_){let $=_||function(D){return D.message},U={_errors:[]},J=(D)=>{for(let j of D.issues)if(j.code==="invalid_union")j.unionErrors.map(J);else if(j.code==="invalid_return_type")J(j.returnTypeError);else if(j.code==="invalid_arguments")J(j.argumentsError);else if(j.path.length===0)U._errors.push($(j));else{let W=U,G=0;while(G$.message){let $={},U=[];for(let J of this.issues)if(J.path.length>0){let D=J.path[0];$[D]=$[D]||[],$[D].push(_(J))}else U.push(_(J));return{formErrors:U,fieldErrors:$}}get formErrors(){return this.flatten()}}g$.create=(_)=>{return new g$(_)};var hR=(_,$)=>{let U;switch(_.code){case w.invalid_type:if(_.received===r.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case w.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,Q_.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:U=`Unrecognized key(s) in object: ${Q_.joinValues(_.keys,", ")}`;break;case w.invalid_union:U="Invalid input";break;case w.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${Q_.joinValues(_.options)}`;break;case w.invalid_enum_value:U=`Invalid enum value. Expected ${Q_.joinValues(_.options)}, received '${_.received}'`;break;case w.invalid_arguments:U="Invalid function arguments";break;case w.invalid_return_type:U="Invalid function return type";break;case w.invalid_date:U="Invalid date";break;case w.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(U=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)U=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)U=`Invalid input: must end with "${_.validation.endsWith}"`;else Q_.assertNever(_.validation);else if(_.validation!=="regex")U=`Invalid ${_.validation}`;else U="Invalid";break;case w.too_small:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else U="Invalid input";break;case w.too_big:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")U=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else U="Invalid input";break;case w.custom:U="Invalid input";break;case w.invalid_intersection_types:U="Intersection results could not be merged";break;case w.not_multiple_of:U=`Number must be a multiple of ${_.multipleOf}`;break;case w.not_finite:U="Number must be finite";break;default:U=$.defaultError,Q_.assertNever(_)}return{message:U}},r0=hR,LQ=r0;function xR(_){LQ=_}function FD(){return LQ}var MD=(_)=>{let{data:$,path:U,errorMaps:J,issueData:D}=_,j=[...U,...D.path||[]],W={...D,path:j};if(D.message!==void 0)return{...D,path:j,message:D.message};let G="",X=J.filter((N)=>!!N).slice().reverse();for(let N of X)G=N(W,{data:$,defaultError:G}).message;return{...D,path:j,message:G}},rR=[];function v(_,$){let U=FD(),J=MD({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===r0?void 0:r0].filter((D)=>!!D)});_.common.issues.push(J)}class a_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,$){let U=[];for(let J of $){if(J.status==="aborted")return t;if(J.status==="dirty")_.dirty();U.push(J.value)}return{status:_.value,value:U}}static async mergeObjectAsync(_,$){let U=[];for(let J of $){let D=await J.key,j=await J.value;U.push({key:D,value:j})}return a_.mergeObjectSync(_,U)}static mergeObjectSync(_,$){let U={};for(let J of $){let{key:D,value:j}=J;if(D.status==="aborted")return t;if(j.status==="aborted")return t;if(D.status==="dirty")_.dirty();if(j.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof j.value<"u"||J.alwaysSet))U[D.value]=j.value}return{status:_.value,value:U}}}var t=Object.freeze({status:"aborted"}),h0=(_)=>({status:"dirty",value:_}),j$=(_)=>({status:"valid",value:_}),kG=(_)=>_.status==="aborted",wG=(_)=>_.status==="dirty",b4=(_)=>_.status==="valid",HU=(_)=>typeof Promise<"u"&&_ instanceof Promise,i;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(i||(i={}));class y${constructor(_,$,U,J){this._cachedPath=[],this.parent=_,this.data=$,this._path=U,this._key=J}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var NQ=(_,$)=>{if(b4($))return{success:!0,data:$.value};else{if(!_.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new g$(_.common.issues);return this._error=U,this._error}}}};function j_(_){if(!_)return{};let{errorMap:$,invalid_type_error:U,required_error:J,description:D}=_;if($&&(U||J))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:D};return{errorMap:(W,G)=>{let{message:X}=_;if(W.code==="invalid_enum_value")return{message:X??G.defaultError};if(typeof G.data>"u")return{message:X??J??G.defaultError};if(W.code!=="invalid_type")return{message:G.defaultError};return{message:X??U??G.defaultError}},description:D}}class X_{get description(){return this._def.description}_getType(_){return B6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:B6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new a_,ctx:{common:_.parent.common,data:_.data,parsedType:B6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(HU($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(_){let $=this._parse(_);return Promise.resolve($)}parse(_,$){let U=this.safeParse(_,$);if(U.success)return U.data;throw U.error}safeParse(_,$){let U={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:B6(_)},J=this._parseSync({data:_,path:U.path,parent:U});return NQ(U,J)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:B6(_)};if(!this["~standard"].async)try{let U=this._parseSync({data:_,path:[],parent:$});return b4(U)?{value:U.value}:{issues:$.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:$}).then((U)=>b4(U)?{value:U.value}:{issues:$.common.issues})}async parseAsync(_,$){let U=await this.safeParseAsync(_,$);if(U.success)return U.data;throw U.error}async safeParseAsync(_,$){let U={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:B6(_)},J=this._parse({data:_,path:U.path,parent:U}),D=await(HU(J)?J:Promise.resolve(J));return NQ(U,D)}refine(_,$){let U=(J)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(J);else return $};return this._refinement((J,D)=>{let j=_(J),W=()=>D.addIssue({code:w.custom,...U(J)});if(typeof Promise<"u"&&j instanceof Promise)return j.then((G)=>{if(!G)return W(),!1;else return!0});if(!j)return W(),!1;else return!0})}refinement(_,$){return this._refinement((U,J)=>{if(!_(U))return J.addIssue(typeof $==="function"?$(U,J):$),!1;else return!0})}_refinement(_){return new I$({schema:this,typeName:e.ZodEffects,effect:{type:"refinement",refinement:_}})}superRefine(_){return this._refinement(_)}constructor(_){this.spa=this.safeParseAsync,this._def=_,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return v$.create(this,this._def)}nullable(){return R6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Z$.create(this)}promise(){return M4.create(this,this._def)}or(_){return d0.create([this,_],this._def)}and(_){return c0.create(this,_,this._def)}transform(_){return new I$({...j_(this._def),schema:this,typeName:e.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new p0({...j_(this._def),innerType:this,defaultValue:$,typeName:e.ZodDefault})}brand(){return new wD({typeName:e.ZodBranded,type:this,...j_(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new t0({...j_(this._def),innerType:this,catchValue:$,typeName:e.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return FU.create(this,_)}readonly(){return a0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var uR=/^c[^\s-]{8,}$/i,nR=/^[0-9a-z]+$/,mR=/^[0-9A-HJKMNP-TV-Z]{26}$/i,dR=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,cR=/^[a-z0-9_-]{21}$/i,iR=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,lR=/^[-+]?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)?)??$/,oR=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,pR="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",KG,tR=/^(?:(?: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])$/,aR=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,eR=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,sR=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_H=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$H=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,gQ="((\\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])))",UH=new RegExp(`^${gQ}$`);function EQ(_){let $="[0-5]\\d";if(_.precision)$=`${$}\\.\\d{${_.precision}}`;else if(_.precision==null)$=`${$}(\\.\\d+)?`;let U=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${U}`}function DH(_){return new RegExp(`^${EQ(_)}$`)}function BQ(_){let $=`${gQ}T${EQ(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function JH(_,$){if(($==="v4"||!$)&&tR.test(_))return!0;if(($==="v6"||!$)&&eR.test(_))return!0;return!1}function jH(_,$){if(!iR.test(_))return!1;try{let[U]=_.split(".");if(!U)return!1;let J=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),D=JSON.parse(atob(J));if(typeof D!=="object"||D===null)return!1;if("typ"in D&&D?.typ!=="JWT")return!1;if(!D.alg)return!1;if($&&D.alg!==$)return!1;return!0}catch{return!1}}function WH(_,$){if(($==="v4"||!$)&&aR.test(_))return!0;if(($==="v6"||!$)&&sR.test(_))return!0;return!1}class C$ extends X_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==r.string){let D=this._getOrReturnCtx(_);return v(D,{code:w.invalid_type,expected:r.string,received:D.parsedType}),t}let U=new a_,J=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.lengthD.value)J=this._getOrReturnCtx(_,J),v(J,{code:w.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="length"){let j=_.data.length>D.value,W=_.data.length_.test(J),{validation:$,code:w.invalid_string,...i.errToObj(U)})}_addCheck(_){return new C$({...this._def,checks:[...this._def.checks,_]})}email(_){return this._addCheck({kind:"email",...i.errToObj(_)})}url(_){return this._addCheck({kind:"url",...i.errToObj(_)})}emoji(_){return this._addCheck({kind:"emoji",...i.errToObj(_)})}uuid(_){return this._addCheck({kind:"uuid",...i.errToObj(_)})}nanoid(_){return this._addCheck({kind:"nanoid",...i.errToObj(_)})}cuid(_){return this._addCheck({kind:"cuid",...i.errToObj(_)})}cuid2(_){return this._addCheck({kind:"cuid2",...i.errToObj(_)})}ulid(_){return this._addCheck({kind:"ulid",...i.errToObj(_)})}base64(_){return this._addCheck({kind:"base64",...i.errToObj(_)})}base64url(_){return this._addCheck({kind:"base64url",...i.errToObj(_)})}jwt(_){return this._addCheck({kind:"jwt",...i.errToObj(_)})}ip(_){return this._addCheck({kind:"ip",...i.errToObj(_)})}cidr(_){return this._addCheck({kind:"cidr",...i.errToObj(_)})}datetime(_){if(typeof _==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:_});return this._addCheck({kind:"datetime",precision:typeof _?.precision>"u"?null:_?.precision,offset:_?.offset??!1,local:_?.local??!1,...i.errToObj(_?.message)})}date(_){return this._addCheck({kind:"date",message:_})}time(_){if(typeof _==="string")return this._addCheck({kind:"time",precision:null,message:_});return this._addCheck({kind:"time",precision:typeof _?.precision>"u"?null:_?.precision,...i.errToObj(_?.message)})}duration(_){return this._addCheck({kind:"duration",...i.errToObj(_)})}regex(_,$){return this._addCheck({kind:"regex",regex:_,...i.errToObj($)})}includes(_,$){return this._addCheck({kind:"includes",value:_,position:$?.position,...i.errToObj($?.message)})}startsWith(_,$){return this._addCheck({kind:"startsWith",value:_,...i.errToObj($)})}endsWith(_,$){return this._addCheck({kind:"endsWith",value:_,...i.errToObj($)})}min(_,$){return this._addCheck({kind:"min",value:_,...i.errToObj($)})}max(_,$){return this._addCheck({kind:"max",value:_,...i.errToObj($)})}length(_,$){return this._addCheck({kind:"length",value:_,...i.errToObj($)})}nonempty(_){return this.min(1,i.errToObj(_))}trim(){return new C$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new C$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new C$({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((_)=>_.kind==="datetime")}get isDate(){return!!this._def.checks.find((_)=>_.kind==="date")}get isTime(){return!!this._def.checks.find((_)=>_.kind==="time")}get isDuration(){return!!this._def.checks.find((_)=>_.kind==="duration")}get isEmail(){return!!this._def.checks.find((_)=>_.kind==="email")}get isURL(){return!!this._def.checks.find((_)=>_.kind==="url")}get isEmoji(){return!!this._def.checks.find((_)=>_.kind==="emoji")}get isUUID(){return!!this._def.checks.find((_)=>_.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((_)=>_.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((_)=>_.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((_)=>_.kind==="cuid2")}get isULID(){return!!this._def.checks.find((_)=>_.kind==="ulid")}get isIP(){return!!this._def.checks.find((_)=>_.kind==="ip")}get isCIDR(){return!!this._def.checks.find((_)=>_.kind==="cidr")}get isBase64(){return!!this._def.checks.find((_)=>_.kind==="base64")}get isBase64url(){return!!this._def.checks.find((_)=>_.kind==="base64url")}get minLength(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxLength(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}}C$.create=(_)=>{return new C$({checks:[],typeName:e.ZodString,coerce:_?.coerce??!1,...j_(_)})};function GH(_,$){let U=(_.toString().split(".")[1]||"").length,J=($.toString().split(".")[1]||"").length,D=U>J?U:J,j=Number.parseInt(_.toFixed(D).replace(".","")),W=Number.parseInt($.toFixed(D).replace(".",""));return j%W/10**D}class c6 extends X_{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(_){if(this._def.coerce)_.data=Number(_.data);if(this._getType(_)!==r.number){let D=this._getOrReturnCtx(_);return v(D,{code:w.invalid_type,expected:r.number,received:D.parsedType}),t}let U=void 0,J=new a_;for(let D of this._def.checks)if(D.kind==="int"){if(!Q_.isInteger(_.data))U=this._getOrReturnCtx(_,U),v(U,{code:w.invalid_type,expected:"integer",received:"float",message:D.message}),J.dirty()}else if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),v(U,{code:w.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="multipleOf"){if(GH(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),v(U,{code:w.not_multiple_of,multipleOf:D.value,message:D.message}),J.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))U=this._getOrReturnCtx(_,U),v(U,{code:w.not_finite,message:D.message}),J.dirty()}else Q_.assertNever(D);return{status:J.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,i.toString($))}gt(_,$){return this.setLimit("min",_,!1,i.toString($))}lte(_,$){return this.setLimit("max",_,!0,i.toString($))}lt(_,$){return this.setLimit("max",_,!1,i.toString($))}setLimit(_,$,U,J){return new c6({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:i.toString(J)}]})}_addCheck(_){return new c6({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:i.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:i.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:i.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:i.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:i.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:i.toString($)})}finite(_){return this._addCheck({kind:"finite",message:i.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:i.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:i.toString(_)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}get isInt(){return!!this._def.checks.find((_)=>_.kind==="int"||_.kind==="multipleOf"&&Q_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if($===null||U.value>$)$=U.value}else if(U.kind==="max"){if(_===null||U.value<_)_=U.value}return Number.isFinite($)&&Number.isFinite(_)}}c6.create=(_)=>{return new c6({checks:[],typeName:e.ZodNumber,coerce:_?.coerce||!1,...j_(_)})};class i6 extends X_{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(_){if(this._def.coerce)try{_.data=BigInt(_.data)}catch{return this._getInvalidInput(_)}if(this._getType(_)!==r.bigint)return this._getInvalidInput(_);let U=void 0,J=new a_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),v(U,{code:w.too_big,type:"bigint",maximum:D.value,inclusive:D.inclusive,message:D.message}),J.dirty()}else if(D.kind==="multipleOf"){if(_.data%D.value!==BigInt(0))U=this._getOrReturnCtx(_,U),v(U,{code:w.not_multiple_of,multipleOf:D.value,message:D.message}),J.dirty()}else Q_.assertNever(D);return{status:J.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return v($,{code:w.invalid_type,expected:r.bigint,received:$.parsedType}),t}gte(_,$){return this.setLimit("min",_,!0,i.toString($))}gt(_,$){return this.setLimit("min",_,!1,i.toString($))}lte(_,$){return this.setLimit("max",_,!0,i.toString($))}lt(_,$){return this.setLimit("max",_,!1,i.toString($))}setLimit(_,$,U,J){return new i6({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:i.toString(J)}]})}_addCheck(_){return new i6({...this._def,checks:[...this._def.checks,_]})}positive(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:i.toString(_)})}negative(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:i.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:i.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:i.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:i.toString($)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}}i6.create=(_)=>{return new i6({checks:[],typeName:e.ZodBigInt,coerce:_?.coerce??!1,...j_(_)})};class u0 extends X_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==r.boolean){let U=this._getOrReturnCtx(_);return v(U,{code:w.invalid_type,expected:r.boolean,received:U.parsedType}),t}return j$(_.data)}}u0.create=(_)=>{return new u0({typeName:e.ZodBoolean,coerce:_?.coerce||!1,...j_(_)})};class K4 extends X_{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==r.date){let D=this._getOrReturnCtx(_);return v(D,{code:w.invalid_type,expected:r.date,received:D.parsedType}),t}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return v(D,{code:w.invalid_date}),t}let U=new a_,J=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()D.value)J=this._getOrReturnCtx(_,J),v(J,{code:w.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),U.dirty()}else Q_.assertNever(D);return{status:U.value,value:new Date(_.data.getTime())}}_addCheck(_){return new K4({...this._def,checks:[...this._def.checks,_]})}min(_,$){return this._addCheck({kind:"min",value:_.getTime(),message:i.toString($)})}max(_,$){return this._addCheck({kind:"max",value:_.getTime(),message:i.toString($)})}get minDate(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _!=null?new Date(_):null}get maxDate(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _!=null?new Date(_):null}}K4.create=(_)=>{return new K4({checks:[],coerce:_?.coerce||!1,typeName:e.ZodDate,...j_(_)})};class AU extends X_{_parse(_){if(this._getType(_)!==r.symbol){let U=this._getOrReturnCtx(_);return v(U,{code:w.invalid_type,expected:r.symbol,received:U.parsedType}),t}return j$(_.data)}}AU.create=(_)=>{return new AU({typeName:e.ZodSymbol,...j_(_)})};class n0 extends X_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return v(U,{code:w.invalid_type,expected:r.undefined,received:U.parsedType}),t}return j$(_.data)}}n0.create=(_)=>{return new n0({typeName:e.ZodUndefined,...j_(_)})};class m0 extends X_{_parse(_){if(this._getType(_)!==r.null){let U=this._getOrReturnCtx(_);return v(U,{code:w.invalid_type,expected:r.null,received:U.parsedType}),t}return j$(_.data)}}m0.create=(_)=>{return new m0({typeName:e.ZodNull,...j_(_)})};class I4 extends X_{constructor(){super(...arguments);this._any=!0}_parse(_){return j$(_.data)}}I4.create=(_)=>{return new I4({typeName:e.ZodAny,...j_(_)})};class d6 extends X_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return j$(_.data)}}d6.create=(_)=>{return new d6({typeName:e.ZodUnknown,...j_(_)})};class U6 extends X_{_parse(_){let $=this._getOrReturnCtx(_);return v($,{code:w.invalid_type,expected:r.never,received:$.parsedType}),t}}U6.create=(_)=>{return new U6({typeName:e.ZodNever,...j_(_)})};class VU extends X_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return v(U,{code:w.invalid_type,expected:r.void,received:U.parsedType}),t}return j$(_.data)}}VU.create=(_)=>{return new VU({typeName:e.ZodVoid,...j_(_)})};class Z$ extends X_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),J=this._def;if($.parsedType!==r.array)return v($,{code:w.invalid_type,expected:r.array,received:$.parsedType}),t;if(J.exactLength!==null){let j=$.data.length>J.exactLength.value,W=$.data.lengthJ.maxLength.value)v($,{code:w.too_big,maximum:J.maxLength.value,type:"array",inclusive:!0,exact:!1,message:J.maxLength.message}),U.dirty()}if($.common.async)return Promise.all([...$.data].map((j,W)=>{return J.type._parseAsync(new y$($,j,$.path,W))})).then((j)=>{return a_.mergeArray(U,j)});let D=[...$.data].map((j,W)=>{return J.type._parseSync(new y$($,j,$.path,W))});return a_.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new Z$({...this._def,minLength:{value:_,message:i.toString($)}})}max(_,$){return new Z$({...this._def,maxLength:{value:_,message:i.toString($)}})}length(_,$){return new Z$({...this._def,exactLength:{value:_,message:i.toString($)}})}nonempty(_){return this.min(1,_)}}Z$.create=(_,$)=>{return new Z$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:e.ZodArray,...j_($)})};function y0(_){if(_ instanceof y_){let $={};for(let U in _.shape){let J=_.shape[U];$[U]=v$.create(y0(J))}return new y_({..._._def,shape:()=>$})}else if(_ instanceof Z$)return new Z$({..._._def,type:y0(_.element)});else if(_ instanceof v$)return v$.create(y0(_.unwrap()));else if(_ instanceof R6)return R6.create(y0(_.unwrap()));else if(_ instanceof D6)return D6.create(_.items.map(($)=>y0($)));else return _}class y_ extends X_{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let _=this._def.shape(),$=Q_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==r.object){let X=this._getOrReturnCtx(_);return v(X,{code:w.invalid_type,expected:r.object,received:X.parsedType}),t}let{status:U,ctx:J}=this._processInputParams(_),{shape:D,keys:j}=this._getCached(),W=[];if(!(this._def.catchall instanceof U6&&this._def.unknownKeys==="strip")){for(let X in J.data)if(!j.includes(X))W.push(X)}let G=[];for(let X of j){let N=D[X],z=J.data[X];G.push({key:{status:"valid",value:X},value:N._parse(new y$(J,z,J.path,X)),alwaysSet:X in J.data})}if(this._def.catchall instanceof U6){let X=this._def.unknownKeys;if(X==="passthrough")for(let N of W)G.push({key:{status:"valid",value:N},value:{status:"valid",value:J.data[N]}});else if(X==="strict"){if(W.length>0)v(J,{code:w.unrecognized_keys,keys:W}),U.dirty()}else if(X==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let X=this._def.catchall;for(let N of W){let z=J.data[N];G.push({key:{status:"valid",value:N},value:X._parse(new y$(J,z,J.path,N)),alwaysSet:N in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let X=[];for(let N of G){let z=await N.key,L=await N.value;X.push({key:z,value:L,alwaysSet:N.alwaysSet})}return X}).then((X)=>{return a_.mergeObjectSync(U,X)});else return a_.mergeObjectSync(U,G)}get shape(){return this._def.shape()}strict(_){return i.errToObj,new y_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,U)=>{let J=this._def.errorMap?.($,U).message??U.defaultError;if($.code==="unrecognized_keys")return{message:i.errToObj(_).message??J};return{message:J}}}:{}})}strip(){return new y_({...this._def,unknownKeys:"strip"})}passthrough(){return new y_({...this._def,unknownKeys:"passthrough"})}extend(_){return new y_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new y_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:e.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new y_({...this._def,catchall:_})}pick(_){let $={};for(let U of Q_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new y_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of Q_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new y_({...this._def,shape:()=>$})}deepPartial(){return y0(this)}partial(_){let $={};for(let U of Q_.objectKeys(this.shape)){let J=this.shape[U];if(_&&!_[U])$[U]=J;else $[U]=J.optional()}return new y_({...this._def,shape:()=>$})}required(_){let $={};for(let U of Q_.objectKeys(this.shape))if(_&&!_[U])$[U]=this.shape[U];else{let D=this.shape[U];while(D instanceof v$)D=D._def.innerType;$[U]=D}return new y_({...this._def,shape:()=>$})}keyof(){return RQ(Q_.objectKeys(this.shape))}}y_.create=(_,$)=>{return new y_({shape:()=>_,unknownKeys:"strip",catchall:U6.create(),typeName:e.ZodObject,...j_($)})};y_.strictCreate=(_,$)=>{return new y_({shape:()=>_,unknownKeys:"strict",catchall:U6.create(),typeName:e.ZodObject,...j_($)})};y_.lazycreate=(_,$)=>{return new y_({shape:_,unknownKeys:"strip",catchall:U6.create(),typeName:e.ZodObject,...j_($)})};class d0 extends X_{_parse(_){let{ctx:$}=this._processInputParams(_),U=this._def.options;function J(D){for(let W of D)if(W.result.status==="valid")return W.result;for(let W of D)if(W.result.status==="dirty")return $.common.issues.push(...W.ctx.common.issues),W.result;let j=D.map((W)=>new g$(W.ctx.common.issues));return v($,{code:w.invalid_union,unionErrors:j}),t}if($.common.async)return Promise.all(U.map(async(D)=>{let j={...$,common:{...$.common,issues:[]},parent:null};return{result:await D._parseAsync({data:$.data,path:$.path,parent:j}),ctx:j}})).then(J);else{let D=void 0,j=[];for(let G of U){let X={...$,common:{...$.common,issues:[]},parent:null},N=G._parseSync({data:$.data,path:$.path,parent:X});if(N.status==="valid")return N;else if(N.status==="dirty"&&!D)D={result:N,ctx:X};if(X.common.issues.length)j.push(X.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let W=j.map((G)=>new g$(G));return v($,{code:w.invalid_union,unionErrors:W}),t}}get options(){return this._def.options}}d0.create=(_,$)=>{return new d0({options:_,typeName:e.ZodUnion,...j_($)})};var E6=(_)=>{if(_ instanceof i0)return E6(_.schema);else if(_ instanceof I$)return E6(_.innerType());else if(_ instanceof l0)return[_.value];else if(_ instanceof l6)return _.options;else if(_ instanceof o0)return Q_.objectValues(_.enum);else if(_ instanceof p0)return E6(_._def.innerType);else if(_ instanceof n0)return[void 0];else if(_ instanceof m0)return[null];else if(_ instanceof v$)return[void 0,...E6(_.unwrap())];else if(_ instanceof R6)return[null,...E6(_.unwrap())];else if(_ instanceof wD)return E6(_.unwrap());else if(_ instanceof a0)return E6(_.unwrap());else if(_ instanceof t0)return E6(_._def.innerType);else return[]};class kD extends X_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.object)return v($,{code:w.invalid_type,expected:r.object,received:$.parsedType}),t;let U=this.discriminator,J=$.data[U],D=this.optionsMap.get(J);if(!D)return v($,{code:w.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),t;if($.common.async)return D._parseAsync({data:$.data,path:$.path,parent:$});else return D._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(_,$,U){let J=new Map;for(let D of $){let j=E6(D.shape[_]);if(!j.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let W of j){if(J.has(W))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(W)}`);J.set(W,D)}}return new kD({typeName:e.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:J,...j_(U)})}}function SG(_,$){let U=B6(_),J=B6($);if(_===$)return{valid:!0,data:_};else if(U===r.object&&J===r.object){let D=Q_.objectKeys($),j=Q_.objectKeys(_).filter((G)=>D.indexOf(G)!==-1),W={..._,...$};for(let G of j){let X=SG(_[G],$[G]);if(!X.valid)return{valid:!1};W[G]=X.data}return{valid:!0,data:W}}else if(U===r.array&&J===r.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let j=0;j<_.length;j++){let W=_[j],G=$[j],X=SG(W,G);if(!X.valid)return{valid:!1};D.push(X.data)}return{valid:!0,data:D}}else if(U===r.date&&J===r.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class c0 extends X_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),J=(D,j)=>{if(kG(D)||kG(j))return t;let W=SG(D.value,j.value);if(!W.valid)return v(U,{code:w.invalid_intersection_types}),t;if(wG(D)||wG(j))$.dirty();return{status:$.value,value:W.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([D,j])=>J(D,j));else return J(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}c0.create=(_,$,U)=>{return new c0({left:_,right:$,typeName:e.ZodIntersection,...j_(U)})};class D6 extends X_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.array)return v(U,{code:w.invalid_type,expected:r.array,received:U.parsedType}),t;if(U.data.lengththis._def.items.length)v(U,{code:w.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...U.data].map((j,W)=>{let G=this._def.items[W]||this._def.rest;if(!G)return null;return G._parse(new y$(U,j,U.path,W))}).filter((j)=>!!j);if(U.common.async)return Promise.all(D).then((j)=>{return a_.mergeArray($,j)});else return a_.mergeArray($,D)}get items(){return this._def.items}rest(_){return new D6({...this._def,rest:_})}}D6.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new D6({items:_,typeName:e.ZodTuple,rest:null,...j_($)})};class bU extends X_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.object)return v(U,{code:w.invalid_type,expected:r.object,received:U.parsedType}),t;let J=[],D=this._def.keyType,j=this._def.valueType;for(let W in U.data)J.push({key:D._parse(new y$(U,W,U.path,W)),value:j._parse(new y$(U,U.data[W],U.path,W)),alwaysSet:W in U.data});if(U.common.async)return a_.mergeObjectAsync($,J);else return a_.mergeObjectSync($,J)}get element(){return this._def.valueType}static create(_,$,U){if($ instanceof X_)return new bU({keyType:_,valueType:$,typeName:e.ZodRecord,...j_(U)});return new bU({keyType:C$.create(),valueType:_,typeName:e.ZodRecord,...j_($)})}}class KU extends X_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.map)return v(U,{code:w.invalid_type,expected:r.map,received:U.parsedType}),t;let J=this._def.keyType,D=this._def.valueType,j=[...U.data.entries()].map(([W,G],X)=>{return{key:J._parse(new y$(U,W,U.path,[X,"key"])),value:D._parse(new y$(U,G,U.path,[X,"value"]))}});if(U.common.async){let W=new Map;return Promise.resolve().then(async()=>{for(let G of j){let X=await G.key,N=await G.value;if(X.status==="aborted"||N.status==="aborted")return t;if(X.status==="dirty"||N.status==="dirty")$.dirty();W.set(X.value,N.value)}return{status:$.value,value:W}})}else{let W=new Map;for(let G of j){let{key:X,value:N}=G;if(X.status==="aborted"||N.status==="aborted")return t;if(X.status==="dirty"||N.status==="dirty")$.dirty();W.set(X.value,N.value)}return{status:$.value,value:W}}}}KU.create=(_,$,U)=>{return new KU({valueType:$,keyType:_,typeName:e.ZodMap,...j_(U)})};class F4 extends X_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.set)return v(U,{code:w.invalid_type,expected:r.set,received:U.parsedType}),t;let J=this._def;if(J.minSize!==null){if(U.data.sizeJ.maxSize.value)v(U,{code:w.too_big,maximum:J.maxSize.value,type:"set",inclusive:!0,exact:!1,message:J.maxSize.message}),$.dirty()}let D=this._def.valueType;function j(G){let X=new Set;for(let N of G){if(N.status==="aborted")return t;if(N.status==="dirty")$.dirty();X.add(N.value)}return{status:$.value,value:X}}let W=[...U.data.values()].map((G,X)=>D._parse(new y$(U,G,U.path,X)));if(U.common.async)return Promise.all(W).then((G)=>j(G));else return j(W)}min(_,$){return new F4({...this._def,minSize:{value:_,message:i.toString($)}})}max(_,$){return new F4({...this._def,maxSize:{value:_,message:i.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}F4.create=(_,$)=>{return new F4({valueType:_,minSize:null,maxSize:null,typeName:e.ZodSet,...j_($)})};class x0 extends X_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.function)return v($,{code:w.invalid_type,expected:r.function,received:$.parsedType}),t;function U(W,G){return MD({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,FD(),r0].filter((X)=>!!X),issueData:{code:w.invalid_arguments,argumentsError:G}})}function J(W,G){return MD({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,FD(),r0].filter((X)=>!!X),issueData:{code:w.invalid_return_type,returnTypeError:G}})}let D={errorMap:$.common.contextualErrorMap},j=$.data;if(this._def.returns instanceof M4){let W=this;return j$(async function(...G){let X=new g$([]),N=await W._def.args.parseAsync(G,D).catch((E)=>{throw X.addIssue(U(G,E)),X}),z=await Reflect.apply(j,this,N);return await W._def.returns._def.type.parseAsync(z,D).catch((E)=>{throw X.addIssue(J(z,E)),X})})}else{let W=this;return j$(function(...G){let X=W._def.args.safeParse(G,D);if(!X.success)throw new g$([U(G,X.error)]);let N=Reflect.apply(j,this,X.data),z=W._def.returns.safeParse(N,D);if(!z.success)throw new g$([J(N,z.error)]);return z.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new x0({...this._def,args:D6.create(_).rest(d6.create())})}returns(_){return new x0({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new x0({args:_?_:D6.create([]).rest(d6.create()),returns:$||d6.create(),typeName:e.ZodFunction,...j_(U)})}}class i0 extends X_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}i0.create=(_,$)=>{return new i0({getter:_,typeName:e.ZodLazy,...j_($)})};class l0 extends X_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return v($,{received:$.data,code:w.invalid_literal,expected:this._def.value}),t}return{status:"valid",value:_.data}}get value(){return this._def.value}}l0.create=(_,$)=>{return new l0({value:_,typeName:e.ZodLiteral,...j_($)})};function RQ(_,$){return new l6({values:_,typeName:e.ZodEnum,...j_($)})}class l6 extends X_{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),U=this._def.values;return v($,{expected:Q_.joinValues(U),received:$.parsedType,code:w.invalid_type}),t}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),U=this._def.values;return v($,{received:$.data,code:w.invalid_enum_value,options:U}),t}return j$(_.data)}get options(){return this._def.values}get enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Values(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}extract(_,$=this._def){return l6.create(_,{...this._def,...$})}exclude(_,$=this._def){return l6.create(this.options.filter((U)=>!_.includes(U)),{...this._def,...$})}}l6.create=RQ;class o0 extends X_{_parse(_){let $=Q_.getValidEnumValues(this._def.values),U=this._getOrReturnCtx(_);if(U.parsedType!==r.string&&U.parsedType!==r.number){let J=Q_.objectValues($);return v(U,{expected:Q_.joinValues(J),received:U.parsedType,code:w.invalid_type}),t}if(!this._cache)this._cache=new Set(Q_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let J=Q_.objectValues($);return v(U,{received:U.data,code:w.invalid_enum_value,options:J}),t}return j$(_.data)}get enum(){return this._def.values}}o0.create=(_,$)=>{return new o0({values:_,typeName:e.ZodNativeEnum,...j_($)})};class M4 extends X_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.promise&&$.common.async===!1)return v($,{code:w.invalid_type,expected:r.promise,received:$.parsedType}),t;let U=$.parsedType===r.promise?$.data:Promise.resolve($.data);return j$(U.then((J)=>{return this._def.type.parseAsync(J,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}M4.create=(_,$)=>{return new M4({type:_,typeName:e.ZodPromise,...j_($)})};class I$ extends X_{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===e.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:U}=this._processInputParams(_),J=this._def.effect||null,D={addIssue:(j)=>{if(v(U,j),j.fatal)$.abort();else $.dirty()},get path(){return U.path}};if(D.addIssue=D.addIssue.bind(D),J.type==="preprocess"){let j=J.transform(U.data,D);if(U.common.async)return Promise.resolve(j).then(async(W)=>{if($.value==="aborted")return t;let G=await this._def.schema._parseAsync({data:W,path:U.path,parent:U});if(G.status==="aborted")return t;if(G.status==="dirty")return h0(G.value);if($.value==="dirty")return h0(G.value);return G});else{if($.value==="aborted")return t;let W=this._def.schema._parseSync({data:j,path:U.path,parent:U});if(W.status==="aborted")return t;if(W.status==="dirty")return h0(W.value);if($.value==="dirty")return h0(W.value);return W}}if(J.type==="refinement"){let j=(W)=>{let G=J.refinement(W,D);if(U.common.async)return Promise.resolve(G);if(G instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return W};if(U.common.async===!1){let W=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return t;if(W.status==="dirty")$.dirty();return j(W.value),{status:$.value,value:W.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((W)=>{if(W.status==="aborted")return t;if(W.status==="dirty")$.dirty();return j(W.value).then(()=>{return{status:$.value,value:W.value}})})}if(J.type==="transform")if(U.common.async===!1){let j=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!b4(j))return t;let W=J.transform(j.value,D);if(W instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:W}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((j)=>{if(!b4(j))return t;return Promise.resolve(J.transform(j.value,D)).then((W)=>({status:$.value,value:W}))});Q_.assertNever(J)}}I$.create=(_,$,U)=>{return new I$({schema:_,typeName:e.ZodEffects,effect:$,...j_(U)})};I$.createWithPreprocess=(_,$,U)=>{return new I$({schema:$,effect:{type:"preprocess",transform:_},typeName:e.ZodEffects,...j_(U)})};class v$ extends X_{_parse(_){if(this._getType(_)===r.undefined)return j$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}v$.create=(_,$)=>{return new v$({innerType:_,typeName:e.ZodOptional,...j_($)})};class R6 extends X_{_parse(_){if(this._getType(_)===r.null)return j$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}R6.create=(_,$)=>{return new R6({innerType:_,typeName:e.ZodNullable,...j_($)})};class p0 extends X_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;if($.parsedType===r.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}p0.create=(_,$)=>{return new p0({innerType:_,typeName:e.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...j_($)})};class t0 extends X_{_parse(_){let{ctx:$}=this._processInputParams(_),U={...$,common:{...$.common,issues:[]}},J=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(HU(J))return J.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new g$(U.common.issues)},input:U.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new g$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}t0.create=(_,$)=>{return new t0({innerType:_,typeName:e.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...j_($)})};class IU extends X_{_parse(_){if(this._getType(_)!==r.nan){let U=this._getOrReturnCtx(_);return v(U,{code:w.invalid_type,expected:r.nan,received:U.parsedType}),t}return{status:"valid",value:_.data}}}IU.create=(_)=>{return new IU({typeName:e.ZodNaN,...j_(_)})};var XH=Symbol("zod_brand");class wD extends X_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;return this._def.type._parse({data:U,path:$.path,parent:$})}unwrap(){return this._def.type}}class FU extends X_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.common.async)return(async()=>{let D=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(D.status==="aborted")return t;if(D.status==="dirty")return $.dirty(),h0(D.value);else return this._def.out._parseAsync({data:D.value,path:U.path,parent:U})})();else{let J=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return t;if(J.status==="dirty")return $.dirty(),{status:"dirty",value:J.value};else return this._def.out._parseSync({data:J.value,path:U.path,parent:U})}}static create(_,$){return new FU({in:_,out:$,typeName:e.ZodPipeline})}}class a0 extends X_{_parse(_){let $=this._def.innerType._parse(_),U=(J)=>{if(b4(J))J.value=Object.freeze(J.value);return J};return HU($)?$.then((J)=>U(J)):U($)}unwrap(){return this._def.innerType}}a0.create=(_,$)=>{return new a0({innerType:_,typeName:e.ZodReadonly,...j_($)})};function OQ(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function HQ(_,$={},U){if(_)return I4.create().superRefine((J,D)=>{let j=_(J);if(j instanceof Promise)return j.then((W)=>{if(!W){let G=OQ($,J),X=G.fatal??U??!0;D.addIssue({code:"custom",...G,fatal:X})}});if(!j){let W=OQ($,J),G=W.fatal??U??!0;D.addIssue({code:"custom",...W,fatal:G})}return});return I4.create()}var NH={object:y_.lazycreate},e;(function(_){_.ZodString="ZodString",_.ZodNumber="ZodNumber",_.ZodNaN="ZodNaN",_.ZodBigInt="ZodBigInt",_.ZodBoolean="ZodBoolean",_.ZodDate="ZodDate",_.ZodSymbol="ZodSymbol",_.ZodUndefined="ZodUndefined",_.ZodNull="ZodNull",_.ZodAny="ZodAny",_.ZodUnknown="ZodUnknown",_.ZodNever="ZodNever",_.ZodVoid="ZodVoid",_.ZodArray="ZodArray",_.ZodObject="ZodObject",_.ZodUnion="ZodUnion",_.ZodDiscriminatedUnion="ZodDiscriminatedUnion",_.ZodIntersection="ZodIntersection",_.ZodTuple="ZodTuple",_.ZodRecord="ZodRecord",_.ZodMap="ZodMap",_.ZodSet="ZodSet",_.ZodFunction="ZodFunction",_.ZodLazy="ZodLazy",_.ZodLiteral="ZodLiteral",_.ZodEnum="ZodEnum",_.ZodEffects="ZodEffects",_.ZodNativeEnum="ZodNativeEnum",_.ZodOptional="ZodOptional",_.ZodNullable="ZodNullable",_.ZodDefault="ZodDefault",_.ZodCatch="ZodCatch",_.ZodPromise="ZodPromise",_.ZodBranded="ZodBranded",_.ZodPipeline="ZodPipeline",_.ZodReadonly="ZodReadonly"})(e||(e={}));var OH=(_,$={message:`Input not instance of ${_.name}`})=>HQ((U)=>U instanceof _,$),AQ=C$.create,VQ=c6.create,YH=IU.create,zH=i6.create,bQ=u0.create,QH=K4.create,qH=AU.create,LH=n0.create,gH=m0.create,EH=I4.create,BH=d6.create,RH=U6.create,HH=VU.create,AH=Z$.create,VH=y_.create,bH=y_.strictCreate,KH=d0.create,IH=kD.create,FH=c0.create,MH=D6.create,PH=bU.create,kH=KU.create,wH=F4.create,SH=x0.create,fH=i0.create,TH=l0.create,CH=l6.create,ZH=o0.create,vH=M4.create,YQ=I$.create,yH=v$.create,hH=R6.create,xH=I$.createWithPreprocess,rH=FU.create,uH=()=>AQ().optional(),nH=()=>VQ().optional(),mH=()=>bQ().optional(),dH={string:(_)=>C$.create({..._,coerce:!0}),number:(_)=>c6.create({..._,coerce:!0}),boolean:(_)=>u0.create({..._,coerce:!0}),bigint:(_)=>i6.create({..._,coerce:!0}),date:(_)=>K4.create({..._,coerce:!0})},cH=t;var c={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},KQ=O.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),E$=O.string().datetime(),__=O.string().trim().min(1),H6=__.refine((_)=>_.startsWith("artifact://")||_.startsWith("repo://")||_.startsWith("project://")||_.startsWith("dashboard://")||_.startsWith("render://")||_.startsWith("integration://")||_.startsWith("task://")||_.startsWith("todo://")||_.startsWith("file://")||_.startsWith("files://")||_.startsWith("mailery://")||_.startsWith("conversation://")||_.startsWith("knowledge://")||_.startsWith("memento://")||_.startsWith("https://")||_.startsWith("http://")||_.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),IQ=O.string().regex(/^[a-fA-F0-9]{64}$/),FQ=O.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),A6=O.record(O.unknown()),_1=O.array(O.string().min(1)).default([]),P4=E$.nullable().optional(),iH=new Set(["succeeded","failed","cancelled","blocked","skipped"]),w4=O.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function V_(_){return O.object({schema:O.literal(_),id:O.string().min(1),createdAt:E$,updatedAt:P4,metadata:A6.optional()}).strict()}var Vh=O.object({schema:KQ,id:O.string().min(1),createdAt:E$,updatedAt:P4,metadata:A6.optional()}).strict(),MQ=O.enum(["agent","human","service","model","workflow","system"]),lH=V_(c.actorRef).extend({kind:MQ,name:O.string().min(1).optional(),provider:O.string().min(1).optional(),accountId:O.string().min(1).optional(),machineId:O.string().min(1).optional(),capabilities:O.array(O.string().min(1)).default([])}).strict(),J6=O.object({kind:MQ,id:O.string().min(1),name:O.string().min(1).optional(),provider:O.string().min(1).optional(),accountId:O.string().min(1).optional(),machineId:O.string().min(1).optional()}).strict(),PQ=O.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),oH=V_(c.resourceRef).extend({kind:PQ,name:O.string().min(1).optional(),uri:H6.optional(),externalId:__.optional(),sourcePackage:__.optional(),tags:_1}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:O.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),G_=O.object({kind:PQ,id:O.string().min(1),name:O.string().min(1).optional(),uri:H6.optional(),externalId:__.optional(),sourcePackage:__.optional(),tags:_1}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:O.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),TG=O.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),pH=O.enum(["none","partial","full","unknown"]),tH=V_(c.evidenceRef).extend({kind:TG,uri:H6,sha256:IQ.optional(),summary:O.string().min(1).optional(),contentType:O.string().min(1).optional(),sizeBytes:O.number().int().nonnegative().optional(),redaction:pH.default("unknown"),producer:J6.optional(),resourceRefs:O.array(G_).default([]),tags:_1}).strict(),w_=O.object({id:O.string().min(1),kind:TG.optional(),uri:H6.optional(),sha256:IQ.optional(),summary:O.string().min(1).optional()}).strict(),MU=V_(c.costEstimate).extend({currency:O.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:O.number().int().nonnegative(),provider:O.string().min(1).optional(),model:O.string().min(1).optional(),accountId:O.string().min(1).optional(),promptTokens:O.number().int().nonnegative().optional(),completionTokens:O.number().int().nonnegative().optional(),totalTokens:O.number().int().nonnegative().optional(),basis:O.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:O.array(G_).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:O.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),aH=O.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),kQ=V_(c.decisionEnvelope).extend({decisionType:O.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:aH,actor:J6.optional(),traceId:O.string().min(1).optional(),inputHash:FQ.optional(),policyBundleId:O.string().min(1).optional(),selected:O.array(G_).default([]),skipped:O.array(G_).default([]),reason:O.string().min(1),obligations:O.array(O.string().min(1)).default([]),redactions:O.array(O.string().min(1)).default([]),costEstimate:MU.optional(),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:O.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),eH=V_(c.capabilityCard).extend({kind:O.enum(["model","tool","machine","agent","lane","connector","service"]),name:O.string().min(1),version:O.string().min(1).optional(),status:O.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:O.array(O.string().min(1)).default([]),limitations:O.array(O.string().min(1)).default([]),riskLevel:O.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:MU.optional(),evidenceRefs:O.array(w_).default([])}).strict(),e0=O.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),sH=O.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),_A=O.object({refName:__,requiredForModes:O.array(e0).min(1),allowedSecretInputs:O.array(O.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:__,revocationCheck:O.boolean().default(!0)}).strict(),$A=O.object({operation:__,supportedModes:O.array(e0).min(1),sideEffectClass:sH,requiresApproval:O.boolean().default(!1),requiresIdempotencyKey:O.boolean().default(!1),requiresSandboxEvidence:O.boolean().default(!1),requiresRollbackOrRevocation:O.boolean().default(!1),rollbackOrRevocation:__.optional(),noSideEffectSmoke:__.optional(),reconciliation:__.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:O.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:O.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:O.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:O.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:O.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:O.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),UA=O.object({providerId:__,appId:__,adapterId:__,ownerPackage:__,modes:O.array(e0).min(1),defaultMode:e0,credentialRequirements:O.array(_A).default([]),operations:O.array($A).min(1),rateLimitPosture:__,costPosture:__.optional(),auditEvents:O.array(__).default([]),redactionRules:O.array(__).default([]),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:O.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set(_.operations.flatMap((J)=>J.supportedModes));for(let J of U)if(!_.modes.includes(J))$.addIssue({code:O.ZodIssueCode.custom,message:`operation mode ${J} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!_.credentialRequirements.some((D)=>D.requiredForModes.includes("live_mutating")))$.addIssue({code:O.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),DA=O.object({appId:__,repo:__,priority:O.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:O.array(__).min(1),firstOperations:O.array(__).min(1),blockedUntil:O.array(__).default([])}).strict(),JA=V_(c.providerLiveModeStandard).extend({name:__,version:__,modes:O.array(e0).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:O.array(__).min(1),liveMutationGate:O.object({requiredMode:O.literal("live_mutating"),requiredChecks:O.array(__).min(1),forbiddenBypassSignals:O.array(__).min(1),disabledLiveSmoke:__}).strict(),noSideEffectSmoke:O.object({requiredForModes:O.array(e0).min(1),commandEvidence:O.array(__).min(1),secretOutputScan:O.boolean().default(!0)}).strict(),credentialPolicy:O.object({acceptedInputs:O.array(O.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:O.literal(!1),missingCredentialBehavior:O.literal("fail_closed"),revocationCheckRequired:O.boolean().default(!0)}).strict(),operationCards:O.array(UA).min(1),firstAdoptionTargets:O.array(DA).min(1),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{let U=new Set(_.firstAdoptionTargets.map((D)=>D.appId)),J=new Set(_.operationCards.map((D)=>D.appId));for(let D of U)if(!J.has(D))$.addIssue({code:O.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),jA=O.object({id:O.string().min(1),title:O.string().min(1).optional(),summary:O.string().min(1),text:O.string().optional(),tokens:O.number().int().nonnegative().optional(),source:w_,resourceRefs:O.array(G_).default([])}).strict(),wQ=V_(c.contextPack).extend({objective:O.string().min(1),budget:O.object({maxTokens:O.number().int().positive().optional(),maxBytes:O.number().int().positive().optional()}).strict().optional(),items:O.array(jA).default([]),citations:O.array(w_).default([]),freshness:O.enum(["fresh","stale","unknown"]).default("unknown"),permissions:O.array(O.string().min(1)).default([]),redactions:O.array(O.string().min(1)).default([]),conflicts:O.array(O.string().min(1)).default([]),uncertainty:O.string().min(1).optional()}).strict(),T$=__.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),k4=O.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),WA=O.enum(["public","internal","private","sensitive"]),GA=O.enum(["draft","active","paused","archived"]),CG=O.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),SQ=V_(c.integrationRef).extend({kind:CG,name:O.string().min(1),projectId:k4.optional(),sourcePackage:__.optional(),externalId:__.optional(),uri:H6.optional(),enabled:O.boolean().default(!0),readOnly:O.boolean().default(!0),capabilities:O.array(O.string().min(1)).default([]),freshness:O.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:G_.optional(),evidenceRefs:O.array(w_).default([]),config:A6.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:O.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),XA=O.object({schemaRoot:T$.default(".hasna/project"),dashboardManifest:T$.default(".hasna/project/dashboard.render.json"),snapshotsDir:T$.default(".hasna/project/snapshots"),documentsDir:T$.default("documents"),reportsDir:T$.default("reports"),evidenceDir:T$.default(".hasna/project/evidence"),privateDir:T$.default(".hasna/project/private")}).strict(),NA=V_(c.projectManifest).extend({projectId:k4,slug:k4,name:O.string().min(1),summary:O.string().min(1).optional(),status:GA.default("active"),classification:WA.default("private"),owner:J6.optional(),layout:XA.default({}),integrations:O.array(SQ).default([]),renderManifests:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(w_).default([]),tags:_1}).strict().superRefine((_,$)=>{let U=new Set,J=new Set;if(_.projectId!==_.slug)$.addIssue({code:O.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[D,j]of _.integrations.entries()){if(U.has(j.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",D,"id"]});if(U.add(j.id),j.projectId&&j.projectId!==_.projectId)$.addIssue({code:O.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",D,"projectId"]})}for(let[D,j]of _.renderManifests.entries()){if(j.kind!=="render")$.addIssue({code:O.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(J.has(j.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});J.add(j.id)}}),OA=O.enum(["local","package","provider","url"]),ZG=O.object({id:O.string().min(1),kind:OA,specifier:O.string().min(1),path:T$.optional(),packageName:O.string().min(1).optional(),uri:H6.optional(),provider:CG.optional(),schemaId:KQ.optional(),integrity:FQ.optional(),resourceRef:G_.optional(),optional:O.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:O.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:O.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:O.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:O.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),YA=O.enum(["dashboard","canvas","panel","report","document","custom"]),zA=O.object({id:O.string().min(1),title:O.string().min(1),kind:YA,default:O.boolean().default(!1),entry:T$.optional(),imports:O.array(ZG).default([]),panelRefs:O.array(G_).default([]),dataRefs:O.array(G_).default([]),layout:A6.optional()}).strict(),QA=V_(c.renderManifest).extend({projectId:k4,name:O.string().min(1),version:O.string().min(1),manifestPath:T$.default(".hasna/project/dashboard.render.json"),renderer:O.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:O.array(zA).min(1),imports:O.array(ZG).default([]),theme:A6.optional(),compatibility:O.object({minProjectsVersion:O.string().min(1).optional(),minContractsVersion:O.string().min(1).optional()}).strict().optional(),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{let U=_.views.filter((j)=>j.default),J=new Set,D=new Set;if(U.length>1)$.addIssue({code:O.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[j,W]of _.imports.entries()){if(D.has(W.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",j,"id"]});D.add(W.id)}for(let[j,W]of _.views.entries()){if(J.has(W.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",j,"id"]});J.add(W.id);let G=new Set;for(let[X,N]of W.imports.entries()){if(G.has(N.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",j,"imports",X,"id"]});G.add(N.id)}for(let[X,N]of W.panelRefs.entries())if(N.kind!=="panel")$.addIssue({code:O.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",j,"panelRefs",X,"kind"]})}}),qA=O.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),LA=O.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),gA=O.object({id:O.string().min(1),label:O.string().min(1),value:O.union([O.string(),O.number(),O.boolean()]),unit:O.string().min(1).optional(),status:O.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:O.array(G_).default([])}).strict(),EA=O.object({id:O.string().min(1),title:O.string().min(1),summary:O.string().min(1).optional(),status:O.string().min(1).optional(),priority:O.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:E$.optional(),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(w_).default([]),metadata:A6.optional()}).strict(),BA=O.object({renderer:O.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:O.string().min(1).optional(),entry:T$.optional(),imports:O.array(ZG).default([]),spec:A6.default({})}).strict(),fQ=V_(c.projectPanel).extend({projectId:k4,provider:O.object({kind:CG,id:O.string().min(1),name:O.string().min(1).optional(),sourcePackage:__.optional(),externalId:__.optional()}).strict(),kind:LA,title:O.string().min(1),summary:O.string().min(1).optional(),state:qA.default("ready"),stateReason:O.string().min(1).optional(),generatedAt:E$,freshness:O.enum(["fresh","stale","unknown"]).default("unknown"),metrics:O.array(gA).default([]),items:O.array(EA).default([]),actions:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(w_).default([]),renderFragment:BA.optional(),warnings:O.array(O.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set(["error","auth_required","unavailable","stale"]),J=new Set,D=new Set;if(U.has(_.state)&&!_.stateReason)$.addIssue({code:O.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:O.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[j,W]of _.metrics.entries()){if(J.has(W.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",j,"id"]});J.add(W.id)}for(let[j,W]of _.items.entries()){if(D.has(W.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",j,"id"]});D.add(W.id)}for(let[j,W]of _.actions.entries())if(W.kind!=="action")$.addIssue({code:O.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",j,"kind"]})}),RA=V_(c.projectSnapshot).extend({projectId:k4,generatedAt:E$,status:w4.default("unknown"),manifestRef:G_,renderManifestRef:G_.optional(),panels:O.array(fQ).default([]),contextPacks:O.array(wQ).default([]),proofBundleRefs:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(w_).default([]),warnings:O.array(O.string().min(1)).default([]),freshness:O.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let U=new Set,J=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:O.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:O.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[D,j]of _.proofBundleRefs.entries())if(j.kind!=="proof_bundle")$.addIssue({code:O.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",D,"kind"]});for(let[D,j]of _.panels.entries()){if(j.projectId!==_.projectId)$.addIssue({code:O.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(U.has(j.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",D,"id"]});U.add(j.id)}for(let[D,j]of _.contextPacks.entries()){if(J.has(j.id))$.addIssue({code:O.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});J.add(j.id)}}),TQ=O.object({id:O.string().min(1),kind:O.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:O.boolean().default(!0),command:O.string().min(1).optional(),expected:O.string().min(1).optional(),timeoutMs:O.number().int().positive().optional(),resourceRefs:O.array(G_).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:O.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),HA=V_(c.validationPlan).extend({objective:O.string().min(1),subject:G_.optional(),checks:O.array(TQ).min(1),verifier:J6.optional(),requiredEvidenceKinds:O.array(TG).default([])}).strict(),AA=O.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),VA=O.enum(["draft","active","deprecated","archived"]),bA=O.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),KA=O.object({key:O.string().regex(/^[A-Z][A-Z0-9_]*$/),description:O.string().min(1),required:O.boolean().default(!1),["secret"]:O.boolean().default(!1),group:O.string().min(1).optional(),default:O.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:O.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),IA=O.object({name:O.string().min(1),command:O.string().min(1),description:O.string().min(1).optional(),required:O.boolean().default(!1)}).strict(),FA=O.object({packageManager:O.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:O.array(O.string().min(1)).default([]),requiredFiles:O.array(O.string().min(1)).default([]),requiredDirectories:O.array(O.string().min(1)).default([]),optionalDirectories:O.array(O.string().min(1)).default([])}).strict(),MA=V_(c.scaffoldManifest).extend({name:O.string().min(1),version:O.string().min(1),summary:O.string().min(1),type:AA,status:VA.default("draft"),capabilities:O.array(bA).default([]),techStack:O.array(O.string().min(1)).default([]),tags:_1,source:G_.optional(),output:FA,env:O.array(KA).default([]),scripts:O.array(IA).default([]),validationChecks:O.array(TQ).default([]),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:O.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),PA=O.enum(["installed","failed","cancelled","partial","unknown"]),kA=V_(c.scaffoldInstallRecord).extend({scaffoldId:O.string().min(1),scaffoldVersion:O.string().min(1).optional(),manifestRef:G_.optional(),target:G_,status:PA,installedAt:E$.optional(),installer:J6.optional(),packageManager:O.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:A6.optional(),generatedFiles:O.array(G_).default([]),evidenceRefs:O.array(w_).default([]),proofBundleRefs:O.array(G_).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:O.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if((_.status==="failed"||_.status==="partial")&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),s0=O.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),vG=O.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),CQ=O.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),wA=O.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),SA=__.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),fA=O.enum(["active","stub","deprecated","archived"]),TA=O.enum(["stable","beta","canary","internal"]),CA=O.object({transport:O.enum(["http","stdio"]).default("http"),bin:O.string().min(1).optional(),url:H6.optional()}).strict(),ZA=O.object({healthPath:O.string().min(1).default("/health"),port:O.number().int().positive().optional(),baseUrl:H6.optional()}).strict(),vA=O.object({bins:O.array(O.string().min(1)).default([]),mcp:CA.optional(),http:ZA.optional()}).strict(),yA=V_(c.app).extend({appId:s0,npmName:vG,repoFolder:s0,githubUrl:SA,projectSlug:k4,surfaces:vA.default({}),lifecycle:fA,releaseChannel:TA.default("stable"),summary:O.string().min(1).optional(),tags:_1}).strict().superRefine((_,$)=>{let U=new Set;for(let[J,D]of _.surfaces.bins.entries()){if(U.has(D))$.addIssue({code:O.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",J]});U.add(D)}}),hA=O.enum(["skill","ci","backfilled"]),xA=V_(c.release).extend({appId:s0,package:vG,version:CQ,gitSha:wA,publishedAt:E$,publishPath:hA,changelogRef:G_.optional(),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),rA=O.enum(["install","update","rollback","freeze-blocked"]),uA=O.object({cliVersion:O.string().min(1).optional(),mcpHealth:O.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:O.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),nA=V_(c.rolloutRecord).extend({appId:s0,package:vG,version:CQ,machine:__,action:rA,result:w4,verifiedBy:uA.optional(),at:E$,evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:O.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean(_.verifiedBy?.cliVersion)||_.verifiedBy?.mcpHealth!==void 0&&_.verifiedBy.mcpHealth!=="not_checked",J=_.verifiedBy?Object.keys(_.verifiedBy).length>0:!1;if((_.action==="install"||_.action==="update")&&_.result==="succeeded"&&(!_.verifiedBy||J&&!U))$.addIssue({code:O.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),mA=O.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),dA=O.enum(["pending","queued","sent","failed","skipped","suppressed"]),cA=O.object({channel:mA,status:dA,deliveredAt:E$.optional(),detail:O.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:O.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:O.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),iA=V_(c.announcement).extend({campaignId:__,appId:s0.optional(),releaseRef:G_.optional(),channels:O.array(cA).min(1),audienceRef:G_,sentAt:E$}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:O.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:O.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),lA=O.enum(["tag","attribute","group"]),oA=O.enum(["eq","neq","in","not_in","exists","not_exists"]),zQ=O.union([O.string(),O.number(),O.boolean()]),pA=O.object({kind:lA,key:O.string().min(1).optional(),op:oA.default("eq"),value:zQ.optional(),values:O.array(zQ).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:O.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:O.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),tA=O.object({match:O.enum(["all","any"]).default("all"),predicates:O.array(pA).min(1)}).strict(),aA=O.enum(["opt_in","opt_out","transactional","none"]),eA=V_(c.audience).extend({audienceId:s0,name:__,definition:tA,consentPolicy:aA,suppressionSyncedAt:P4}).strict(),IG=["@hasna/cloud","open-cloud"],sA=O.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),_V=O.object({id:O.string().min(1),provider:sA,kind:O.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:O.string().min(1),region:O.string().min(1).optional(),accountId:O.string().min(1).optional(),uri:H6.optional(),machineScoped:O.boolean().default(!1)}).strict(),ZQ=V_(c.appCloudManifest).extend({packageName:O.string().min(1),packageVersion:O.string().min(1).optional(),appId:O.string().min(1),repository:G_.optional(),storageMode:O.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:O.enum(["none","app_owned","external_service","local_cache"]),cloudResources:O.array(_V).default([]),localCache:O.object({path:O.string().min(1).optional(),pullMode:O.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:O.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:O.array(O.string().min(1)).default([...IG]),dependencies:O.array(O.string().min(1)).default([]),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...IG,..._.forbiddenSharedRuntimes]);if(U.has(_.packageName))$.addIssue({code:O.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let J of IG)if(!_.forbiddenSharedRuntimes.includes(J))$.addIssue({code:O.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${J}`,path:["forbiddenSharedRuntimes"]});for(let J of U)if(_.dependencies.includes(J))$.addIssue({code:O.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${J}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:O.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:O.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:O.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:O.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:O.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:O.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if((_.storageMode==="app_owned_cloud"||_.storageMode==="hybrid_local_cache")&&_.cloudResources.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:O.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((J,D)=>{if(J.ownerPackage!==_.packageName)$.addIssue({code:O.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),vQ=O.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),$V=O.enum(["low","medium","high","critical"]),yQ=O.object({id:O.string().min(1),kind:vQ,severity:$V,path:O.string().min(1).optional(),packageName:O.string().min(1).optional(),pattern:O.string().min(1),message:O.string().min(1),evidenceRefs:O.array(w_).default([])}).strict(),UV=O.object({id:O.string().min(1),kind:vQ,status:w4,target:O.string().min(1),command:O.string().min(1).optional(),evidenceRefs:O.array(w_).default([]),findings:O.array(yQ).default([])}).strict(),DV=V_(c.noCloudEvidencePack).extend({subject:G_,packageName:O.string().min(1).optional(),packageVersion:O.string().min(1).optional(),generatedBy:J6.optional(),scanMode:O.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:w4,verdict:O.enum(["passed","failed","warning","not_run"]),appCloudManifest:ZQ.optional(),checks:O.array(UV).min(1),findings:O.array(yQ).default([]),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{let U=[..._.findings,..._.checks.flatMap((D)=>D.findings)],J=U.filter((D)=>D.severity==="high"||D.severity==="critical");if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:O.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(J.length>0)$.addIssue({code:O.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:O.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&U.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:O.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,j)=>{let W=D.findings.filter((G)=>G.severity==="high"||G.severity==="critical");if(D.status==="succeeded"&&W.length>0)$.addIssue({code:O.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",j,"findings"]})})}),JV=O.object({checkId:O.string().min(1),status:w4,summary:O.string().min(1).optional(),startedAt:P4,finishedAt:P4,evidenceRefs:O.array(w_).default([])}).strict(),jV=V_(c.proofBundle).extend({subject:G_,validationPlanRef:G_.optional(),status:w4,verdict:O.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:O.array(JV).default([]),verifier:J6.optional(),evidenceRefs:O.array(w_).default([]),residualRisks:O.array(O.string().min(1)).default([]),freshness:O.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:O.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if(_.checks.forEach((J,D)=>{if(J.status!=="succeeded")$.addIssue({code:O.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",D,"status"]})}),!(_.evidenceRefs.length>0||_.checks.some((J)=>J.evidenceRefs.length>0)))$.addIssue({code:O.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:O.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:O.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if(_.verdict==="failed"&&!_.checks.some((U)=>U.status==="failed")&&_.evidenceRefs.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),WV=V_(c.workRun).extend({objective:O.string().min(1),status:w4,actor:J6,traceId:O.string().min(1).optional(),startedAt:P4,finishedAt:P4,constraints:O.array(O.string().min(1)).default([]),resourceRefs:O.array(G_).default([]),decisions:O.array(kQ).default([]),costEstimates:O.array(MU).default([]),evidenceRefs:O.array(w_).default([]),validationPlanRefs:O.array(G_).default([]),proofBundleRefs:O.array(G_).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!U)$.addIssue({code:O.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if((_.status==="failed"||_.status==="blocked")&&!U&&_.decisions.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),GV=O.object({id:O.string().min(1),at:E$,kind:O.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:O.string().min(1),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(w_).default([]),costEstimate:MU.optional()}).strict(),XV=V_(c.agentTrajectory).extend({actor:J6,workRunRef:G_.optional(),events:O.array(GV).default([]),outcome:O.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:G_.optional()}).strict(),NV="v1",OV=O.enum(["library","cli-with-store","service","saas"]),YV=["local","self-hosted","cloud"],hQ=O.enum(YV),zV=O.enum(["supported","deferred","unsupported"]),QV=O.enum(["none","local-only","api-key","session","service-token","custom"]),FG=O.object({method:O.enum(["GET","POST","PUT","PATCH","DELETE"]),path:O.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:O.boolean().default(!1),description:O.string().min(1).optional()}).strict(),qV=O.object({id:O.string().min(1),kind:O.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:O.boolean().default(!0),command:O.string().min(1).optional(),evidenceRef:w_.optional(),status:O.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:O.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:O.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),LV=O.object({name:O.string().min(1),status:zV,bin:O.string().min(1).optional(),mcpBin:O.string().min(1).optional(),authMode:QV,deploymentModes:O.array(hQ).min(1),health:FG.optional(),readiness:FG.optional(),version:FG.optional(),apiBasePath:O.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:O.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:O.string().min(1).optional(),readinessGates:O.array(qV).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.bin)$.addIssue({code:O.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:O.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!_.version)$.addIssue({code:O.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:O.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:O.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:O.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:O.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),gV=["local","cloud"],xQ=O.enum(gV),EV=["remote","hybrid","self_hosted"],BV=O.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),RV=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function HV(_){return RV.map(($)=>`${_}${$}`)}function QQ(_){return`hasna/oss/${_}/database-url`}var AV=O.object({mode:xQ,envPrefix:O.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:O.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:O.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:O.string().min(1).optional()}).strict(),VV=O.object({$schema:O.string().min(1).optional(),schema:O.literal(c.serviceContract),name:BV,class:OV,contractVersion:O.literal(NV),kitVersion:O.string().min(1),description:O.string().min(1).optional(),bins:O.array(O.string().min(1)).default([]),storage:AV.optional(),deploymentModes:O.array(hQ).default(["local"]),serviceSurfaces:O.array(LV).default([]),metadata:A6.optional()}).strict().superRefine((_,$)=>{let U=new Set(HV(_.name)),J=new Set;for(let[j,W]of _.bins.entries()){if(J.has(W))$.addIssue({code:O.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",j]});if(J.add(W),!U.has(W))$.addIssue({code:O.ZodIssueCode.custom,message:`Bin "${W}" is not allowlisted for app "${_.name}"; allowed: ${[...U].join(", ")}`,path:["bins",j]})}let D=(j)=>J.has(`${_.name}${j}`);if(_.storage){let j=_.name.toUpperCase().replace(/-/g,"_");if(_.storage.envPrefix&&_.storage.envPrefix!==`HASNA_${j}_`)$.addIssue({code:O.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${j}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==QQ(_.name))$.addIssue({code:O.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${QQ(_.name)}`,path:["storage","databaseUrlSecretRef"]});if(_.storage.mode==="cloud"&&!_.storage.databaseUrlSecretRef)$.addIssue({code:O.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:O.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:O.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:O.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if(_.storage.mode==="local"&&!_.storage.sqlitePath)$.addIssue({code:O.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(!J.has(_.name))$.addIssue({code:O.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:O.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!D("-serve"))$.addIssue({code:O.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:O.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if(_.storage.mode!=="cloud")$.addIssue({code:O.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!D("-serve"))$.addIssue({code:O.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[j,W]of _.serviceSurfaces.entries()){if(W.bin&&!J.has(W.bin))$.addIssue({code:O.ZodIssueCode.custom,message:`Service surface bin "${W.bin}" must be declared in bins`,path:["serviceSurfaces",j,"bin"]});if(W.mcpBin&&!J.has(W.mcpBin))$.addIssue({code:O.ZodIssueCode.custom,message:`Service surface MCP bin "${W.mcpBin}" must be declared in bins`,path:["serviceSurfaces",j,"mcpBin"]});for(let[G,X]of W.deploymentModes.entries())if(!_.deploymentModes.includes(X))$.addIssue({code:O.ZodIssueCode.custom,message:`Service surface deployment mode "${X}" must be declared in deploymentModes`,path:["serviceSurfaces",j,"deploymentModes",G]})}}),bh=O.object({status:O.enum(["ok","degraded","unavailable"]),version:O.string().min(1),mode:xQ}).strict(),Kh=O.object({ready:O.boolean(),reason:O.string().min(1).optional()}).strict(),Ih=O.object({version:O.string().min(1)}).strict(),bV=O.enum(["info","notice","breaking","critical"]),KV=O.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (..)"),IV=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],FV=O.enum(IV);var MV=O.enum(["fleet","package","machine"]),rQ=V_(c.commsEventEnvelope).extend({type:KV,severity:bV,scope:MV,summary:O.string().min(1).optional(),source:J6.optional(),affected_packages:O.array(__).default([]),affected_machines:O.array(__).default([]),action_required:O.boolean().default(!1),ack_by:E$.optional(),dedupe_key:__,resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(w_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:O.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:O.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if(_.type==="fleet.freeze"||_.type==="fleet.unfreeze"){if(_.severity!=="critical")$.addIssue({code:O.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:O.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:O.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),PV=O.enum(["fleet","package","product","loop-lane","initiative","personal"]),kV=O.enum(["quiet","work","firehose"]),wV=__.refine((_)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(_),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:)"),SV=V_(c.commsChannelMetadata).extend({class:PV,noise:kV.optional(),owner:__.optional(),until:wV.optional(),successor:__.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:O.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:O.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),qQ={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},fV=V_(c.commsMessageMetadata).extend({tag:FV,envelope:rQ}).strict().superRefine((_,$)=>{let U=qQ[_.tag];if(!U.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:O.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&_.envelope.type!==U.requiredEventType)$.addIssue({code:O.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[J,D]of Object.entries(qQ))if(D.requiredEventType===_.envelope.type&&_.tag!==J)$.addIssue({code:O.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${J}] tag`,path:["tag"]})});var Fh={[c.actorRef]:lH,[c.resourceRef]:oH,[c.evidenceRef]:tH,[c.workRun]:WV,[c.decisionEnvelope]:kQ,[c.costEstimate]:MU,[c.capabilityCard]:eH,[c.providerLiveModeStandard]:JA,[c.contextPack]:wQ,[c.integrationRef]:SQ,[c.projectManifest]:NA,[c.projectPanel]:fQ,[c.projectSnapshot]:RA,[c.renderManifest]:QA,[c.agentTrajectory]:XV,[c.validationPlan]:HA,[c.proofBundle]:jV,[c.scaffoldManifest]:MA,[c.scaffoldInstallRecord]:kA,[c.appCloudManifest]:ZQ,[c.noCloudEvidencePack]:DV,[c.serviceContract]:VV,[c.commsEventEnvelope]:rQ,[c.commsChannelMetadata]:SV,[c.commsMessageMetadata]:fV,[c.app]:yA,[c.release]:xA,[c.rolloutRecord]:nA,[c.announcement]:iA,[c.audience]:eA};function TV(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="local")return{mode:"local",deprecatedAlias:null};if($==="cloud")return{mode:"cloud",deprecatedAlias:null};if(EV.includes($))return{mode:"cloud",deprecatedAlias:$};throw Error(`Unknown storage mode: ${_}. Use local or cloud.`)}function CV(_){return _.toUpperCase().replace(/-/g,"_")}function ZV(_){return`https://${_}.hasna.xyz`}function uQ(_){let $=CV(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function ID(_,$){for(let U of $){let J=_[U]?.trim();if(J)return{key:U,value:J}}return null}function vV(_){let $=new URL(_);if($.protocol!=="http:"&&$.protocol!=="https:")throw Error("API URL must use http or https.");let U=$.pathname.replace(/\/+$/,"");if(U.endsWith("/v1"))U=U.slice(0,-3);return $.pathname=`${U}/v1`,$.search="",$.hash="",$.toString().replace(/\/+$/,"")}function yV(_,$=process.env){let U=uQ(_),J=ID($,U.modeKeys),D=ID($,U.apiUrlKeys),j=ID($,U.apiKeyKeys),W="local",G=null,X="default",N=[];if(J){let Q=TV(J.value);if(W=Q.mode,G=Q.deprecatedAlias,X=J.key,G)N.push(`Deprecated mode '${G}' from ${J.key} is treated as 'cloud'. Prefer ${U.modeKeys[0]}=cloud.`)}else if(D&&j)W="cloud",X=`${D.key}+${j.key}`;if(W==="local")return{transport:"local",mode:W,deprecatedAlias:G,modeSource:X,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(j),apiKeySource:j?j.key:null,misconfigured:!1,warning:N.length>0?N.join(" "):null};if(!j)return N.push(`${X}=cloud but no API key is set (${U.apiKeyKeys[0]}). Refusing to route to cloud; using local store. Set ${U.apiKeyKeys[0]} to enable the cloud client.`),{transport:"local",mode:W,deprecatedAlias:G,modeSource:X,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,misconfigured:!0,warning:N.join(" ")};let z=D?.value??ZV(_),L=D?D.key:"default",E;try{E=vV(z)}catch(Q){let q=Q instanceof Error?Q.message:String(Q);return N.push(`Invalid API URL from ${L}: ${q}. Using local store.`),{transport:"local",mode:W,deprecatedAlias:G,modeSource:X,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:j.key,misconfigured:!0,warning:N.join(" ")}}return{transport:"cloud-http",mode:W,deprecatedAlias:G,modeSource:X,baseUrl:E,apiUrlSource:L,apiKeyPresent:!0,apiKeySource:j.key,misconfigured:!1,warning:N.length>0?N.join(" "):null}}class PD extends Error{status;method;path;body;constructor(_,$,U,J){super(`Hasna cloud request failed: ${_} ${$} -> ${U}`);this.name="HasnaHttpError",this.status=U,this.method=_,this.path=$,this.body=J}}var hV=[408,425,429,500,502,503,504],xV=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]);function rV(_,$){if(!$)return _;let U=$ instanceof URLSearchParams?$:new URLSearchParams;if(!($ instanceof URLSearchParams))for(let[D,j]of Object.entries($)){if(j===null||j===void 0)continue;if(Array.isArray(j))for(let W of j)U.append(D,String(W));else U.append(D,String(j))}let J=U.toString();if(!J)return _;return`${_}${_.includes("?")?"&":"?"}${J}`}var uV=(_)=>new Promise(($)=>setTimeout($,_));function nV(_){let $=_.fetchImpl??((N,z)=>fetch(N,z)),U=_.baseUrl.replace(/\/+$/,""),J=_.timeoutMs??30000,D=_.sleepImpl??uV,j=_.retry;function W(N){let z=N!==void 0?N:j;if(z===!1)return null;let L=z??{};return{retries:L.retries??2,baseDelayMs:L.baseDelayMs??200,maxDelayMs:L.maxDelayMs??2000,retryStatuses:L.retryStatuses??[...hV]}}async function G(N,z,L,E,Q){let q={"x-api-key":_.apiKey,Authorization:`Bearer ${_.apiKey}`,Accept:"application/json",..._.headers??{},...Q.headers??{}};if(Q.idempotencyKey)q["Idempotency-Key"]=Q.idempotencyKey;let g={method:N,headers:q};if(E!==void 0)q["Content-Type"]="application/json",g.body=JSON.stringify(E);let B=new AbortController,H=()=>B.abort();if(Q.signal)if(Q.signal.aborted)B.abort();else Q.signal.addEventListener("abort",H,{once:!0});let R=setTimeout(()=>B.abort(),Q.timeoutMs??J);g.signal=B.signal;let K;try{K=await $(L,g)}catch(T){let P=T instanceof Error?T:Error(String(T));if(Q.signal?.aborted)return{ok:!1,retryable:!1,error:P};return{ok:!1,retryable:!0,error:P}}finally{if(clearTimeout(R),Q.signal)Q.signal.removeEventListener("abort",H)}let V=await K.text(),I=void 0;if(V.length>0)try{I=JSON.parse(V)}catch{I=V}if(!K.ok){let T=W(Q.retry);return{ok:!1,retryable:T?T.retryStatuses.includes(K.status):!1,error:new PD(N,z,K.status,I)}}return{ok:!0,value:I}}async function X(N,z,L,E={}){let Q=N.toUpperCase(),q=rV(z.startsWith("/")?z:`/${z}`,E.query),g=`${U}${q}`,B=W(E.retry),H=xV.has(Q)||Boolean(E.idempotencyKey),R=B&&H?B.retries+1:1,K=null;for(let V=1;V<=R;V++){let I=await G(Q,q,g,L,E);if(I.ok)return I.value;if(K=I,!(B!==null&&H&&I.retryable&&VX("GET",N,void 0,z),post:(N,z,L)=>X("POST",N,z,L),put:(N,z,L)=>X("PUT",N,z,L),patch:(N,z,L)=>X("PATCH",N,z,L),del:(N,z,L)=>X("DELETE",N,z,L)}}function mV(_,$=process.env,U){let J=yV(_,$);if(J.misconfigured)throw Error(J.warning??`Client for '${_}' is misconfigured for cloud mode.`);if(J.transport==="local"||!J.baseUrl)return{transport:"local",client:null,resolution:J};let D=uQ(_),j=ID($,D.apiKeyKeys)?.value;if(!j)throw Error(`Client for '${_}' resolved to cloud-http without an API key.`);return{transport:"cloud-http",client:nV({name:_,baseUrl:J.baseUrl,apiKey:j,...U?.fetchImpl?{fetchImpl:U.fetchImpl}:{},...U?.headers?{headers:U.headers}:{},...U?.timeoutMs?{timeoutMs:U.timeoutMs}:{},...U?.retry!==void 0?{retry:U.retry}:{},...U?.sleepImpl?{sleepImpl:U.sleepImpl}:{}}),resolution:J}}function fG(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function MG(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${fG(_)}/${encodeURIComponent(String($))}`}function dV(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function cV(_){if(Array.isArray(_))return _;if(_&&typeof _==="object"){let $=_;for(let U of["items","data","results","rows","records"])if(Array.isArray($[U]))return $[U]}return[]}function iV(_){if(_&&typeof _==="object"){let $=_;for(let U of["total","count","totalCount","total_count"])if(typeof $[U]==="number")return $[U]}return null}function lV(_){if(_&&typeof _==="object"){let $=_;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof $[U]==="string")return $[U]}return null}function oV(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(U,J={}){let D=await $.get(fG(U),J);return{items:cV(D),total:iV(D),cursor:lV(D),raw:D}},async get(U,J,D={}){try{return await $.get(MG(U,J),D)}catch(j){if(j instanceof PD&&j.status===404)return null;throw j}},async create(U,J,D={}){let{idempotencyKey:j,...W}=D;return $.post(fG(U),J,{...W,idempotencyKey:j??dV()})},async update(U,J,D,j={}){let{method:W="PATCH",idempotencyKey:G,...X}=j;return(W==="PUT"?$.put:$.patch)(MG(U,J),D,{...X,...G?{idempotencyKey:G}:{}})},async delete(U,J,D={}){try{await $.del(MG(U,J),void 0,D)}catch(j){if(j instanceof PD&&j.status===404)return;throw j}}}}function yG(_,$=process.env,U){let J=mV(_,$,U);if(J.transport==="cloud-http")return{transport:"cloud-http",client:oV(_,J.client)};return{transport:"local",client:null}}var nQ="knowledge",pV=["HASNA_KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_MODE","KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_MODE"],tV=["HASNA_KNOWLEDGE_API_URL","KNOWLEDGE_API_URL"],aV=["HASNA_KNOWLEDGE_API_KEY","KNOWLEDGE_API_KEY"];function hG(_,$){return $.some((U)=>(_[U]??"").trim().length>0)}function mQ(_){if(hG(_,pV))return _;if(hG(_,tV)&&hG(_,aV))return{..._,HASNA_KNOWLEDGE_STORAGE_MODE:"cloud"};return _}var $1="notes";function eV(_){let $={};if(_.search)$.search=_.search;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;if(_.includeArchived||_.archivedOnly)$.includeArchived=!0;return $}function sV(_){return{baseUrl:_.baseUrl,async list($={}){let U=$.limit??200,J=eV({...$,limit:Math.min(Math.max(U,1),200)}),D=await _.list($1,{query:J}),j=D.items;if($.archivedOnly)j=j.filter((W)=>W.archived===!0);if($.tag){let W=$.tag.toLowerCase();j=j.filter((G)=>(G.tags??[]).some((X)=>X.toLowerCase()===W))}return{items:j,total:D.total}},async get($){return _.get($1,$)},async create($){return _.create($1,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,U){try{return await _.update($1,$,U)}catch(J){if(_b(J))return null;throw J}},async delete($){let U=await _.get($1,$);if(!U)return!1;return await _.delete($1,U.id),!0}}}function _b(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function PU(_=process.env){let $=yG(nQ,mQ(_));if($.transport!=="cloud-http")return null;return sV($.client)}function o6(_=process.env){return yG(nQ,mQ(_)).transport==="cloud-http"}async function SD(_){let U=[];for(let J=0;;J+=200){let{items:D}=await _.list({includeArchived:!0,limit:200,offset:J});if(U.push(...D),D.length<200)break;if(J>1e5)break}return U}function xG(_,$){return _.id===$||_.short_id===$}class dQ{storePath;kind="local";constructor(_){this.storePath=_}get location(){return this.storePath}get exists(){return $b(this.storePath)}async listAll(){let _=v0(this.storePath);return{items:_.items,exists:_.exists}}async get(_){return v0(this.storePath).items.find((U)=>xG(U,_))??null}async create(_){return $6(this.storePath,()=>{let $=RU(this.storePath),U=new Date().toISOString(),J=_.id??GQ(),D={id:J,short_id:XQ(J),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:U,updated_at:U};return $.items.push(D),g6(this.storePath,$),D},{createParent:!0})}async update(_,$){return $6(this.storePath,()=>{let U=RU(this.storePath),J=U.items.findIndex((j)=>xG(j,_));if(J===-1)return null;let D=U.items[J];if($.title!==void 0)D.title=$.title;if($.content!==void 0)D.content=$.content;if($.url!==void 0)D.url=$.url;if($.tags!==void 0)D.tags=$.tags;if($.metadata!==void 0)D.metadata=$.metadata;if($.archived!==void 0)D.archived=$.archived;return D.updated_at=new Date().toISOString(),U.items[J]=D,g6(this.storePath,U),D},{createParent:!0})}async delete(_){return $6(this.storePath,()=>{let $=RU(this.storePath),U=$.items.length;$.items=$.items.filter((D)=>!xG(D,_));let J=U!==$.items.length;if(J)g6(this.storePath,$);return J},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return $6(this.storePath,()=>{let U=RU(this.storePath),J=U.items.length;U.items=U.items.filter((j)=>!$.has(j.id)&&!(j.short_id!=null&&$.has(j.short_id)));let D=J-U.items.length;if(D>0)g6(this.storePath,U);return D},{createParent:!0})}}class cQ{cloud;kind="api";exists=!0;constructor(_){this.cloud=_}get location(){return this.cloud.baseUrl}async listAll(){return{items:await SD(this.cloud),exists:!0}}async get(_){return this.cloud.get(_)}async create(_){return this.cloud.create({..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})}async update(_,$){return this.cloud.update(_,$)}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let U of _)if(await this.cloud.delete(U))$+=1;return $}}function fD(_){let $=_.storePathOverridden?null:PU(_.env??process.env);if($)return new cQ($);return new dQ(_.storePath)}import{Database as iQ}from"bun:sqlite";function TD(_="catalog"){if(o6())throw Error(`knowledge: ${_} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`)}var Ub="porter unicode61 remove_diacritics 2",lQ=` +`),this.outputHelp({error:!0});let U=_||{},W=U.exitCode||1,J=U.code||"commander.error";this._exit(W,J,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in f$.env){let _=$.attributeName();if(this.getOptionValue(_)===void 0||["default","config","env"].includes(this.getOptionValueSource(_)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,f$.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new su(this.options),_=(U)=>{return this.getOptionValue(U)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(U))};this.options.filter((U)=>U.implied!==void 0&&_(U.attributeName())&&$.valueFromOption(this.getOptionValue(U.attributeName()),U)).forEach((U)=>{Object.keys(U.implied).filter((W)=>!_(W)).forEach((W)=>{this.setOptionValueWithSource(W,U.implied[W],"implied")})})}missingArgument($){let _=`error: missing required argument '${$}'`;this.error(_,{code:"commander.missingArgument"})}optionMissingArgument($){let _=`error: option '${$.flags}' argument missing`;this.error(_,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let _=`error: required option '${$.flags}' not specified`;this.error(_,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,_){let U=(X)=>{let G=X.attributeName(),Q=this.getOptionValue(G),Y=this.options.find((O)=>O.negate&&G===O.attributeName()),j=this.options.find((O)=>!O.negate&&G===O.attributeName());if(Y&&(Y.presetArg===void 0&&Q===!1||Y.presetArg!==void 0&&Q===Y.presetArg))return Y;return j||X},W=(X)=>{let G=U(X),Q=G.attributeName();if(this.getOptionValueSource(Q)==="env")return`environment variable '${G.envVar}'`;return`option '${G.flags}'`},J=`error: ${W($)} cannot be used with ${W(_)}`;this.error(J,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let _="";if($.startsWith("--")&&this._showSuggestionAfterError){let W=[],J=this;do{let X=J.createHelp().visibleOptions(J).filter((G)=>G.long).map((G)=>G.long);W=W.concat(X),J=J.parent}while(J&&!J._enablePositionalOptions);_=iA($,W)}let U=`error: unknown option '${$}'${_}`;this.error(U,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let _=this.registeredArguments.length,U=_===1?"":"s",J=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${_} argument${U} but got ${$.length}.`;this.error(J,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],_="";if(this._showSuggestionAfterError){let W=[];this.createHelp().visibleCommands(this).forEach((J)=>{if(W.push(J.name()),J.alias())W.push(J.alias())}),_=iA($,W)}let U=`error: unknown command '${$}'${_}`;this.error(U,{code:"commander.unknownCommand"})}version($,_,U){if($===void 0)return this._version;this._version=$,_=_||"-V, --version",U=U||"output the version number";let W=this.createOption(_,U);return this._versionOptionName=W.attributeName(),this._registerOption(W),this.on("option:"+W.name(),()=>{this._outputConfiguration.writeOut(`${$} +`),this._exit(0,"commander.version",$)}),this}description($,_){if($===void 0&&_===void 0)return this._description;if(this._description=$,_)this._argsDescription=_;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let _=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)_=this.commands[this.commands.length-1];if($===_._name)throw Error("Command alias can't be the same as its name");let U=this.parent?._findCommand($);if(U){let W=[U.name()].concat(U.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${W}'`)}return _._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((_)=>this.alias(_)),this}usage($){if($===void 0){if(this._usage)return this._usage;let _=this.registeredArguments.map((U)=>{return ou(U)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?_:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}nameFromFilename($){return this._name=b4.basename($,b4.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let _=this.createHelp(),U=this._getOutputContext($);_.prepareContext({error:U.error,helpWidth:U.helpWidth,outputHasColors:U.hasColors});let W=_.formatHelp(this,_);if(U.hasColors)return W;return this._outputConfiguration.stripColor(W)}_getOutputContext($){$=$||{};let _=!!$.error,U,W,J;if(_)U=(G)=>this._outputConfiguration.writeErr(G),W=this._outputConfiguration.getErrHasColors(),J=this._outputConfiguration.getErrHelpWidth();else U=(G)=>this._outputConfiguration.writeOut(G),W=this._outputConfiguration.getOutHasColors(),J=this._outputConfiguration.getOutHelpWidth();return{error:_,write:(G)=>{if(!W)G=this._outputConfiguration.stripColor(G);return U(G)},hasColors:W,helpWidth:J}}outputHelp($){let _;if(typeof $==="function")_=$,$=void 0;let U=this._getOutputContext($),W={error:U.error,write:U.write,command:this};this._getCommandAndAncestors().reverse().forEach((X)=>X.emit("beforeAllHelp",W)),this.emit("beforeHelp",W);let J=this.helpInformation({error:U.error});if(_){if(J=_(J),typeof J!=="string"&&!Buffer.isBuffer(J))throw Error("outputHelp callback must return a string or a Buffer")}if(U.write(J),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",W),this._getCommandAndAncestors().forEach((X)=>X.emit("afterAllHelp",W))}helpOption($,_){if(typeof $==="boolean"){if($)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return $=$??"-h, --help",_=_??"display help for command",this._helpOption=this.createOption($,_),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this}help($){this.outputHelp($);let _=Number(f$.exitCode??0);if(_===0&&$&&typeof $!=="function"&&$.error)_=1;this._exit(_,"commander.help","(outputHelp)")}addHelpText($,_){let U=["beforeAll","before","after","afterAll"];if(!U.includes($))throw Error(`Unexpected value for position to addHelpText. +Expecting one of '${U.join("', '")}'`);let W=`${$}Help`;return this.on(W,(J)=>{let X;if(typeof _==="function")X=_({error:J.error,command:J.command});else X=_;if(X)J.write(`${X} +`)}),this}_outputHelpIfRequested($){let _=this._getHelpOption();if(_&&$.find((W)=>_.is(W)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function pA($){return $.map((_)=>{if(!_.startsWith("--inspect"))return _;let U,W="127.0.0.1",J="9229",X;if((X=_.match(/^(--inspect(-brk)?)$/))!==null)U=X[1];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=X[1],/^\d+$/.test(X[3]))J=X[3];else W=X[3];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=X[1],W=X[3],J=X[4];if(U&&J!=="0")return`${U}=${W}:${parseInt(J)+1}`;return _})}function RO(){if(f$.env.NO_COLOR||f$.env.FORCE_COLOR==="0"||f$.env.FORCE_COLOR==="false")return!1;if(f$.env.FORCE_COLOR||f$.env.CLICOLOR_FORCE!==void 0)return!0;return}eu.Command=AO;eu.useColor=RO});var eA=G0((Wd)=>{var{Argument:tA}=g5(),{Command:bO}=oA(),{CommanderError:Ud,InvalidArgumentError:aA}=ZW(),{Help:Jd}=NO(),{Option:sA}=BO();Wd.program=new bO;Wd.createCommand=($)=>new bO($);Wd.createOption=($,_)=>new sA($,_);Wd.createArgument=($,_)=>new tA($,_);Wd.Command=bO;Wd.Option=sA;Wd.Argument=tA;Wd.Help=Jd;Wd.CommanderError=Ud;Wd.InvalidArgumentError=aA;Wd.InvalidOptionArgumentError=aA});import{chmodSync as mO,closeSync as gU,existsSync as I1,fsyncSync as c5,lstatSync as rb,openSync as l5,readFileSync as IU,renameSync as uO,unlinkSync as r5,writeFileSync as i5}from"fs";import{randomUUID as wU}from"crypto";import{basename as ib,dirname as dO,join as n5}from"path";import{chmodSync as PO,existsSync as ub,mkdirSync as v5,readFileSync as db,writeFileSync as CO}from"fs";import{homedir as y5}from"os";import{dirname as nb,join as q_,resolve as TO}from"path";var c6=q_(".hasna","knowledge"),SO=q_(".hasna","apps","knowledge"),S$={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:c6,s3:{bucket:"example-knowledge-prod",region:"us-east-1",profile:"example-infra",prefix:".hasna/knowledge",server_side_encryption:"AES256"},secrets:{env:"example/knowledge/prod/env",aws:"example/knowledge/prod/aws",s3:"example/knowledge/prod/s3",rds:null,future_rds:"example/knowledge/prod/rds"},source_owner:"open-files",evidence_doc:"docs/canonical-secrets-bootstrap-2026-06-08.md"};function ZO(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:S$.s3.bucket,prefix:S$.s3.prefix,region:S$.s3.region,profile:S$.s3.profile,server_side_encryption:S$.s3.server_side_encryption}}}function KU(){return q_(y5(),".open-knowledge","db.json")}function uW(){return q_(y5(),".hasna","knowledge")}function h5($=process.cwd()){return TO($,c6)}function cb(){return q_(y5(),SO)}function lb($=process.cwd()){return TO($,SO)}function x5($,_=process.cwd()){if($==="project"||$==="local")return T_(lb(_));return T_(cb())}function T_($){return{home:$,configPath:q_($,"config.json"),jsonStorePath:q_($,"db.json"),knowledgeDbPath:q_($,"knowledge.db"),artifactsDir:q_($,"artifacts"),cacheDir:q_($,"cache"),exportsDir:q_($,"exports"),indexesDir:q_($,"indexes"),logsDir:q_($,"logs"),runsDir:q_($,"runs"),schemasDir:q_($,"schemas"),wikiDir:q_($,"wiki")}}function MU(){return{version:1,mode:"local",hosted:{api_url:"https://knowledge.md"},storage:{type:"local",artifacts_root:"artifacts"},sources:{preferred_ref:"open-files",allowed_schemes:["open-files","s3","file","https","http"]},providers:{default_model:"openai:gpt-5.2",aliases:{fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"},openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},embeddings:{default_model:"openai:text-embedding-3-small",dimensions:1536,batch_size:64,max_parallel_calls:4},safety:{network:{web_search_enabled:!1,s3_reads_enabled:!1,allowed_s3_buckets:[]},redaction:{enabled:!0},approvals:{generated_writes_require_approval:!0}}}}function g1($){let _=T_($);v5(_.home,{recursive:!0,mode:448});for(let U of[_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir])v5(U,{recursive:!0,mode:448});if(!ub(_.configPath))CO(_.configPath,`${JSON.stringify(MU(),null,2)} +`,{mode:384}),PO(_.configPath,384);return _}function dW($,_=process.cwd()){if($==="project"||$==="local")return T_(h5(_));return T_(uW())}function E4($){v5(nb($),{recursive:!0})}function m5($){let _=db($,"utf8");return JSON.parse(_)}function vO($,_){E4($),CO($,`${JSON.stringify(_,null,2)} +`,{mode:384}),PO($,384)}function cW(){return T_(uW()).jsonStorePath}function kU($){if($===cW()&&I1(KU()))o5();if(!I1($))E4($),lO($,`${JSON.stringify({items:[]},null,2)} +`)}function pb($){return $.toISOString().replace(/[:.]/g,"-")}function p5($){let _=[`id:${$.id}`];if(typeof $.short_id==="string"&&$.short_id.length>0)_.push(`short_id:${$.short_id}`);return _}function ob($){let _=new Set;for(let U of $)for(let W of p5(U))_.add(W);return _}function tb($,_){return p5(_).some((U)=>$.has(U))}function u5($,_){E4($),i5($,`${JSON.stringify(_,null,2)} +`,{mode:384}),mO($,384)}function yO($){let _=JSON.parse(IU($,"utf8"));if(!_||typeof _!=="object"||!Array.isArray(_.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},W=0;for(let J of _.items)if(J&&typeof J==="object"&&typeof J.id==="string"&&J.id.length>0)U.items.push(J);else W+=1;return{store:U,skippedInvalid:W}}function o5($={}){if($.dryRun===!0)return hO($);return I6(cW(),()=>hO($),{createParent:!0})}function hO($={}){let _=$.dryRun===!0,U=$.now??new Date,W=T_(uW()),J=KU(),X=W.jsonStorePath,G=I1(J),Q=I1(X),Y={ok:!0,dry_run:_,legacy_path:J,canonical_path:X,legacy_exists:G,canonical_existed:Q,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:G?"Legacy global store already imported":"No legacy global store found"};if(!G)return Y;let j;try{let N=yO(J);j=N.store,Y.skipped_invalid=N.skippedInvalid}catch(N){return Y.ok=!1,Y.errors.push(`Could not read legacy store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let O={items:[]};if(Q)try{O=yO(X).store}catch(N){return Y.ok=!1,Y.errors.push(`Could not read canonical store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let B=ob(O.items),V={items:[...O.items]};for(let N of j.items){if(!N?.id){Y.skipped_invalid+=1;continue}if(tb(B,N)){Y.skipped_existing+=1;continue}V.items.push(N);for(let H of p5(N))B.add(H);Y.imported+=1}if(Y.would_create_canonical=!Q&&Y.imported>0,Y.canonical_created=!_&&Y.would_create_canonical,Y.message=Y.imported>0?`Imported ${Y.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",_||Y.imported===0)return Y;let L=`${pb(U)}-${wU().slice(0,8)}`;if(Q)Y.backup_path=n5(W.exportsDir,`legacy-open-knowledge-db-before-import-${L}.json`),u5(Y.backup_path,O);return u5(X,V),Y.report_path=n5(W.runsDir,`legacy-open-knowledge-import-${L}.json`),u5(Y.report_path,Y),Y}function w1($){if(!I1($))return{exists:!1,items:[]};let _=IU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function ab($){return`${$}.lock`}var nW=1e4,nO=25,xO=120000,sb=new Int32Array(new SharedArrayBuffer(4));function t5($){return typeof $==="object"&&$!==null&&"code"in $?String($.code):void 0}function cO($){let _=null;try{_=l5(dO($),"r"),c5(_)}catch{}finally{if(_!==null)try{gU(_)}catch{}}}var d5=new Set;function lO($,_){E4($);let U=n5(dO($),`.${ib($)}.tmp.${wU()}`),W=null;try{W=l5(U,"wx",384),i5(W,_),c5(W),gU(W),W=null,uO(U,$);try{mO($,384)}catch{}cO($)}catch(J){if(W!==null)try{gU(W)}catch{}try{r5(U)}catch{}throw J}}function rO($){Atomics.wait(sb,0,0,$)}function eb($){if(typeof $!=="number"||!Number.isInteger($)||$<=0)return!1;try{return process.kill($,0),!0}catch(_){return t5(_)!=="ESRCH"}}function iO($,_){try{let U=IU($,"utf8"),W=JSON.parse(U);if(typeof W.ts==="number")return _-W.ts>xO&&!eb(W.pid)}catch{}try{return _-rb($).mtimeMs>xO}catch{return!1}}function $F($){let _=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${$}.stale.${_}.${wU()}`;try{uO($,U)}catch(W){if(t5(W)!=="ENOENT")throw W;return}}function _F($){let _=wU(),U=`${$}.breaker`,W=Date.now();while(Date.now()-W$;function XF($,_){this[$]=WF.bind(null,_)}var GF=($,_)=>{for(var U in _)JF($,U,{get:_[U],enumerable:!0,configurable:!0,set:XF.bind(_,U)})},D={};GF(D,{void:()=>cF,util:()=>M$,unknown:()=>dF,union:()=>pF,undefined:()=>xF,tuple:()=>aF,transformer:()=>$L,symbol:()=>hF,string:()=>DL,strictObject:()=>iF,setErrorMap:()=>jF,set:()=>$E,record:()=>sF,quotelessJson:()=>QF,promise:()=>GE,preprocess:()=>jE,pipeline:()=>DE,ostring:()=>zE,optional:()=>QE,onumber:()=>qE,oboolean:()=>OE,objectUtil:()=>_G,object:()=>rF,number:()=>zL,nullable:()=>YE,null:()=>mF,never:()=>nF,nativeEnum:()=>XE,nan:()=>ZF,map:()=>eF,makeIssue:()=>iW,literal:()=>JE,lazy:()=>UE,late:()=>TF,isValid:()=>Q0,isDirty:()=>JG,isAsync:()=>PU,isAborted:()=>UG,intersection:()=>tF,instanceof:()=>SF,getParsedType:()=>i6,getErrorMap:()=>rW,function:()=>_E,enum:()=>WE,effect:()=>$L,discriminatedUnion:()=>oF,defaultErrorMap:()=>C1,datetimeRegex:()=>QL,date:()=>yF,custom:()=>jL,coerce:()=>LE,boolean:()=>qL,bigint:()=>vF,array:()=>lF,any:()=>uF,addIssueToContext:()=>h,ZodVoid:()=>TU,ZodUnknown:()=>K4,ZodUnion:()=>v1,ZodUndefined:()=>S1,ZodType:()=>V$,ZodTuple:()=>k6,ZodTransformer:()=>l_,ZodSymbol:()=>CU,ZodString:()=>_6,ZodSet:()=>D0,ZodSchema:()=>V$,ZodRecord:()=>SU,ZodReadonly:()=>n1,ZodPromise:()=>z0,ZodPipeline:()=>yU,ZodParsedType:()=>n,ZodOptional:()=>J6,ZodObject:()=>s$,ZodNumber:()=>M4,ZodNullable:()=>p6,ZodNull:()=>Z1,ZodNever:()=>w6,ZodNativeEnum:()=>m1,ZodNaN:()=>vU,ZodMap:()=>ZU,ZodLiteral:()=>x1,ZodLazy:()=>h1,ZodIssueCode:()=>P,ZodIntersection:()=>y1,ZodFunction:()=>P1,ZodFirstPartyTypeKind:()=>X$,ZodError:()=>S_,ZodEnum:()=>I4,ZodEffects:()=>l_,ZodDiscriminatedUnion:()=>oW,ZodDefault:()=>u1,ZodDate:()=>Y0,ZodCatch:()=>d1,ZodBranded:()=>tW,ZodBoolean:()=>T1,ZodBigInt:()=>g4,ZodArray:()=>U6,ZodAny:()=>j0,Schema:()=>V$,ParseStatus:()=>O_,OK:()=>F_,NEVER:()=>NE,INVALID:()=>U$,EMPTY_PATH:()=>DF,DIRTY:()=>f1,BRAND:()=>CF});var M$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(M$||(M$={}));var _G;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(_G||(_G={}));var n=M$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),i6=($)=>{switch(typeof $){case"undefined":return n.undefined;case"string":return n.string;case"number":return Number.isNaN($)?n.nan:n.number;case"boolean":return n.boolean;case"function":return n.function;case"bigint":return n.bigint;case"symbol":return n.symbol;case"object":if(Array.isArray($))return n.array;if($===null)return n.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return n.promise;if(typeof Map<"u"&&$ instanceof Map)return n.map;if(typeof Set<"u"&&$ instanceof Set)return n.set;if(typeof Date<"u"&&$ instanceof Date)return n.date;return n.object;default:return n.unknown}},P=M$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),QF=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class S_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}S_.create=($)=>{return new S_($)};var YF=($,_)=>{let U;switch($.code){case P.invalid_type:if($.received===n.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case P.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,M$.jsonStringifyReplacer)}`;break;case P.unrecognized_keys:U=`Unrecognized key(s) in object: ${M$.joinValues($.keys,", ")}`;break;case P.invalid_union:U="Invalid input";break;case P.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${M$.joinValues($.options)}`;break;case P.invalid_enum_value:U=`Invalid enum value. Expected ${M$.joinValues($.options)}, received '${$.received}'`;break;case P.invalid_arguments:U="Invalid function arguments";break;case P.invalid_return_type:U="Invalid function return type";break;case P.invalid_date:U="Invalid date";break;case P.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else M$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case P.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case P.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case P.custom:U="Invalid input";break;case P.invalid_intersection_types:U="Intersection results could not be merged";break;case P.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case P.not_finite:U="Number must be finite";break;default:U=_.defaultError,M$.assertNever($)}return{message:U}},C1=YF,WL=C1;function jF($){WL=$}function rW(){return WL}var iW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},DF=[];function h($,_){let U=rW(),W=iW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===C1?void 0:C1].filter((J)=>!!J)});$.common.issues.push(W)}class O_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return U$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return O_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return U$;if(X.status==="aborted")return U$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var U$=Object.freeze({status:"aborted"}),f1=($)=>({status:"dirty",value:$}),F_=($)=>({status:"valid",value:$}),UG=($)=>$.status==="aborted",JG=($)=>$.status==="dirty",Q0=($)=>$.status==="valid",PU=($)=>typeof Promise<"u"&&$ instanceof Promise,t;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(t||(t={}));class W6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var sO=($,_)=>{if(Q0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new S_($.common.issues);return this._error=U,this._error}}}};function L$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class V${get description(){return this._def.description}_getType($){return i6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:i6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O_,ctx:{common:$.parent.common,data:$.data,parsedType:i6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(PU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:i6($)},W=this._parseSync({data:$,path:U.path,parent:U});return sO(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:i6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return Q0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>Q0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:i6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(PU(W)?W:Promise.resolve(W));return sO(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:P.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new l_({schema:this,typeName:X$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return J6.create(this,this._def)}nullable(){return p6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return U6.create(this)}promise(){return z0.create(this,this._def)}or($){return v1.create([this,$],this._def)}and($){return y1.create(this,$,this._def)}transform($){return new l_({...L$(this._def),schema:this,typeName:X$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new u1({...L$(this._def),innerType:this,defaultValue:_,typeName:X$.ZodDefault})}brand(){return new tW({typeName:X$.ZodBranded,type:this,...L$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new d1({...L$(this._def),innerType:this,catchValue:_,typeName:X$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return yU.create(this,$)}readonly(){return n1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var zF=/^c[^\s-]{8,}$/i,qF=/^[0-9a-z]+$/,OF=/^[0-9A-HJKMNP-TV-Z]{26}$/i,LF=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,NF=/^[a-z0-9_-]{21}$/i,BF=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,HF=/^[-+]?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)?)??$/,VF=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,RF="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",a5,AF=/^(?:(?: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])$/,bF=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,FF=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,EF=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,KF=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,MF=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,XL="((\\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])))",gF=new RegExp(`^${XL}$`);function GL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function IF($){return new RegExp(`^${GL($)}$`)}function QL($){let _=`${XL}T${GL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function wF($,_){if((_==="v4"||!_)&&AF.test($))return!0;if((_==="v6"||!_)&&FF.test($))return!0;return!1}function kF($,_){if(!BF.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function fF($,_){if((_==="v4"||!_)&&bF.test($))return!0;if((_==="v6"||!_)&&EF.test($))return!0;return!1}class _6 extends V${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==n.string){let J=this._getOrReturnCtx($);return h(J,{code:P.invalid_type,expected:n.string,received:J.parsedType}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.lengthJ.value)W=this._getOrReturnCtx($,W),h(W,{code:P.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length$.test(W),{validation:_,code:P.invalid_string,...t.errToObj(U)})}_addCheck($){return new _6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...t.errToObj($)})}url($){return this._addCheck({kind:"url",...t.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...t.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...t.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...t.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...t.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...t.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...t.errToObj($)})}base64($){return this._addCheck({kind:"base64",...t.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...t.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...t.errToObj($)})}ip($){return this._addCheck({kind:"ip",...t.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...t.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...t.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...t.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...t.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...t.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...t.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...t.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...t.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...t.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...t.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...t.errToObj(_)})}nonempty($){return this.min(1,t.errToObj($))}trim(){return new _6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}_6.create=($)=>{return new _6({checks:[],typeName:X$.ZodString,coerce:$?.coerce??!1,...L$($)})};function PF($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class M4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==n.number){let J=this._getOrReturnCtx($);return h(J,{code:P.invalid_type,expected:n.number,received:J.parsedType}),U$}let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="int"){if(!M$.isInteger($.data))U=this._getOrReturnCtx($,U),h(U,{code:P.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.dataJ.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:P.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(PF($.data,J.value)!==0)U=this._getOrReturnCtx($,U),h(U,{code:P.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),h(U,{code:P.not_finite,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new M4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new M4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:t.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}finite($){return this._addCheck({kind:"finite",message:t.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:t.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:t.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&M$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}M4.create=($)=>{return new M4({checks:[],typeName:X$.ZodNumber,coerce:$?.coerce||!1,...L$($)})};class g4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==n.bigint)return this._getInvalidInput($);let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.dataJ.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:P.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),h(U,{code:P.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return h(_,{code:P.invalid_type,expected:n.bigint,received:_.parsedType}),U$}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new g4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new g4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}g4.create=($)=>{return new g4({checks:[],typeName:X$.ZodBigInt,coerce:$?.coerce??!1,...L$($)})};class T1 extends V${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==n.boolean){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.boolean,received:U.parsedType}),U$}return F_($.data)}}T1.create=($)=>{return new T1({typeName:X$.ZodBoolean,coerce:$?.coerce||!1,...L$($)})};class Y0 extends V${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==n.date){let J=this._getOrReturnCtx($);return h(J,{code:P.invalid_type,expected:n.date,received:J.parsedType}),U$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return h(J,{code:P.invalid_date}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()J.value)W=this._getOrReturnCtx($,W),h(W,{code:P.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new Y0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:t.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:t.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}Y0.create=($)=>{return new Y0({checks:[],coerce:$?.coerce||!1,typeName:X$.ZodDate,...L$($)})};class CU extends V${_parse($){if(this._getType($)!==n.symbol){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.symbol,received:U.parsedType}),U$}return F_($.data)}}CU.create=($)=>{return new CU({typeName:X$.ZodSymbol,...L$($)})};class S1 extends V${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.undefined,received:U.parsedType}),U$}return F_($.data)}}S1.create=($)=>{return new S1({typeName:X$.ZodUndefined,...L$($)})};class Z1 extends V${_parse($){if(this._getType($)!==n.null){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.null,received:U.parsedType}),U$}return F_($.data)}}Z1.create=($)=>{return new Z1({typeName:X$.ZodNull,...L$($)})};class j0 extends V${constructor(){super(...arguments);this._any=!0}_parse($){return F_($.data)}}j0.create=($)=>{return new j0({typeName:X$.ZodAny,...L$($)})};class K4 extends V${constructor(){super(...arguments);this._unknown=!0}_parse($){return F_($.data)}}K4.create=($)=>{return new K4({typeName:X$.ZodUnknown,...L$($)})};class w6 extends V${_parse($){let _=this._getOrReturnCtx($);return h(_,{code:P.invalid_type,expected:n.never,received:_.parsedType}),U$}}w6.create=($)=>{return new w6({typeName:X$.ZodNever,...L$($)})};class TU extends V${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.void,received:U.parsedType}),U$}return F_($.data)}}TU.create=($)=>{return new TU({typeName:X$.ZodVoid,...L$($)})};class U6 extends V${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==n.array)return h(_,{code:P.invalid_type,expected:n.array,received:_.parsedType}),U$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.lengthW.maxLength.value)h(_,{code:P.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new W6(_,X,_.path,G))})).then((X)=>{return O_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new W6(_,X,_.path,G))});return O_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new U6({...this._def,minLength:{value:$,message:t.toString(_)}})}max($,_){return new U6({...this._def,maxLength:{value:$,message:t.toString(_)}})}length($,_){return new U6({...this._def,exactLength:{value:$,message:t.toString(_)}})}nonempty($){return this.min(1,$)}}U6.create=($,_)=>{return new U6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:X$.ZodArray,...L$(_)})};function k1($){if($ instanceof s$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=J6.create(k1(W))}return new s$({...$._def,shape:()=>_})}else if($ instanceof U6)return new U6({...$._def,type:k1($.element)});else if($ instanceof J6)return J6.create(k1($.unwrap()));else if($ instanceof p6)return p6.create(k1($.unwrap()));else if($ instanceof k6)return k6.create($.items.map((_)=>k1(_)));else return $}class s$ extends V${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=M$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==n.object){let Y=this._getOrReturnCtx($);return h(Y,{code:P.invalid_type,expected:n.object,received:Y.parsedType}),U$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof w6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new W6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof w6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)h(W,{code:P.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new W6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return O_.mergeObjectSync(U,Y)});else return O_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return t.errToObj,new s$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:t.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new s$({...this._def,unknownKeys:"strip"})}passthrough(){return new s$({...this._def,unknownKeys:"passthrough"})}extend($){return new s$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new s$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:X$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new s$({...this._def,catchall:$})}pick($){let _={};for(let U of M$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}omit($){let _={};for(let U of M$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}deepPartial(){return k1(this)}partial($){let _={};for(let U of M$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new s$({...this._def,shape:()=>_})}required($){let _={};for(let U of M$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof J6)J=J._def.innerType;_[U]=J}return new s$({...this._def,shape:()=>_})}keyof(){return YL(M$.objectKeys(this.shape))}}s$.create=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.strictCreate=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strict",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.lazycreate=($,_)=>{return new s$({shape:$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};class v1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new S_(G.ctx.common.issues));return h(_,{code:P.invalid_union,unionErrors:X}),U$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new S_(Q));return h(_,{code:P.invalid_union,unionErrors:G}),U$}}get options(){return this._def.options}}v1.create=($,_)=>{return new v1({options:$,typeName:X$.ZodUnion,...L$(_)})};var r6=($)=>{if($ instanceof h1)return r6($.schema);else if($ instanceof l_)return r6($.innerType());else if($ instanceof x1)return[$.value];else if($ instanceof I4)return $.options;else if($ instanceof m1)return M$.objectValues($.enum);else if($ instanceof u1)return r6($._def.innerType);else if($ instanceof S1)return[void 0];else if($ instanceof Z1)return[null];else if($ instanceof J6)return[void 0,...r6($.unwrap())];else if($ instanceof p6)return[null,...r6($.unwrap())];else if($ instanceof tW)return r6($.unwrap());else if($ instanceof n1)return r6($.unwrap());else if($ instanceof d1)return r6($._def.innerType);else return[]};class oW extends V${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.object)return h(_,{code:P.invalid_type,expected:n.object,received:_.parsedType}),U$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return h(_,{code:P.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),U$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=r6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new oW({typeName:X$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...L$(U)})}}function WG($,_){let U=i6($),W=i6(_);if($===_)return{valid:!0,data:$};else if(U===n.object&&W===n.object){let J=M$.objectKeys(_),X=M$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=WG($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===n.array&&W===n.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=WG(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===n.date&&W===n.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class y1 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(UG(J)||UG(X))return U$;let G=WG(J.value,X.value);if(!G.valid)return h(U,{code:P.invalid_intersection_types}),U$;if(JG(J)||JG(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}y1.create=($,_,U)=>{return new y1({left:$,right:_,typeName:X$.ZodIntersection,...L$(U)})};class k6 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.array)return h(U,{code:P.invalid_type,expected:n.array,received:U.parsedType}),U$;if(U.data.lengththis._def.items.length)h(U,{code:P.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new W6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return O_.mergeArray(_,X)});else return O_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new k6({...this._def,rest:$})}}k6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new k6({items:$,typeName:X$.ZodTuple,rest:null,...L$(_)})};class SU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.object)return h(U,{code:P.invalid_type,expected:n.object,received:U.parsedType}),U$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new W6(U,G,U.path,G)),value:X._parse(new W6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return O_.mergeObjectAsync(_,W);else return O_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof V$)return new SU({keyType:$,valueType:_,typeName:X$.ZodRecord,...L$(U)});return new SU({keyType:_6.create(),valueType:$,typeName:X$.ZodRecord,...L$(_)})}}class ZU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.map)return h(U,{code:P.invalid_type,expected:n.map,received:U.parsedType}),U$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new W6(U,G,U.path,[Y,"key"])),value:J._parse(new W6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}ZU.create=($,_,U)=>{return new ZU({valueType:_,keyType:$,typeName:X$.ZodMap,...L$(U)})};class D0 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.set)return h(U,{code:P.invalid_type,expected:n.set,received:U.parsedType}),U$;let W=this._def;if(W.minSize!==null){if(U.data.sizeW.maxSize.value)h(U,{code:P.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return U$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new W6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new D0({...this._def,minSize:{value:$,message:t.toString(_)}})}max($,_){return new D0({...this._def,maxSize:{value:$,message:t.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}D0.create=($,_)=>{return new D0({valueType:$,minSize:null,maxSize:null,typeName:X$.ZodSet,...L$(_)})};class P1 extends V${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.function)return h(_,{code:P.invalid_type,expected:n.function,received:_.parsedType}),U$;function U(G,Q){return iW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,rW(),C1].filter((Y)=>!!Y),issueData:{code:P.invalid_arguments,argumentsError:Q}})}function W(G,Q){return iW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,rW(),C1].filter((Y)=>!!Y),issueData:{code:P.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof z0){let G=this;return F_(async function(...Q){let Y=new S_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return F_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new S_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new S_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new P1({...this._def,args:k6.create($).rest(K4.create())})}returns($){return new P1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new P1({args:$?$:k6.create([]).rest(K4.create()),returns:_||K4.create(),typeName:X$.ZodFunction,...L$(U)})}}class h1 extends V${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}h1.create=($,_)=>{return new h1({getter:$,typeName:X$.ZodLazy,...L$(_)})};class x1 extends V${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return h(_,{received:_.data,code:P.invalid_literal,expected:this._def.value}),U$}return{status:"valid",value:$.data}}get value(){return this._def.value}}x1.create=($,_)=>{return new x1({value:$,typeName:X$.ZodLiteral,...L$(_)})};function YL($,_){return new I4({values:$,typeName:X$.ZodEnum,...L$(_)})}class I4 extends V${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{expected:M$.joinValues(U),received:_.parsedType,code:P.invalid_type}),U$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{received:_.data,code:P.invalid_enum_value,options:U}),U$}return F_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return I4.create($,{...this._def,..._})}exclude($,_=this._def){return I4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}I4.create=YL;class m1 extends V${_parse($){let _=M$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==n.string&&U.parsedType!==n.number){let W=M$.objectValues(_);return h(U,{expected:M$.joinValues(W),received:U.parsedType,code:P.invalid_type}),U$}if(!this._cache)this._cache=new Set(M$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=M$.objectValues(_);return h(U,{received:U.data,code:P.invalid_enum_value,options:W}),U$}return F_($.data)}get enum(){return this._def.values}}m1.create=($,_)=>{return new m1({values:$,typeName:X$.ZodNativeEnum,...L$(_)})};class z0 extends V${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.promise&&_.common.async===!1)return h(_,{code:P.invalid_type,expected:n.promise,received:_.parsedType}),U$;let U=_.parsedType===n.promise?_.data:Promise.resolve(_.data);return F_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}z0.create=($,_)=>{return new z0({type:$,typeName:X$.ZodPromise,...L$(_)})};class l_ extends V${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===X$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(h(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return U$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return U$;if(Q.status==="dirty")return f1(Q.value);if(_.value==="dirty")return f1(Q.value);return Q});else{if(_.value==="aborted")return U$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")return f1(G.value);if(_.value==="dirty")return f1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!Q0(X))return U$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!Q0(X))return U$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});M$.assertNever(W)}}l_.create=($,_,U)=>{return new l_({schema:$,typeName:X$.ZodEffects,effect:_,...L$(U)})};l_.createWithPreprocess=($,_,U)=>{return new l_({schema:_,effect:{type:"preprocess",transform:$},typeName:X$.ZodEffects,...L$(U)})};class J6 extends V${_parse($){if(this._getType($)===n.undefined)return F_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}J6.create=($,_)=>{return new J6({innerType:$,typeName:X$.ZodOptional,...L$(_)})};class p6 extends V${_parse($){if(this._getType($)===n.null)return F_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}p6.create=($,_)=>{return new p6({innerType:$,typeName:X$.ZodNullable,...L$(_)})};class u1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===n.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}u1.create=($,_)=>{return new u1({innerType:$,typeName:X$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...L$(_)})};class d1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(PU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}d1.create=($,_)=>{return new d1({innerType:$,typeName:X$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...L$(_)})};class vU extends V${_parse($){if(this._getType($)!==n.nan){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.nan,received:U.parsedType}),U$}return{status:"valid",value:$.data}}}vU.create=($)=>{return new vU({typeName:X$.ZodNaN,...L$($)})};var CF=Symbol("zod_brand");class tW extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class yU extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return U$;if(J.status==="dirty")return _.dirty(),f1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return U$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new yU({in:$,out:_,typeName:X$.ZodPipeline})}}class n1 extends V${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(Q0(W))W.value=Object.freeze(W.value);return W};return PU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}n1.create=($,_)=>{return new n1({innerType:$,typeName:X$.ZodReadonly,...L$(_)})};function eO($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function jL($,_={},U){if($)return j0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=eO(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=eO(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return j0.create()}var TF={object:s$.lazycreate},X$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(X$||(X$={}));var SF=($,_={message:`Input not instance of ${$.name}`})=>jL((U)=>U instanceof $,_),DL=_6.create,zL=M4.create,ZF=vU.create,vF=g4.create,qL=T1.create,yF=Y0.create,hF=CU.create,xF=S1.create,mF=Z1.create,uF=j0.create,dF=K4.create,nF=w6.create,cF=TU.create,lF=U6.create,rF=s$.create,iF=s$.strictCreate,pF=v1.create,oF=oW.create,tF=y1.create,aF=k6.create,sF=SU.create,eF=ZU.create,$E=D0.create,_E=P1.create,UE=h1.create,JE=x1.create,WE=I4.create,XE=m1.create,GE=z0.create,$L=l_.create,QE=J6.create,YE=p6.create,jE=l_.createWithPreprocess,DE=yU.create,zE=()=>DL().optional(),qE=()=>zL().optional(),OE=()=>qL().optional(),LE={string:($)=>_6.create({...$,coerce:!0}),number:($)=>M4.create({...$,coerce:!0}),boolean:($)=>T1.create({...$,coerce:!0}),bigint:($)=>g4.create({...$,coerce:!0}),date:($)=>Y0.create({...$,coerce:!0})},NE=U$;var o={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},OL=D.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),Z_=D.string().datetime(),Y$=D.string().trim().min(1),o6=Y$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),LL=D.string().regex(/^[a-fA-F0-9]{64}$/),NL=D.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),t6=D.record(D.unknown()),r1=D.array(D.string().min(1)).default([]),q0=Z_.nullable().optional(),BE=new Set(["succeeded","failed","cancelled","blocked","skipped"]),L0=D.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function Z$($){return D.object({schema:D.literal($),id:D.string().min(1),createdAt:Z_,updatedAt:q0,metadata:t6.optional()}).strict()}var on=D.object({schema:OL,id:D.string().min(1),createdAt:Z_,updatedAt:q0,metadata:t6.optional()}).strict(),BL=D.enum(["agent","human","service","model","workflow","system"]),HE=Z$(o.actorRef).extend({kind:BL,name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional(),capabilities:D.array(D.string().min(1)).default([])}).strict(),f6=D.object({kind:BL,id:D.string().min(1),name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional()}).strict(),HL=D.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),VE=Z$(o.resourceRef).extend({kind:HL,name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:r1}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),H$=D.object({kind:HL,id:D.string().min(1),name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:r1}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),GG=D.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),RE=D.enum(["none","partial","full","unknown"]),AE=Z$(o.evidenceRef).extend({kind:GG,uri:o6,sha256:LL.optional(),summary:D.string().min(1).optional(),contentType:D.string().min(1).optional(),sizeBytes:D.number().int().nonnegative().optional(),redaction:RE.default("unknown"),producer:f6.optional(),resourceRefs:D.array(H$).default([]),tags:r1}).strict(),c$=D.object({id:D.string().min(1),kind:GG.optional(),uri:o6.optional(),sha256:LL.optional(),summary:D.string().min(1).optional()}).strict(),hU=Z$(o.costEstimate).extend({currency:D.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:D.number().int().nonnegative(),provider:D.string().min(1).optional(),model:D.string().min(1).optional(),accountId:D.string().min(1).optional(),promptTokens:D.number().int().nonnegative().optional(),completionTokens:D.number().int().nonnegative().optional(),totalTokens:D.number().int().nonnegative().optional(),basis:D.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:D.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),bE=D.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),VL=Z$(o.decisionEnvelope).extend({decisionType:D.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:bE,actor:f6.optional(),traceId:D.string().min(1).optional(),inputHash:NL.optional(),policyBundleId:D.string().min(1).optional(),selected:D.array(H$).default([]),skipped:D.array(H$).default([]),reason:D.string().min(1),obligations:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),costEstimate:hU.optional(),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),FE=Z$(o.capabilityCard).extend({kind:D.enum(["model","tool","machine","agent","lane","connector","service"]),name:D.string().min(1),version:D.string().min(1).optional(),status:D.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:D.array(D.string().min(1)).default([]),limitations:D.array(D.string().min(1)).default([]),riskLevel:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:hU.optional(),evidenceRefs:D.array(c$).default([])}).strict(),c1=D.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),EE=D.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),KE=D.object({refName:Y$,requiredForModes:D.array(c1).min(1),allowedSecretInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:Y$,revocationCheck:D.boolean().default(!0)}).strict(),ME=D.object({operation:Y$,supportedModes:D.array(c1).min(1),sideEffectClass:EE,requiresApproval:D.boolean().default(!1),requiresIdempotencyKey:D.boolean().default(!1),requiresSandboxEvidence:D.boolean().default(!1),requiresRollbackOrRevocation:D.boolean().default(!1),rollbackOrRevocation:Y$.optional(),noSideEffectSmoke:Y$.optional(),reconciliation:Y$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),gE=D.object({providerId:Y$,appId:Y$,adapterId:Y$,ownerPackage:Y$,modes:D.array(c1).min(1),defaultMode:c1,credentialRequirements:D.array(KE).default([]),operations:D.array(ME).min(1),rateLimitPosture:Y$,costPosture:Y$.optional(),auditEvents:D.array(Y$).default([]),redactionRules:D.array(Y$).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:D.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),IE=D.object({appId:Y$,repo:Y$,priority:D.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:D.array(Y$).min(1),firstOperations:D.array(Y$).min(1),blockedUntil:D.array(Y$).default([])}).strict(),wE=Z$(o.providerLiveModeStandard).extend({name:Y$,version:Y$,modes:D.array(c1).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:D.array(Y$).min(1),liveMutationGate:D.object({requiredMode:D.literal("live_mutating"),requiredChecks:D.array(Y$).min(1),forbiddenBypassSignals:D.array(Y$).min(1),disabledLiveSmoke:Y$}).strict(),noSideEffectSmoke:D.object({requiredForModes:D.array(c1).min(1),commandEvidence:D.array(Y$).min(1),secretOutputScan:D.boolean().default(!0)}).strict(),credentialPolicy:D.object({acceptedInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:D.literal(!1),missingCredentialBehavior:D.literal("fail_closed"),revocationCheckRequired:D.boolean().default(!0)}).strict(),operationCards:D.array(gE).min(1),firstAdoptionTargets:D.array(IE).min(1),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),kE=D.object({id:D.string().min(1),title:D.string().min(1).optional(),summary:D.string().min(1),text:D.string().optional(),tokens:D.number().int().nonnegative().optional(),source:c$,resourceRefs:D.array(H$).default([])}).strict(),RL=Z$(o.contextPack).extend({objective:D.string().min(1),budget:D.object({maxTokens:D.number().int().positive().optional(),maxBytes:D.number().int().positive().optional()}).strict().optional(),items:D.array(kE).default([]),citations:D.array(c$).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),permissions:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),conflicts:D.array(D.string().min(1)).default([]),uncertainty:D.string().min(1).optional()}).strict(),$6=Y$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),O0=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),fE=D.enum(["public","internal","private","sensitive"]),PE=D.enum(["draft","active","paused","archived"]),QG=D.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),AL=Z$(o.integrationRef).extend({kind:QG,name:D.string().min(1),projectId:O0.optional(),sourcePackage:Y$.optional(),externalId:Y$.optional(),uri:o6.optional(),enabled:D.boolean().default(!0),readOnly:D.boolean().default(!0),capabilities:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:H$.optional(),evidenceRefs:D.array(c$).default([]),config:t6.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),CE=D.object({schemaRoot:$6.default(".hasna/project"),dashboardManifest:$6.default(".hasna/project/dashboard.render.json"),snapshotsDir:$6.default(".hasna/project/snapshots"),documentsDir:$6.default("documents"),reportsDir:$6.default("reports"),evidenceDir:$6.default(".hasna/project/evidence"),privateDir:$6.default(".hasna/project/private")}).strict(),TE=Z$(o.projectManifest).extend({projectId:O0,slug:O0,name:D.string().min(1),summary:D.string().min(1).optional(),status:PE.default("active"),classification:fE.default("private"),owner:f6.optional(),layout:CE.default({}),integrations:D.array(AL).default([]),renderManifests:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),tags:r1}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:D.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),SE=D.enum(["local","package","provider","url"]),YG=D.object({id:D.string().min(1),kind:SE,specifier:D.string().min(1),path:$6.optional(),packageName:D.string().min(1).optional(),uri:o6.optional(),provider:QG.optional(),schemaId:OL.optional(),integrity:NL.optional(),resourceRef:H$.optional(),optional:D.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:D.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:D.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:D.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ZE=D.enum(["dashboard","canvas","panel","report","document","custom"]),vE=D.object({id:D.string().min(1),title:D.string().min(1),kind:ZE,default:D.boolean().default(!1),entry:$6.optional(),imports:D.array(YG).default([]),panelRefs:D.array(H$).default([]),dataRefs:D.array(H$).default([]),layout:t6.optional()}).strict(),yE=Z$(o.renderManifest).extend({projectId:O0,name:D.string().min(1),version:D.string().min(1),manifestPath:$6.default(".hasna/project/dashboard.render.json"),renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:D.array(vE).min(1),imports:D.array(YG).default([]),theme:t6.optional(),compatibility:D.object({minProjectsVersion:D.string().min(1).optional(),minContractsVersion:D.string().min(1).optional()}).strict().optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:D.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),hE=D.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),xE=D.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),mE=D.object({id:D.string().min(1),label:D.string().min(1),value:D.union([D.string(),D.number(),D.boolean()]),unit:D.string().min(1).optional(),status:D.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:D.array(H$).default([])}).strict(),uE=D.object({id:D.string().min(1),title:D.string().min(1),summary:D.string().min(1).optional(),status:D.string().min(1).optional(),priority:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:Z_.optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),metadata:t6.optional()}).strict(),dE=D.object({renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:D.string().min(1).optional(),entry:$6.optional(),imports:D.array(YG).default([]),spec:t6.default({})}).strict(),bL=Z$(o.projectPanel).extend({projectId:O0,provider:D.object({kind:QG,id:D.string().min(1),name:D.string().min(1).optional(),sourcePackage:Y$.optional(),externalId:Y$.optional()}).strict(),kind:xE,title:D.string().min(1),summary:D.string().min(1).optional(),state:hE.default("ready"),stateReason:D.string().min(1).optional(),generatedAt:Z_,freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),metrics:D.array(mE).default([]),items:D.array(uE).default([]),actions:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),renderFragment:dE.optional(),warnings:D.array(D.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:D.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),nE=Z$(o.projectSnapshot).extend({projectId:O0,generatedAt:Z_,status:L0.default("unknown"),manifestRef:H$,renderManifestRef:H$.optional(),panels:D.array(bL).default([]),contextPacks:D.array(RL).default([]),proofBundleRefs:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),warnings:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),FL=D.object({id:D.string().min(1),kind:D.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),expected:D.string().min(1).optional(),timeoutMs:D.number().int().positive().optional(),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:D.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),cE=Z$(o.validationPlan).extend({objective:D.string().min(1),subject:H$.optional(),checks:D.array(FL).min(1),verifier:f6.optional(),requiredEvidenceKinds:D.array(GG).default([])}).strict(),lE=D.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),rE=D.enum(["draft","active","deprecated","archived"]),iE=D.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),pE=D.object({key:D.string().regex(/^[A-Z][A-Z0-9_]*$/),description:D.string().min(1),required:D.boolean().default(!1),["secret"]:D.boolean().default(!1),group:D.string().min(1).optional(),default:D.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),oE=D.object({name:D.string().min(1),command:D.string().min(1),description:D.string().min(1).optional(),required:D.boolean().default(!1)}).strict(),tE=D.object({packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:D.array(D.string().min(1)).default([]),requiredFiles:D.array(D.string().min(1)).default([]),requiredDirectories:D.array(D.string().min(1)).default([]),optionalDirectories:D.array(D.string().min(1)).default([])}).strict(),aE=Z$(o.scaffoldManifest).extend({name:D.string().min(1),version:D.string().min(1),summary:D.string().min(1),type:lE,status:rE.default("draft"),capabilities:D.array(iE).default([]),techStack:D.array(D.string().min(1)).default([]),tags:r1,source:H$.optional(),output:tE,env:D.array(pE).default([]),scripts:D.array(oE).default([]),validationChecks:D.array(FL).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:D.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),sE=D.enum(["installed","failed","cancelled","partial","unknown"]),eE=Z$(o.scaffoldInstallRecord).extend({scaffoldId:D.string().min(1),scaffoldVersion:D.string().min(1).optional(),manifestRef:H$.optional(),target:H$,status:sE,installedAt:Z_.optional(),installer:f6.optional(),packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:t6.optional(),generatedFiles:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),l1=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),jG=D.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),EL=D.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),$K=D.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),_K=Y$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),UK=D.enum(["active","stub","deprecated","archived"]),JK=D.enum(["stable","beta","canary","internal"]),WK=D.object({transport:D.enum(["http","stdio"]).default("http"),bin:D.string().min(1).optional(),url:o6.optional()}).strict(),XK=D.object({healthPath:D.string().min(1).default("/health"),port:D.number().int().positive().optional(),baseUrl:o6.optional()}).strict(),GK=D.object({bins:D.array(D.string().min(1)).default([]),mcp:WK.optional(),http:XK.optional()}).strict(),QK=Z$(o.app).extend({appId:l1,npmName:jG,repoFolder:l1,githubUrl:_K,projectSlug:O0,surfaces:GK.default({}),lifecycle:UK,releaseChannel:JK.default("stable"),summary:D.string().min(1).optional(),tags:r1}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),YK=D.enum(["skill","ci","backfilled"]),jK=Z$(o.release).extend({appId:l1,package:jG,version:EL,gitSha:$K,publishedAt:Z_,publishPath:YK,changelogRef:H$.optional(),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),DK=D.enum(["install","update","rollback","freeze-blocked"]),zK=D.object({cliVersion:D.string().min(1).optional(),mcpHealth:D.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),qK=Z$(o.rolloutRecord).extend({appId:l1,package:jG,version:EL,machine:Y$,action:DK,result:L0,verifiedBy:zK.optional(),at:Z_,evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:D.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),OK=D.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),LK=D.enum(["pending","queued","sent","failed","skipped","suppressed"]),NK=D.object({channel:OK,status:LK,deliveredAt:Z_.optional(),detail:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),BK=Z$(o.announcement).extend({campaignId:Y$,appId:l1.optional(),releaseRef:H$.optional(),channels:D.array(NK).min(1),audienceRef:H$,sentAt:Z_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),HK=D.enum(["tag","attribute","group"]),VK=D.enum(["eq","neq","in","not_in","exists","not_exists"]),_L=D.union([D.string(),D.number(),D.boolean()]),RK=D.object({kind:HK,key:D.string().min(1).optional(),op:VK.default("eq"),value:_L.optional(),values:D.array(_L).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:D.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),AK=D.object({match:D.enum(["all","any"]).default("all"),predicates:D.array(RK).min(1)}).strict(),bK=D.enum(["opt_in","opt_out","transactional","none"]),FK=Z$(o.audience).extend({audienceId:l1,name:Y$,definition:AK,consentPolicy:bK,suppressionSyncedAt:q0}).strict(),s5=["@hasna/cloud","open-cloud"],EK=D.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),KK=D.object({id:D.string().min(1),provider:EK,kind:D.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:D.string().min(1),region:D.string().min(1).optional(),accountId:D.string().min(1).optional(),uri:o6.optional(),machineScoped:D.boolean().default(!1)}).strict(),KL=Z$(o.appCloudManifest).extend({packageName:D.string().min(1),packageVersion:D.string().min(1).optional(),appId:D.string().min(1),repository:H$.optional(),storageMode:D.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:D.enum(["none","app_owned","external_service","local_cache"]),cloudResources:D.array(KK).default([]),localCache:D.object({path:D.string().min(1).optional(),pullMode:D.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:D.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:D.array(D.string().min(1)).default([...s5]),dependencies:D.array(D.string().min(1)).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...s5,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:D.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of s5)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:D.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:D.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),ML=D.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),MK=D.enum(["low","medium","high","critical"]),gL=D.object({id:D.string().min(1),kind:ML,severity:MK,path:D.string().min(1).optional(),packageName:D.string().min(1).optional(),pattern:D.string().min(1),message:D.string().min(1),evidenceRefs:D.array(c$).default([])}).strict(),gK=D.object({id:D.string().min(1),kind:ML,status:L0,target:D.string().min(1),command:D.string().min(1).optional(),evidenceRefs:D.array(c$).default([]),findings:D.array(gL).default([])}).strict(),IK=Z$(o.noCloudEvidencePack).extend({subject:H$,packageName:D.string().min(1).optional(),packageVersion:D.string().min(1).optional(),generatedBy:f6.optional(),scanMode:D.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:L0,verdict:D.enum(["passed","failed","warning","not_run"]),appCloudManifest:KL.optional(),checks:D.array(gK).min(1),findings:D.array(gL).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),wK=D.object({checkId:D.string().min(1),status:L0,summary:D.string().min(1).optional(),startedAt:q0,finishedAt:q0,evidenceRefs:D.array(c$).default([])}).strict(),kK=Z$(o.proofBundle).extend({subject:H$,validationPlanRef:H$.optional(),status:L0,verdict:D.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:D.array(wK).default([]),verifier:f6.optional(),evidenceRefs:D.array(c$).default([]),residualRisks:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),fK=Z$(o.workRun).extend({objective:D.string().min(1),status:L0,actor:f6,traceId:D.string().min(1).optional(),startedAt:q0,finishedAt:q0,constraints:D.array(D.string().min(1)).default([]),resourceRefs:D.array(H$).default([]),decisions:D.array(VL).default([]),costEstimates:D.array(hU).default([]),evidenceRefs:D.array(c$).default([]),validationPlanRefs:D.array(H$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),PK=D.object({id:D.string().min(1),at:Z_,kind:D.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:D.string().min(1),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),costEstimate:hU.optional()}).strict(),CK=Z$(o.agentTrajectory).extend({actor:f6,workRunRef:H$.optional(),events:D.array(PK).default([]),outcome:D.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:H$.optional()}).strict(),TK="v1",SK=D.enum(["library","cli-with-store","service","saas"]),ZK=["local","self-hosted","cloud"],IL=D.enum(ZK),vK=D.enum(["supported","deferred","unsupported"]),yK=D.enum(["none","local-only","api-key","session","service-token","custom"]),e5=D.object({method:D.enum(["GET","POST","PUT","PATCH","DELETE"]),path:D.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:D.boolean().default(!1),description:D.string().min(1).optional()}).strict(),hK=D.object({id:D.string().min(1),kind:D.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),evidenceRef:c$.optional(),status:D.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),xK=D.object({name:D.string().min(1),status:vK,bin:D.string().min(1).optional(),mcpBin:D.string().min(1).optional(),authMode:yK,deploymentModes:D.array(IL).min(1),health:e5.optional(),readiness:e5.optional(),version:e5.optional(),apiBasePath:D.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:D.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:D.string().min(1).optional(),readinessGates:D.array(hK).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:D.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:D.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:D.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),mK=["local","cloud"],wL=D.enum(mK),uK=["remote","hybrid","self_hosted"],dK=D.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),nK=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function cK($){return nK.map((_)=>`${$}${_}`)}function UL($){return`hasna/oss/${$}/database-url`}var lK=D.object({mode:wL,envPrefix:D.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:D.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:D.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:D.string().min(1).optional()}).strict(),rK=D.object({$schema:D.string().min(1).optional(),schema:D.literal(o.serviceContract),name:dK,class:SK,contractVersion:D.literal(TK),kitVersion:D.string().min(1),description:D.string().min(1).optional(),bins:D.array(D.string().min(1)).default([]),storage:lK.optional(),deploymentModes:D.array(IL).default(["local"]),serviceSurfaces:D.array(xK).default([]),metadata:t6.optional()}).strict().superRefine(($,_)=>{let U=new Set(cK($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:D.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==UL($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${UL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:D.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:D.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),tn=D.object({status:D.enum(["ok","degraded","unavailable"]),version:D.string().min(1),mode:wL}).strict(),an=D.object({ready:D.boolean(),reason:D.string().min(1).optional()}).strict(),sn=D.object({version:D.string().min(1)}).strict(),iK=D.enum(["info","notice","breaking","critical"]),pK=D.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (..)"),oK=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],tK=D.enum(oK);var aK=D.enum(["fleet","package","machine"]),kL=Z$(o.commsEventEnvelope).extend({type:pK,severity:iK,scope:aK,summary:D.string().min(1).optional(),source:f6.optional(),affected_packages:D.array(Y$).default([]),affected_machines:D.array(Y$).default([]),action_required:D.boolean().default(!1),ack_by:Z_.optional(),dedupe_key:Y$,resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),sK=D.enum(["fleet","package","product","loop-lane","initiative","personal"]),eK=D.enum(["quiet","work","firehose"]),$M=Y$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:)"),_M=Z$(o.commsChannelMetadata).extend({class:sK,noise:eK.optional(),owner:Y$.optional(),until:$M.optional(),successor:Y$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),JL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},UM=Z$(o.commsMessageMetadata).extend({tag:tK,envelope:kL}).strict().superRefine(($,_)=>{let U=JL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(JL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var en={[o.actorRef]:HE,[o.resourceRef]:VE,[o.evidenceRef]:AE,[o.workRun]:fK,[o.decisionEnvelope]:VL,[o.costEstimate]:hU,[o.capabilityCard]:FE,[o.providerLiveModeStandard]:wE,[o.contextPack]:RL,[o.integrationRef]:AL,[o.projectManifest]:TE,[o.projectPanel]:bL,[o.projectSnapshot]:nE,[o.renderManifest]:yE,[o.agentTrajectory]:CK,[o.validationPlan]:cE,[o.proofBundle]:kK,[o.scaffoldManifest]:aE,[o.scaffoldInstallRecord]:eE,[o.appCloudManifest]:KL,[o.noCloudEvidencePack]:IK,[o.serviceContract]:rK,[o.commsEventEnvelope]:kL,[o.commsChannelMetadata]:_M,[o.commsMessageMetadata]:UM,[o.app]:QK,[o.release]:jK,[o.rolloutRecord]:qK,[o.announcement]:BK,[o.audience]:FK};function JM($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(uK.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}function WM($){return $.toUpperCase().replace(/-/g,"_")}function XM($){return`https://${$}.hasna.xyz`}function fL($){let _=WM($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}function lW($,_){for(let U of _){let W=$[U]?.trim();if(W)return{key:U,value:W}}return null}function GM($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U.endsWith("/v1"))U=U.slice(0,-3);return _.pathname=`${U}/v1`,_.search="",_.hash="",_.toString().replace(/\/+$/,"")}function QM($,_=process.env){let U=fL($),W=lW(_,U.modeKeys),J=lW(_,U.apiUrlKeys),X=lW(_,U.apiKeyKeys),G="local",Q=null,Y="default",j=[];if(W){let L=JM(W.value);if(G=L.mode,Q=L.deprecatedAlias,Y=W.key,Q)j.push(`Deprecated mode '${Q}' from ${W.key} is treated as 'cloud'. Prefer ${U.modeKeys[0]}=cloud.`)}else if(J&&X)G="cloud",Y=`${J.key}+${X.key}`;if(G==="local")return{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(X),apiKeySource:X?X.key:null,misconfigured:!1,warning:j.length>0?j.join(" "):null};if(!X)return j.push(`${Y}=cloud but no API key is set (${U.apiKeyKeys[0]}). Refusing to route to cloud; using local store. Set ${U.apiKeyKeys[0]} to enable the cloud client.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,misconfigured:!0,warning:j.join(" ")};let O=J?.value??XM($),B=J?J.key:"default",V;try{V=GM(O)}catch(L){let N=L instanceof Error?L.message:String(L);return j.push(`Invalid API URL from ${B}: ${N}. Using local store.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!0,warning:j.join(" ")}}return{transport:"cloud-http",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:V,apiUrlSource:B,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!1,warning:j.length>0?j.join(" "):null}}class pW extends Error{status;method;path;body;constructor($,_,U,W){super(`Hasna cloud request failed: ${$} ${_} -> ${U}`);this.name="HasnaHttpError",this.status=U,this.method=$,this.path=_,this.body=W}}var YM=[408,425,429,500,502,503,504],jM=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]);function DM($,_){if(!_)return $;let U=_ instanceof URLSearchParams?_:new URLSearchParams;if(!(_ instanceof URLSearchParams))for(let[J,X]of Object.entries(_)){if(X===null||X===void 0)continue;if(Array.isArray(X))for(let G of X)U.append(J,String(G));else U.append(J,String(X))}let W=U.toString();if(!W)return $;return`${$}${$.includes("?")?"&":"?"}${W}`}var zM=($)=>new Promise((_)=>setTimeout(_,$));function qM($){let _=$.fetchImpl??((j,O)=>fetch(j,O)),U=$.baseUrl.replace(/\/+$/,""),W=$.timeoutMs??30000,J=$.sleepImpl??zM,X=$.retry;function G(j){let O=j!==void 0?j:X;if(O===!1)return null;let B=O??{};return{retries:B.retries??2,baseDelayMs:B.baseDelayMs??200,maxDelayMs:B.maxDelayMs??2000,retryStatuses:B.retryStatuses??[...YM]}}async function Q(j,O,B,V,L){let N={"x-api-key":$.apiKey,Authorization:`Bearer ${$.apiKey}`,Accept:"application/json",...$.headers??{},...L.headers??{}};if(L.idempotencyKey)N["Idempotency-Key"]=L.idempotencyKey;let H={method:j,headers:N};if(V!==void 0)N["Content-Type"]="application/json",H.body=JSON.stringify(V);let R=new AbortController,b=()=>R.abort();if(L.signal)if(L.signal.aborted)R.abort();else L.signal.addEventListener("abort",b,{once:!0});let A=setTimeout(()=>R.abort(),L.timeoutMs??W);H.signal=R.signal;let M;try{M=await _(B,H)}catch(Z){let k=Z instanceof Error?Z:Error(String(Z));if(L.signal?.aborted)return{ok:!1,retryable:!1,error:k};return{ok:!1,retryable:!0,error:k}}finally{if(clearTimeout(A),L.signal)L.signal.removeEventListener("abort",b)}let E=await M.text(),g=void 0;if(E.length>0)try{g=JSON.parse(E)}catch{g=E}if(!M.ok){let Z=G(L.retry);return{ok:!1,retryable:Z?Z.retryStatuses.includes(M.status):!1,error:new pW(j,O,M.status,g)}}return{ok:!0,value:g}}async function Y(j,O,B,V={}){let L=j.toUpperCase(),N=DM(O.startsWith("/")?O:`/${O}`,V.query),H=`${U}${N}`,R=G(V.retry),b=jM.has(L)||Boolean(V.idempotencyKey),A=R&&b?R.retries+1:1,M=null;for(let E=1;E<=A;E++){let g=await Q(L,N,H,B,V);if(g.ok)return g.value;if(M=g,!(R!==null&&b&&g.retryable&&EY("GET",j,void 0,O),post:(j,O,B)=>Y("POST",j,O,B),put:(j,O,B)=>Y("PUT",j,O,B),patch:(j,O,B)=>Y("PATCH",j,O,B),del:(j,O,B)=>Y("DELETE",j,O,B)}}function OM($,_=process.env,U){let W=QM($,_);if(W.misconfigured)throw Error(W.warning??`Client for '${$}' is misconfigured for cloud mode.`);if(W.transport==="local"||!W.baseUrl)return{transport:"local",client:null,resolution:W};let J=fL($),X=lW(_,J.apiKeyKeys)?.value;if(!X)throw Error(`Client for '${$}' resolved to cloud-http without an API key.`);return{transport:"cloud-http",client:qM({name:$,baseUrl:W.baseUrl,apiKey:X,...U?.fetchImpl?{fetchImpl:U.fetchImpl}:{},...U?.headers?{headers:U.headers}:{},...U?.timeoutMs?{timeoutMs:U.timeoutMs}:{},...U?.retry!==void 0?{retry:U.retry}:{},...U?.sleepImpl?{sleepImpl:U.sleepImpl}:{}}),resolution:W}}function XG($){let _=$.replace(/^\/+|\/+$/g,"");if(!_)throw Error("resource must be a non-empty path segment");return`/${_}`}function $G($,_){if(_===void 0||_===null||`${_}`.length===0)throw Error("id must be a non-empty string");return`${XG($)}/${encodeURIComponent(String(_))}`}function LM(){let $=globalThis;if($.crypto?.randomUUID)return $.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function NM($){if(Array.isArray($))return $;if($&&typeof $==="object"){let _=$;for(let U of["items","data","results","rows","records"])if(Array.isArray(_[U]))return _[U]}return[]}function BM($){if($&&typeof $==="object"){let _=$;for(let U of["total","count","totalCount","total_count"])if(typeof _[U]==="number")return _[U]}return null}function HM($){if($&&typeof $==="object"){let _=$;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof _[U]==="string")return _[U]}return null}function VM($,_){return{name:$,baseUrl:_.baseUrl,transport:_,async list(U,W={}){let J=await _.get(XG(U),W);return{items:NM(J),total:BM(J),cursor:HM(J),raw:J}},async get(U,W,J={}){try{return await _.get($G(U,W),J)}catch(X){if(X instanceof pW&&X.status===404)return null;throw X}},async create(U,W,J={}){let{idempotencyKey:X,...G}=J;return _.post(XG(U),W,{...G,idempotencyKey:X??LM()})},async update(U,W,J,X={}){let{method:G="PATCH",idempotencyKey:Q,...Y}=X;return(G==="PUT"?_.put:_.patch)($G(U,W),J,{...Y,...Q?{idempotencyKey:Q}:{}})},async delete(U,W,J={}){try{await _.del($G(U,W),void 0,J)}catch(X){if(X instanceof pW&&X.status===404)return;throw X}}}}function DG($,_=process.env,U){let W=OM($,_,U);if(W.transport==="cloud-http")return{transport:"cloud-http",client:VM($,W.client)};return{transport:"local",client:null}}var RM=Object.defineProperty,AM=($)=>$;function bM($,_){this[$]=AM.bind(null,_)}var FM=($,_)=>{for(var U in _)RM($,U,{get:_[U],enumerable:!0,configurable:!0,set:bM.bind(_,U)})},z={};FM(z,{void:()=>Gg,util:()=>g$,unknown:()=>Wg,union:()=>Dg,undefined:()=>_g,tuple:()=>Og,transformer:()=>TL,symbol:()=>$g,string:()=>nL,strictObject:()=>jg,setErrorMap:()=>MM,set:()=>Bg,record:()=>Lg,quotelessJson:()=>EM,promise:()=>Fg,preprocess:()=>Mg,pipeline:()=>gg,ostring:()=>Ig,optional:()=>Eg,onumber:()=>wg,oboolean:()=>kg,objectUtil:()=>LG,object:()=>Yg,number:()=>cL,nullable:()=>Kg,null:()=>Ug,never:()=>Xg,nativeEnum:()=>bg,nan:()=>aM,map:()=>Ng,makeIssue:()=>sW,literal:()=>Rg,lazy:()=>Vg,late:()=>oM,isValid:()=>N0,isDirty:()=>BG,isAsync:()=>xU,isAborted:()=>NG,intersection:()=>qg,instanceof:()=>tM,getParsedType:()=>s6,getErrorMap:()=>aW,function:()=>Hg,enum:()=>Ag,effect:()=>TL,discriminatedUnion:()=>zg,defaultErrorMap:()=>t1,datetimeRegex:()=>mL,date:()=>eM,custom:()=>dL,coerce:()=>fg,boolean:()=>lL,bigint:()=>sM,array:()=>Qg,any:()=>Jg,addIssueToContext:()=>x,ZodVoid:()=>uU,ZodUnknown:()=>w4,ZodUnion:()=>$2,ZodUndefined:()=>s1,ZodType:()=>A$,ZodTuple:()=>C6,ZodTransformer:()=>r_,ZodSymbol:()=>mU,ZodString:()=>G6,ZodSet:()=>V0,ZodSchema:()=>A$,ZodRecord:()=>dU,ZodReadonly:()=>Q2,ZodPromise:()=>R0,ZodPipeline:()=>lU,ZodParsedType:()=>c,ZodOptional:()=>Y6,ZodObject:()=>e$,ZodNumber:()=>k4,ZodNullable:()=>e6,ZodNull:()=>e1,ZodNever:()=>P6,ZodNativeEnum:()=>W2,ZodNaN:()=>cU,ZodMap:()=>nU,ZodLiteral:()=>J2,ZodLazy:()=>U2,ZodIssueCode:()=>C,ZodIntersection:()=>_2,ZodFunction:()=>o1,ZodFirstPartyTypeKind:()=>G$,ZodError:()=>v_,ZodEnum:()=>P4,ZodEffects:()=>r_,ZodDiscriminatedUnion:()=>eW,ZodDefault:()=>X2,ZodDate:()=>B0,ZodCatch:()=>G2,ZodBranded:()=>$X,ZodBoolean:()=>a1,ZodBigInt:()=>f4,ZodArray:()=>Q6,ZodAny:()=>H0,Schema:()=>A$,ParseStatus:()=>L_,OK:()=>E_,NEVER:()=>Pg,INVALID:()=>J$,EMPTY_PATH:()=>gM,DIRTY:()=>p1,BRAND:()=>pM});var g$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(g$||(g$={}));var LG;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(LG||(LG={}));var c=g$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),s6=($)=>{switch(typeof $){case"undefined":return c.undefined;case"string":return c.string;case"number":return Number.isNaN($)?c.nan:c.number;case"boolean":return c.boolean;case"function":return c.function;case"bigint":return c.bigint;case"symbol":return c.symbol;case"object":if(Array.isArray($))return c.array;if($===null)return c.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return c.promise;if(typeof Map<"u"&&$ instanceof Map)return c.map;if(typeof Set<"u"&&$ instanceof Set)return c.set;if(typeof Date<"u"&&$ instanceof Date)return c.date;return c.object;default:return c.unknown}},C=g$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),EM=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class v_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}v_.create=($)=>{return new v_($)};var KM=($,_)=>{let U;switch($.code){case C.invalid_type:if($.received===c.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case C.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,g$.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:U=`Unrecognized key(s) in object: ${g$.joinValues($.keys,", ")}`;break;case C.invalid_union:U="Invalid input";break;case C.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${g$.joinValues($.options)}`;break;case C.invalid_enum_value:U=`Invalid enum value. Expected ${g$.joinValues($.options)}, received '${$.received}'`;break;case C.invalid_arguments:U="Invalid function arguments";break;case C.invalid_return_type:U="Invalid function return type";break;case C.invalid_date:U="Invalid date";break;case C.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else g$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case C.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case C.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case C.custom:U="Invalid input";break;case C.invalid_intersection_types:U="Intersection results could not be merged";break;case C.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case C.not_finite:U="Number must be finite";break;default:U=_.defaultError,g$.assertNever($)}return{message:U}},t1=KM,yL=t1;function MM($){yL=$}function aW(){return yL}var sW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},gM=[];function x($,_){let U=aW(),W=sW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===t1?void 0:t1].filter((J)=>!!J)});$.common.issues.push(W)}class L_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return J$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return L_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return J$;if(X.status==="aborted")return J$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var J$=Object.freeze({status:"aborted"}),p1=($)=>({status:"dirty",value:$}),E_=($)=>({status:"valid",value:$}),NG=($)=>$.status==="aborted",BG=($)=>$.status==="dirty",N0=($)=>$.status==="valid",xU=($)=>typeof Promise<"u"&&$ instanceof Promise,s;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(s||(s={}));class j6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var PL=($,_)=>{if(N0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new v_($.common.issues);return this._error=U,this._error}}}};function N$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class A${get description(){return this._def.description}_getType($){return s6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new L_,ctx:{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(xU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parseSync({data:$,path:U.path,parent:U});return PL(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return N0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>N0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(xU(W)?W:Promise.resolve(W));return PL(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:C.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new r_({schema:this,typeName:G$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return Y6.create(this,this._def)}nullable(){return e6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Q6.create(this)}promise(){return R0.create(this,this._def)}or($){return $2.create([this,$],this._def)}and($){return _2.create(this,$,this._def)}transform($){return new r_({...N$(this._def),schema:this,typeName:G$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new X2({...N$(this._def),innerType:this,defaultValue:_,typeName:G$.ZodDefault})}brand(){return new $X({typeName:G$.ZodBranded,type:this,...N$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new G2({...N$(this._def),innerType:this,catchValue:_,typeName:G$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return lU.create(this,$)}readonly(){return Q2.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var IM=/^c[^\s-]{8,}$/i,wM=/^[0-9a-z]+$/,kM=/^[0-9A-HJKMNP-TV-Z]{26}$/i,fM=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,PM=/^[a-z0-9_-]{21}$/i,CM=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,TM=/^[-+]?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)?)??$/,SM=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ZM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",zG,vM=/^(?:(?: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])$/,yM=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,hM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,xM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mM=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,uM=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,hL="((\\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])))",dM=new RegExp(`^${hL}$`);function xL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function nM($){return new RegExp(`^${xL($)}$`)}function mL($){let _=`${hL}T${xL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function cM($,_){if((_==="v4"||!_)&&vM.test($))return!0;if((_==="v6"||!_)&&hM.test($))return!0;return!1}function lM($,_){if(!CM.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function rM($,_){if((_==="v4"||!_)&&yM.test($))return!0;if((_==="v6"||!_)&&xM.test($))return!0;return!1}class G6 extends A${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==c.string){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:c.string,received:J.parsedType}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.lengthJ.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length$.test(W),{validation:_,code:C.invalid_string,...s.errToObj(U)})}_addCheck($){return new G6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...s.errToObj($)})}url($){return this._addCheck({kind:"url",...s.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...s.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...s.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...s.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...s.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...s.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...s.errToObj($)})}base64($){return this._addCheck({kind:"base64",...s.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...s.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...s.errToObj($)})}ip($){return this._addCheck({kind:"ip",...s.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...s.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...s.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...s.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...s.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...s.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...s.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...s.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...s.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...s.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...s.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...s.errToObj(_)})}nonempty($){return this.min(1,s.errToObj($))}trim(){return new G6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}G6.create=($)=>{return new G6({checks:[],typeName:G$.ZodString,coerce:$?.coerce??!1,...N$($)})};function iM($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class k4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==c.number){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:c.number,received:J.parsedType}),J$}let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="int"){if(!g$.isInteger($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.dataJ.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(iM($.data,J.value)!==0)U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.not_finite,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new k4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new k4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:s.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}finite($){return this._addCheck({kind:"finite",message:s.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&g$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}k4.create=($)=>{return new k4({checks:[],typeName:G$.ZodNumber,coerce:$?.coerce||!1,...N$($)})};class f4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==c.bigint)return this._getInvalidInput($);let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.dataJ.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:c.bigint,received:_.parsedType}),J$}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new f4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new f4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}f4.create=($)=>{return new f4({checks:[],typeName:G$.ZodBigInt,coerce:$?.coerce??!1,...N$($)})};class a1 extends A${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==c.boolean){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.boolean,received:U.parsedType}),J$}return E_($.data)}}a1.create=($)=>{return new a1({typeName:G$.ZodBoolean,coerce:$?.coerce||!1,...N$($)})};class B0 extends A${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==c.date){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:c.date,received:J.parsedType}),J$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_date}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new B0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:s.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:s.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}B0.create=($)=>{return new B0({checks:[],coerce:$?.coerce||!1,typeName:G$.ZodDate,...N$($)})};class mU extends A${_parse($){if(this._getType($)!==c.symbol){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.symbol,received:U.parsedType}),J$}return E_($.data)}}mU.create=($)=>{return new mU({typeName:G$.ZodSymbol,...N$($)})};class s1 extends A${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.undefined,received:U.parsedType}),J$}return E_($.data)}}s1.create=($)=>{return new s1({typeName:G$.ZodUndefined,...N$($)})};class e1 extends A${_parse($){if(this._getType($)!==c.null){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.null,received:U.parsedType}),J$}return E_($.data)}}e1.create=($)=>{return new e1({typeName:G$.ZodNull,...N$($)})};class H0 extends A${constructor(){super(...arguments);this._any=!0}_parse($){return E_($.data)}}H0.create=($)=>{return new H0({typeName:G$.ZodAny,...N$($)})};class w4 extends A${constructor(){super(...arguments);this._unknown=!0}_parse($){return E_($.data)}}w4.create=($)=>{return new w4({typeName:G$.ZodUnknown,...N$($)})};class P6 extends A${_parse($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:c.never,received:_.parsedType}),J$}}P6.create=($)=>{return new P6({typeName:G$.ZodNever,...N$($)})};class uU extends A${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.void,received:U.parsedType}),J$}return E_($.data)}}uU.create=($)=>{return new uU({typeName:G$.ZodVoid,...N$($)})};class Q6 extends A${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==c.array)return x(_,{code:C.invalid_type,expected:c.array,received:_.parsedType}),J$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.lengthW.maxLength.value)x(_,{code:C.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new j6(_,X,_.path,G))})).then((X)=>{return L_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new j6(_,X,_.path,G))});return L_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new Q6({...this._def,minLength:{value:$,message:s.toString(_)}})}max($,_){return new Q6({...this._def,maxLength:{value:$,message:s.toString(_)}})}length($,_){return new Q6({...this._def,exactLength:{value:$,message:s.toString(_)}})}nonempty($){return this.min(1,$)}}Q6.create=($,_)=>{return new Q6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:G$.ZodArray,...N$(_)})};function i1($){if($ instanceof e$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=Y6.create(i1(W))}return new e$({...$._def,shape:()=>_})}else if($ instanceof Q6)return new Q6({...$._def,type:i1($.element)});else if($ instanceof Y6)return Y6.create(i1($.unwrap()));else if($ instanceof e6)return e6.create(i1($.unwrap()));else if($ instanceof C6)return C6.create($.items.map((_)=>i1(_)));else return $}class e$ extends A${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=g$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==c.object){let Y=this._getOrReturnCtx($);return x(Y,{code:C.invalid_type,expected:c.object,received:Y.parsedType}),J$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof P6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new j6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof P6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)x(W,{code:C.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new j6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return L_.mergeObjectSync(U,Y)});else return L_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return s.errToObj,new e$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:s.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new e$({...this._def,unknownKeys:"strip"})}passthrough(){return new e$({...this._def,unknownKeys:"passthrough"})}extend($){return new e$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new e$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:G$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new e$({...this._def,catchall:$})}pick($){let _={};for(let U of g$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}omit($){let _={};for(let U of g$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}deepPartial(){return i1(this)}partial($){let _={};for(let U of g$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new e$({...this._def,shape:()=>_})}required($){let _={};for(let U of g$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof Y6)J=J._def.innerType;_[U]=J}return new e$({...this._def,shape:()=>_})}keyof(){return uL(g$.objectKeys(this.shape))}}e$.create=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strip",catchall:P6.create(),typeName:G$.ZodObject,...N$(_)})};e$.strictCreate=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strict",catchall:P6.create(),typeName:G$.ZodObject,...N$(_)})};e$.lazycreate=($,_)=>{return new e$({shape:$,unknownKeys:"strip",catchall:P6.create(),typeName:G$.ZodObject,...N$(_)})};class $2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new v_(G.ctx.common.issues));return x(_,{code:C.invalid_union,unionErrors:X}),J$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new v_(Q));return x(_,{code:C.invalid_union,unionErrors:G}),J$}}get options(){return this._def.options}}$2.create=($,_)=>{return new $2({options:$,typeName:G$.ZodUnion,...N$(_)})};var a6=($)=>{if($ instanceof U2)return a6($.schema);else if($ instanceof r_)return a6($.innerType());else if($ instanceof J2)return[$.value];else if($ instanceof P4)return $.options;else if($ instanceof W2)return g$.objectValues($.enum);else if($ instanceof X2)return a6($._def.innerType);else if($ instanceof s1)return[void 0];else if($ instanceof e1)return[null];else if($ instanceof Y6)return[void 0,...a6($.unwrap())];else if($ instanceof e6)return[null,...a6($.unwrap())];else if($ instanceof $X)return a6($.unwrap());else if($ instanceof Q2)return a6($.unwrap());else if($ instanceof G2)return a6($._def.innerType);else return[]};class eW extends A${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.object)return x(_,{code:C.invalid_type,expected:c.object,received:_.parsedType}),J$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return x(_,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),J$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=a6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new eW({typeName:G$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...N$(U)})}}function HG($,_){let U=s6($),W=s6(_);if($===_)return{valid:!0,data:$};else if(U===c.object&&W===c.object){let J=g$.objectKeys(_),X=g$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=HG($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===c.array&&W===c.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=HG(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===c.date&&W===c.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class _2 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(NG(J)||NG(X))return J$;let G=HG(J.value,X.value);if(!G.valid)return x(U,{code:C.invalid_intersection_types}),J$;if(BG(J)||BG(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}_2.create=($,_,U)=>{return new _2({left:$,right:_,typeName:G$.ZodIntersection,...N$(U)})};class C6 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.array)return x(U,{code:C.invalid_type,expected:c.array,received:U.parsedType}),J$;if(U.data.lengththis._def.items.length)x(U,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new j6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return L_.mergeArray(_,X)});else return L_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new C6({...this._def,rest:$})}}C6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new C6({items:$,typeName:G$.ZodTuple,rest:null,...N$(_)})};class dU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.object)return x(U,{code:C.invalid_type,expected:c.object,received:U.parsedType}),J$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new j6(U,G,U.path,G)),value:X._parse(new j6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return L_.mergeObjectAsync(_,W);else return L_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof A$)return new dU({keyType:$,valueType:_,typeName:G$.ZodRecord,...N$(U)});return new dU({keyType:G6.create(),valueType:$,typeName:G$.ZodRecord,...N$(_)})}}class nU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.map)return x(U,{code:C.invalid_type,expected:c.map,received:U.parsedType}),J$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new j6(U,G,U.path,[Y,"key"])),value:J._parse(new j6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}nU.create=($,_,U)=>{return new nU({valueType:_,keyType:$,typeName:G$.ZodMap,...N$(U)})};class V0 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.set)return x(U,{code:C.invalid_type,expected:c.set,received:U.parsedType}),J$;let W=this._def;if(W.minSize!==null){if(U.data.sizeW.maxSize.value)x(U,{code:C.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return J$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new j6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new V0({...this._def,minSize:{value:$,message:s.toString(_)}})}max($,_){return new V0({...this._def,maxSize:{value:$,message:s.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}V0.create=($,_)=>{return new V0({valueType:$,minSize:null,maxSize:null,typeName:G$.ZodSet,...N$(_)})};class o1 extends A${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.function)return x(_,{code:C.invalid_type,expected:c.function,received:_.parsedType}),J$;function U(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),t1].filter((Y)=>!!Y),issueData:{code:C.invalid_arguments,argumentsError:Q}})}function W(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),t1].filter((Y)=>!!Y),issueData:{code:C.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof R0){let G=this;return E_(async function(...Q){let Y=new v_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return E_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new v_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new v_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new o1({...this._def,args:C6.create($).rest(w4.create())})}returns($){return new o1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new o1({args:$?$:C6.create([]).rest(w4.create()),returns:_||w4.create(),typeName:G$.ZodFunction,...N$(U)})}}class U2 extends A${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}U2.create=($,_)=>{return new U2({getter:$,typeName:G$.ZodLazy,...N$(_)})};class J2 extends A${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return x(_,{received:_.data,code:C.invalid_literal,expected:this._def.value}),J$}return{status:"valid",value:$.data}}get value(){return this._def.value}}J2.create=($,_)=>{return new J2({value:$,typeName:G$.ZodLiteral,...N$(_)})};function uL($,_){return new P4({values:$,typeName:G$.ZodEnum,...N$(_)})}class P4 extends A${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{expected:g$.joinValues(U),received:_.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{received:_.data,code:C.invalid_enum_value,options:U}),J$}return E_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return P4.create($,{...this._def,..._})}exclude($,_=this._def){return P4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}P4.create=uL;class W2 extends A${_parse($){let _=g$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==c.string&&U.parsedType!==c.number){let W=g$.objectValues(_);return x(U,{expected:g$.joinValues(W),received:U.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(g$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=g$.objectValues(_);return x(U,{received:U.data,code:C.invalid_enum_value,options:W}),J$}return E_($.data)}get enum(){return this._def.values}}W2.create=($,_)=>{return new W2({values:$,typeName:G$.ZodNativeEnum,...N$(_)})};class R0 extends A${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.promise&&_.common.async===!1)return x(_,{code:C.invalid_type,expected:c.promise,received:_.parsedType}),J$;let U=_.parsedType===c.promise?_.data:Promise.resolve(_.data);return E_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}R0.create=($,_)=>{return new R0({type:$,typeName:G$.ZodPromise,...N$(_)})};class r_ extends A${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===G$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(x(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return J$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return J$;if(Q.status==="dirty")return p1(Q.value);if(_.value==="dirty")return p1(Q.value);return Q});else{if(_.value==="aborted")return J$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")return p1(G.value);if(_.value==="dirty")return p1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!N0(X))return J$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!N0(X))return J$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});g$.assertNever(W)}}r_.create=($,_,U)=>{return new r_({schema:$,typeName:G$.ZodEffects,effect:_,...N$(U)})};r_.createWithPreprocess=($,_,U)=>{return new r_({schema:_,effect:{type:"preprocess",transform:$},typeName:G$.ZodEffects,...N$(U)})};class Y6 extends A${_parse($){if(this._getType($)===c.undefined)return E_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}Y6.create=($,_)=>{return new Y6({innerType:$,typeName:G$.ZodOptional,...N$(_)})};class e6 extends A${_parse($){if(this._getType($)===c.null)return E_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}e6.create=($,_)=>{return new e6({innerType:$,typeName:G$.ZodNullable,...N$(_)})};class X2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===c.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}X2.create=($,_)=>{return new X2({innerType:$,typeName:G$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...N$(_)})};class G2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(xU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}G2.create=($,_)=>{return new G2({innerType:$,typeName:G$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...N$(_)})};class cU extends A${_parse($){if(this._getType($)!==c.nan){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.nan,received:U.parsedType}),J$}return{status:"valid",value:$.data}}}cU.create=($)=>{return new cU({typeName:G$.ZodNaN,...N$($)})};var pM=Symbol("zod_brand");class $X extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class lU extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return J$;if(J.status==="dirty")return _.dirty(),p1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return J$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new lU({in:$,out:_,typeName:G$.ZodPipeline})}}class Q2 extends A${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(N0(W))W.value=Object.freeze(W.value);return W};return xU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}Q2.create=($,_)=>{return new Q2({innerType:$,typeName:G$.ZodReadonly,...N$(_)})};function CL($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function dL($,_={},U){if($)return H0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=CL(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=CL(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return H0.create()}var oM={object:e$.lazycreate},G$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(G$||(G$={}));var tM=($,_={message:`Input not instance of ${$.name}`})=>dL((U)=>U instanceof $,_),nL=G6.create,cL=k4.create,aM=cU.create,sM=f4.create,lL=a1.create,eM=B0.create,$g=mU.create,_g=s1.create,Ug=e1.create,Jg=H0.create,Wg=w4.create,Xg=P6.create,Gg=uU.create,Qg=Q6.create,Yg=e$.create,jg=e$.strictCreate,Dg=$2.create,zg=eW.create,qg=_2.create,Og=C6.create,Lg=dU.create,Ng=nU.create,Bg=V0.create,Hg=o1.create,Vg=U2.create,Rg=J2.create,Ag=P4.create,bg=W2.create,Fg=R0.create,TL=r_.create,Eg=Y6.create,Kg=e6.create,Mg=r_.createWithPreprocess,gg=lU.create,Ig=()=>nL().optional(),wg=()=>cL().optional(),kg=()=>lL().optional(),fg={string:($)=>G6.create({...$,coerce:!0}),number:($)=>k4.create({...$,coerce:!0}),boolean:($)=>a1.create({...$,coerce:!0}),bigint:($)=>f4.create({...$,coerce:!0}),date:($)=>B0.create({...$,coerce:!0})},Pg=J$;var a={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},rL=z.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),y_=z.string().datetime(),j$=z.string().trim().min(1),$4=j$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),iL=z.string().regex(/^[a-fA-F0-9]{64}$/),pL=z.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),_4=z.record(z.unknown()),D2=z.array(z.string().min(1)).default([]),A0=y_.nullable().optional(),Cg=new Set(["succeeded","failed","cancelled","blocked","skipped"]),F0=z.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function v$($){return z.object({schema:z.literal($),id:z.string().min(1),createdAt:y_,updatedAt:A0,metadata:_4.optional()}).strict()}var _c=z.object({schema:rL,id:z.string().min(1),createdAt:y_,updatedAt:A0,metadata:_4.optional()}).strict(),oL=z.enum(["agent","human","service","model","workflow","system"]),Tg=v$(a.actorRef).extend({kind:oL,name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional(),capabilities:z.array(z.string().min(1)).default([])}).strict(),T6=z.object({kind:oL,id:z.string().min(1),name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional()}).strict(),tL=z.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),Sg=v$(a.resourceRef).extend({kind:tL,name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:D2}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),R$=z.object({kind:tL,id:z.string().min(1),name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:D2}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),VG=z.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),Zg=z.enum(["none","partial","full","unknown"]),vg=v$(a.evidenceRef).extend({kind:VG,uri:$4,sha256:iL.optional(),summary:z.string().min(1).optional(),contentType:z.string().min(1).optional(),sizeBytes:z.number().int().nonnegative().optional(),redaction:Zg.default("unknown"),producer:T6.optional(),resourceRefs:z.array(R$).default([]),tags:D2}).strict(),l$=z.object({id:z.string().min(1),kind:VG.optional(),uri:$4.optional(),sha256:iL.optional(),summary:z.string().min(1).optional()}).strict(),rU=v$(a.costEstimate).extend({currency:z.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:z.number().int().nonnegative(),provider:z.string().min(1).optional(),model:z.string().min(1).optional(),accountId:z.string().min(1).optional(),promptTokens:z.number().int().nonnegative().optional(),completionTokens:z.number().int().nonnegative().optional(),totalTokens:z.number().int().nonnegative().optional(),basis:z.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:z.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),yg=z.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),aL=v$(a.decisionEnvelope).extend({decisionType:z.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:yg,actor:T6.optional(),traceId:z.string().min(1).optional(),inputHash:pL.optional(),policyBundleId:z.string().min(1).optional(),selected:z.array(R$).default([]),skipped:z.array(R$).default([]),reason:z.string().min(1),obligations:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),costEstimate:rU.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),hg=v$(a.capabilityCard).extend({kind:z.enum(["model","tool","machine","agent","lane","connector","service"]),name:z.string().min(1),version:z.string().min(1).optional(),status:z.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:z.array(z.string().min(1)).default([]),limitations:z.array(z.string().min(1)).default([]),riskLevel:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:rU.optional(),evidenceRefs:z.array(l$).default([])}).strict(),Y2=z.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),xg=z.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),mg=z.object({refName:j$,requiredForModes:z.array(Y2).min(1),allowedSecretInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:j$,revocationCheck:z.boolean().default(!0)}).strict(),ug=z.object({operation:j$,supportedModes:z.array(Y2).min(1),sideEffectClass:xg,requiresApproval:z.boolean().default(!1),requiresIdempotencyKey:z.boolean().default(!1),requiresSandboxEvidence:z.boolean().default(!1),requiresRollbackOrRevocation:z.boolean().default(!1),rollbackOrRevocation:j$.optional(),noSideEffectSmoke:j$.optional(),reconciliation:j$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),dg=z.object({providerId:j$,appId:j$,adapterId:j$,ownerPackage:j$,modes:z.array(Y2).min(1),defaultMode:Y2,credentialRequirements:z.array(mg).default([]),operations:z.array(ug).min(1),rateLimitPosture:j$,costPosture:j$.optional(),auditEvents:z.array(j$).default([]),redactionRules:z.array(j$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:z.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),ng=z.object({appId:j$,repo:j$,priority:z.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:z.array(j$).min(1),firstOperations:z.array(j$).min(1),blockedUntil:z.array(j$).default([])}).strict(),cg=v$(a.providerLiveModeStandard).extend({name:j$,version:j$,modes:z.array(Y2).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:z.array(j$).min(1),liveMutationGate:z.object({requiredMode:z.literal("live_mutating"),requiredChecks:z.array(j$).min(1),forbiddenBypassSignals:z.array(j$).min(1),disabledLiveSmoke:j$}).strict(),noSideEffectSmoke:z.object({requiredForModes:z.array(Y2).min(1),commandEvidence:z.array(j$).min(1),secretOutputScan:z.boolean().default(!0)}).strict(),credentialPolicy:z.object({acceptedInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:z.literal(!1),missingCredentialBehavior:z.literal("fail_closed"),revocationCheckRequired:z.boolean().default(!0)}).strict(),operationCards:z.array(dg).min(1),firstAdoptionTargets:z.array(ng).min(1),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),lg=z.object({id:z.string().min(1),title:z.string().min(1).optional(),summary:z.string().min(1),text:z.string().optional(),tokens:z.number().int().nonnegative().optional(),source:l$,resourceRefs:z.array(R$).default([])}).strict(),sL=v$(a.contextPack).extend({objective:z.string().min(1),budget:z.object({maxTokens:z.number().int().positive().optional(),maxBytes:z.number().int().positive().optional()}).strict().optional(),items:z.array(lg).default([]),citations:z.array(l$).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),permissions:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),conflicts:z.array(z.string().min(1)).default([]),uncertainty:z.string().min(1).optional()}).strict(),X6=j$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),b0=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),rg=z.enum(["public","internal","private","sensitive"]),ig=z.enum(["draft","active","paused","archived"]),RG=z.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),eL=v$(a.integrationRef).extend({kind:RG,name:z.string().min(1),projectId:b0.optional(),sourcePackage:j$.optional(),externalId:j$.optional(),uri:$4.optional(),enabled:z.boolean().default(!0),readOnly:z.boolean().default(!0),capabilities:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:R$.optional(),evidenceRefs:z.array(l$).default([]),config:_4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),pg=z.object({schemaRoot:X6.default(".hasna/project"),dashboardManifest:X6.default(".hasna/project/dashboard.render.json"),snapshotsDir:X6.default(".hasna/project/snapshots"),documentsDir:X6.default("documents"),reportsDir:X6.default("reports"),evidenceDir:X6.default(".hasna/project/evidence"),privateDir:X6.default(".hasna/project/private")}).strict(),og=v$(a.projectManifest).extend({projectId:b0,slug:b0,name:z.string().min(1),summary:z.string().min(1).optional(),status:ig.default("active"),classification:rg.default("private"),owner:T6.optional(),layout:pg.default({}),integrations:z.array(eL).default([]),renderManifests:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),tags:D2}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:z.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),tg=z.enum(["local","package","provider","url"]),AG=z.object({id:z.string().min(1),kind:tg,specifier:z.string().min(1),path:X6.optional(),packageName:z.string().min(1).optional(),uri:$4.optional(),provider:RG.optional(),schemaId:rL.optional(),integrity:pL.optional(),resourceRef:R$.optional(),optional:z.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:z.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:z.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:z.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ag=z.enum(["dashboard","canvas","panel","report","document","custom"]),sg=z.object({id:z.string().min(1),title:z.string().min(1),kind:ag,default:z.boolean().default(!1),entry:X6.optional(),imports:z.array(AG).default([]),panelRefs:z.array(R$).default([]),dataRefs:z.array(R$).default([]),layout:_4.optional()}).strict(),eg=v$(a.renderManifest).extend({projectId:b0,name:z.string().min(1),version:z.string().min(1),manifestPath:X6.default(".hasna/project/dashboard.render.json"),renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:z.array(sg).min(1),imports:z.array(AG).default([]),theme:_4.optional(),compatibility:z.object({minProjectsVersion:z.string().min(1).optional(),minContractsVersion:z.string().min(1).optional()}).strict().optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:z.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),$I=z.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),_I=z.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),UI=z.object({id:z.string().min(1),label:z.string().min(1),value:z.union([z.string(),z.number(),z.boolean()]),unit:z.string().min(1).optional(),status:z.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:z.array(R$).default([])}).strict(),JI=z.object({id:z.string().min(1),title:z.string().min(1),summary:z.string().min(1).optional(),status:z.string().min(1).optional(),priority:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:y_.optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),metadata:_4.optional()}).strict(),WI=z.object({renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:z.string().min(1).optional(),entry:X6.optional(),imports:z.array(AG).default([]),spec:_4.default({})}).strict(),$N=v$(a.projectPanel).extend({projectId:b0,provider:z.object({kind:RG,id:z.string().min(1),name:z.string().min(1).optional(),sourcePackage:j$.optional(),externalId:j$.optional()}).strict(),kind:_I,title:z.string().min(1),summary:z.string().min(1).optional(),state:$I.default("ready"),stateReason:z.string().min(1).optional(),generatedAt:y_,freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),metrics:z.array(UI).default([]),items:z.array(JI).default([]),actions:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),renderFragment:WI.optional(),warnings:z.array(z.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:z.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),XI=v$(a.projectSnapshot).extend({projectId:b0,generatedAt:y_,status:F0.default("unknown"),manifestRef:R$,renderManifestRef:R$.optional(),panels:z.array($N).default([]),contextPacks:z.array(sL).default([]),proofBundleRefs:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),warnings:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),_N=z.object({id:z.string().min(1),kind:z.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),expected:z.string().min(1).optional(),timeoutMs:z.number().int().positive().optional(),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:z.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),GI=v$(a.validationPlan).extend({objective:z.string().min(1),subject:R$.optional(),checks:z.array(_N).min(1),verifier:T6.optional(),requiredEvidenceKinds:z.array(VG).default([])}).strict(),QI=z.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),YI=z.enum(["draft","active","deprecated","archived"]),jI=z.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),DI=z.object({key:z.string().regex(/^[A-Z][A-Z0-9_]*$/),description:z.string().min(1),required:z.boolean().default(!1),["secret"]:z.boolean().default(!1),group:z.string().min(1).optional(),default:z.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),zI=z.object({name:z.string().min(1),command:z.string().min(1),description:z.string().min(1).optional(),required:z.boolean().default(!1)}).strict(),qI=z.object({packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:z.array(z.string().min(1)).default([]),requiredFiles:z.array(z.string().min(1)).default([]),requiredDirectories:z.array(z.string().min(1)).default([]),optionalDirectories:z.array(z.string().min(1)).default([])}).strict(),OI=v$(a.scaffoldManifest).extend({name:z.string().min(1),version:z.string().min(1),summary:z.string().min(1),type:QI,status:YI.default("draft"),capabilities:z.array(jI).default([]),techStack:z.array(z.string().min(1)).default([]),tags:D2,source:R$.optional(),output:qI,env:z.array(DI).default([]),scripts:z.array(zI).default([]),validationChecks:z.array(_N).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:z.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),LI=z.enum(["installed","failed","cancelled","partial","unknown"]),NI=v$(a.scaffoldInstallRecord).extend({scaffoldId:z.string().min(1),scaffoldVersion:z.string().min(1).optional(),manifestRef:R$.optional(),target:R$,status:LI,installedAt:y_.optional(),installer:T6.optional(),packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:_4.optional(),generatedFiles:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),j2=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),bG=z.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),UN=z.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),BI=z.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),HI=j$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),VI=z.enum(["active","stub","deprecated","archived"]),RI=z.enum(["stable","beta","canary","internal"]),AI=z.object({transport:z.enum(["http","stdio"]).default("http"),bin:z.string().min(1).optional(),url:$4.optional()}).strict(),bI=z.object({healthPath:z.string().min(1).default("/health"),port:z.number().int().positive().optional(),baseUrl:$4.optional()}).strict(),FI=z.object({bins:z.array(z.string().min(1)).default([]),mcp:AI.optional(),http:bI.optional()}).strict(),EI=v$(a.app).extend({appId:j2,npmName:bG,repoFolder:j2,githubUrl:HI,projectSlug:b0,surfaces:FI.default({}),lifecycle:VI,releaseChannel:RI.default("stable"),summary:z.string().min(1).optional(),tags:D2}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),KI=z.enum(["skill","ci","backfilled"]),MI=v$(a.release).extend({appId:j2,package:bG,version:UN,gitSha:BI,publishedAt:y_,publishPath:KI,changelogRef:R$.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),gI=z.enum(["install","update","rollback","freeze-blocked"]),II=z.object({cliVersion:z.string().min(1).optional(),mcpHealth:z.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),wI=v$(a.rolloutRecord).extend({appId:j2,package:bG,version:UN,machine:j$,action:gI,result:F0,verifiedBy:II.optional(),at:y_,evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:z.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),kI=z.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),fI=z.enum(["pending","queued","sent","failed","skipped","suppressed"]),PI=z.object({channel:kI,status:fI,deliveredAt:y_.optional(),detail:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),CI=v$(a.announcement).extend({campaignId:j$,appId:j2.optional(),releaseRef:R$.optional(),channels:z.array(PI).min(1),audienceRef:R$,sentAt:y_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),TI=z.enum(["tag","attribute","group"]),SI=z.enum(["eq","neq","in","not_in","exists","not_exists"]),SL=z.union([z.string(),z.number(),z.boolean()]),ZI=z.object({kind:TI,key:z.string().min(1).optional(),op:SI.default("eq"),value:SL.optional(),values:z.array(SL).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:z.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),vI=z.object({match:z.enum(["all","any"]).default("all"),predicates:z.array(ZI).min(1)}).strict(),yI=z.enum(["opt_in","opt_out","transactional","none"]),hI=v$(a.audience).extend({audienceId:j2,name:j$,definition:vI,consentPolicy:yI,suppressionSyncedAt:A0}).strict(),qG=["@hasna/cloud","open-cloud"],xI=z.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),mI=z.object({id:z.string().min(1),provider:xI,kind:z.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:z.string().min(1),region:z.string().min(1).optional(),accountId:z.string().min(1).optional(),uri:$4.optional(),machineScoped:z.boolean().default(!1)}).strict(),JN=v$(a.appCloudManifest).extend({packageName:z.string().min(1),packageVersion:z.string().min(1).optional(),appId:z.string().min(1),repository:R$.optional(),storageMode:z.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:z.enum(["none","app_owned","external_service","local_cache"]),cloudResources:z.array(mI).default([]),localCache:z.object({path:z.string().min(1).optional(),pullMode:z.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:z.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:z.array(z.string().min(1)).default([...qG]),dependencies:z.array(z.string().min(1)).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...qG,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:z.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of qG)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:z.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:z.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),WN=z.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),uI=z.enum(["low","medium","high","critical"]),XN=z.object({id:z.string().min(1),kind:WN,severity:uI,path:z.string().min(1).optional(),packageName:z.string().min(1).optional(),pattern:z.string().min(1),message:z.string().min(1),evidenceRefs:z.array(l$).default([])}).strict(),dI=z.object({id:z.string().min(1),kind:WN,status:F0,target:z.string().min(1),command:z.string().min(1).optional(),evidenceRefs:z.array(l$).default([]),findings:z.array(XN).default([])}).strict(),nI=v$(a.noCloudEvidencePack).extend({subject:R$,packageName:z.string().min(1).optional(),packageVersion:z.string().min(1).optional(),generatedBy:T6.optional(),scanMode:z.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:F0,verdict:z.enum(["passed","failed","warning","not_run"]),appCloudManifest:JN.optional(),checks:z.array(dI).min(1),findings:z.array(XN).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),cI=z.object({checkId:z.string().min(1),status:F0,summary:z.string().min(1).optional(),startedAt:A0,finishedAt:A0,evidenceRefs:z.array(l$).default([])}).strict(),lI=v$(a.proofBundle).extend({subject:R$,validationPlanRef:R$.optional(),status:F0,verdict:z.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:z.array(cI).default([]),verifier:T6.optional(),evidenceRefs:z.array(l$).default([]),residualRisks:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),rI=v$(a.workRun).extend({objective:z.string().min(1),status:F0,actor:T6,traceId:z.string().min(1).optional(),startedAt:A0,finishedAt:A0,constraints:z.array(z.string().min(1)).default([]),resourceRefs:z.array(R$).default([]),decisions:z.array(aL).default([]),costEstimates:z.array(rU).default([]),evidenceRefs:z.array(l$).default([]),validationPlanRefs:z.array(R$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),iI=z.object({id:z.string().min(1),at:y_,kind:z.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:z.string().min(1),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),costEstimate:rU.optional()}).strict(),pI=v$(a.agentTrajectory).extend({actor:T6,workRunRef:R$.optional(),events:z.array(iI).default([]),outcome:z.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:R$.optional()}).strict(),oI="v1",tI=z.enum(["library","cli-with-store","service","saas"]),aI=["local","self-hosted","cloud"],GN=z.enum(aI),sI=z.enum(["supported","deferred","unsupported"]),eI=z.enum(["none","local-only","api-key","session","service-token","custom"]),OG=z.object({method:z.enum(["GET","POST","PUT","PATCH","DELETE"]),path:z.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:z.boolean().default(!1),description:z.string().min(1).optional()}).strict(),$w=z.object({id:z.string().min(1),kind:z.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),evidenceRef:l$.optional(),status:z.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),_w=z.object({name:z.string().min(1),status:sI,bin:z.string().min(1).optional(),mcpBin:z.string().min(1).optional(),authMode:eI,deploymentModes:z.array(GN).min(1),health:OG.optional(),readiness:OG.optional(),version:OG.optional(),apiBasePath:z.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:z.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:z.string().min(1).optional(),readinessGates:z.array($w).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:z.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:z.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:z.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),Uw=["local","cloud"],QN=z.enum(Uw);var Jw=z.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Ww=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Xw($){return Ww.map((_)=>`${$}${_}`)}function ZL($){return`hasna/oss/${$}/database-url`}var Gw=z.object({mode:QN,envPrefix:z.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:z.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:z.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:z.string().min(1).optional()}).strict(),Qw=z.object({$schema:z.string().min(1).optional(),schema:z.literal(a.serviceContract),name:Jw,class:tI,contractVersion:z.literal(oI),kitVersion:z.string().min(1),description:z.string().min(1).optional(),bins:z.array(z.string().min(1)).default([]),storage:Gw.optional(),deploymentModes:z.array(GN).default(["local"]),serviceSurfaces:z.array(_w).default([]),metadata:_4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Xw($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:z.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==ZL($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${ZL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:z.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:z.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),Uc=z.object({status:z.enum(["ok","degraded","unavailable"]),version:z.string().min(1),mode:QN}).strict(),Jc=z.object({ready:z.boolean(),reason:z.string().min(1).optional()}).strict(),Wc=z.object({version:z.string().min(1)}).strict(),Yw=z.enum(["info","notice","breaking","critical"]),jw=z.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (..)"),Dw=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],zw=z.enum(Dw);var qw=z.enum(["fleet","package","machine"]),YN=v$(a.commsEventEnvelope).extend({type:jw,severity:Yw,scope:qw,summary:z.string().min(1).optional(),source:T6.optional(),affected_packages:z.array(j$).default([]),affected_machines:z.array(j$).default([]),action_required:z.boolean().default(!1),ack_by:y_.optional(),dedupe_key:j$,resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),Ow=z.enum(["fleet","package","product","loop-lane","initiative","personal"]),Lw=z.enum(["quiet","work","firehose"]),Nw=j$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:)"),Bw=v$(a.commsChannelMetadata).extend({class:Ow,noise:Lw.optional(),owner:j$.optional(),until:Nw.optional(),successor:j$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),vL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Hw=v$(a.commsMessageMetadata).extend({tag:zw,envelope:YN}).strict().superRefine(($,_)=>{let U=vL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(vL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Xc={[a.actorRef]:Tg,[a.resourceRef]:Sg,[a.evidenceRef]:vg,[a.workRun]:rI,[a.decisionEnvelope]:aL,[a.costEstimate]:rU,[a.capabilityCard]:hg,[a.providerLiveModeStandard]:cg,[a.contextPack]:sL,[a.integrationRef]:eL,[a.projectManifest]:og,[a.projectPanel]:$N,[a.projectSnapshot]:XI,[a.renderManifest]:eg,[a.agentTrajectory]:pI,[a.validationPlan]:GI,[a.proofBundle]:lI,[a.scaffoldManifest]:OI,[a.scaffoldInstallRecord]:NI,[a.appCloudManifest]:JN,[a.noCloudEvidencePack]:nI,[a.serviceContract]:Qw,[a.commsEventEnvelope]:YN,[a.commsChannelMetadata]:Bw,[a.commsMessageMetadata]:Hw,[a.app]:EI,[a.release]:MI,[a.rolloutRecord]:wI,[a.announcement]:CI,[a.audience]:hI};function Vw($){return $.toUpperCase().replace(/-/g,"_")}function jN($){let _=Vw($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}var Rw=["remote","hybrid","self_hosted"];function FG($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(Rw.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}import qc from"pg";class EG extends Error{scheme;port;constructor($,_){super($);this.name="KnowledgeNetworkGuardError",this.scheme=_.scheme,this.port=_.port}}function iU($=process.env){return($.NODE_ENV??"").trim().toLowerCase()==="test"}function DN($){let _=$.split(".");if(_.length!==4)return!1;if(!_.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return _[0]==="127"}function Kw($){let _=$.trim().toLowerCase();if(_.length===0)return!1;if(_==="localhost"||_.endsWith(".localhost"))return!0;if(DN(_))return!0;if(!_.startsWith("[")||!_.endsWith("]"))return!1;let U=_.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let W=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&DN(W))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function Mw($){if(typeof $==="string")return $;if($ instanceof URL)return $.href;return $.url}function gw($,_=process.env){if(!iU(_))return;let U=Mw($),W;try{W=new URL(U)}catch{throw new EG("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(Kw(W.hostname))return;throw new EG(`knowledge: refused a non-loopback ${W.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=local) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:W.protocol.replace(":",""),port:W.port})}function zN($,_){return gw($),fetch($,_)}var _X="knowledge",MG=jN(_X),z2=MG.modeKeys,gG=MG.apiUrlKeys,UX=MG.apiKeyKeys;function KG($,_){return _.filter((U)=>($[U]??"").trim().length>0)}function JX($=process.env){let _=[...KG($,gG),...KG($,UX)],U=z2[0];for(let W of z2){let J=$[W]?.trim();if(!J)continue;let X;try{X=FG(J)}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw Error(`knowledge: ${W}=${J} is not a valid mode. ${Y}`)}let G=[];if(X.deprecatedAlias)G.push(`Deprecated mode '${X.deprecatedAlias}' from ${W} is treated as 'cloud'. Prefer ${U}=cloud.`);if(W!==U)G.push(`Using alias env ${W}; the canonical key is ${U}.`);if(X.mode==="local"&&_.length>0)G.push(`${W}=local pins the on-box store; ${_.join(", ")} are set but ignored.`);return{mode:X.mode,source:{kind:"env",name:W,value:J},pointer_env_present:_,pointer_ignored:X.mode==="local"&&_.length>0,warning:G.length>0?G.join(" "):null}}return{mode:"local",source:{kind:"default",name:null,value:null},pointer_env_present:_,pointer_ignored:_.length>0,warning:_.length>0?`${_.join(", ")} are set but do NOT select a backend: mode is local by default. Set ${U}=cloud to route reads and writes to the API, or unset those vars to silence this note.`:null}}function IG($,_){return{...$,[z2[0]]:_}}function qN($=process.env){let _=JX($);return{..._,store_transport:_.mode==="cloud"?"api":"local",api_key_present:KG($,UX).length>0,network_guard_active:iU($)}}function ON($){return{fetchImpl:zN,...iU($)?{retry:!1}:{}}}var q2="notes";function Iw($){let _={};if($.search)_.search=$.search;if($.limit!==void 0)_.limit=$.limit;if($.offset!==void 0)_.offset=$.offset;if($.includeArchived||$.archivedOnly)_.includeArchived=!0;return _}function ww($){return{baseUrl:$.baseUrl,async list(_={}){let U=_.limit??200,W=Iw({..._,limit:Math.min(Math.max(U,1),200)}),J=await $.list(q2,{query:W}),X=J.items;if(_.archivedOnly)X=X.filter((G)=>G.archived===!0);if(_.tag){let G=_.tag.toLowerCase();X=X.filter((Q)=>(Q.tags??[]).some((Y)=>Y.toLowerCase()===G))}return{items:X,total:J.total}},async get(_){return $.get(q2,_)},async create(_){return $.create(q2,{..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})},async update(_,U){try{return await $.update(q2,_,U)}catch(W){if(kw(W))return null;throw W}},async delete(_){let U=await $.get(q2,_);if(!U)return!1;return await $.delete(q2,U.id),!0}}}function kw($){return Boolean($&&typeof $==="object"&&$.status===404)}function pU($=process.env){if(JX($).mode!=="cloud")return null;let _=DG(_X,IG($,"cloud"),ON($));if(_.transport!=="cloud-http")return null;return ww(_.client)}function C4($=process.env){if(JX($).mode!=="cloud")return!1;return DG(_X,IG($,"cloud"),ON($)).transport==="cloud-http"}async function WX($){let U=[];for(let W=0;;W+=200){let{items:J}=await $.list({includeArchived:!0,limit:200,offset:W});if(U.push(...J),J.length<200)break;if(W>1e5)break}return U}function wG($,_){return $.id===_||$.short_id===_}class LN{storePath;kind="local";constructor($){this.storePath=$}get location(){return this.storePath}get exists(){return fw(this.storePath)}async listAll(){let $=w1(this.storePath);return{items:$.items,exists:$.exists}}async get($){return w1(this.storePath).items.find((U)=>wG(U,$))??null}async create($){return I6(this.storePath,()=>{let _=fU(this.storePath),U=new Date().toISOString(),W=$.id??tO(),J={id:W,short_id:aO(W),title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:!1,created_at:U,updated_at:U};return _.items.push(J),l6(this.storePath,_),J},{createParent:!0})}async update($,_){return I6(this.storePath,()=>{let U=fU(this.storePath),W=U.items.findIndex((X)=>wG(X,$));if(W===-1)return null;let J=U.items[W];if(_.title!==void 0)J.title=_.title;if(_.content!==void 0)J.content=_.content;if(_.url!==void 0)J.url=_.url;if(_.tags!==void 0)J.tags=_.tags;if(_.metadata!==void 0)J.metadata=_.metadata;if(_.archived!==void 0)J.archived=_.archived;return J.updated_at=new Date().toISOString(),U.items[W]=J,l6(this.storePath,U),J},{createParent:!0})}async delete($){return I6(this.storePath,()=>{let _=fU(this.storePath),U=_.items.length;_.items=_.items.filter((J)=>!wG(J,$));let W=U!==_.items.length;if(W)l6(this.storePath,_);return W},{createParent:!0})}async deleteMany($){if($.length===0)return 0;let _=new Set($);return I6(this.storePath,()=>{let U=fU(this.storePath),W=U.items.length;U.items=U.items.filter((X)=>!_.has(X.id)&&!(X.short_id!=null&&_.has(X.short_id)));let J=W-U.items.length;if(J>0)l6(this.storePath,U);return J},{createParent:!0})}}class NN{cloud;kind="api";exists=!0;constructor($){this.cloud=$}get location(){return this.cloud.baseUrl}async listAll(){return{items:await WX(this.cloud),exists:!0}}async get($){return this.cloud.get($)}async create($){return this.cloud.create({...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})}async update($,_){return this.cloud.update($,_)}async delete($){return this.cloud.delete($)}async deleteMany($){let _=0;for(let U of $)if(await this.cloud.delete(U))_+=1;return _}}function XX($){let _=$.storePathOverridden?null:pU($.env??process.env);if(_)return new NN(_);return new LN($.storePath)}import{Database as BN}from"bun:sqlite";function GX($="catalog"){if(C4())throw Error(`knowledge: ${$} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`)}var Pw="porter unicode61 remove_diacritics 2",HN=` PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; @@ -262,7 +262,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (1, datetime('now')); -`,Db=` +`,Cw=` DROP TABLE IF EXISTS chunks_fts; CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( @@ -275,7 +275,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (2, datetime('now')); -`,Jb=` +`,Tw=` CREATE TABLE IF NOT EXISTS audit_events ( id TEXT PRIMARY KEY, event_type TEXT NOT NULL, @@ -306,7 +306,7 @@ CREATE INDEX IF NOT EXISTS idx_approval_gates_status ON approval_gates(status); INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (3, datetime('now')); -`,jb=` +`,Sw=` CREATE TABLE IF NOT EXISTS vector_index_entries ( id TEXT PRIMARY KEY, chunk_id TEXT NOT NULL REFERENCES chunks(id) ON DELETE CASCADE, @@ -337,7 +337,7 @@ CREATE INDEX IF NOT EXISTS idx_vector_index_status ON vector_index_entries(statu INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (4, datetime('now')); -`,Wb=` +`,Zw=` CREATE TABLE IF NOT EXISTS reindex_queue ( id TEXT PRIMARY KEY, kind TEXT NOT NULL, @@ -358,7 +358,7 @@ CREATE INDEX IF NOT EXISTS idx_reindex_queue_source_uri ON reindex_queue(source_ INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (5, datetime('now')); -`,oQ=` +`,VN=` CREATE TABLE IF NOT EXISTS knowledge_machines ( machine_id TEXT PRIMARY KEY, hostname TEXT, @@ -433,7 +433,7 @@ CREATE INDEX IF NOT EXISTS idx_sync_conflicts_entity ON knowledge_sync_conflicts INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (6, datetime('now')); -`,Gb=` +`,vw=` CREATE TABLE IF NOT EXISTS knowledge_sync_table_clocks ( table_name TEXT NOT NULL, machine_id TEXT NOT NULL, @@ -473,7 +473,7 @@ CREATE INDEX IF NOT EXISTS idx_sync_imports_status ON knowledge_sync_imports(sta INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (7, datetime('now')); -`,Xb=` +`,yw=` CREATE INDEX IF NOT EXISTS idx_wiki_pages_lifecycle_status ON wiki_pages(status, valid_to); CREATE INDEX IF NOT EXISTS idx_wiki_pages_last_verified ON wiki_pages(last_verified_at); CREATE INDEX IF NOT EXISTS idx_wiki_pages_supersedes ON wiki_pages(supersedes); @@ -481,7 +481,7 @@ CREATE INDEX IF NOT EXISTS idx_wiki_pages_superseded_by ON wiki_pages(superseded INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (8, datetime('now')); -`,Nb=` +`,hw=` BEGIN; CREATE TEMP TABLE _chunks_fts_backup AS @@ -494,7 +494,7 @@ CREATE VIRTUAL TABLE chunks_fts USING fts5( text, title, source_uri, - tokenize='${Ub}' + tokenize='${Pw}' ); INSERT INTO chunks_fts (chunk_id, text, title, source_uri) @@ -506,14 +506,14 @@ INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now')); COMMIT; -`;function x(_){TD("opening the local knowledge.db catalog"),m6(_);let $=new iQ(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function pQ(_){return TD("reading the local knowledge.db catalog"),new iQ(_,{readonly:!0})}function o(_){let $=x(_);try{if($.exec(lQ),p_($)<2)$.exec(Db);if(p_($)<3)$.exec(Jb);if(p_($)<4)$.exec(jb);if(p_($)<5)$.exec(Wb);if(p_($)<6)$.exec(oQ);if(Ob($))Yb($);if(zb($))Qb($);if(qb($))Lb($);return{path:_,schema_version:p_($)}}finally{$.close()}}function p_(_){return _.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function m_(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function rG(_){return`"${_.replaceAll('"','""')}"`}function S4(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(U)}function V6(_,$,U){if(!S4(_,$))return!1;return _.query(`PRAGMA table_info(${rG($)})`).all().some((D)=>D.name===U)}function p6(_,$,U,J){if(!V6(_,$,U))_.exec(`ALTER TABLE ${rG($)} ADD COLUMN ${rG(U)} ${J};`)}function Ob(_){return p_(_)<7||!V6(_,"knowledge_sync_changes","logical_clock")||!V6(_,"knowledge_sync_changes","bundle_id")||!S4(_,"knowledge_sync_table_clocks")||!S4(_,"knowledge_sync_imports")}function Yb(_){if(!S4(_,"knowledge_sync_changes"))_.exec(oQ);p6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),p6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec(Gb)}function zb(_){return p_(_)<8||!V6(_,"wiki_pages","valid_from")||!V6(_,"wiki_pages","valid_to")||!V6(_,"wiki_pages","supersedes")||!V6(_,"wiki_pages","superseded_by")||!V6(_,"wiki_pages","confidence")||!V6(_,"wiki_pages","last_verified_at")}function Qb(_){if(!S4(_,"wiki_pages"))_.exec(lQ);p6(_,"wiki_pages","valid_from","TEXT"),p6(_,"wiki_pages","valid_to","TEXT"),p6(_,"wiki_pages","supersedes","TEXT"),p6(_,"wiki_pages","superseded_by","TEXT"),p6(_,"wiki_pages","confidence","REAL"),p6(_,"wiki_pages","last_verified_at","TEXT"),_.exec(` +`;function d($){GX("opening the local knowledge.db catalog"),E4($);let _=new BN($);return _.exec("PRAGMA foreign_keys = ON;"),_.exec("PRAGMA busy_timeout = 5000;"),_}function RN($){return GX("reading the local knowledge.db catalog"),new BN($,{readonly:!0})}function $$($){let _=d($);try{if(_.exec(HN),z_(_)<2)_.exec(Cw);if(z_(_)<3)_.exec(Tw);if(z_(_)<4)_.exec(Sw);if(z_(_)<5)_.exec(Zw);if(z_(_)<6)_.exec(VN);if(xw(_))mw(_);if(uw(_))dw(_);if(nw(_))cw(_);return{path:$,schema_version:z_(_)}}finally{_.close()}}function z_($){return $.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function X_($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function kG($){return`"${$.replaceAll('"','""')}"`}function E0($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get(_);return Boolean(U)}function U4($,_,U){if(!E0($,_))return!1;return $.query(`PRAGMA table_info(${kG(_)})`).all().some((J)=>J.name===U)}function T4($,_,U,W){if(!U4($,_,U))$.exec(`ALTER TABLE ${kG(_)} ADD COLUMN ${kG(U)} ${W};`)}function xw($){return z_($)<7||!U4($,"knowledge_sync_changes","logical_clock")||!U4($,"knowledge_sync_changes","bundle_id")||!E0($,"knowledge_sync_table_clocks")||!E0($,"knowledge_sync_imports")}function mw($){if(!E0($,"knowledge_sync_changes"))$.exec(VN);T4($,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),T4($,"knowledge_sync_changes","bundle_id","TEXT"),$.exec(vw)}function uw($){return z_($)<8||!U4($,"wiki_pages","valid_from")||!U4($,"wiki_pages","valid_to")||!U4($,"wiki_pages","supersedes")||!U4($,"wiki_pages","superseded_by")||!U4($,"wiki_pages","confidence")||!U4($,"wiki_pages","last_verified_at")}function dw($){if(!E0($,"wiki_pages"))$.exec(HN);T4($,"wiki_pages","valid_from","TEXT"),T4($,"wiki_pages","valid_to","TEXT"),T4($,"wiki_pages","supersedes","TEXT"),T4($,"wiki_pages","superseded_by","TEXT"),T4($,"wiki_pages","confidence","REAL"),T4($,"wiki_pages","last_verified_at","TEXT"),$.exec(` UPDATE wiki_pages SET valid_from = COALESCE(valid_from, created_at), last_verified_at = COALESCE(last_verified_at, updated_at), confidence = COALESCE(confidence, 0.8) WHERE valid_from IS NULL OR last_verified_at IS NULL OR confidence IS NULL; - `),_.exec(Xb)}function tQ(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function qb(_){if(!S4(_,"chunks_fts"))return!1;return p_(_)<9||!tQ(_)}function Lb(_){if(!S4(_,"chunks_fts"))return;if(tQ(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(Nb)}function uG(_){let $=x(_);try{return{schema_version:p_($),sources:m_($,"sources"),source_revisions:m_($,"source_revisions"),chunks:m_($,"chunks"),wiki_pages:m_($,"wiki_pages"),citations:m_($,"citations"),indexes:m_($,"knowledge_indexes"),runs:m_($,"runs"),run_events:m_($,"run_events"),redaction_findings:m_($,"redaction_findings"),audit_events:m_($,"audit_events"),approval_gates:m_($,"approval_gates"),storage_objects:m_($,"storage_objects"),embeddings:m_($,"chunk_embeddings"),vector_entries:m_($,"vector_index_entries"),reindex_queue:m_($,"reindex_queue"),knowledge_machines:m_($,"knowledge_machines"),sync_snapshots:m_($,"knowledge_sync_snapshots"),sync_changes:m_($,"knowledge_sync_changes"),sync_conflicts:m_($,"knowledge_sync_conflicts"),sync_table_clocks:m_($,"knowledge_sync_table_clocks"),sync_imports:m_($,"knowledge_sync_imports")}}finally{$.close()}}import{chmodSync as gb,existsSync as Eb,mkdirSync as aQ,readFileSync as Bb,statSync as Rb,writeFileSync as Hb}from"fs";import{dirname as Ab,join as nG,relative as Vb,sep as bb}from"path";import{pathToFileURL as Kb}from"url";function j6(_){let $=_.replace(/\\/g,"/").trim();if(!$||$.startsWith("/"))throw Error(`Invalid artifact key: ${_}`);let U=$.split("/").filter(Boolean);if(U.length===0||U.some((J)=>J==="."||J===".."))throw Error(`Invalid artifact key: ${_}`);return U.join("/")}function mG(_,$){let U=Vb(_,$);if(U.startsWith("..")||U===".."||U.startsWith(`..${bb}`))throw Error(`Artifact path escapes root: ${$}`)}function Ib(_){if(!_)return;let $={};for(let[U,J]of Object.entries(_))if(typeof J==="string")$[U]=J;else if(typeof J==="number"||typeof J==="boolean")$[U]=String(J);return Object.keys($).length>0?$:void 0}class eQ{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;aQ(_,{recursive:!0,mode:448})}async put(_){let $=j6(_.key),U=nG(this.root,$);return mG(this.root,U),aQ(Ab(U),{recursive:!0,mode:448}),Hb(U,_.body,{mode:384}),gb(U,384),{key:$,uri:Kb(U).href,modified_at:Rb(U).mtime.toISOString()}}async getText(_){let $=j6(_),U=nG(this.root,$);return mG(this.root,U),Bb(U,"utf8")}async exists(_){let $=j6(_),U=nG(this.root,$);return mG(this.root,U),Eb(U)}}class sQ{options;type="s3";canRead=!0;canWrite=!0;client;constructor(_){this.options=_;this.client=_.client}async getClient(){if(this.client)return this.client;let[{S3Client:_},{fromIni:$}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]);return this.client=new _({region:this.options.region,credentials:this.options.profile?$({profile:this.options.profile}):void 0,maxAttempts:this.options.max_attempts}),this.client}objectKey(_){let $=j6(_),U=this.options.prefix?j6(this.options.prefix):"";return U?`${U}/${$}`:$}async put(_){let[{PutObjectCommand:$},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),J=j6(_.key),D=this.objectKey(J);return await U.send(new $({Bucket:this.options.bucket,Key:D,Body:_.body,ContentType:_.content_type,Metadata:Ib(_.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:J,uri:`s3://${this.options.bucket}/${D}`,modified_at:new Date().toISOString()}}async getText(_){let[{GetObjectCommand:$},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),J=this.objectKey(_),D=await U.send(new $({Bucket:this.options.bucket,Key:J}));if(!D.Body)return"";return await D.Body.transformToString()}async exists(_){let[{HeadObjectCommand:$},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),J=this.objectKey(_);try{return await U.send(new $({Bucket:this.options.bucket,Key:J})),!0}catch(D){let j=D instanceof Error?D.name:"";if(j==="NotFound"||j==="NoSuchKey"||j==="NotFoundError")return!1;throw D}}}function dG(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new sQ({bucket:_.storage.s3.bucket,prefix:_.storage.s3.prefix,region:_.storage.s3.region,profile:_.storage.s3.profile,max_attempts:_.storage.s3.max_attempts,server_side_encryption:_.storage.s3.server_side_encryption,kms_key_id:_.storage.s3.kms_key_id})}return new eQ($.artifactsDir)}import{createHash as UD}from"crypto";import{spawnSync as Qf}from"child_process";import{existsSync as I_,readFileSync as qf}from"fs";import{hostname as Lf}from"os";import{join as J3,resolve as B3}from"path";import{createHash as aK,randomUUID as eK}from"crypto";import{createHash as Cb,randomUUID as Zb}from"crypto";import{existsSync as iG,readdirSync as vb}from"fs";import{join as G7}from"path";import{pathToFileURL as yb}from"url";import{existsSync as Fb,mkdirSync as Mb,readFileSync as Pb,unlinkSync as kb,writeFileSync as wb}from"fs";import{homedir as Sb}from"os";import{dirname as fb,join as _7}from"path";var cG="https://knowledge.md";function b6(_){let $=new URL(_);if($.protocol!=="http:"&&$.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let U=$.pathname.replace(/\/+$/,"");if(U==="/api"||U==="/api/v1")$.pathname="/";else if(U.endsWith("/api/v1"))$.pathname=U.slice(0,-7)||"/";else if(U.endsWith("/api"))$.pathname=U.slice(0,-4)||"/";return $.toString().replace(/\/+$/,"")}function CD(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??_7(Sb(),".hasna","knowledge");return _7($,"auth.json")}function $7(_,$=process.env){return b6($.KNOWLEDGE_API_URL??_?.hosted?.api_url??cG)}function U7(_=process.env){try{let $=CD(_);if(!Fb($))return null;let U=JSON.parse(Pb($,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function D7(_,$=process.env){let U=CD($),J={..._,api_url:_.api_url?b6(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return Mb(fb(U),{recursive:!0,mode:448}),wb(U,`${JSON.stringify(J,null,2)} -`,{mode:384}),J}function J7(_=process.env){try{return kb(CD(_)),!0}catch{return!1}}function Tb(_=process.env){if(_.KNOWLEDGE_API_KEY)return{apiKey:_.KNOWLEDGE_API_KEY,source:"env"};if(_.HASNA_KNOWLEDGE_API_KEY)return{apiKey:_.HASNA_KNOWLEDGE_API_KEY,source:"env"};let $=U7(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function j7(_,$=process.env){let U=U7($),J=Tb($),D=$.KNOWLEDGE_API_URL?$7(_,$):U?.api_url?b6(U.api_url):$7(_,$);return{authenticated:Boolean(J.apiKey),source:J.source,api_url:D,auth_path:CD($),email:J.source==="file"?U?.email??null:null,org_id:J.source==="file"?U?.org_id??null:null,org_slug:J.source==="file"?U?.org_slug??null:null,user_id:J.source==="file"?U?.user_id??null:null,api_key_present:Boolean(J.apiKey)}}var W7=2;var X7=[{kind:"schema",prefix:"schemas/",description:"Machine-readable agent schemas and source rules."},{kind:"index",prefix:"indexes/",description:"Small orientation indexes and future shard manifests."},{kind:"log",prefix:"logs/",description:"Append-only JSONL run and wiki-maintenance log partitions."},{kind:"run",prefix:"runs/",description:"Prompt/tool/cost ledgers and generated output records."},{kind:"wiki_page",prefix:"wiki/",description:"Generated cited Markdown pages, not raw source files."},{kind:"export",prefix:"exports/",description:"Portable exports and snapshots of derived knowledge state."}],hb=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function N7(_){let $=[];if(iG(G7(_.home,"cloud.env")))$.push("cloud.env");if(iG(G7(_.home,"migration-exports")))$.push("migration-exports");if(iG(_.home)){for(let U of vb(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))$.push(U)}return $}function U1(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${Cb("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function O7(_){return X7.find((U)=>_.startsWith(U.prefix))?.kind??"artifact"}function ZD(_,$,U="global"){let J=lG(_,$),D=_.storage.s3??null,j=D?.prefix?.replace(/^\/+|\/+$/g,"")??"",W=D?`s3://${D.bucket}/${j?`${j}/`:""}`:"",G=A_.s3.prefix.replace(/^\/+|\/+$/g,""),X=`s3://${A_.s3.bucket}/${G}/`,N=_.storage.type==="s3"&&D?.bucket===A_.s3.bucket&&(D.region??null)===A_.s3.region;return{scope:U,mode:_.mode,storage_type:_.storage.type,workspace_home:$.home,local_layout:{app_path:L6,config_path:$.configPath,json_store_path:$.jsonStorePath,knowledge_db_path:$.knowledgeDbPath,directories:{artifacts:$.artifactsDir,cache:$.cacheDir,exports:$.exportsDir,indexes:$.indexesDir,logs:$.logsDir,runs:$.runsDir,schemas:$.schemasDir,wiki:$.wikiDir}},artifact_store:{type:_.storage.type,artifacts_root:_.storage.artifacts_root,uri_prefix:_.storage.type==="s3"?W:yb(`${$.artifactsDir}/`).href,s3:D?{bucket:D.bucket,prefix:j,region:D.region??null,profile:D.profile??null,server_side_encryption:D.server_side_encryption??null,kms_key_configured:Boolean(D.kms_key_id)}:null},canonical_example:{division:A_.division,app_type:A_.app_type,app:A_.app,env:A_.env,active:N,local_path:A_.local_path,s3:{bucket:A_.s3.bucket,region:A_.s3.region,profile:A_.s3.profile,prefix:G,uri_prefix:X,server_side_encryption:A_.s3.server_side_encryption},secrets:{env:A_.secrets.env,aws:A_.secrets.aws,s3:A_.secrets.s3,rds:A_.secrets.rds,future_rds:A_.secrets.future_rds},evidence_doc:A_.evidence_doc},hosted:{enabled:_.mode==="hosted",api_url:b6(_.hosted?.api_url??cG),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:W7,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:hb,forbidden_workspace_files_present:N7($),runtime_env_keys:["HASNA_KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_DATABASE_URL","KNOWLEDGE_DATABASE_URL"],secret_ref_authority:"open-secrets",approved_secret_refs:{env:A_.secrets.env,aws:A_.secrets.aws,s3:A_.secrets.s3,rds:A_.secrets.rds},db_url_rotation_decision:{status:"blocked_without_secret_authority",reason:"No live secret mutation authority is available in @hasna/knowledge. Rotate the DB URL only through the approved secret authority if separate evidence proves the URL propagated to backups, exports, sync bundles, reports, or copied artifacts.",authority_required:!0}},source_ownership:{owner:"open-files",preferred_ref:_.sources.preferred_ref,allowed_schemes:_.sources.allowed_schemes,raw_source_bytes_stored_in_open_knowledge:!1,stores:["source refs","source revisions and hashes","citation spans","redacted extracted chunks","embeddings","generated wiki artifacts","indexes","run ledgers"],does_not_store:["raw open-files bytes","S3 object credentials","connector secrets","hosted tenant ownership state"]},private_fleet_boundary:{manifest_authority:"open-machines",source_ref_authority:"open-files",secret_ref_authority:"open-secrets",raw_private_manifest_bytes_stored_in_open_knowledge:!1,accepted_source_ref_schemes:_.sources.allowed_schemes.filter((z)=>["open-files","s3","file"].includes(z)),stores:["source refs for private manifests","redacted setup decisions","runbook summaries","citation spans into approved knowledge sources","machine setup evidence hashes"],does_not_store:["private fleet manifests","machine hostnames","machine serial numbers","sudo passwords","VNC passwords","SSH private keys","GitHub App private keys","secret values"],example_manifest_ref:"open-files://source/private-fleet-manifest/path/machines.json"},generated_artifacts:X7,scalability:{catalog:"knowledge.db tracks sources, revisions, chunks, citations, indexes, runs, and storage_objects.",indexes:"Indexes are cataloged DB rows plus sharded artifacts, not one giant index.md.",logs:"Logs use dated JSONL partitions under logs/yyyy/mm/dd.jsonl.",markdown:"Markdown pages are the readable wiki layer over DB/object-store state."},warnings:J.warnings}}function lG(_,$){let U=[],J=[],D=N7($);for(let j of D)U.push(`Forbidden Knowledge workspace file present: ${j}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!$.home.endsWith(L6))J.push(`Workspace home does not end with ${L6}: ${$.home}`);if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)U.push("storage.s3.bucket is required when storage.type is s3.");if(!_.storage.s3?.prefix)J.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if(_.mode==="local")J.push("storage.type is s3 while mode is local; this is valid for BYO S3, but hosted wrappers should set mode to hosted.")}if(_.storage.type==="local"&&_.storage.s3)J.push("storage.s3 is configured but ignored while storage.type is local.");if(_.sources.preferred_ref!=="open-files")J.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!_.sources.allowed_schemes.includes("open-files"))U.push("sources.allowed_schemes must include open-files.");if(_.mode==="hosted"&&_.hosted?.api_url)try{b6(_.hosted.api_url)}catch{U.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:U.length===0,errors:U,warnings:J}}function K6(_,$,U=new Date){let J=U.toISOString(),D=_.prepare(` + `),$.exec(yw)}function AN($){let _=$.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean(_?.sql&&_.sql.includes("remove_diacritics"))}function nw($){if(!E0($,"chunks_fts"))return!1;return z_($)<9||!AN($)}function cw($){if(!E0($,"chunks_fts"))return;if(AN($)){$.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}$.exec(hw)}function fG($){let _=d($);try{return{schema_version:z_(_),sources:X_(_,"sources"),source_revisions:X_(_,"source_revisions"),chunks:X_(_,"chunks"),wiki_pages:X_(_,"wiki_pages"),citations:X_(_,"citations"),indexes:X_(_,"knowledge_indexes"),runs:X_(_,"runs"),run_events:X_(_,"run_events"),redaction_findings:X_(_,"redaction_findings"),audit_events:X_(_,"audit_events"),approval_gates:X_(_,"approval_gates"),storage_objects:X_(_,"storage_objects"),embeddings:X_(_,"chunk_embeddings"),vector_entries:X_(_,"vector_index_entries"),reindex_queue:X_(_,"reindex_queue"),knowledge_machines:X_(_,"knowledge_machines"),sync_snapshots:X_(_,"knowledge_sync_snapshots"),sync_changes:X_(_,"knowledge_sync_changes"),sync_conflicts:X_(_,"knowledge_sync_conflicts"),sync_table_clocks:X_(_,"knowledge_sync_table_clocks"),sync_imports:X_(_,"knowledge_sync_imports")}}finally{_.close()}}import{chmodSync as lw,existsSync as rw,mkdirSync as bN,readFileSync as iw,statSync as pw,writeFileSync as ow}from"fs";import{dirname as tw,join as PG,relative as aw,sep as sw}from"path";import{pathToFileURL as ew}from"url";function S6($){let _=$.replace(/\\/g,"/").trim();if(!_||_.startsWith("/"))throw Error(`Invalid artifact key: ${$}`);let U=_.split("/").filter(Boolean);if(U.length===0||U.some((W)=>W==="."||W===".."))throw Error(`Invalid artifact key: ${$}`);return U.join("/")}function CG($,_){let U=aw($,_);if(U.startsWith("..")||U===".."||U.startsWith(`..${sw}`))throw Error(`Artifact path escapes root: ${_}`)}function $k($){if(!$)return;let _={};for(let[U,W]of Object.entries($))if(typeof W==="string")_[U]=W;else if(typeof W==="number"||typeof W==="boolean")_[U]=String(W);return Object.keys(_).length>0?_:void 0}class FN{root;type="local";canRead=!0;canWrite=!0;constructor($){this.root=$;bN($,{recursive:!0,mode:448})}async put($){let _=S6($.key),U=PG(this.root,_);return CG(this.root,U),bN(tw(U),{recursive:!0,mode:448}),ow(U,$.body,{mode:384}),lw(U,384),{key:_,uri:ew(U).href,modified_at:pw(U).mtime.toISOString()}}async getText($){let _=S6($),U=PG(this.root,_);return CG(this.root,U),iw(U,"utf8")}async exists($){let _=S6($),U=PG(this.root,_);return CG(this.root,U),rw(U)}}class EN{options;type="s3";canRead=!0;canWrite=!0;client;constructor($){this.options=$;this.client=$.client}async getClient(){if(this.client)return this.client;let[{S3Client:$},{fromIni:_}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]);return this.client=new $({region:this.options.region,credentials:this.options.profile?_({profile:this.options.profile}):void 0,maxAttempts:this.options.max_attempts}),this.client}objectKey($){let _=S6($),U=this.options.prefix?S6(this.options.prefix):"";return U?`${U}/${_}`:_}async put($){let[{PutObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=S6($.key),J=this.objectKey(W);return await U.send(new _({Bucket:this.options.bucket,Key:J,Body:$.body,ContentType:$.content_type,Metadata:$k($.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:W,uri:`s3://${this.options.bucket}/${J}`,modified_at:new Date().toISOString()}}async getText($){let[{GetObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($),J=await U.send(new _({Bucket:this.options.bucket,Key:W}));if(!J.Body)return"";return await J.Body.transformToString()}async exists($){let[{HeadObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($);try{return await U.send(new _({Bucket:this.options.bucket,Key:W})),!0}catch(J){let X=J instanceof Error?J.name:"";if(X==="NotFound"||X==="NoSuchKey"||X==="NotFoundError")return!1;throw J}}}function TG($,_){if($.storage.type==="s3"){if(!$.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new EN({bucket:$.storage.s3.bucket,prefix:$.storage.s3.prefix,region:$.storage.s3.region,profile:$.storage.s3.profile,max_attempts:$.storage.s3.max_attempts,server_side_encryption:$.storage.s3.server_side_encryption,kms_key_id:$.storage.s3.kms_key_id})}return new FN(_.artifactsDir)}import{createHash as FW}from"crypto";import{spawnSync as ny}from"child_process";import{existsSync as x$,readFileSync as cy}from"fs";import{hostname as ly}from"os";import{join as wR,resolve as dR}from"path";import{createHash as gf,randomUUID as If}from"crypto";import{createHash as jk,randomUUID as Dk}from"crypto";import{existsSync as ZG,readdirSync as zk}from"fs";import{join as PN}from"path";import{pathToFileURL as qk}from"url";import{existsSync as _k,mkdirSync as Uk,readFileSync as Jk,unlinkSync as Wk,writeFileSync as Xk}from"fs";import{homedir as Gk}from"os";import{dirname as Qk,join as KN}from"path";var SG="https://knowledge.md";function J4($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U==="/api"||U==="/api/v1")_.pathname="/";else if(U.endsWith("/api/v1"))_.pathname=U.slice(0,-7)||"/";else if(U.endsWith("/api"))_.pathname=U.slice(0,-4)||"/";return _.toString().replace(/\/+$/,"")}function QX($=process.env){if($.HASNA_KNOWLEDGE_AUTH_PATH)return $.HASNA_KNOWLEDGE_AUTH_PATH;let _=$.HASNA_KNOWLEDGE_AUTH_DIR??KN(Gk(),".hasna","knowledge");return KN(_,"auth.json")}function MN($,_=process.env){return J4(_.KNOWLEDGE_API_URL??$?.hosted?.api_url??SG)}function gN($=process.env){try{let _=QX($);if(!_k(_))return null;let U=JSON.parse(Jk(_,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function IN($,_=process.env){let U=QX(_),W={...$,api_url:$.api_url?J4($.api_url):void 0,created_at:$.created_at??new Date().toISOString()};return Uk(Qk(U),{recursive:!0,mode:448}),Xk(U,`${JSON.stringify(W,null,2)} +`,{mode:384}),W}function wN($=process.env){try{return Wk(QX($)),!0}catch{return!1}}function Yk($=process.env){if($.KNOWLEDGE_API_KEY)return{apiKey:$.KNOWLEDGE_API_KEY,source:"env"};if($.HASNA_KNOWLEDGE_API_KEY)return{apiKey:$.HASNA_KNOWLEDGE_API_KEY,source:"env"};let _=gN($);return _?.api_key?{apiKey:_.api_key,source:"file"}:{apiKey:null,source:"none"}}function kN($,_=process.env){let U=gN(_),W=Yk(_),J=_.KNOWLEDGE_API_URL?MN($,_):U?.api_url?J4(U.api_url):MN($,_);return{authenticated:Boolean(W.apiKey),source:W.source,api_url:J,auth_path:QX(_),email:W.source==="file"?U?.email??null:null,org_id:W.source==="file"?U?.org_id??null:null,org_slug:W.source==="file"?U?.org_slug??null:null,user_id:W.source==="file"?U?.user_id??null:null,api_key_present:Boolean(W.apiKey)}}var fN=2;var CN=[{kind:"schema",prefix:"schemas/",description:"Machine-readable agent schemas and source rules."},{kind:"index",prefix:"indexes/",description:"Small orientation indexes and future shard manifests."},{kind:"log",prefix:"logs/",description:"Append-only JSONL run and wiki-maintenance log partitions."},{kind:"run",prefix:"runs/",description:"Prompt/tool/cost ledgers and generated output records."},{kind:"wiki_page",prefix:"wiki/",description:"Generated cited Markdown pages, not raw source files."},{kind:"export",prefix:"exports/",description:"Portable exports and snapshots of derived knowledge state."}],Ok=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function TN($){let _=[];if(ZG(PN($.home,"cloud.env")))_.push("cloud.env");if(ZG(PN($.home,"migration-exports")))_.push("migration-exports");if(ZG($.home)){for(let U of zk($.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))_.push(U)}return _}function O2($){let _=typeof $==="string"?Buffer.from($):Buffer.from($);return{hash:`sha256:${jk("sha256").update(_).digest("hex")}`,size_bytes:_.byteLength}}function SN($){return CN.find((U)=>$.startsWith(U.prefix))?.kind??"artifact"}function YX($,_,U="global"){let W=vG($,_),J=$.storage.s3??null,X=J?.prefix?.replace(/^\/+|\/+$/g,"")??"",G=J?`s3://${J.bucket}/${X?`${X}/`:""}`:"",Q=S$.s3.prefix.replace(/^\/+|\/+$/g,""),Y=`s3://${S$.s3.bucket}/${Q}/`,j=$.storage.type==="s3"&&J?.bucket===S$.s3.bucket&&(J.region??null)===S$.s3.region;return{scope:U,mode:$.mode,storage_type:$.storage.type,workspace_home:_.home,local_layout:{app_path:c6,config_path:_.configPath,json_store_path:_.jsonStorePath,knowledge_db_path:_.knowledgeDbPath,directories:{artifacts:_.artifactsDir,cache:_.cacheDir,exports:_.exportsDir,indexes:_.indexesDir,logs:_.logsDir,runs:_.runsDir,schemas:_.schemasDir,wiki:_.wikiDir}},artifact_store:{type:$.storage.type,artifacts_root:$.storage.artifacts_root,uri_prefix:$.storage.type==="s3"?G:qk(`${_.artifactsDir}/`).href,s3:J?{bucket:J.bucket,prefix:X,region:J.region??null,profile:J.profile??null,server_side_encryption:J.server_side_encryption??null,kms_key_configured:Boolean(J.kms_key_id)}:null},canonical_example:{division:S$.division,app_type:S$.app_type,app:S$.app,env:S$.env,active:j,local_path:S$.local_path,s3:{bucket:S$.s3.bucket,region:S$.s3.region,profile:S$.s3.profile,prefix:Q,uri_prefix:Y,server_side_encryption:S$.s3.server_side_encryption},secrets:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds,future_rds:S$.secrets.future_rds},evidence_doc:S$.evidence_doc},hosted:{enabled:$.mode==="hosted",api_url:J4($.hosted?.api_url??SG),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:fN,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:Ok,forbidden_workspace_files_present:TN(_),runtime_env_keys:["HASNA_KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_DATABASE_URL","KNOWLEDGE_DATABASE_URL"],secret_ref_authority:"open-secrets",approved_secret_refs:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds},db_url_rotation_decision:{status:"blocked_without_secret_authority",reason:"No live secret mutation authority is available in @hasna/knowledge. Rotate the DB URL only through the approved secret authority if separate evidence proves the URL propagated to backups, exports, sync bundles, reports, or copied artifacts.",authority_required:!0}},source_ownership:{owner:"open-files",preferred_ref:$.sources.preferred_ref,allowed_schemes:$.sources.allowed_schemes,raw_source_bytes_stored_in_open_knowledge:!1,stores:["source refs","source revisions and hashes","citation spans","redacted extracted chunks","embeddings","generated wiki artifacts","indexes","run ledgers"],does_not_store:["raw open-files bytes","S3 object credentials","connector secrets","hosted tenant ownership state"]},private_fleet_boundary:{manifest_authority:"open-machines",source_ref_authority:"open-files",secret_ref_authority:"open-secrets",raw_private_manifest_bytes_stored_in_open_knowledge:!1,accepted_source_ref_schemes:$.sources.allowed_schemes.filter((O)=>["open-files","s3","file"].includes(O)),stores:["source refs for private manifests","redacted setup decisions","runbook summaries","citation spans into approved knowledge sources","machine setup evidence hashes"],does_not_store:["private fleet manifests","machine hostnames","machine serial numbers","sudo passwords","VNC passwords","SSH private keys","GitHub App private keys","secret values"],example_manifest_ref:"open-files://source/private-fleet-manifest/path/machines.json"},generated_artifacts:CN,scalability:{catalog:"knowledge.db tracks sources, revisions, chunks, citations, indexes, runs, and storage_objects.",indexes:"Indexes are cataloged DB rows plus sharded artifacts, not one giant index.md.",logs:"Logs use dated JSONL partitions under logs/yyyy/mm/dd.jsonl.",markdown:"Markdown pages are the readable wiki layer over DB/object-store state."},warnings:W.warnings}}function vG($,_){let U=[],W=[],J=TN(_);for(let X of J)U.push(`Forbidden Knowledge workspace file present: ${X}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!_.home.endsWith(c6))W.push(`Workspace home does not end with ${c6}: ${_.home}`);if($.storage.type==="s3"){if(!$.storage.s3?.bucket)U.push("storage.s3.bucket is required when storage.type is s3.");if(!$.storage.s3?.prefix)W.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if($.mode==="local")W.push("storage.type is s3 while mode is local; this is valid for BYO S3, but hosted wrappers should set mode to hosted.")}if($.storage.type==="local"&&$.storage.s3)W.push("storage.s3 is configured but ignored while storage.type is local.");if($.sources.preferred_ref!=="open-files")W.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!$.sources.allowed_schemes.includes("open-files"))U.push("sources.allowed_schemes must include open-files.");if($.mode==="hosted"&&$.hosted?.api_url)try{J4($.hosted.api_url)}catch{U.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:U.length===0,errors:U,warnings:W}}function W4($,_,U=new Date){let W=U.toISOString(),J=$.prepare(` INSERT INTO storage_objects ( id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json, created_at, updated_at ) @@ -525,49 +525,49 @@ COMMIT; size_bytes = excluded.size_bytes, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);_.transaction((W)=>{for(let G of W){let X={key:G.key,...G.modified_at?{artifact_modified_at:G.modified_at}:{},...G.metadata??{}};D.run(Zb(),G.uri,G.kind,G.content_type??null,G.hash??null,G.size_bytes??null,JSON.stringify(X),J,J)}})($)}function oG(_){return["deleted","stale","invalidated","reindex_required"].includes((_??"").toLowerCase())}function t6(_){let $=_.status??null;return{source_owner:"open-files",source_ref:_.source_ref??null,source_uri:_.source_uri??null,source_kind:_.source_kind??null,source_revision_id:_.source_revision_id??null,revision:_.revision??null,hash:_.hash??null,chunk_id:_.chunk_id??null,start_offset:_.start_offset??null,end_offset:_.end_offset??null,status:$,read_only:!0,citation_required:!0,resolver:_.resolver??null,stale:oG($)}}function h$(_){return{source_owner:"open-files",generated_from:_.generated_from,artifact_key:_.artifact_key,source_refs:_.source_refs??[],read_only_sources:!0,citation_required:_.citation_required??!0,raw_source_bytes_stored_in_open_knowledge:!1}}function Y7(_,$){return{..._,provenance:$}}import{createHash as nK}from"crypto";import{existsSync as mK,readFileSync as dK}from"fs";import{basename as xD}from"path";import{createHash as YK}from"crypto";import{existsSync as zK,readFileSync as QK}from"fs";import{basename as qK}from"path";import{fileURLToPath as xb}from"url";function z7(_,$){if(!_)throw Error($);return _}function rb(_){let U=_.slice(13).split("/").filter(Boolean),J=U[0];if(J!=="file"&&J!=="source")throw Error("Invalid open-files ref. Expected open-files://file/, open-files://file//revision/, or open-files://source//path/.");let D=z7(U[1],"Invalid open-files ref. Missing id.");if(J==="file"){if(U.length===2)return{kind:"open-files",uri:_,entity:J,id:D};if(U[2]==="revision"&&U[3]&&U.length===4)return{kind:"open-files",uri:_,entity:J,id:D,revision_id:decodeURIComponent(U[3])};throw Error("Invalid open-files file ref. Expected open-files://file//revision/.")}let j=U.indexOf("path"),W=j>=0?decodeURIComponent(U.slice(j+1).join("/")):void 0;return{kind:"open-files",uri:_,entity:J,id:D,path:W}}function ub(_){let $=new URL(_),U=z7($.hostname,"Invalid s3 ref. Missing bucket."),J=decodeURIComponent($.pathname.replace(/^\/+/,""));if(!J)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:_,bucket:U,key:J}}function nb(_){return{kind:"file",uri:_,path:xb(_)}}function mb(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function F$(_){if(_.startsWith("open-files://"))return rb(_);if(_.startsWith("s3://"))return ub(_);if(_.startsWith("file://"))return nb(_);if(_.startsWith("https://")||_.startsWith("http://"))return mb(_);throw Error(`Unsupported source ref scheme: ${_}`)}function Q7(_,$=F$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function q7(_){let $=F$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as db,randomUUID as tG}from"crypto";import{relative as cb,resolve as g7,sep as ib}from"path";function L7(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function E7(_,$){let U=_,J=new Set(U.safety?.network?.allowed_s3_buckets??[]);if(_.storage.type==="s3"&&_.storage.s3?.bucket)J.add(_.storage.s3.bucket);if(process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS)for(let D of process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.split(",").map((j)=>j.trim()).filter(Boolean))J.add(D);return{mode:_.mode,allowWriteRoots:[$.home,$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir].map((D)=>g7(D)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??L7("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??L7("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...J].sort()},redaction:{enabled:U.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:U.safety?.approvals?.generated_writes_require_approval??!0}}}function lb(_,$){let U=cb(_,$);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${ib}`)}function I6(_,$){let U=g7(_);if(!$.allowWriteRoots.some((J)=>lb(J,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${_}`)}function a6(_,$){let J=new URL(_).hostname;if(!$.network.s3ReadsEnabled)throw Error("Safety policy denied S3 read. Set safety.network.s3_reads_enabled=true or HASNA_KNOWLEDGE_ALLOW_S3_READS=1.");if(!$.network.allowedS3Buckets.includes(J))throw Error(`Safety policy denied S3 bucket "${J}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function D1(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var B7=[{type:"private_key_block",severity:"high",regex:/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,replacement:"[REDACTED:private_key_block]"},{type:"secret_assignment",severity:"high",regex:/\b(?:api[_-]?key|secret|token|password)\s*[:=]\s*['"]?[^'"\s]{8,}/gi,replacement:"[REDACTED:secret_assignment]"},{type:"openai_api_key",severity:"high",regex:/\bsk-[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:openai_api_key]"},{type:"anthropic_api_key",severity:"high",regex:new RegExp(`\\b${["sk","ant"].join("-")}-[A-Za-z0-9_-]{20,}\\b`,"g"),replacement:"[REDACTED:anthropic_api_key]"},{type:"aws_access_key_id",severity:"high",regex:/\bA(?:KIA|SIA)[A-Z0-9]{16}\b/g,replacement:"[REDACTED:aws_access_key_id]"}];function O$(_,$){if($&&!$.redaction.enabled)return{text:_,findings:[]};let U=_,J=[];for(let D of B7)U=U.replace(D.regex,(j,...W)=>{let G=typeof W.at(-2)==="number"?W.at(-2):U.indexOf(j);return J.push({type:D.type,severity:D.severity,start:Math.max(0,G),end:Math.max(0,G+j.length)}),D.replacement});return{text:U,findings:J}}function ob(_){return`audit_${db("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${tG()}`).digest("hex").slice(0,24)}`}function pG(_,$=0){if($>6)return"[Truncated:depth]";if(typeof _==="string")return _.length>1000?`${_.slice(0,1000)}...[Truncated:${_.length-1000} chars]`:_;if(typeof _==="number"||typeof _==="boolean"||_===null||_===void 0)return _;if(Array.isArray(_)){let U=_.slice(0,25).map((J)=>pG(J,$+1));if(_.length>25)U.push(`[Truncated:${_.length-25} items]`);return U}if(typeof _==="object"){let U={},J=Object.entries(_).slice(0,50);for(let[j,W]of J)U[j]=pG(W,$+1);let D=Object.keys(_).length;if(D>J.length)U.__truncated_keys=D-J.length;return U}return String(_)}function v_(_,$){let U=$.created_at??new Date().toISOString(),J=pG($.metadata??{}),D=ob({...$,metadata:J,created_at:U});return _.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?)`,[D,$.event_type,$.action,$.target_uri??null,$.decision,JSON.stringify(J),U]),D}function vD(_,$){let U=$.created_at??new Date().toISOString();for(let J of $.findings)_.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${tG()}`,$.source_uri??null,$.run_id??null,J.severity,J.type,JSON.stringify({...$.metadata??{},start:J.start,end:J.end}),U]);return $.findings.length}function R7(_,$){let U=$.created_at??new Date().toISOString(),J=`approval_${tG()}`;return _.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,$.action,$.target_uri??null,"approved",$.reason??null,$.approved_by??"local-cli",JSON.stringify($.metadata??{}),U,U]),{id:J,status:"approved"}}var pb=[{type:"github_token",severity:"high",regex:/\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_token]"},{type:"github_pat_token",severity:"high",regex:/\bgithub[_]pat[_][A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_pat_token]"},{type:"package_registry_token",severity:"high",regex:/\bnpm_[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:package_registry_token]"},{type:"context7_token",severity:"high",regex:/\bctx7sk[-][A-Za-z0-9_-]{10,}\b/g,replacement:"[REDACTED:context7_token]"},{type:"xai_api_key",severity:"high",regex:/\bxai[-][A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:xai_api_key]"},{type:"google_api_key",severity:"high",regex:/\bAIza[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:google_api_key]"}];B7.push(...pb);function tb(_,$,U){let J=_.query(`SELECT id FROM approval_gates + `);$.transaction((G)=>{for(let Q of G){let Y={key:Q.key,...Q.modified_at?{artifact_modified_at:Q.modified_at}:{},...Q.metadata??{}};J.run(Dk(),Q.uri,Q.kind,Q.content_type??null,Q.hash??null,Q.size_bytes??null,JSON.stringify(Y),W,W)}})(_)}function yG($){return["deleted","stale","invalidated","reindex_required"].includes(($??"").toLowerCase())}function S4($){let _=$.status??null;return{source_owner:"open-files",source_ref:$.source_ref??null,source_uri:$.source_uri??null,source_kind:$.source_kind??null,source_revision_id:$.source_revision_id??null,revision:$.revision??null,hash:$.hash??null,chunk_id:$.chunk_id??null,start_offset:$.start_offset??null,end_offset:$.end_offset??null,status:_,read_only:!0,citation_required:!0,resolver:$.resolver??null,stale:yG(_)}}function D6($){return{source_owner:"open-files",generated_from:$.generated_from,artifact_key:$.artifact_key,source_refs:$.source_refs??[],read_only_sources:!0,citation_required:$.citation_required??!0,raw_source_bytes_stored_in_open_knowledge:!1}}function ZN($,_){return{...$,provenance:_}}import{createHash as Hf}from"crypto";import{existsSync as Vf,readFileSync as Rf}from"fs";import{basename as qX}from"path";import{createHash as mk}from"crypto";import{existsSync as uk,readFileSync as dk}from"fs";import{basename as nk}from"path";import{fileURLToPath as Lk}from"url";function vN($,_){if(!$)throw Error(_);return $}function Nk($){let U=$.slice(13).split("/").filter(Boolean),W=U[0];if(W!=="file"&&W!=="source")throw Error("Invalid open-files ref. Expected open-files://file/, open-files://file//revision/, or open-files://source//path/.");let J=vN(U[1],"Invalid open-files ref. Missing id.");if(W==="file"){if(U.length===2)return{kind:"open-files",uri:$,entity:W,id:J};if(U[2]==="revision"&&U[3]&&U.length===4)return{kind:"open-files",uri:$,entity:W,id:J,revision_id:decodeURIComponent(U[3])};throw Error("Invalid open-files file ref. Expected open-files://file//revision/.")}let X=U.indexOf("path"),G=X>=0?decodeURIComponent(U.slice(X+1).join("/")):void 0;return{kind:"open-files",uri:$,entity:W,id:J,path:G}}function Bk($){let _=new URL($),U=vN(_.hostname,"Invalid s3 ref. Missing bucket."),W=decodeURIComponent(_.pathname.replace(/^\/+/,""));if(!W)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:$,bucket:U,key:W}}function Hk($){return{kind:"file",uri:$,path:Lk($)}}function Vk($){let _=new URL($);return{kind:"web",uri:$,url:_.toString()}}function i_($){if($.startsWith("open-files://"))return Nk($);if($.startsWith("s3://"))return Bk($);if($.startsWith("file://"))return Hk($);if($.startsWith("https://")||$.startsWith("http://"))return Vk($);throw Error(`Unsupported source ref scheme: ${$}`)}function yN($,_=i_($)){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function hN($){let _=i_($);return _.kind==="open-files"&&_.entity==="file"?_.revision_id??null:null}import{createHash as Rk,randomUUID as xG}from"crypto";import{relative as Ak,resolve as mN,sep as bk}from"path";function xN($){let _=process.env[$];return _==="1"||_==="true"||_==="yes"}function uN($,_){let U=$,W=new Set(U.safety?.network?.allowed_s3_buckets??[]);if($.storage.type==="s3"&&$.storage.s3?.bucket)W.add($.storage.s3.bucket);if(process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS)for(let J of process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.split(",").map((X)=>X.trim()).filter(Boolean))W.add(J);return{mode:$.mode,allowWriteRoots:[_.home,_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir].map((J)=>mN(J)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??xN("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??xN("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...W].sort()},redaction:{enabled:U.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:U.safety?.approvals?.generated_writes_require_approval??!0}}}function Fk($,_){let U=Ak($,_);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${bk}`)}function X4($,_){let U=mN($);if(!_.allowWriteRoots.some((W)=>Fk(W,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${$}`)}function Z4($,_){let W=new URL($).hostname;if(!_.network.s3ReadsEnabled)throw Error("Safety policy denied S3 read. Set safety.network.s3_reads_enabled=true or HASNA_KNOWLEDGE_ALLOW_S3_READS=1.");if(!_.network.allowedS3Buckets.includes(W))throw Error(`Safety policy denied S3 bucket "${W}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function L2($){if(!$.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var dN=[{type:"private_key_block",severity:"high",regex:/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,replacement:"[REDACTED:private_key_block]"},{type:"secret_assignment",severity:"high",regex:/\b(?:api[_-]?key|secret|token|password)\s*[:=]\s*['"]?[^'"\s]{8,}/gi,replacement:"[REDACTED:secret_assignment]"},{type:"openai_api_key",severity:"high",regex:/\bsk-[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:openai_api_key]"},{type:"anthropic_api_key",severity:"high",regex:new RegExp(`\\b${["sk","ant"].join("-")}-[A-Za-z0-9_-]{20,}\\b`,"g"),replacement:"[REDACTED:anthropic_api_key]"},{type:"aws_access_key_id",severity:"high",regex:/\bA(?:KIA|SIA)[A-Z0-9]{16}\b/g,replacement:"[REDACTED:aws_access_key_id]"}];function w_($,_){if(_&&!_.redaction.enabled)return{text:$,findings:[]};let U=$,W=[];for(let J of dN)U=U.replace(J.regex,(X,...G)=>{let Q=typeof G.at(-2)==="number"?G.at(-2):U.indexOf(X);return W.push({type:J.type,severity:J.severity,start:Math.max(0,Q),end:Math.max(0,Q+X.length)}),J.replacement});return{text:U,findings:W}}function Ek($){return`audit_${Rk("sha256").update(`${$.event_type}\x00${$.action}\x00${$.target_uri??""}\x00${$.created_at??""}\x00${JSON.stringify($.metadata??{})}\x00${xG()}`).digest("hex").slice(0,24)}`}function hG($,_=0){if(_>6)return"[Truncated:depth]";if(typeof $==="string")return $.length>1000?`${$.slice(0,1000)}...[Truncated:${$.length-1000} chars]`:$;if(typeof $==="number"||typeof $==="boolean"||$===null||$===void 0)return $;if(Array.isArray($)){let U=$.slice(0,25).map((W)=>hG(W,_+1));if($.length>25)U.push(`[Truncated:${$.length-25} items]`);return U}if(typeof $==="object"){let U={},W=Object.entries($).slice(0,50);for(let[X,G]of W)U[X]=hG(G,_+1);let J=Object.keys($).length;if(J>W.length)U.__truncated_keys=J-W.length;return U}return String($)}function a$($,_){let U=_.created_at??new Date().toISOString(),W=hG(_.metadata??{}),J=Ek({..._,metadata:W,created_at:U});return $.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?)`,[J,_.event_type,_.action,_.target_uri??null,_.decision,JSON.stringify(W),U]),J}function jX($,_){let U=_.created_at??new Date().toISOString();for(let W of _.findings)$.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${xG()}`,_.source_uri??null,_.run_id??null,W.severity,W.type,JSON.stringify({..._.metadata??{},start:W.start,end:W.end}),U]);return _.findings.length}function nN($,_){let U=_.created_at??new Date().toISOString(),W=`approval_${xG()}`;return $.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.action,_.target_uri??null,"approved",_.reason??null,_.approved_by??"local-cli",JSON.stringify(_.metadata??{}),U,U]),{id:W,status:"approved"}}var Kk=[{type:"github_token",severity:"high",regex:/\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_token]"},{type:"github_pat_token",severity:"high",regex:/\bgithub[_]pat[_][A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_pat_token]"},{type:"package_registry_token",severity:"high",regex:/\bnpm_[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:package_registry_token]"},{type:"context7_token",severity:"high",regex:/\bctx7sk[-][A-Za-z0-9_-]{10,}\b/g,replacement:"[REDACTED:context7_token]"},{type:"xai_api_key",severity:"high",regex:/\bxai[-][A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:xai_api_key]"},{type:"google_api_key",severity:"high",regex:/\bAIza[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:google_api_key]"}];dN.push(...Kk);function Mk($,_,U){let W=$.query(`SELECT id FROM approval_gates WHERE action = ? AND status = 'approved' AND (target_uri IS NULL OR target_uri = ? OR ? IS NULL) - ORDER BY updated_at DESC LIMIT 1`).get($,U??null,U??null);return Boolean(J)}function H7(_,$,U,J){let D=U==="generated_write"&&$.approvals.generatedWritesRequireApproval,j=!D||tb(_,U,J);return{action:U,target_uri:J??null,approval_required:D,approved:j,decision:j?"allow":"requires_approval"}}import{createHash as ab}from"crypto";import{realpathSync as eb}from"fs";import{homedir as sb,tmpdir as _K}from"os";var f4=String.raw`[^\s"'<>),\]}]`,eG=String.raw`[^/\\\s"'<>]+`,b7=/file:\/\/[^\s"'<>),\]}]+/gi,$K=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,K7=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,I7=new RegExp(String.raw`/(?:home|Users)/${eG}/(?:workspace|Workspace)/${f4}*`,"g"),UK=[new RegExp(String.raw`/(?:home|Users)/${eG}(?:/${f4}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${f4}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${f4}+`,"g"),new RegExp(String.raw`(?),\]}]+)\b/gi,M7=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,DK=new Set(["content_base64"]);function JK(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function jK(_){return _.length>=4&&_!=="/"&&!/^[A-Za-z]:[\\/]?$/.test(_)}var A7=null,aG=[];function WK(){let _=new Set;for(let U of[sb(),_K()]){if(!U)continue;_.add(U);try{_.add(eb(U))}catch{}}let $=[..._].sort().join("\x00");if($===A7)return aG;return A7=$,aG=[..._].filter(jK).sort((U,J)=>J.length-U.length).map((U)=>new RegExp(`${JK(U)}(?:[/\\\\]${f4}*)?`,"g")),aG}function M$(_){return ab("sha256").update(_).digest("hex").slice(0,12)}function GK(_){return _.length<=80?_:`${_.slice(0,77)}...`}function V7(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function XK(_,$,U,J){for(let D of _.matchAll(b7)){let j=D[0];if(!U.allowFileSourceRefs||V7(j))J.push({type:V7(j)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:GK(j.replace(/^file:\/\/.*/,`[redacted:file-uri:${M$(j)}]`))})}for(let D of _.matchAll(K7))J.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${M$(D[0])}]`});for(let D of _.matchAll(F7))J.push({type:D[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:$,preview:`[redacted:${M$(D[0])}]`});for(let D of _.matchAll(M7))J.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${M$(D[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let D of _.matchAll(I7))J.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${M$(D[0])}]`})}function NK(_,$={},U="$"){let J=[],D=(j,W)=>{if(typeof j==="string"){XK(j,W,$,J);return}if(!j||typeof j!=="object")return;if(Array.isArray(j)){j.forEach((G,X)=>D(G,`${W}[${X}]`));return}for(let[G,X]of Object.entries(j))D(X,`${W}.${G}`)};return D(_,U),J}function T4(_,$={}){let U=NK(_,$);if(U.length===0)return;let J=new Map;for(let j of U)J.set(j.type,(J.get(j.type)??0)+1);let D=[...J.entries()].map(([j,W])=>`${j}:${W}`).join(", ");throw Error(`Knowledge private-ref lint failed (${D}). Store open-files/s3 refs or approved runtime secret refs instead of private .hasna, file://, raw DB/export, or cloud.env refs.`)}function OK(_){let $=O$(_).text.replace(M7,(U)=>`[REDACTED:database-url:${M$(U)}]`).replace(b7,(U)=>`[REDACTED:local-file-uri:${M$(U)}]`).replace($K,(U)=>`[REDACTED:local-hasna-path:${M$(U)}]`).replace(I7,(U)=>`[REDACTED:private-workspace:${M$(U)}]`);for(let U of[...WK(),...UK])$=$.replace(U,(J)=>`[REDACTED:local-path:${M$(J)}]`);return $.replace(K7,(U)=>`[REDACTED:hasna-path:${M$(U)}]`).replace(F7,(U)=>`[REDACTED:private-artifact:${M$(U)}]`)}function C_(_){if(typeof _==="string")return OK(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((U)=>C_(U));let $={};for(let[U,J]of Object.entries(_))$[U]=DK.has(U)?J:C_(J);return $}var LK=20971520,P7=1e4,gK=10;function _X(_,$){return`${_}_${YK("sha256").update($).digest("hex").slice(0,20)}`}function C4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function g_(_){return typeof _==="string"&&_.length>0?_:void 0}function EK(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function BK(_){let $=g_(_.source_ref)??g_(_.source_uri)??g_(_.uri);if($)return $;let U=g_(_.file_id);if(U){let j=g_(_.revision_id)??g_(_.revision),W=`open-files://file/${encodeURIComponent(U)}`;return j?`${W}/revision/${encodeURIComponent(j)}`:W}let J=g_(_.source_id),D=g_(_.path);if(J&&D)return`open-files://source/${encodeURIComponent(J)}/path/${encodeURIComponent(D)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function RK(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function HK(_){let $=g_(_.extracted_text)??g_(_.text)??g_(_.content_text)??g_(_.markdown);if($!==void 0)return $;let U=_.content;return typeof U==="string"?U:null}function AK(_){let $=g_(_.extracted_text_ref)??g_(_.extracted_text_uri)??g_(_.text_ref);if($)return $;let U=C4(_.content);return g_(U?.extracted_text_ref)??g_(U?.extracted_text_uri)??null}function VK(_){let $=g_(_.path);return g_(_.title)??g_(_.name)??($?qK($):null)}function bK(_){return g_(_.hash)??g_(_.checksum)??g_(_.sha256)??null}var k7=new Set(["text","content","content_text","extracted_text","markdown","raw","raw_text","raw_bytes","raw_content","raw_body","raw_file","source_raw","source_raw_bytes","source_bytes","source_content","source_body","file_bytes","file_content","content_bytes","content_base64","document_bytes","document_content","document_base64","binary","binary_content","binary_base64","bytes","body","blob","data","payload"]);function w7(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function sG(_){if(Array.isArray(_))return _.map((J)=>sG(J));let $=C4(_);if(!$)return _;let U={};for(let[J,D]of Object.entries($)){if(k7.has(w7(J)))continue;U[J]=sG(D)}return U}function KK(_,$,U){return g_(_.revision_id)??g_(_.revision)??g_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??g_(_.updated_at)??"current"}function IK(_,$){let U={};for(let[J,D]of Object.entries(_)){if(k7.has(w7(J)))continue;U[J]=C_(sG(D))}return U.source_ref=$.sourceRef,U.source_uri=$.sourceUri,U.status=$.status,U}function FK(_,$,U={}){let J=BK(_);T4(J,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let D=F$(J),j=RK(J,D),W=bK(_),G=g_(_.status)??"active";return{raw:_,sourceRef:J,sourceUri:j,kind:D.kind,title:VK(_),revision:KK(_,D,W),hash:W,extractedTextUri:AK(_),text:HK(_),metadata:IK(_,{sourceRef:J,sourceUri:j,status:G}),acl:_.permissions??_.acl??{},status:G,updatedAt:g_(_.updated_at)??$}}function MK(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let U=JSON.parse($);if(!Array.isArray(U))throw Error("Manifest array parse failed.");return U.map((J)=>{let D=C4(J);if(!D)throw Error("Manifest array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),J=C4(U);if(!J)throw Error("Manifest object parse failed.");if(Array.isArray(J.items))return J.items.map((D)=>{let j=C4(D);if(!j)throw Error("Manifest items entries must be objects.");return j});if("source_ref"in J||"source_uri"in J||"file_id"in J)return[J]}catch(U){let J=$.split(/\r?\n/).filter((D)=>D.trim().length>0);if(J.length<=1)throw U;return J.map((D)=>{let j=C4(JSON.parse(D));if(!j)throw Error("Manifest JSONL entries must be objects.");return j})}return $.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let J=C4(JSON.parse(U));if(!J)throw Error("Manifest JSONL entries must be objects.");return J})}async function PK(_,$,U){let J=new URL(_),D=J.hostname,j=decodeURIComponent(J.pathname.replace(/^\/+/,""));if(!D||!j)throw Error(`Invalid S3 manifest URI: ${_}`);if(U)a6(_,U);let[{S3Client:W,GetObjectCommand:G},{fromIni:X}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),N=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,L=await new W({region:N?.region,credentials:N?.profile?X({profile:N.profile}):void 0,maxAttempts:N?.max_attempts}).send(new G({Bucket:D,Key:j}));if(!L.Body)return"";return await L.Body.transformToString()}async function kK(_,$,U,J=LK){let D=_.startsWith("s3://")?await PK(_,$,U):(()=>{if(!zK(_))throw Error(`Manifest not found: ${_}`);return QK(_,"utf8")})(),j=Buffer.byteLength(D);if(j>J)throw Error(`Manifest input is too large: ${j} bytes exceeds ${J} byte limit.`);return D}function wK(_,$,U){let J=_.replace(/\r\n/g,` -`);if(!J.trim())return[];let D=[],j=0;while(j),\]}]`,uG=String.raw`[^/\\\s"'<>]+`,iN=/file:\/\/[^\s"'<>),\]}]+/gi,fk=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,pN=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,oN=new RegExp(String.raw`/(?:home|Users)/${uG}/(?:workspace|Workspace)/${K0}*`,"g"),Pk=[new RegExp(String.raw`/(?:home|Users)/${uG}(?:/${K0}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${K0}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${K0}+`,"g"),new RegExp(String.raw`(?),\]}]+)\b/gi,aN=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,Ck=new Set(["content_base64"]);function Tk($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Sk($){return $.length>=4&&$!=="/"&&!/^[A-Za-z]:[\\/]?$/.test($)}var lN=null,mG=[];function Zk(){let $=new Set;for(let U of[wk(),kk()]){if(!U)continue;$.add(U);try{$.add(Ik(U))}catch{}}let _=[...$].sort().join("\x00");if(_===lN)return mG;return lN=_,mG=[...$].filter(Sk).sort((U,W)=>W.length-U.length).map((U)=>new RegExp(`${Tk(U)}(?:[/\\\\]${K0}*)?`,"g")),mG}function p_($){return gk("sha256").update($).digest("hex").slice(0,12)}function vk($){return $.length<=80?$:`${$.slice(0,77)}...`}function rN($){return/(?:^|\/)\.hasna(?:\/|$)/i.test($)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test($)||/\bmigration-exports\//i.test($)}function yk($,_,U,W){for(let J of $.matchAll(iN)){let X=J[0];if(!U.allowFileSourceRefs||rN(X))W.push({type:rN(X)?"private_file_uri":"local_file_uri",severity:"high",path:_,preview:vk(X.replace(/^file:\/\/.*/,`[redacted:file-uri:${p_(X)}]`))})}for(let J of $.matchAll(pN))W.push({type:"private_hasna_path",severity:"high",path:_,preview:`[redacted:.hasna:${p_(J[0])}]`});for(let J of $.matchAll(tN))W.push({type:J[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:_,preview:`[redacted:${p_(J[0])}]`});for(let J of $.matchAll(aN))W.push({type:"database_url",severity:"high",path:_,preview:`[redacted:database-url:${p_(J[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let J of $.matchAll(oN))W.push({type:"private_workspace_path",severity:"medium",path:_,preview:`[redacted:workspace:${p_(J[0])}]`})}function hk($,_={},U="$"){let W=[],J=(X,G)=>{if(typeof X==="string"){yk(X,G,_,W);return}if(!X||typeof X!=="object")return;if(Array.isArray(X)){X.forEach((Q,Y)=>J(Q,`${G}[${Y}]`));return}for(let[Q,Y]of Object.entries(X))J(Y,`${G}.${Q}`)};return J($,U),W}function M0($,_={}){let U=hk($,_);if(U.length===0)return;let W=new Map;for(let X of U)W.set(X.type,(W.get(X.type)??0)+1);let J=[...W.entries()].map(([X,G])=>`${X}:${G}`).join(", ");throw Error(`Knowledge private-ref lint failed (${J}). Store open-files/s3 refs or approved runtime secret refs instead of private .hasna, file://, raw DB/export, or cloud.env refs.`)}function xk($){let _=w_($).text.replace(aN,(U)=>`[REDACTED:database-url:${p_(U)}]`).replace(iN,(U)=>`[REDACTED:local-file-uri:${p_(U)}]`).replace(fk,(U)=>`[REDACTED:local-hasna-path:${p_(U)}]`).replace(oN,(U)=>`[REDACTED:private-workspace:${p_(U)}]`);for(let U of[...Zk(),...Pk])_=_.replace(U,(W)=>`[REDACTED:local-path:${p_(W)}]`);return _.replace(pN,(U)=>`[REDACTED:hasna-path:${p_(U)}]`).replace(tN,(U)=>`[REDACTED:private-artifact:${p_(U)}]`)}function o$($){if(typeof $==="string")return xk($);if(!$||typeof $!=="object")return $;if(Array.isArray($))return $.map((U)=>o$(U));let _={};for(let[U,W]of Object.entries($))_[U]=Ck.has(U)?W:o$(W);return _}var ck=20971520,sN=1e4,lk=10;function nG($,_){return`${$}_${mk("sha256").update(_).digest("hex").slice(0,20)}`}function g0($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function k$($){return typeof $==="string"&&$.length>0?$:void 0}function rk($){return typeof $==="number"&&Number.isFinite($)?$:void 0}function ik($){let _=k$($.source_ref)??k$($.source_uri)??k$($.uri);if(_)return _;let U=k$($.file_id);if(U){let X=k$($.revision_id)??k$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=k$($.source_id),J=k$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function pk($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function ok($){let _=k$($.extracted_text)??k$($.text)??k$($.content_text)??k$($.markdown);if(_!==void 0)return _;let U=$.content;return typeof U==="string"?U:null}function tk($){let _=k$($.extracted_text_ref)??k$($.extracted_text_uri)??k$($.text_ref);if(_)return _;let U=g0($.content);return k$(U?.extracted_text_ref)??k$(U?.extracted_text_uri)??null}function ak($){let _=k$($.path);return k$($.title)??k$($.name)??(_?nk(_):null)}function sk($){return k$($.hash)??k$($.checksum)??k$($.sha256)??null}var eN=new Set(["text","content","content_text","extracted_text","markdown","raw","raw_text","raw_bytes","raw_content","raw_body","raw_file","source_raw","source_raw_bytes","source_bytes","source_content","source_body","file_bytes","file_content","content_bytes","content_base64","document_bytes","document_content","document_base64","binary","binary_content","binary_base64","bytes","body","blob","data","payload"]);function $B($){return $.toLowerCase().replace(/[\s-]+/g,"_")}function dG($){if(Array.isArray($))return $.map((W)=>dG(W));let _=g0($);if(!_)return $;let U={};for(let[W,J]of Object.entries(_)){if(eN.has($B(W)))continue;U[W]=dG(J)}return U}function ek($,_,U){return k$($.revision_id)??k$($.revision)??k$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??k$($.updated_at)??"current"}function $f($,_){let U={};for(let[W,J]of Object.entries($)){if(eN.has($B(W)))continue;U[W]=o$(dG(J))}return U.source_ref=_.sourceRef,U.source_uri=_.sourceUri,U.status=_.status,U}function _f($,_,U={}){let W=ik($);M0(W,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let J=i_(W),X=pk(W,J),G=sk($),Q=k$($.status)??"active";return{raw:$,sourceRef:W,sourceUri:X,kind:J.kind,title:ak($),revision:ek($,J,G),hash:G,extractedTextUri:tk($),text:ok($),metadata:$f($,{sourceRef:W,sourceUri:X,status:Q}),acl:$.permissions??$.acl??{},status:Q,updatedAt:k$($.updated_at)??_}}function Uf($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Manifest array parse failed.");return U.map((W)=>{let J=g0(W);if(!J)throw Error("Manifest array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=g0(U);if(!W)throw Error("Manifest object parse failed.");if(Array.isArray(W.items))return W.items.map((J)=>{let X=g0(J);if(!X)throw Error("Manifest items entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=g0(JSON.parse(J));if(!X)throw Error("Manifest JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=g0(JSON.parse(U));if(!W)throw Error("Manifest JSONL entries must be objects.");return W})}async function Jf($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 manifest URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Wf($,_,U,W=ck){let J=$.startsWith("s3://")?await Jf($,_,U):(()=>{if(!uk($))throw Error(`Manifest not found: ${$}`);return dk($,"utf8")})(),X=Buffer.byteLength(J);if(X>W)throw Error(`Manifest input is too large: ${X} bytes exceeds ${W} byte limit.`);return J}function Xf($,_,U){let W=$.replace(/\r\n/g,` +`);if(!W.trim())return[];let J=[],X=0;while(Xj+Math.floor($*0.5))G=L+(L===N?2:1)}let X=J.slice(j,G).trim();if(X)D.push({ordinal:D.length,text:X,startOffset:j,endOffset:G});if(G>=J.length)break;j=Math.max(0,G-U)}return D}function SK(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function fK(_,$){let U=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($);for(let J of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);return _.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]),U.length}function TK(_,$,U){let J=_X("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`,G),O=W.lastIndexOf(". ",G),B=Math.max(j,O);if(B>X+Math.floor(_*0.5))Q=B+(B===j?2:1)}let Y=W.slice(X,Q).trim();if(Y)J.push({ordinal:J.length,text:Y,startOffset:X,endOffset:Q});if(Q>=W.length)break;X=Math.max(0,Q-U)}return J}function Gf($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function Qf($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_);for(let W of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[W.id]);return $.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]),U.length}function Yf($,_,U){let W=nG("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(uri) DO UPDATE SET kind = excluded.kind, title = excluded.title, metadata_json = excluded.metadata_json, acl_json = excluded.acl_json, - updated_at = excluded.updated_at`,[J,$.sourceUri,$.kind,$.title,JSON.stringify($.metadata),JSON.stringify($.acl??{}),U,$.updatedAt]);let D=_.query("SELECT id FROM sources WHERE uri = ?").get($.sourceUri);if(!D)throw Error(`Failed to upsert source: ${$.sourceUri}`);return D.id}function CK(_,$,U,J){let D=_X("rev",`${$}\x00${U.revision}`);_.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) + updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify(_.metadata),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source: ${_.sourceUri}`);return J.id}function jf($,_,U,W){let J=nG("rev",`${_}\x00${U.revision}`);$.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(source_id, revision) DO UPDATE SET hash = excluded.hash, extracted_text_uri = excluded.extracted_text_uri, - metadata_json = excluded.metadata_json`,[D,$,U.revision,U.hash,U.extractedTextUri,JSON.stringify(U.metadata),J]);let j=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,U.revision);if(!j)throw Error(`Failed to upsert source revision: ${U.sourceRef}`);return j.id}function ZK(_,$,U,J,D,j,W){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let G=O$(U.text,W);if(G.findings.length>0)vD(_,{source_uri:U.sourceUri,findings:G.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:J}),v_(_,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:G.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:J});let X=wK(G.text,D,j);for(let N of X){let z=_X("chk",`${$}\x00${N.ordinal}\x00${N.text}`),L=t6({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:$,revision:U.revision,hash:U.hash,chunk_id:z,start_offset:N.startOffset,end_offset:N.endOffset,status:U.status,resolver:"open-files-read-only"}),E=Y7({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:$,revision:U.revision,hash:U.hash,status:U.status,path:g_(U.raw.path)??null,mime:g_(U.raw.mime)??g_(U.raw.content_type)??null,size:EK(U.raw.size)??null},L);_.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[z,$,"source",N.ordinal,N.text,SK(N.text),N.startOffset,N.endOffset,JSON.stringify(E),J]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[z,N.text,U.title??"",U.sourceUri])}return{chunksInserted:X.length,redactions:G.findings.length}}async function S7(_){let $=_.now??new Date;if(_.safetyPolicy)I6(_.dbPath,_.safetyPolicy);o(_.dbPath);let U=await kK(_.input,_.config,_.safetyPolicy,_.maxInputBytes),J=MK(U),D=_.maxItems??P7;if(J.length>D)throw Error(`Manifest contains too many items: ${J.length} exceeds ${D} item limit.`);return Z4({dbPath:_.dbPath,items:J,sourceLabel:_.input,allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:_.safetyPolicy,now:$,maxChunkChars:_.maxChunkChars,chunkOverlapChars:_.chunkOverlapChars,maxItems:_.maxItems})}async function Z4(_){let $=(_.now??new Date).toISOString(),U=_.maxChunkChars??4000,J=_.chunkOverlapChars??200,D=_.maxItems??P7;if(U<500)throw Error("maxChunkChars must be at least 500.");if(J<0||J>=U)throw Error("chunkOverlapChars must be less than maxChunkChars.");if(_.items.length>D)throw Error(`Manifest contains too many items: ${_.items.length} exceeds ${D} item limit.`);if(_.safetyPolicy)I6(_.dbPath,_.safetyPolicy);o(_.dbPath);let j=x(_.dbPath);try{return j.transaction(()=>{let G=new Set,X=new Set,N=0,z=0,L=0,E=0,Q=[];v_(j,{event_type:"source_read",action:_.readAction??(_.sourceLabel.startsWith("s3://")?"s3_manifest_read":"local_manifest_read"),target_uri:_.sourceLabel,decision:"allow",metadata:{items:_.items.length,read_only:!0},created_at:$});for(let q of _.items){let g=FK(q,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(Q.length0)return J}return null}function f7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return null}function vK(_,$){let U=_.mode;if(typeof U==="string"&&U!=="read_only")throw Error(`Source resolver denied ${$}. Permission mode is ${U}, expected read_only.`);let J=_.denied_purposes;if(Array.isArray(J)&&J.includes($))throw Error(`Source resolver denied ${$}. Purpose is explicitly denied.`);let D=_.allowed_purposes;if(Array.isArray(D)&&D.length>0&&!D.includes($))throw Error(`Source resolver denied ${$}. Allowed purposes: ${D.join(", ")}`)}function yK(_,$,U){if(!$)return U;try{let J=F$(_);if(J.kind==="open-files"&&J.entity==="file")return`${_}/revision/${encodeURIComponent($.revision)}`}catch{return U}return U}function hK(_,$,U){return _.query(`SELECT id, uri, kind, title, metadata_json, acl_json, updated_at + metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,U.extractedTextUri,JSON.stringify(U.metadata),W]);let X=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision);if(!X)throw Error(`Failed to upsert source revision: ${U.sourceRef}`);return X.id}function Df($,_,U,W,J,X,G){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let Q=w_(U.text,G);if(Q.findings.length>0)jX($,{source_uri:U.sourceUri,findings:Q.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:W}),a$($,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:Q.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:W});let Y=Xf(Q.text,J,X);for(let j of Y){let O=nG("chk",`${_}\x00${j.ordinal}\x00${j.text}`),B=S4({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,chunk_id:O,start_offset:j.startOffset,end_offset:j.endOffset,status:U.status,resolver:"open-files-read-only"}),V=ZN({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,status:U.status,path:k$(U.raw.path)??null,mime:k$(U.raw.mime)??k$(U.raw.content_type)??null,size:rk(U.raw.size)??null},B);$.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[O,_,"source",j.ordinal,j.text,Gf(j.text),j.startOffset,j.endOffset,JSON.stringify(V),W]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[O,j.text,U.title??"",U.sourceUri])}return{chunksInserted:Y.length,redactions:Q.findings.length}}async function _B($){let _=$.now??new Date;if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await Wf($.input,$.config,$.safetyPolicy,$.maxInputBytes),W=Uf(U),J=$.maxItems??sN;if(W.length>J)throw Error(`Manifest contains too many items: ${W.length} exceeds ${J} item limit.`);return I0({dbPath:$.dbPath,items:W,sourceLabel:$.input,allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:$.safetyPolicy,now:_,maxChunkChars:$.maxChunkChars,chunkOverlapChars:$.chunkOverlapChars,maxItems:$.maxItems})}async function I0($){let _=($.now??new Date).toISOString(),U=$.maxChunkChars??4000,W=$.chunkOverlapChars??200,J=$.maxItems??sN;if(U<500)throw Error("maxChunkChars must be at least 500.");if(W<0||W>=U)throw Error("chunkOverlapChars must be less than maxChunkChars.");if($.items.length>J)throw Error(`Manifest contains too many items: ${$.items.length} exceeds ${J} item limit.`);if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let X=d($.dbPath);try{return X.transaction(()=>{let Q=new Set,Y=new Set,j=0,O=0,B=0,V=0,L=[];a$(X,{event_type:"source_read",action:$.readAction??($.sourceLabel.startsWith("s3://")?"s3_manifest_read":"local_manifest_read"),target_uri:$.sourceLabel,decision:"allow",metadata:{items:$.items.length,read_only:!0},created_at:_});for(let N of $.items){let H=_f(N,_,{allowFileSourceRefs:$.allowFileSourceRefs});if(L.length0)return W}return null}function UB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function zf($,_){let U=$.mode;if(typeof U==="string"&&U!=="read_only")throw Error(`Source resolver denied ${_}. Permission mode is ${U}, expected read_only.`);let W=$.denied_purposes;if(Array.isArray(W)&&W.includes(_))throw Error(`Source resolver denied ${_}. Purpose is explicitly denied.`);let J=$.allowed_purposes;if(Array.isArray(J)&&J.length>0&&!J.includes(_))throw Error(`Source resolver denied ${_}. Allowed purposes: ${J.join(", ")}`)}function qf($,_,U){if(!_)return U;try{let W=i_($);if(W.kind==="open-files"&&W.entity==="file")return`${$}/revision/${encodeURIComponent(_.revision)}`}catch{return U}return U}function Of($,_,U){return $.query(`SELECT id, uri, kind, title, metadata_json, acl_json, updated_at FROM sources WHERE uri = ? OR uri = ? ORDER BY CASE WHEN uri = ? THEN 0 ELSE 1 END - LIMIT 1`).get($,U,$)??null}function xK(_,$,U){if(U)return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get(_,U,_)??null}function Lf($,_,U){if(U)return $.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at FROM source_revisions WHERE source_id = ? AND revision = ? - LIMIT 1`).get($,U)??null;return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get(_,U)??null;return $.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at FROM source_revisions WHERE source_id = ? ORDER BY created_at DESC, revision DESC - LIMIT 1`).get($)??null}function rK(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function uK(_,$,U){if(!$||U<=0)return[];return _.query(`SELECT id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json + LIMIT 1`).get(_)??null}function Nf($,_){if(!_)return 0;return $.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get(_)?.n??0}function Bf($,_,U){if(!_||U<=0)return[];return $.query(`SELECT id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json FROM chunks WHERE source_revision_id = ? ORDER BY ordinal ASC - LIMIT ?`).all($,U)}async function hD(_){let $=_.purpose??"knowledge_answer",U=Math.max(0,Math.min(_.limit??10,100)),J=(_.now??new Date).toISOString(),D=F$(_.sourceRef),j=Q7(_.sourceRef,D),W=q7(_.sourceRef);if(_.safetyPolicy){if(!_.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");I6(_.dbPath,_.safetyPolicy)}o(_.dbPath);let G=x(_.dbPath);try{return G.transaction(()=>{let X=hK(G,j,_.sourceRef);if(!X)return v_(G,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:j},created_at:J}),{source_ref:_.sourceRef,source_uri:j,purpose:$,read_only:!0,resolved:!1,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:null,revision:null,content:{mime:null,size:null,hash:null,text_available:!1,chunks_total:0,chunks_returned:0,char_count_returned:0,extracted_text_ref:null,bytes_available:!1,bytes_exposed:!1},chunks:[],citations:[]};let N=yD(X.metadata_json),z=yD(X.acl_json);try{vK(z,$)}catch(V){throw v_(G,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"deny",metadata:{purpose:$,read_only:!0,source_uri:X.uri,error:V instanceof Error?V.message:String(V)},created_at:J}),V}let L=xK(G,X.id,W),E=yD(L?.metadata_json),Q=rK(G,L?.id??null),q=uK(G,L?.id??null,U),g=yK(X.uri,L,_.sourceRef),B=q.map((V)=>{let I=yD(V.metadata_json),T={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:v4(I,["source_ref"])??g,source_uri:X.uri,source_revision_id:L?.id??null,revision:L?.revision??null,hash:L?.hash??v4(I,["hash"]),chunk_id:V.id,start_offset:V.start_offset,end_offset:V.end_offset,resolved_at:J},P=t6({source_ref:T.source_ref,source_uri:T.source_uri,source_kind:X.kind,source_revision_id:T.source_revision_id,revision:T.revision,hash:T.hash,chunk_id:V.id,start_offset:V.start_offset,end_offset:V.end_offset,status:v4(I,["status"]),resolver:T.resolver});return{id:V.id,kind:V.kind,ordinal:V.ordinal,text:V.text,token_count:V.token_count,start_offset:V.start_offset,end_offset:V.end_offset,metadata:I,evidence:T,provenance:P}}),H=B.map((V)=>({source_ref:V.evidence.source_ref,source_uri:X.uri,chunk_id:V.id,quote:V.text.slice(0,500),start_offset:V.start_offset,end_offset:V.end_offset,evidence:V.evidence,provenance:V.provenance}));v_(G,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:X.uri,revision:L?.revision??null,chunks_returned:B.length,chunks_total:Q},created_at:J});let R=v4(N,["mime","content_type"])??v4(E,["mime","content_type"]),K=f7(N,["size","size_bytes"])??f7(E,["size","size_bytes"]);return{source_ref:g,source_uri:X.uri,purpose:$,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:X.id,uri:X.uri,kind:X.kind,title:X.title,metadata:N,permissions:z,updated_at:X.updated_at},revision:L?{id:L.id,revision:L.revision,hash:L.hash,extracted_text_uri:L.extracted_text_uri,metadata:E,created_at:L.created_at,reindex_required:E.reindex_required===!0}:null,content:{mime:R,size:K,hash:L?.hash??v4(N,["hash","checksum","sha256"]),text_available:Q>0,chunks_total:Q,chunks_returned:B.length,char_count_returned:B.reduce((V,I)=>V+I.text.length,0),extracted_text_ref:L?.extracted_text_uri??v4(E,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:B,citations:H}})()}finally{G.close()}}function J1(_){return`sha256:${nK("sha256").update(_).digest("hex")}`}function cK(_){return _.replace(//gi," ").replace(//gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` + LIMIT ?`).all(_,U)}async function zX($){let _=$.purpose??"knowledge_answer",U=Math.max(0,Math.min($.limit??10,100)),W=($.now??new Date).toISOString(),J=i_($.sourceRef),X=yN($.sourceRef,J),G=hN($.sourceRef);if($.safetyPolicy){if(!$.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");X4($.dbPath,$.safetyPolicy)}$$($.dbPath);let Q=d($.dbPath);try{return Q.transaction(()=>{let Y=Of(Q,X,$.sourceRef);if(!Y)return a$(Q,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:X},created_at:W}),{source_ref:$.sourceRef,source_uri:X,purpose:_,read_only:!0,resolved:!1,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:null,revision:null,content:{mime:null,size:null,hash:null,text_available:!1,chunks_total:0,chunks_returned:0,char_count_returned:0,extracted_text_ref:null,bytes_available:!1,bytes_exposed:!1},chunks:[],citations:[]};let j=DX(Y.metadata_json),O=DX(Y.acl_json);try{zf(O,_)}catch(E){throw a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"deny",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,error:E instanceof Error?E.message:String(E)},created_at:W}),E}let B=Lf(Q,Y.id,G),V=DX(B?.metadata_json),L=Nf(Q,B?.id??null),N=Bf(Q,B?.id??null,U),H=qf(Y.uri,B,$.sourceRef),R=N.map((E)=>{let g=DX(E.metadata_json),Z={resolver:"open-files-read-only",mode:"local_catalog",purpose:_,read_only:!0,source_ref:w0(g,["source_ref"])??H,source_uri:Y.uri,source_revision_id:B?.id??null,revision:B?.revision??null,hash:B?.hash??w0(g,["hash"]),chunk_id:E.id,start_offset:E.start_offset,end_offset:E.end_offset,resolved_at:W},k=S4({source_ref:Z.source_ref,source_uri:Z.source_uri,source_kind:Y.kind,source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,chunk_id:E.id,start_offset:E.start_offset,end_offset:E.end_offset,status:w0(g,["status"]),resolver:Z.resolver});return{id:E.id,kind:E.kind,ordinal:E.ordinal,text:E.text,token_count:E.token_count,start_offset:E.start_offset,end_offset:E.end_offset,metadata:g,evidence:Z,provenance:k}}),b=R.map((E)=>({source_ref:E.evidence.source_ref,source_uri:Y.uri,chunk_id:E.id,quote:E.text.slice(0,500),start_offset:E.start_offset,end_offset:E.end_offset,evidence:E.evidence,provenance:E.provenance}));a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,revision:B?.revision??null,chunks_returned:R.length,chunks_total:L},created_at:W});let A=w0(j,["mime","content_type"])??w0(V,["mime","content_type"]),M=UB(j,["size","size_bytes"])??UB(V,["size","size_bytes"]);return{source_ref:H,source_uri:Y.uri,purpose:_,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:Y.id,uri:Y.uri,kind:Y.kind,title:Y.title,metadata:j,permissions:O,updated_at:Y.updated_at},revision:B?{id:B.id,revision:B.revision,hash:B.hash,extracted_text_uri:B.extracted_text_uri,metadata:V,created_at:B.created_at,reindex_required:V.reindex_required===!0}:null,content:{mime:A,size:M,hash:B?.hash??w0(j,["hash","checksum","sha256"]),text_available:L>0,chunks_total:L,chunks_returned:R.length,char_count_returned:R.reduce((E,g)=>E+g.text.length,0),extracted_text_ref:B?.extracted_text_uri??w0(V,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:R,citations:b}})()}finally{Q.close()}}function N2($){return`sha256:${Hf("sha256").update($).digest("hex")}`}function Af($){return $.replace(//gi," ").replace(//gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` `).replace(/\n\s+/g,` -`).replace(/[ \t]{2,}/g," ").trim()}async function iK(_,$,U){let J=new URL(_),D=J.hostname,j=decodeURIComponent(J.pathname.replace(/^\/+/,""));if(!D||!j)throw Error(`Invalid S3 source URI: ${_}`);if(U)a6(_,U);let[{S3Client:W,GetObjectCommand:G},{fromIni:X}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),N=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,L=await new W({region:N?.region,credentials:N?.profile?X({profile:N.profile}):void 0,maxAttempts:N?.max_attempts}).send(new G({Bucket:D,Key:j}));if(!L.Body)return"";return await L.Body.transformToString()}async function lK(_,$){if($)D1($);let U=await fetch(_,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!U.ok)throw Error(`Web source read failed ${U.status}: ${_}`);let J=U.headers.get("content-type"),D=await U.text();return{text:J?.includes("html")?cK(D):D,mime:J}}function rD(_){if(_.kind==="file")return xD(_.path);if(_.kind==="s3")return xD(_.key);if(_.kind==="web")return xD(new URL(_.url).pathname)||_.url;return _.path?xD(_.path):_.id}async function T7(_,$,U){if(_.kind==="file"){if(!mK(_.path))throw Error(`Source file not found: ${_.path}`);let J=dK(_.path,"utf8");return{text:J,contentSource:"file",title:rD(_),mime:"text/plain",size:J.length,hash:J1(J),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let J=await iK(_.uri,$,U);return{text:J,contentSource:"s3",title:rD(_),mime:"text/plain",size:J.length,hash:J1(J),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let J=await lK(_.url,U);return{text:J.text,contentSource:"web",title:rD(_),mime:J.mime,size:J.text.length,hash:J1(J.text),revision:null,extractedTextRef:null,metadata:{url:_.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${_.uri}`)}async function oK(_,$,U){if(_.startsWith("open-files://"))throw Error("Open-files extracted text refs require an open-files resolver API. Ingest an open-files manifest with extracted_text or an extracted_text_ref using file://, s3://, or https://.");let J=F$(_);return{text:(await T7(J,$,U)).text,contentSource:"extracted_text_ref"}}async function pK(_){let $=await hD({dbPath:_.dbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",limit:100,safetyPolicy:_.safetyPolicy,now:_.now});if(!$.resolved)throw Error("Open-files source is not in the local knowledge catalog. Ingest an open-files manifest first or use the open-files resolver API.");if($.revision?.extracted_text_uri&&!$.content.text_available){let J=await oK($.revision.extracted_text_uri,_.config,_.safetyPolicy);return{text:J.text,contentSource:J.contentSource,title:$.source?.title??null,mime:$.content.mime,size:J.text.length,hash:$.revision.hash??J1(J.text),revision:$.revision.revision,extractedTextRef:$.revision.extracted_text_uri,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}if($.chunks.length===0)throw Error("Open-files source has no extracted text chunks yet. Ingest an open-files manifest with extracted_text or extracted_text_ref first.");let U=$.chunks.map((J)=>J.text).join(` +`).replace(/[ \t]{2,}/g," ").trim()}async function bf($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 source URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Ff($,_){if(_)L2(_);let U=await fetch($,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!U.ok)throw Error(`Web source read failed ${U.status}: ${$}`);let W=U.headers.get("content-type"),J=await U.text();return{text:W?.includes("html")?Af(J):J,mime:W}}function OX($){if($.kind==="file")return qX($.path);if($.kind==="s3")return qX($.key);if($.kind==="web")return qX(new URL($.url).pathname)||$.url;return $.path?qX($.path):$.id}async function JB($,_,U){if($.kind==="file"){if(!Vf($.path))throw Error(`Source file not found: ${$.path}`);let W=Rf($.path,"utf8");return{text:W,contentSource:"file",title:OX($),mime:"text/plain",size:W.length,hash:N2(W),revision:null,extractedTextRef:null,metadata:{path:$.path},permissions:{mode:"read_only"}}}if($.kind==="s3"){let W=await bf($.uri,_,U);return{text:W,contentSource:"s3",title:OX($),mime:"text/plain",size:W.length,hash:N2(W),revision:null,extractedTextRef:null,metadata:{bucket:$.bucket,key:$.key},permissions:{mode:"read_only"}}}if($.kind==="web"){let W=await Ff($.url,U);return{text:W.text,contentSource:"web",title:OX($),mime:W.mime,size:W.text.length,hash:N2(W.text),revision:null,extractedTextRef:null,metadata:{url:$.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${$.uri}`)}async function Ef($,_,U){if($.startsWith("open-files://"))throw Error("Open-files extracted text refs require an open-files resolver API. Ingest an open-files manifest with extracted_text or an extracted_text_ref using file://, s3://, or https://.");let W=i_($);return{text:(await JB(W,_,U)).text,contentSource:"extracted_text_ref"}}async function Kf($){let _=await zX({dbPath:$.dbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",limit:100,safetyPolicy:$.safetyPolicy,now:$.now});if(!_.resolved)throw Error("Open-files source is not in the local knowledge catalog. Ingest an open-files manifest first or use the open-files resolver API.");if(_.revision?.extracted_text_uri&&!_.content.text_available){let W=await Ef(_.revision.extracted_text_uri,$.config,$.safetyPolicy);return{text:W.text,contentSource:W.contentSource,title:_.source?.title??null,mime:_.content.mime,size:W.text.length,hash:_.revision.hash??N2(W.text),revision:_.revision.revision,extractedTextRef:_.revision.extracted_text_uri,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}if(_.chunks.length===0)throw Error("Open-files source has no extracted text chunks yet. Ingest an open-files manifest with extracted_text or extracted_text_ref first.");let U=_.chunks.map((W)=>W.text).join(` -`);return{text:U,contentSource:"catalog_chunks",title:$.source?.title??null,mime:$.content.mime,size:U.length,hash:$.revision?.hash??J1(U),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function tK(_,$,U,J){let D=U.hash??J1(U.text),j={...C_(U.metadata),source_ref:_,content_source:U.contentSource,read_only:!0},W={source_ref:_,name:U.title??rD($),mime:U.mime??"text/plain",size:U.size??U.text.length,hash:D,revision:U.revision??D,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[J],...U.permissions},metadata:j,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if($.kind==="open-files"){if($.entity==="file")W.file_id=$.id;if($.entity==="source")W.source_id=$.id,W.path=$.path}if($.kind==="file")W.path=$.path;if($.kind==="s3")W.path=$.key;if($.kind==="web")W.url=$.url;return W}async function uD(_){let $=_.purpose??"knowledge_index";T4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let U=F$(_.sourceRef),J=U.kind==="open-files"?await pK(_):await T7(U,_.config,_.safetyPolicy),D=tK(_.sourceRef,U,J,$);return{...await Z4({dbPath:_.dbPath,items:[D],sourceLabel:_.sourceRef,readAction:"source_ref_ingest_read",allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1,safetyPolicy:_.safetyPolicy,now:_.now}),source_ref:_.sourceRef,content_source:J.contentSource,read_only:!0,hash:String(D.hash)}}function nD(_,$){return`${_}_${aK("sha256").update($).digest("hex").slice(0,20)}`}function sK(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function $X(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function _I(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function C7(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function $I(_){let $=_.path?.trim()||`wiki/notes/${sK(_.title)}.md`,U=$.replace(/\\/g,"/");if(!U.startsWith("wiki/notes/")||!U.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(U.startsWith("/")||U.split("/").some((J)=>J===".."||J==="."))throw Error(`Invalid app wiki note path: ${$}`);return U}function UI(_){let $=[`# ${_.title}`,"",_.content.trim(),"",`Updated: ${_.now}`];if(_.tags.length>0)$.push("","Tags:",..._.tags.map((U)=>`- ${U}`));if(_.sourceRefs.length>0)$.push("","Source refs:",..._.sourceRefs.map((U)=>`- ${U}`));return $.push(""),$.join(` -`)}async function Z7(_,$){let U=await _.put($);return{key:U.key,uri:U.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:U.modified_at,...U1($.body),metadata:{...$.metadata??{}}}}async function DI(_,$,U){let J=String(U.getUTCFullYear()),D=String(U.getUTCMonth()+1).padStart(2,"0"),j=String(U.getUTCDate()).padStart(2,"0"),W=`logs/${J}/${D}/${j}.jsonl`,G="";try{G=await _.getText(W)}catch{G=""}return Z7(_,{key:W,body:`${G}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:h$({generated_from:String($.event??"app_wiki_log"),artifact_key:W})}})}function JI(_){return{...C_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function UX(_){let $=$X(_.metadata_json);return{id:_.id,path:_.path,title:_.title,artifact_uri:_.artifact_uri,content_hash:_.content_hash,tags:Array.isArray($.tags)?$.tags.filter((U)=>typeof U==="string"):[],source_refs:Array.isArray($.source_refs)?$.source_refs.filter((U)=>typeof U==="string"):[],created_at:_.created_at,updated_at:_.updated_at}}function jI(_,$){return $.map((U)=>{let J=_.query(`SELECT +`);return{text:U,contentSource:"catalog_chunks",title:_.source?.title??null,mime:_.content.mime,size:U.length,hash:_.revision?.hash??N2(U),revision:_.revision?.revision??null,extractedTextRef:_.revision?.extracted_text_uri??null,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}function Mf($,_,U,W){let J=U.hash??N2(U.text),X={...o$(U.metadata),source_ref:$,content_source:U.contentSource,read_only:!0},G={source_ref:$,name:U.title??OX(_),mime:U.mime??"text/plain",size:U.size??U.text.length,hash:J,revision:U.revision??J,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[W],...U.permissions},metadata:X,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if(_.kind==="open-files"){if(_.entity==="file")G.file_id=_.id;if(_.entity==="source")G.source_id=_.id,G.path=_.path}if(_.kind==="file")G.path=_.path;if(_.kind==="s3")G.path=_.key;if(_.kind==="web")G.url=_.url;return G}async function LX($){let _=$.purpose??"knowledge_index";M0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1});let U=i_($.sourceRef),W=U.kind==="open-files"?await Kf($):await JB(U,$.config,$.safetyPolicy),J=Mf($.sourceRef,U,W,_);return{...await I0({dbPath:$.dbPath,items:[J],sourceLabel:$.sourceRef,readAction:"source_ref_ingest_read",allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1,safetyPolicy:$.safetyPolicy,now:$.now}),source_ref:$.sourceRef,content_source:W.contentSource,read_only:!0,hash:String(J.hash)}}function NX($,_){return`${$}_${gf("sha256").update(_).digest("hex").slice(0,20)}`}function wf($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function cG($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function kf($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function WB($){return Array.from(new Set(($??[]).map((_)=>_.trim()).filter(Boolean)))}function ff($){let _=$.path?.trim()||`wiki/notes/${wf($.title)}.md`,U=_.replace(/\\/g,"/");if(!U.startsWith("wiki/notes/")||!U.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(U.startsWith("/")||U.split("/").some((W)=>W===".."||W==="."))throw Error(`Invalid app wiki note path: ${_}`);return U}function Pf($){let _=[`# ${$.title}`,"",$.content.trim(),"",`Updated: ${$.now}`];if($.tags.length>0)_.push("","Tags:",...$.tags.map((U)=>`- ${U}`));if($.sourceRefs.length>0)_.push("","Source refs:",...$.sourceRefs.map((U)=>`- ${U}`));return _.push(""),_.join(` +`)}async function XB($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...O2(_.body),metadata:{..._.metadata??{}}}}async function Cf($,_,U){let W=String(U.getUTCFullYear()),J=String(U.getUTCMonth()+1).padStart(2,"0"),X=String(U.getUTCDate()).padStart(2,"0"),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return XB($,{key:G,body:`${Q}${JSON.stringify(_)} +`,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"app_wiki_log"),artifact_key:G})}})}function Tf($){return{...o$($.metadata??{}),app_wiki:!0,note:!0,artifact_key:$.path,tags:$.tags,source_refs:$.sourceRefs,provenance:$.provenance}}function lG($){let _=cG($.metadata_json);return{id:$.id,path:$.path,title:$.title,artifact_uri:$.artifact_uri,content_hash:$.content_hash,tags:Array.isArray(_.tags)?_.tags.filter((U)=>typeof U==="string"):[],source_refs:Array.isArray(_.source_refs)?_.source_refs.filter((U)=>typeof U==="string"):[],created_at:$.created_at,updated_at:$.updated_at}}function Sf($,_){return _.map((U)=>{let W=$.query(`SELECT s.uri AS source_uri, c.id AS chunk_id, c.text, @@ -581,13 +581,13 @@ COMMIT; LEFT JOIN chunks c ON c.source_revision_id = sr.id WHERE s.uri = ? OR s.metadata_json LIKE ? ORDER BY sr.created_at DESC, c.ordinal ASC - LIMIT 1`).get(U,`%${U}%`),D=$X(J?.metadata_json);return{source_ref:U,source_uri:J?.source_uri??U,chunk_id:J?.chunk_id??null,quote:J?.text?J.text.replace(/\s+/g," ").slice(0,240):null,start_offset:J?.start_offset??null,end_offset:J?.end_offset??null,metadata:{source_ref:U,revision:J?.revision??D.revision,hash:J?.hash??D.hash}}})}function WI(_,$,U,J){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let D=jI(_,U);for(let j of D)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[nD("cit",`${$}\x00${j.source_uri}\x00${j.chunk_id??eK()}`),$,j.chunk_id,j.source_uri,j.quote,j.start_offset,j.end_offset,JSON.stringify(j.metadata),J]);return D.length}function GI(_,$){_.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + LIMIT 1`).get(U,`%${U}%`),J=cG(W?.metadata_json);return{source_ref:U,source_uri:W?.source_uri??U,chunk_id:W?.chunk_id??null,quote:W?.text?W.text.replace(/\s+/g," ").slice(0,240):null,start_offset:W?.start_offset??null,end_offset:W?.end_offset??null,metadata:{source_ref:U,revision:W?.revision??J.revision,hash:W?.hash??J.hash}}})}function Zf($,_,U,W){$.run("DELETE FROM citations WHERE wiki_page_id = ?",[_]);let J=Sf($,U);for(let X of J)$.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[NX("cit",`${_}\x00${X.source_uri}\x00${X.chunk_id??If()}`),_,X.chunk_id,X.source_uri,X.quote,X.start_offset,X.end_offset,JSON.stringify(X.metadata),W]);return J.length}function vf($,_){$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[nD("idx",`app-wiki-note\x00${$.path}`),"app_wiki_note",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash,tags:$.tags,source_refs:$.sourceRefs}),$.now,$.now])}function XI(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[NX("idx",`app-wiki-note\x00${_.path}`),"app_wiki_note",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash,tags:_.tags,source_refs:_.sourceRefs}),_.now,_.now])}function yf($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -595,22 +595,22 @@ COMMIT; content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify($.metadata),$.now,$.now]);let U=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let J=nD("chk",`${$.pageId}\x00${$.contentHash}`);_.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,$.pageId,"wiki",0,$.body,_I($.body),0,$.body.length,JSON.stringify({...$.metadata,artifact_uri:$.artifactUri,content_hash:$.contentHash}),$.now]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[J,$.body,$.title,$.artifactUri])}function kU(_){if(_.scope==="global"&&_.allowGlobal!==!0)throw Error("Global app-wiki writes require allowGlobal=true or CLI --allow-global.");if(_.workspace.home.includes("/.husna/")||_.workspace.home.endsWith("/.husna"))throw Error(`Refusing app-wiki writes to legacy .husna path: ${_.workspace.home}`);if(_.workspace.home.includes("/.hasna/apps/knowledge"))throw Error(`Refusing app-wiki writes to legacy .hasna/apps/knowledge path: ${_.workspace.home}`);if(_.safetyPolicy)I6(_.workspace.knowledgeDbPath,_.safetyPolicy)}async function v7(_){kU(_);let $=o(_.workspace.knowledgeDbPath),U=x(_.workspace.knowledgeDbPath);try{v_(U,{event_type:"write",action:"app_wiki_init",target_uri:_.workspace.home,decision:"allow",metadata:{scope:_.scope,store_type:_.store.type,app_path:".hasna/knowledge"},created_at:(_.now??new Date).toISOString()})}finally{U.close()}return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,knowledge_db_path:_.workspace.knowledgeDbPath,schema_version:$.schema_version,store_type:_.store.type,global_write_allowed:_.scope==="global"&&_.allowGlobal===!0,message:`Initialized app wiki scope at ${_.workspace.home}`}}async function y7(_){kU(_);let $=_.now??new Date,U=$.toISOString(),J=C7(_.tags),D=C7(_.sourceRefs);for(let L of D)T4(L,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let j=$I(_),W=UI({title:_.title,content:_.content,tags:J,sourceRefs:D,now:U}),G=h$({generated_from:"app_wiki_note",artifact_key:j,source_refs:D}),X=await Z7(_.store,{key:j,body:W,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:G,scope:_.scope,tags:J.join(","),source_refs:D.join(",")}}),N=await DI(_.store,{ts:U,event:"app_wiki_note_written",page_key:j,source_refs:D,tags:J},$);o(_.workspace.knowledgeDbPath);let z=x(_.workspace.knowledgeDbPath);try{let L=nD("wiki",j),E=JI({path:j,tags:J,sourceRefs:D,provenance:G,metadata:_.metadata});K6(z,[X,N],$),XI(z,{pageId:L,path:j,title:_.title,artifactUri:X.uri,contentHash:X.hash??"",body:W,metadata:E,now:U});let Q=WI(z,L,D,U);GI(z,{title:_.title,path:j,artifactUri:X.uri,contentHash:X.hash??"",tags:J,sourceRefs:D,now:U}),v_(z,{event_type:"write",action:"app_wiki_note_write",target_uri:X.uri,decision:"allow",metadata:{scope:_.scope,path:j,source_refs:D,tags:J},created_at:U});let q=z.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(L);if(!q)throw Error(`Failed to write app wiki note: ${j}`);return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,note:UX(q),artifact_uri:X.uri,content_hash:X.hash??"",citations_written:Q,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${j}`}}finally{z.close()}}function h7(_){let $=Math.max(1,Math.min(_.limit??50,200));if(!_.dbPath)return[];o(_.dbPath);let U=x(_.dbPath);try{return U.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + updated_at = excluded.updated_at`,[_.pageId,_.path,_.title,_.artifactUri,_.contentHash,"active",JSON.stringify(_.metadata),_.now,_.now]);let U=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_.pageId);for(let J of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_.pageId]);let W=NX("chk",`${_.pageId}\x00${_.contentHash}`);$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.pageId,"wiki",0,_.body,kf(_.body),0,_.body.length,JSON.stringify({..._.metadata,artifact_uri:_.artifactUri,content_hash:_.contentHash}),_.now]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[W,_.body,_.title,_.artifactUri])}function oU($){if($.scope==="global"&&$.allowGlobal!==!0)throw Error("Global app-wiki writes require allowGlobal=true or CLI --allow-global.");if($.workspace.home.includes("/.husna/")||$.workspace.home.endsWith("/.husna"))throw Error(`Refusing app-wiki writes to legacy .husna path: ${$.workspace.home}`);if($.workspace.home.includes("/.hasna/apps/knowledge"))throw Error(`Refusing app-wiki writes to legacy .hasna/apps/knowledge path: ${$.workspace.home}`);if($.safetyPolicy)X4($.workspace.knowledgeDbPath,$.safetyPolicy)}async function GB($){oU($);let _=$$($.workspace.knowledgeDbPath),U=d($.workspace.knowledgeDbPath);try{a$(U,{event_type:"write",action:"app_wiki_init",target_uri:$.workspace.home,decision:"allow",metadata:{scope:$.scope,store_type:$.store.type,app_path:".hasna/knowledge"},created_at:($.now??new Date).toISOString()})}finally{U.close()}return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,knowledge_db_path:$.workspace.knowledgeDbPath,schema_version:_.schema_version,store_type:$.store.type,global_write_allowed:$.scope==="global"&&$.allowGlobal===!0,message:`Initialized app wiki scope at ${$.workspace.home}`}}async function QB($){oU($);let _=$.now??new Date,U=_.toISOString(),W=WB($.tags),J=WB($.sourceRefs);for(let B of J)M0(B,{allowFileSourceRefs:$.safetyPolicy?.readOnlySourceAccess===!0});let X=ff($),G=Pf({title:$.title,content:$.content,tags:W,sourceRefs:J,now:U}),Q=D6({generated_from:"app_wiki_note",artifact_key:X,source_refs:J}),Y=await XB($.store,{key:X,body:G,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:Q,scope:$.scope,tags:W.join(","),source_refs:J.join(",")}}),j=await Cf($.store,{ts:U,event:"app_wiki_note_written",page_key:X,source_refs:J,tags:W},_);$$($.workspace.knowledgeDbPath);let O=d($.workspace.knowledgeDbPath);try{let B=NX("wiki",X),V=Tf({path:X,tags:W,sourceRefs:J,provenance:Q,metadata:$.metadata});W4(O,[Y,j],_),yf(O,{pageId:B,path:X,title:$.title,artifactUri:Y.uri,contentHash:Y.hash??"",body:G,metadata:V,now:U});let L=Zf(O,B,J,U);vf(O,{title:$.title,path:X,artifactUri:Y.uri,contentHash:Y.hash??"",tags:W,sourceRefs:J,now:U}),a$(O,{event_type:"write",action:"app_wiki_note_write",target_uri:Y.uri,decision:"allow",metadata:{scope:$.scope,path:X,source_refs:J,tags:W},created_at:U});let N=O.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(B);if(!N)throw Error(`Failed to write app wiki note: ${X}`);return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,note:lG(N),artifact_uri:Y.uri,content_hash:Y.hash??"",citations_written:L,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${X}`}}finally{O.close()}}function YB($){let _=Math.max(1,Math.min($.limit??50,200));if(!$.dbPath)return[];$$($.dbPath);let U=d($.dbPath);try{return U.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE status = 'active' AND path LIKE 'wiki/notes/%' AND metadata_json LIKE '%"app_wiki":true%' ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all($).map(UX)}finally{U.close()}}async function x7(_){o(_.dbPath);let $=x(_.dbPath);try{let U=$.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + LIMIT ?`).all(_).map(lG)}finally{U.close()}}async function jB($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE (id = ? OR path = ?) AND path LIKE 'wiki/notes/%' - AND metadata_json LIKE '%"app_wiki":true%'`).get(_.id,_.id);if(!U)return null;let J=$.query(`SELECT id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at + AND metadata_json LIKE '%"app_wiki":true%'`).get($.id,$.id);if(!U)return null;let W=_.query(`SELECT id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at FROM citations WHERE wiki_page_id = ? - ORDER BY created_at ASC`).all(U.id).map((j)=>({...j,metadata:$X(j.metadata_json),metadata_json:void 0})),D=null;if(_.includeContent!==!1)try{D=await _.store.getText(U.path)}catch{D=null}return{ok:!0,note:UX(U),citations:J,content:D}}finally{$.close()}}async function r7(_){return kU(_),T4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),uD({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as YX}from"crypto";import{randomUUID as NI}from"crypto";var DX={openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},OI={openai:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!0,reasoning:!0,embeddings:!0},anthropic:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!1,reasoning:!0,embeddings:!1},deepseek:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!1,native_web_search:!1,reasoning:!0,embeddings:!1}},YI={default:"openai:gpt-5.2",fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"};function n7(_){return _?.providers??{}}function F6(_,$){let U=n7(_)[$]??{};return{...DX[$],...U}}function m7(_){let $=n7(_);return{...YI,...$.default_model?{default:$.default_model}:{},...$.aliases??{}}}function l_(_){let[$,...U]=_.split(":"),J=U.join(":");if($!=="openai"&&$!=="anthropic"&&$!=="deepseek")throw Error(`Unsupported AI provider: ${$}`);if(!J)throw Error(`Invalid model ref: ${_}. Expected provider:model.`);return{provider:$,model:J}}function x$(_,$){return m7($)[_]??_}function JX(_){let $=m7(_);return Object.entries($).map(([U,J])=>{let D=l_(J);return{alias:U,model_ref:J,provider:D.provider,model:D.model,default:U==="default",capabilities:OI[D.provider]}})}function d7(_,$=process.env){return Object.keys(DX).map((U)=>{let J=F6(_,U),D=Boolean($[J.api_key_env]);return{provider:U,api_key_env:J.api_key_env,configured:D,source:D?"env":"missing",base_url:J.base_url??null,default_model:J.default_model}})}function c7(_,$=process.env){return{default_model:x$("default",_),providers:d7(_,$),models:JX(_)}}function y4(_,$,U=process.env){let J=d7($,U).find((D)=>D.provider===_);if(!J)throw Error(`Unsupported AI provider: ${_}`);if(!J.configured)throw Error(`Missing ${J.api_key_env} for ${_}. Set the env var to use this provider.`);return J}async function zI(_){if(_==="openai"){let{createOpenAI:U}=await import("@ai-sdk/openai");return U}if(_==="anthropic"){let{createAnthropic:U}=await import("@ai-sdk/anthropic");return U}let{createDeepSeek:$}=await import("@ai-sdk/deepseek");return $}async function QI(_={}){let{createProviderRegistry:$}=await import("ai"),U=_.env??process.env,J={};for(let D of Object.keys(DX)){let j=F6(_.config,D),W=U[j.api_key_env];if(!W)continue;let G=_.factories?.[D]??await zI(D);J[D]=G({apiKey:W,baseURL:j.base_url})}return $(J)}async function wU(_,$={}){let U=x$(_,$.config),J=l_(U);return y4(J.provider,$.config,$.env),(await QI($)).languageModel(U)}function u7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return 0}function h4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:u7($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:u7($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function j1(_,$){let U=`usage_${NI()}`;return _.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,$.run_id??null,$.provider,$.model,$.input_tokens,$.output_tokens,$.cost_usd,JSON.stringify($.metadata),$.created_at??new Date().toISOString()]),U}import{createHash as hI}from"crypto";import{existsSync as AI,readFileSync as VI}from"fs";import{createHash as o7}from"crypto";var qI="openai:text-embedding-3-small",p7=1536;function mD(_){return _?.embeddings??{}}function i7(_,$){return`${_}_${o7("sha256").update($).digest("hex").slice(0,20)}`}function WX(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function r$(_,$){for(let U of $){let J=_[U];if(typeof J==="string"&&J.length>0)return J}return null}function l7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return null}function jX(_){return Math.sqrt(_.reduce(($,U)=>$+U*U,0))}function LI(_,$,U=jX($)){let J=jX(_);if(J===0||U===0)return 0;let D=Math.min(_.length,$.length),j=0;for(let W=0;W{let j=U[D%U.length]/255;return Number((j*2-1).toFixed(6))})}async function EI(_,$,U=process.env){y4("openai",$,U);let J=F6($,"openai"),{createOpenAI:D}=await import("@ai-sdk/openai"),j=D({apiKey:U[J.api_key_env],baseURL:J.base_url});if(j.embeddingModel)return j.embeddingModel(_);if(j.textEmbedding)return j.textEmbedding(_);if(j.textEmbeddingModel)return j.textEmbeddingModel(_);throw Error("OpenAI provider does not expose an embedding model factory.")}function x4(_,$){if(!_||_==="default"||_==="embedding")return mD($).default_model??qI;return _}async function t7(_,$={}){let U=x4($.modelRef,$.config),J=l_(U);if(J.provider!=="openai")throw Error(`Embedding provider ${J.provider} is not supported yet. Use openai:text-embedding-3-small.`);let D=$.dimensions??mD($.config).dimensions??p7;if($.fake)return{provider:J.provider,model:J.model,dimensions:D,vectors:_.map((N)=>gI(N,D)),usage:{input_tokens:_.reduce((N,z)=>N+Math.max(1,Math.ceil(z.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:j}=await import("ai"),W=await EI(J.model,$.config,$.env),G=await j({model:W,values:_,maxParallelCalls:$.maxParallelCalls??mD($.config).max_parallel_calls,providerOptions:{openai:{dimensions:D}}}),X=G.embeddings;return{provider:J.provider,model:J.model,dimensions:X[0]?.length??D,vectors:X,usage:{input_tokens:G.usage?.tokens??0}}}function BI(_,$){if($.sourceRevisionId)return _.query(`SELECT + ORDER BY created_at ASC`).all(U.id).map((X)=>({...X,metadata:cG(X.metadata_json),metadata_json:void 0})),J=null;if($.includeContent!==!1)try{J=await $.store.getText(U.path)}catch{J=null}return{ok:!0,note:lG(U),citations:W,content:J}}finally{_.close()}}async function DB($){return oU($),M0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1}),LX({dbPath:$.workspace.knowledgeDbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",config:$.config,safetyPolicy:$.safetyPolicy})}import{randomUUID as $Q}from"crypto";import{randomUUID as hf}from"crypto";var rG={openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},xf={openai:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!0,reasoning:!0,embeddings:!0},anthropic:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!1,reasoning:!0,embeddings:!1},deepseek:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!1,native_web_search:!1,reasoning:!0,embeddings:!1}},mf={default:"openai:gpt-5.2",fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"};function qB($){return $?.providers??{}}function G4($,_){let U=qB($)[_]??{};return{...rG[_],...U}}function OB($){let _=qB($);return{...mf,..._.default_model?{default:_.default_model}:{},..._.aliases??{}}}function j_($){let[_,...U]=$.split(":"),W=U.join(":");if(_!=="openai"&&_!=="anthropic"&&_!=="deepseek")throw Error(`Unsupported AI provider: ${_}`);if(!W)throw Error(`Invalid model ref: ${$}. Expected provider:model.`);return{provider:_,model:W}}function z6($,_){return OB(_)[$]??$}function iG($){let _=OB($);return Object.entries(_).map(([U,W])=>{let J=j_(W);return{alias:U,model_ref:W,provider:J.provider,model:J.model,default:U==="default",capabilities:xf[J.provider]}})}function LB($,_=process.env){return Object.keys(rG).map((U)=>{let W=G4($,U),J=Boolean(_[W.api_key_env]);return{provider:U,api_key_env:W.api_key_env,configured:J,source:J?"env":"missing",base_url:W.base_url??null,default_model:W.default_model}})}function NB($,_=process.env){return{default_model:z6("default",$),providers:LB($,_),models:iG($)}}function k0($,_,U=process.env){let W=LB(_,U).find((J)=>J.provider===$);if(!W)throw Error(`Unsupported AI provider: ${$}`);if(!W.configured)throw Error(`Missing ${W.api_key_env} for ${$}. Set the env var to use this provider.`);return W}async function uf($){if($==="openai"){let{createOpenAI:U}=await import("@ai-sdk/openai");return U}if($==="anthropic"){let{createAnthropic:U}=await import("@ai-sdk/anthropic");return U}let{createDeepSeek:_}=await import("@ai-sdk/deepseek");return _}async function df($={}){let{createProviderRegistry:_}=await import("ai"),U=$.env??process.env,W={};for(let J of Object.keys(rG)){let X=G4($.config,J),G=U[X.api_key_env];if(!G)continue;let Q=$.factories?.[J]??await uf(J);W[J]=Q({apiKey:G,baseURL:X.base_url})}return _(W)}async function tU($,_={}){let U=z6($,_.config),W=j_(U);return k0(W.provider,_.config,_.env),(await df(_)).languageModel(U)}function zB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return 0}function f0($){let _=$.usage??{};return{provider:$.provider,model:$.model,input_tokens:zB(_,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:zB(_,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:$.costUsd??0,metadata:{usage:_,provider_metadata:$.providerMetadata??{}}}}function B2($,_){let U=`usage_${hf()}`;return $.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,_.run_id??null,_.provider,_.model,_.input_tokens,_.output_tokens,_.cost_usd,JSON.stringify(_.metadata),_.created_at??new Date().toISOString()]),U}import{createHash as LP}from"crypto";import{existsSync as af,readFileSync as sf}from"fs";import{createHash as VB}from"crypto";var nf="openai:text-embedding-3-small",RB=1536;function BX($){return $?.embeddings??{}}function BB($,_){return`${$}_${VB("sha256").update(_).digest("hex").slice(0,20)}`}function oG($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function q6($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function HB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function pG($){return Math.sqrt($.reduce((_,U)=>_+U*U,0))}function cf($,_,U=pG(_)){let W=pG($);if(W===0||U===0)return 0;let J=Math.min($.length,_.length),X=0;for(let G=0;G{let X=U[J%U.length]/255;return Number((X*2-1).toFixed(6))})}async function rf($,_,U=process.env){k0("openai",_,U);let W=G4(_,"openai"),{createOpenAI:J}=await import("@ai-sdk/openai"),X=J({apiKey:U[W.api_key_env],baseURL:W.base_url});if(X.embeddingModel)return X.embeddingModel($);if(X.textEmbedding)return X.textEmbedding($);if(X.textEmbeddingModel)return X.textEmbeddingModel($);throw Error("OpenAI provider does not expose an embedding model factory.")}function P0($,_){if(!$||$==="default"||$==="embedding")return BX(_).default_model??nf;return $}async function AB($,_={}){let U=P0(_.modelRef,_.config),W=j_(U);if(W.provider!=="openai")throw Error(`Embedding provider ${W.provider} is not supported yet. Use openai:text-embedding-3-small.`);let J=_.dimensions??BX(_.config).dimensions??RB;if(_.fake)return{provider:W.provider,model:W.model,dimensions:J,vectors:$.map((j)=>lf(j,J)),usage:{input_tokens:$.reduce((j,O)=>j+Math.max(1,Math.ceil(O.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:X}=await import("ai"),G=await rf(W.model,_.config,_.env),Q=await X({model:G,values:$,maxParallelCalls:_.maxParallelCalls??BX(_.config).max_parallel_calls,providerOptions:{openai:{dimensions:J}}}),Y=Q.embeddings;return{provider:W.provider,model:W.model,dimensions:Y[0]?.length??J,vectors:Y,usage:{input_tokens:Q.usage?.tokens??0}}}function pf($,_){if(_.sourceRevisionId)return $.query(`SELECT c.id, c.text, c.token_count, @@ -629,7 +629,7 @@ COMMIT; ON v.chunk_id = c.id AND v.provider = ? AND v.model = ? WHERE v.id IS NULL AND c.source_revision_id = ? ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all($.provider,$.model,$.sourceRevisionId,$.limit);return _.query(`SELECT + LIMIT ?`).all(_.provider,_.model,_.sourceRevisionId,_.limit);return $.query(`SELECT c.id, c.text, c.token_count, @@ -648,14 +648,14 @@ COMMIT; ON v.chunk_id = c.id AND v.provider = ? AND v.model = ? WHERE v.id IS NULL ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all($.provider,$.model,$.limit)}function RI(_){let $=WX(_.metadata_json),U=$.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return t6({source_ref:r$($,["source_ref"]),source_uri:_.source_uri??r$($,["source_uri"]),source_kind:_.source_kind??r$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??r$($,["revision"]),hash:_.hash??r$($,["hash"]),chunk_id:_.id,start_offset:_.start_offset??l7($,["start_offset"]),end_offset:_.end_offset??l7($,["end_offset"]),status:r$($,["status"]),resolver:"open-files-read-only"})}function HI(_,$,U,J){let D=_.prepare(` + LIMIT ?`).all(_.provider,_.model,_.limit)}function of($){let _=oG($.metadata_json),U=_.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return S4({source_ref:q6(_,["source_ref"]),source_uri:$.source_uri??q6(_,["source_uri"]),source_kind:$.source_kind??q6(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??q6(_,["revision"]),hash:$.hash??q6(_,["hash"]),chunk_id:$.id,start_offset:$.start_offset??HB(_,["start_offset"]),end_offset:$.end_offset??HB(_,["end_offset"]),status:q6(_,["status"]),resolver:"open-files-read-only"})}function tf($,_,U,W){let J=$.prepare(` INSERT INTO chunk_embeddings (id, chunk_id, provider, model, dimensions, vector_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(chunk_id, provider, model) DO UPDATE SET dimensions = excluded.dimensions, vector_json = excluded.vector_json, created_at = excluded.created_at - `),j=_.prepare(` + `),X=$.prepare(` INSERT INTO vector_index_entries ( id, chunk_id, source_revision_id, provider, model, dimensions, vector_json, vector_norm, source_uri, source_ref, revision, hash, start_offset, end_offset, token_count, status, @@ -677,10 +677,10 @@ COMMIT; status = excluded.status, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);return _.transaction(()=>{for(let G=0;G<$.length;G+=1){let X=$[G],N=U.vectors[G];if(!N)continue;let z=WX(X.metadata_json),L=RI(X),E=L.source_ref??r$(z,["source_ref"]),Q=L.source_uri??X.source_uri??r$(z,["source_uri"]),q=L.revision??X.revision??r$(z,["revision"]),g=L.hash??X.hash??r$(z,["hash"]),B=L.status??r$(z,["status"])??"active",H=JSON.stringify(N);D.run(i7("emb",`${X.id}\x00${U.provider}\x00${U.model}`),X.id,U.provider,U.model,U.dimensions,H,J),j.run(i7("vec",`${X.id}\x00${U.provider}\x00${U.model}`),X.id,X.source_revision_id,U.provider,U.model,U.dimensions,H,jX(N),Q,E,q,g,L.start_offset,L.end_offset,X.token_count,B,JSON.stringify({...z,provenance:L,embedded_at:J}),J,J)}})(),$.length}async function dD(_){let $=x4(_.modelRef,_.config),U=l_($);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet.`);let J=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??100,1000));o(_.dbPath);let j=x(_.dbPath),W;try{W=BI(j,{provider:U.provider,model:U.model,limit:D,sourceRevisionId:_.sourceRevisionId})}finally{j.close()}if(W.length===0)return{provider:U.provider,model:U.model,dimensions:_.dimensions??mD(_.config).dimensions??p7,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let G=await t7(W.map((N)=>N.text),_),X=x(_.dbPath);try{let N=HI(X,W,G,J);return{provider:G.provider,model:G.model,dimensions:G.dimensions,chunks_seen:W.length,chunks_embedded:W.length,embeddings_upserted:N,vector_entries_upserted:N,usage:G.usage}}finally{X.close()}}function a7(_){o(_);let $=x(_);try{let U=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,J=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,D=$.query(`SELECT provider, model, dimensions, COUNT(*) AS entries, MAX(updated_at) AS updated_at + `);return $.transaction(()=>{for(let Q=0;Q<_.length;Q+=1){let Y=_[Q],j=U.vectors[Q];if(!j)continue;let O=oG(Y.metadata_json),B=of(Y),V=B.source_ref??q6(O,["source_ref"]),L=B.source_uri??Y.source_uri??q6(O,["source_uri"]),N=B.revision??Y.revision??q6(O,["revision"]),H=B.hash??Y.hash??q6(O,["hash"]),R=B.status??q6(O,["status"])??"active",b=JSON.stringify(j);J.run(BB("emb",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,U.provider,U.model,U.dimensions,b,W),X.run(BB("vec",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,Y.source_revision_id,U.provider,U.model,U.dimensions,b,pG(j),L,V,N,H,B.start_offset,B.end_offset,Y.token_count,R,JSON.stringify({...O,provenance:B,embedded_at:W}),W,W)}})(),_.length}async function HX($){let _=P0($.modelRef,$.config),U=j_(_);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet.`);let W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??100,1000));$$($.dbPath);let X=d($.dbPath),G;try{G=pf(X,{provider:U.provider,model:U.model,limit:J,sourceRevisionId:$.sourceRevisionId})}finally{X.close()}if(G.length===0)return{provider:U.provider,model:U.model,dimensions:$.dimensions??BX($.config).dimensions??RB,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let Q=await AB(G.map((j)=>j.text),$),Y=d($.dbPath);try{let j=tf(Y,G,Q,W);return{provider:Q.provider,model:Q.model,dimensions:Q.dimensions,chunks_seen:G.length,chunks_embedded:G.length,embeddings_upserted:j,vector_entries_upserted:j,usage:Q.usage}}finally{Y.close()}}function bB($){$$($);let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,J=_.query(`SELECT provider, model, dimensions, COUNT(*) AS entries, MAX(updated_at) AS updated_at FROM vector_index_entries GROUP BY provider, model, dimensions - ORDER BY provider, model`).all();return{total_embeddings:U,total_vector_entries:J,indexes:D}}finally{$.close()}}async function cD(_){let $=x4(_.modelRef,_.config),U=l_($),J=Math.max(1,Math.min(_.limit??10,100)),D=await t7([_.query],_),j=D.vectors[0]??[];o(_.dbPath);let W=x(_.dbPath);try{let X=W.query(`SELECT + ORDER BY provider, model`).all();return{total_embeddings:U,total_vector_entries:W,indexes:J}}finally{_.close()}}async function VX($){let _=P0($.modelRef,$.config),U=j_(_),W=Math.max(1,Math.min($.limit??10,100)),J=await AB([$.query],$),X=J.vectors[0]??[];$$($.dbPath);let G=d($.dbPath);try{let Y=G.query(`SELECT v.chunk_id, c.text, v.vector_json, @@ -692,7 +692,7 @@ COMMIT; v.metadata_json FROM vector_index_entries v JOIN chunks c ON c.id = v.chunk_id - WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((N)=>{let z=JSON.parse(N.vector_json),L=WX(N.metadata_json),E=L.provenance&&typeof L.provenance==="object"&&!Array.isArray(L.provenance)?L.provenance:null;return{chunk_id:N.chunk_id,score:LI(j,z,N.vector_norm),text:N.text,source_uri:N.source_uri,source_ref:N.source_ref,revision:N.revision,hash:N.hash,provenance:E}}).sort((N,z)=>z.score-N.score).slice(0,J);return{provider:U.provider,model:U.model,dimensions:D.dimensions,query:_.query,results:X}}finally{W.close()}}function iD(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function B$(_,$){for(let U of $){let J=_[U];if(typeof J==="string"&&J.length>0)return J}return null}function e7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return null}function $q(_){return Array.from(new Set(_))}function Uq(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return $q($.filter((U)=>U.length>0)).slice(0,16)}function s7(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function bI(_){let $=[],U=/"([^"]*)"|(\S+)/g,J,D=!1;while((J=U.exec(_))!==null){if(J[1]!==void 0){let N=s7(J[1]);if(N.length>0)$.push({type:"phrase",value:N.join(" "),negate:D,prefix:!1});D=!1;continue}let j=J[2]??"";if(j==="OR"||j==="||"||j==="|"){$.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(j==="AND"||j==="&&")continue;if(j==="NOT"){D=!0;continue}let W=D;if(D=!1,j.startsWith("-")&&j.length>1)W=!0,j=j.slice(1);let G=!1;if(j.endsWith("*"))G=!0,j=j.slice(0,-1);let X=s7(j);if(X.length===0)continue;$.push({type:X.length>1?"phrase":"term",value:X.join(" "),negate:W,prefix:G})}return $.slice(0,24)}function KI(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function II(_){let $=bI(_);if($.filter((W)=>W.type!=="or"&&!W.negate).length===0)return{and:null,or:null};let J=(W)=>{let G="",X=!1,N=[];for(let z of $){if(z.type==="or"){X=!0;continue}let L=KI(z);if(z.negate){N.push(L);continue}if(G.length===0)G=L;else G=X?`${G} OR ${L}`:`${G} ${W} ${L}`;X=!1}for(let z of N)G=`(${G}) NOT ${z}`;return G.length>0?G:null},D=J("AND"),j=J("OR");return{and:D,or:j!==D?j:null}}function FI(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function Dq(_,$){return _.flatMap((U)=>Array.from({length:$},()=>`%${FI(U)}%`))}function MI(_,$){let U=Number.isFinite(_)?1/(1+Math.abs(_)):0,J=1/(1+$);return lD(Math.max(U,J))}function GX(_,$){if($.length===0)return 0;let U=$.filter((J)=>_.includes(J)).length;if(U===0)return 0;return lD(Math.min(0.85,0.35+U/$.length*0.5))}function PI(_){return lD(Math.max(0,Math.min(1,(_+1)/2)))}function lD(_){return Number(_.toFixed(6))}function G1(_,$){let U=_.keyword??0,J=_.semantic??0,D=_.catalog??0,j=$?.chunk_id?0.05:0;return lD(Math.min(1,U*0.55+J*0.4+D*0.35+j))}function XX(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function kI(_){let $=iD(_.chunk_metadata_json),U=XX($);if(U)return U;if(!_.source_revision_id&&!_.source_uri)return null;return t6({source_ref:B$($,["source_ref"]),source_uri:_.source_uri??B$($,["source_uri"]),source_kind:_.source_kind??B$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??B$($,["revision"]),hash:_.hash??B$($,["hash"]),chunk_id:_.chunk_id,start_offset:_.start_offset??e7($,["start_offset"]),end_offset:_.end_offset??e7($,["end_offset"]),status:B$($,["status"]),resolver:"open-files-read-only"})}function _q(_,$,U){if(!$)return[];try{return wI(_,$,U)}catch{return[]}}function wI(_,$,U){return _.query(`SELECT + WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((j)=>{let O=JSON.parse(j.vector_json),B=oG(j.metadata_json),V=B.provenance&&typeof B.provenance==="object"&&!Array.isArray(B.provenance)?B.provenance:null;return{chunk_id:j.chunk_id,score:cf(X,O,j.vector_norm),text:j.text,source_uri:j.source_uri,source_ref:j.source_ref,revision:j.revision,hash:j.hash,provenance:V}}).sort((j,O)=>O.score-j.score).slice(0,W);return{provider:U.provider,model:U.model,dimensions:J.dimensions,query:$.query,results:Y}}finally{G.close()}}function RX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function h_($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function FB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function MB($){return Array.from(new Set($))}function gB($){let _=$.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return MB(_.filter((U)=>U.length>0)).slice(0,16)}function EB($){return $.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function ef($){let _=[],U=/"([^"]*)"|(\S+)/g,W,J=!1;while((W=U.exec($))!==null){if(W[1]!==void 0){let j=EB(W[1]);if(j.length>0)_.push({type:"phrase",value:j.join(" "),negate:J,prefix:!1});J=!1;continue}let X=W[2]??"";if(X==="OR"||X==="||"||X==="|"){_.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(X==="AND"||X==="&&")continue;if(X==="NOT"){J=!0;continue}let G=J;if(J=!1,X.startsWith("-")&&X.length>1)G=!0,X=X.slice(1);let Q=!1;if(X.endsWith("*"))Q=!0,X=X.slice(0,-1);let Y=EB(X);if(Y.length===0)continue;_.push({type:Y.length>1?"phrase":"term",value:Y.join(" "),negate:G,prefix:Q})}return _.slice(0,24)}function $P($){if($.type==="phrase")return`"${$.value}"`;return`"${$.value}"*`}function _P($){let _=ef($);if(_.filter((G)=>G.type!=="or"&&!G.negate).length===0)return{and:null,or:null};let W=(G)=>{let Q="",Y=!1,j=[];for(let O of _){if(O.type==="or"){Y=!0;continue}let B=$P(O);if(O.negate){j.push(B);continue}if(Q.length===0)Q=B;else Q=Y?`${Q} OR ${B}`:`${Q} ${G} ${B}`;Y=!1}for(let O of j)Q=`(${Q}) NOT ${O}`;return Q.length>0?Q:null},J=W("AND"),X=W("OR");return{and:J,or:X!==J?X:null}}function UP($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function IB($,_){return $.flatMap((U)=>Array.from({length:_},()=>`%${UP(U)}%`))}function JP($,_){let U=Number.isFinite($)?1/(1+Math.abs($)):0,W=1/(1+_);return AX(Math.max(U,W))}function tG($,_){if(_.length===0)return 0;let U=_.filter((W)=>$.includes(W)).length;if(U===0)return 0;return AX(Math.min(0.85,0.35+U/_.length*0.5))}function WP($){return AX(Math.max(0,Math.min(1,($+1)/2)))}function AX($){return Number($.toFixed(6))}function V2($,_){let U=$.keyword??0,W=$.semantic??0,J=$.catalog??0,X=_?.chunk_id?0.05:0;return AX(Math.min(1,U*0.55+W*0.4+J*0.35+X))}function aG($){let _=$.provenance;return _&&typeof _==="object"&&!Array.isArray(_)?_:null}function XP($){let _=RX($.chunk_metadata_json),U=aG(_);if(U)return U;if(!$.source_revision_id&&!$.source_uri)return null;return S4({source_ref:h_(_,["source_ref"]),source_uri:$.source_uri??h_(_,["source_uri"]),source_kind:$.source_kind??h_(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??h_(_,["revision"]),hash:$.hash??h_(_,["hash"]),chunk_id:$.chunk_id,start_offset:$.start_offset??FB(_,["start_offset"]),end_offset:$.end_offset??FB(_,["end_offset"]),status:h_(_,["status"]),resolver:"open-files-read-only"})}function KB($,_,U){if(!_)return[];try{return GP($,_,U)}catch{return[]}}function GP($,_,U){return $.query(`SELECT chunks_fts.chunk_id, c.kind AS chunk_kind, c.wiki_page_id, @@ -721,49 +721,49 @@ COMMIT; LEFT JOIN wiki_pages wp ON wp.id = c.wiki_page_id WHERE chunks_fts MATCH ? ORDER BY rank ASC - LIMIT ?`).all($,U)}function Jq(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((J)=>`lower(COALESCE(${J}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function SI(_,$,U){let J=["path","title","artifact_uri","metadata_json"];return _.query(`SELECT id, path, title, artifact_uri, content_hash, status, metadata_json + LIMIT ?`).all(_,U)}function wB($,_){if(_.length===0)return"1 = 0";return _.map(()=>`(${$.map((W)=>`lower(COALESCE(${W}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function QP($,_,U){let W=["path","title","artifact_uri","metadata_json"];return $.query(`SELECT id, path, title, artifact_uri, content_hash, status, metadata_json FROM wiki_pages - WHERE status = 'active' AND (${Jq(J,$)}) + WHERE status = 'active' AND (${wB(W,_)}) ORDER BY updated_at DESC - LIMIT ?`).all(...Dq($,J.length),U)}function fI(_,$,U){let J=["kind","name","shard_key","artifact_uri","metadata_json"];return _.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json + LIMIT ?`).all(...IB(_,W.length),U)}function YP($,_,U){let W=["kind","name","shard_key","artifact_uri","metadata_json"];return $.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json FROM knowledge_indexes - WHERE ${Jq(J,$)} + WHERE ${wB(W,_)} ORDER BY updated_at DESC - LIMIT ?`).all(...Dq($,J.length),U)}function jq(_){if(!_||!AI(_))return[];try{let $=JSON.parse(VI(_,"utf8"));if(!$||!Array.isArray($.items))return[];return $.items.filter((U)=>{return Boolean(U&&typeof U==="object"&&typeof U.id==="string"&&typeof U.title==="string"&&typeof U.content==="string")})}catch{return[]}}function TI(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function Wq(_,$,U){if($.length===0)return[];return _.filter((J)=>J.archived!==!0).map((J)=>({item:J,haystack:TI(J)})).filter(({haystack:J})=>$.some((D)=>J.includes(D))).map(({item:J,haystack:D})=>({item:J,score:GX(D,$)})).sort((J,D)=>D.score-J.score||J.item.id.localeCompare(D.item.id)).slice(0,U)}function CI(_,$,U){return Wq(jq(_),$,U)}function ZI(_,$){let U=iD(_.chunk_metadata_json),J=kI(_),D=B$(U,["source_ref"]),j=_.source_uri??B$(U,["source_uri"]),W=Boolean(_.wiki_page_id),G={kind:W?"wiki_chunk":"source_chunk",id:_.chunk_id,title:W?_.wiki_title:_.source_title,text:_.text,score:0,scores:{keyword:$},source:j||D?{uri:j,ref:D,kind:_.source_kind??B$(U,["source_kind"]),revision:_.revision??B$(U,["revision"]),hash:_.hash??B$(U,["hash"])}:null,citation:{chunk_id:_.chunk_id,start_offset:_.start_offset,end_offset:_.end_offset},artifact:W?{uri:_.wiki_artifact_uri,path:_.wiki_path,hash:_.wiki_content_hash,shard_key:_.wiki_path}:null,provenance:J,reasons:["keyword_match"]};return G.score=G1(G.scores,G.citation),G}function Gq(_,$){let U=`knowledge://item/${encodeURIComponent(_.id)}`,J={kind:"legacy_item",id:_.id,title:_.title,text:_.content,score:0,scores:{keyword:$},source:{uri:U,ref:U,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return J.score=G1(J.scores,J.citation),J}function vI(_,$){let U=iD(_.metadata_json),J=GX(`${_.path} ${_.title} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),D={kind:"wiki_page",id:_.id,title:_.title,text:null,score:0,scores:{catalog:J},source:null,citation:null,artifact:{uri:_.artifact_uri,path:_.path,hash:_.content_hash,shard_key:_.path},provenance:XX(U),reasons:["wiki_catalog_match"]};return D.score=G1(D.scores,D.citation),D}function yI(_,$){let U=iD(_.metadata_json),J=GX(`${_.kind} ${_.name} ${_.shard_key??""} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),D={kind:"knowledge_index",id:_.id,title:_.name,text:null,score:0,scores:{catalog:J},source:null,citation:null,artifact:{uri:_.artifact_uri,path:B$(U,["artifact_key"]),hash:B$(U,["content_hash"]),shard_key:_.shard_key},provenance:XX(U),reasons:["index_catalog_match"]};return D.score=G1(D.scores,D.citation),D}function W1(_,$){let U=`${$.kind}:${$.id}`,J=_.get(U);if(!J){_.set(U,$);return}J.scores={keyword:Math.max(J.scores.keyword??0,$.scores.keyword??0)||void 0,semantic:Math.max(J.scores.semantic??0,$.scores.semantic??0)||void 0,catalog:Math.max(J.scores.catalog??0,$.scores.catalog??0)||void 0},J.reasons=$q([...J.reasons,...$.reasons]),J.text=J.text??$.text,J.title=J.title??$.title,J.source=J.source??$.source,J.citation=J.citation??$.citation,J.artifact=J.artifact??$.artifact,J.provenance=J.provenance??$.provenance,J.score=G1(J.scores,J.citation)}function Xq(_){let $={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return _.sort((U,J)=>{if(J.score!==U.score)return J.score-U.score;return $[U.kind]-$[J.kind]||U.id.localeCompare(J.id)})}async function oD(_){let $=_.query.trim();if(!$)throw Error("Search query is required.");let U=Math.max(1,Math.min(_.limit??10,100)),J=Math.max(0,Math.floor(_.offset??0)),D=J+U,j=Uq($),W=II($),G=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),X=[],N=null,z=null,L=null,E=0,Q=0,q=0,g=new Map;o(_.dbPath);let B=x(_.dbPath);try{let K=Math.max(D*3,20),V=_q(B,W.and,K);if(V.length===0&&W.or)V=_q(B,W.or,K);E=V.length,V.forEach((n,f_)=>W1(g,ZI(n,MI(n.rank,f_))));let I=SI(B,j,Math.max(D,10)),T=fI(B,j,Math.max(D,10)),P=CI(_.legacyStorePath,j,Math.max(D,10));Q=I.length+T.length,E+=P.length,P.forEach(({item:n,score:f_})=>W1(g,Gq(n,f_))),I.forEach((n)=>W1(g,vI(n,j))),T.forEach((n)=>W1(g,yI(n,j)))}finally{B.close()}if(G)try{let K=await cD({dbPath:_.dbPath,query:$,limit:Math.max(D*3,20),config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,batchSize:_.batchSize,maxParallelCalls:_.maxParallelCalls});N=K.provider,z=K.model,L=K.dimensions,q=K.results.length;for(let V of K.results){let I={kind:"source_chunk",id:V.chunk_id,title:null,text:V.text,score:0,scores:{semantic:PI(V.score)},source:{uri:V.source_uri,ref:V.source_ref,kind:V.provenance?.source_kind??null,revision:V.revision,hash:V.hash},citation:{chunk_id:V.chunk_id,start_offset:V.provenance?.start_offset??null,end_offset:V.provenance?.end_offset??null},artifact:null,provenance:V.provenance,reasons:["semantic_match"]};I.score=G1(I.scores,I.citation),W1(g,I)}}catch(K){X.push(`semantic_search_failed: ${K instanceof Error?K.message:String(K)}`)}let R=Xq(Array.from(g.values())).slice(J,J+U);return{query:$,limit:U,offset:J,mode:{keyword:!0,catalog:!0,semantic:G},semantic_provider:N,semantic_model:z,semantic_dimensions:L,counts:{keyword_results:E,catalog_results:Q,semantic_results:q,merged_results:R.length},warnings:X,results:R}}async function pD(_){return r4(jq(_.legacyStorePath),_,["knowledge_db_missing"])}async function r4(_,$,U=[]){let J=$.query.trim();if(!J)throw Error("Search query is required.");let D=Math.max(1,Math.min($.limit??10,100)),j=Math.max(0,Math.floor($.offset??0)),W=Uq(J),G=$.semantic===!0||$.fake===!0||Boolean($.modelRef),X=new Map,N=Wq(_,W,Math.max(j+D,10));N.forEach(({item:E,score:Q})=>W1(X,Gq(E,Q)));let z=[...U];if(G)z.push("semantic_search_requires_local_catalog");let L=Xq(Array.from(X.values())).slice(j,j+D);return{query:J,limit:D,offset:j,mode:{keyword:!0,catalog:!0,semantic:G},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:N.length,catalog_results:0,semantic_results:0,merged_results:L.length},warnings:z,results:L}}function Nq(_,$){return`${_}_${hI("sha256").update($).digest("hex").slice(0,20)}`}function Oq(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function xI(_){return Array.from(new Set(Oq(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function rI(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function uI(_,$){if($.length===0)return 0;let U=rI(_),J=$.filter((D)=>U.includes(D)).length;return Number((J/$.length).toFixed(6))}function nI(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function Yq(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return oG(_.status);return!1}function mI(_){if(Yq(_.provenance))return 0;if(_.source?.hash||_.source?.revision)return 1;if(_.artifact?.hash)return 0.85;if(_.provenance&&"source_refs"in _.provenance&&_.provenance.source_refs.length>0)return 0.75;return 0.55}function dI(_){if(_.citation?.chunk_id&&(_.source?.uri||_.artifact?.uri))return 1;if(_.provenance&&"citation_required"in _.provenance&&_.provenance.citation_required)return 0.75;if(_.artifact?.uri)return 0.65;return 0.35}function cI(_){if(_.kind==="wiki_chunk")return 0.85;if(_.kind==="source_chunk")return 0.8;if(_.kind==="legacy_item")return 0.6;if(_.kind==="wiki_page")return 0.65;return 0.55}function iI(_,$){let U={base_score:_.score,exact_score:uI(_,$),citation_score:dI(_),freshness_score:mI(_),authority_score:cI(_)},J=Math.min(1,U.base_score*0.65+U.exact_score*0.1+U.citation_score*0.1+U.freshness_score*0.1+U.authority_score*0.05),D=new Set(_.reasons);if(U.exact_score>0.5)D.add("exact_term");if(U.citation_score>=0.75)D.add("cited_source");if(U.freshness_score>=0.85)D.add("fresh_source");return{..._,score:Number(J.toFixed(6)),reasons:Array.from(D),rerank:{...U,final_score:Number(J.toFixed(6))}}}function zq(_,$){let U=_.text??_.title;if(!U)return null;let J=U.replace(/\s+/g," ").trim();return J.length<=$?J:`${J.slice(0,Math.max(0,$-1)).trim()}...`}function lI(_){return{id:Nq("cite",`${_.kind}\x00${_.id}\x00${_.source?.uri??""}\x00${_.artifact?.uri??""}`),result_id:_.id,kind:_.kind,source_uri:_.source?.uri??null,source_ref:_.source?.ref??null,artifact_uri:_.artifact?.uri??null,artifact_path:_.artifact?.path??null,revision:_.source?.revision??null,hash:_.source?.hash??_.artifact?.hash??null,chunk_id:_.citation?.chunk_id??null,start_offset:_.citation?.start_offset??null,end_offset:_.citation?.end_offset??null,quote:zq(_,500),provenance:_.provenance}}function oI(_,$,U){let J=zq(_,U);if(!J)return null;return{id:Nq("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:J,score:_.score}}function tD(_){return _.map(()=>"?").join(", ")}function pI(_,$){let U=$.map((G)=>G.citation?.chunk_id).filter((G)=>Boolean(G)),J=$.filter((G)=>G.kind==="wiki_page").map((G)=>G.id),D=[],j=[];if(U.length===0&&J.length===0)return{citations:D,backlinks:j};let W=x(_);try{if(U.length>0)D.push(...W.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT ?`).all(...IB(_,W.length),U)}function kB($){if(!$||!af($))return[];try{let _=JSON.parse(sf($,"utf8"));if(!_||!Array.isArray(_.items))return[];return _.items.filter((U)=>{return Boolean(U&&typeof U==="object"&&typeof U.id==="string"&&typeof U.title==="string"&&typeof U.content==="string")})}catch{return[]}}function jP($){return[$.id,$.short_id,$.title,$.content,$.url,...$.tags??[]].filter((_)=>typeof _==="string"&&_.length>0).join(" ").toLowerCase()}function fB($,_,U){if(_.length===0)return[];return $.filter((W)=>W.archived!==!0).map((W)=>({item:W,haystack:jP(W)})).filter(({haystack:W})=>_.some((J)=>W.includes(J))).map(({item:W,haystack:J})=>({item:W,score:tG(J,_)})).sort((W,J)=>J.score-W.score||W.item.id.localeCompare(J.item.id)).slice(0,U)}function DP($,_,U){return fB(kB($),_,U)}function zP($,_){let U=RX($.chunk_metadata_json),W=XP($),J=h_(U,["source_ref"]),X=$.source_uri??h_(U,["source_uri"]),G=Boolean($.wiki_page_id),Q={kind:G?"wiki_chunk":"source_chunk",id:$.chunk_id,title:G?$.wiki_title:$.source_title,text:$.text,score:0,scores:{keyword:_},source:X||J?{uri:X,ref:J,kind:$.source_kind??h_(U,["source_kind"]),revision:$.revision??h_(U,["revision"]),hash:$.hash??h_(U,["hash"])}:null,citation:{chunk_id:$.chunk_id,start_offset:$.start_offset,end_offset:$.end_offset},artifact:G?{uri:$.wiki_artifact_uri,path:$.wiki_path,hash:$.wiki_content_hash,shard_key:$.wiki_path}:null,provenance:W,reasons:["keyword_match"]};return Q.score=V2(Q.scores,Q.citation),Q}function PB($,_){let U=`knowledge://item/${encodeURIComponent($.id)}`,W={kind:"legacy_item",id:$.id,title:$.title,text:$.content,score:0,scores:{keyword:_},source:{uri:U,ref:U,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return W.score=V2(W.scores,W.citation),W}function qP($,_){let U=RX($.metadata_json),W=tG(`${$.path} ${$.title} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"wiki_page",id:$.id,title:$.title,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:$.path,hash:$.content_hash,shard_key:$.path},provenance:aG(U),reasons:["wiki_catalog_match"]};return J.score=V2(J.scores,J.citation),J}function OP($,_){let U=RX($.metadata_json),W=tG(`${$.kind} ${$.name} ${$.shard_key??""} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"knowledge_index",id:$.id,title:$.name,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:h_(U,["artifact_key"]),hash:h_(U,["content_hash"]),shard_key:$.shard_key},provenance:aG(U),reasons:["index_catalog_match"]};return J.score=V2(J.scores,J.citation),J}function H2($,_){let U=`${_.kind}:${_.id}`,W=$.get(U);if(!W){$.set(U,_);return}W.scores={keyword:Math.max(W.scores.keyword??0,_.scores.keyword??0)||void 0,semantic:Math.max(W.scores.semantic??0,_.scores.semantic??0)||void 0,catalog:Math.max(W.scores.catalog??0,_.scores.catalog??0)||void 0},W.reasons=MB([...W.reasons,..._.reasons]),W.text=W.text??_.text,W.title=W.title??_.title,W.source=W.source??_.source,W.citation=W.citation??_.citation,W.artifact=W.artifact??_.artifact,W.provenance=W.provenance??_.provenance,W.score=V2(W.scores,W.citation)}function CB($){let _={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return $.sort((U,W)=>{if(W.score!==U.score)return W.score-U.score;return _[U.kind]-_[W.kind]||U.id.localeCompare(W.id)})}async function bX($){let _=$.query.trim();if(!_)throw Error("Search query is required.");let U=Math.max(1,Math.min($.limit??10,100)),W=Math.max(0,Math.floor($.offset??0)),J=W+U,X=gB(_),G=_P(_),Q=$.semantic===!0||$.fake===!0||Boolean($.modelRef),Y=[],j=null,O=null,B=null,V=0,L=0,N=0,H=new Map;$$($.dbPath);let R=d($.dbPath);try{let M=Math.max(J*3,20),E=KB(R,G.and,M);if(E.length===0&&G.or)E=KB(R,G.or,M);V=E.length,E.forEach((r,i$)=>H2(H,zP(r,JP(r.rank,i$))));let g=QP(R,X,Math.max(J,10)),Z=YP(R,X,Math.max(J,10)),k=DP($.legacyStorePath,X,Math.max(J,10));L=g.length+Z.length,V+=k.length,k.forEach(({item:r,score:i$})=>H2(H,PB(r,i$))),g.forEach((r)=>H2(H,qP(r,X))),Z.forEach((r)=>H2(H,OP(r,X)))}finally{R.close()}if(Q)try{let M=await VX({dbPath:$.dbPath,query:_,limit:Math.max(J*3,20),config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,batchSize:$.batchSize,maxParallelCalls:$.maxParallelCalls});j=M.provider,O=M.model,B=M.dimensions,N=M.results.length;for(let E of M.results){let g={kind:"source_chunk",id:E.chunk_id,title:null,text:E.text,score:0,scores:{semantic:WP(E.score)},source:{uri:E.source_uri,ref:E.source_ref,kind:E.provenance?.source_kind??null,revision:E.revision,hash:E.hash},citation:{chunk_id:E.chunk_id,start_offset:E.provenance?.start_offset??null,end_offset:E.provenance?.end_offset??null},artifact:null,provenance:E.provenance,reasons:["semantic_match"]};g.score=V2(g.scores,g.citation),H2(H,g)}}catch(M){Y.push(`semantic_search_failed: ${M instanceof Error?M.message:String(M)}`)}let A=CB(Array.from(H.values())).slice(W,W+U);return{query:_,limit:U,offset:W,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:j,semantic_model:O,semantic_dimensions:B,counts:{keyword_results:V,catalog_results:L,semantic_results:N,merged_results:A.length},warnings:Y,results:A}}async function FX($){return C0(kB($.legacyStorePath),$,["knowledge_db_missing"])}async function C0($,_,U=[]){let W=_.query.trim();if(!W)throw Error("Search query is required.");let J=Math.max(1,Math.min(_.limit??10,100)),X=Math.max(0,Math.floor(_.offset??0)),G=gB(W),Q=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),Y=new Map,j=fB($,G,Math.max(X+J,10));j.forEach(({item:V,score:L})=>H2(Y,PB(V,L)));let O=[...U];if(Q)O.push("semantic_search_requires_local_catalog");let B=CB(Array.from(Y.values())).slice(X,X+J);return{query:W,limit:J,offset:X,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:j.length,catalog_results:0,semantic_results:0,merged_results:B.length},warnings:O,results:B}}function TB($,_){return`${$}_${LP("sha256").update(_).digest("hex").slice(0,20)}`}function SB($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function NP($){return Array.from(new Set(SB($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function BP($){return[$.title,$.text].filter(Boolean).join(" ").toLowerCase()}function HP($,_){if(_.length===0)return 0;let U=BP($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function VP($){if(!$)return!0;if("read_only"in $)return $.read_only===!0;if("read_only_sources"in $)return $.read_only_sources===!0;return!0}function ZB($){if(!$)return!1;if("stale"in $&&$.stale)return!0;if("status"in $)return yG($.status);return!1}function RP($){if(ZB($.provenance))return 0;if($.source?.hash||$.source?.revision)return 1;if($.artifact?.hash)return 0.85;if($.provenance&&"source_refs"in $.provenance&&$.provenance.source_refs.length>0)return 0.75;return 0.55}function AP($){if($.citation?.chunk_id&&($.source?.uri||$.artifact?.uri))return 1;if($.provenance&&"citation_required"in $.provenance&&$.provenance.citation_required)return 0.75;if($.artifact?.uri)return 0.65;return 0.35}function bP($){if($.kind==="wiki_chunk")return 0.85;if($.kind==="source_chunk")return 0.8;if($.kind==="legacy_item")return 0.6;if($.kind==="wiki_page")return 0.65;return 0.55}function FP($,_){let U={base_score:$.score,exact_score:HP($,_),citation_score:AP($),freshness_score:RP($),authority_score:bP($)},W=Math.min(1,U.base_score*0.65+U.exact_score*0.1+U.citation_score*0.1+U.freshness_score*0.1+U.authority_score*0.05),J=new Set($.reasons);if(U.exact_score>0.5)J.add("exact_term");if(U.citation_score>=0.75)J.add("cited_source");if(U.freshness_score>=0.85)J.add("fresh_source");return{...$,score:Number(W.toFixed(6)),reasons:Array.from(J),rerank:{...U,final_score:Number(W.toFixed(6))}}}function vB($,_){let U=$.text??$.title;if(!U)return null;let W=U.replace(/\s+/g," ").trim();return W.length<=_?W:`${W.slice(0,Math.max(0,_-1)).trim()}...`}function EP($){return{id:TB("cite",`${$.kind}\x00${$.id}\x00${$.source?.uri??""}\x00${$.artifact?.uri??""}`),result_id:$.id,kind:$.kind,source_uri:$.source?.uri??null,source_ref:$.source?.ref??null,artifact_uri:$.artifact?.uri??null,artifact_path:$.artifact?.path??null,revision:$.source?.revision??null,hash:$.source?.hash??$.artifact?.hash??null,chunk_id:$.citation?.chunk_id??null,start_offset:$.citation?.start_offset??null,end_offset:$.citation?.end_offset??null,quote:vB($,500),provenance:$.provenance}}function KP($,_,U){let W=vB($,U);if(!W)return null;return{id:TB("excerpt",`${$.kind}\x00${$.id}`),result_id:$.id,citation_id:_.id,kind:$.kind,text:W,score:$.score}}function EX($){return $.map(()=>"?").join(", ")}function MP($,_){let U=_.map((Q)=>Q.citation?.chunk_id).filter((Q)=>Boolean(Q)),W=_.filter((Q)=>Q.kind==="wiki_page").map((Q)=>Q.id),J=[],X=[];if(U.length===0&&W.length===0)return{citations:J,backlinks:X};let G=d($);try{if(U.length>0)J.push(...G.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE chunk_id IN (${tD(U)}) + WHERE chunk_id IN (${EX(U)}) ORDER BY created_at DESC - LIMIT 50`).all(...U));if(J.length>0)D.push(...W.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT 50`).all(...U));if(W.length>0)J.push(...G.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE wiki_page_id IN (${tD(J)}) + WHERE wiki_page_id IN (${EX(W)}) ORDER BY created_at DESC - LIMIT 50`).all(...J)),j.push(...W.query(`SELECT from_page_id, to_page_id, label + LIMIT 50`).all(...W)),X.push(...G.query(`SELECT from_page_id, to_page_id, label FROM wiki_backlinks - WHERE from_page_id IN (${tD(J)}) OR to_page_id IN (${tD(J)}) - LIMIT 50`).all(...J,...J))}finally{W.close()}return{citations:D,backlinks:j}}function X1(_,$={}){let U=Math.max(200,Math.min($.contextChars??1200,4000)),J=xI(_.query),D=[..._.warnings],j=new Set,W=new Set,X=_.results.filter((L)=>{if(!nI(L.provenance))return D.push(`permission_filtered: ${L.kind}:${L.id}`),j.add("Dropped a result because provenance was not read-only."),!1;if(Yq(L.provenance))return D.push(`stale_filtered: ${L.kind}:${L.id}`),W.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((L)=>iI(L,J)).sort((L,E)=>E.score-L.score||L.id.localeCompare(E.id)).slice(0,_.limit),N=X.map(lI),z=X.map((L,E)=>oI(L,N[E],U)).filter((L)=>Boolean(L));for(let L of X){if(L.provenance&&"read_only"in L.provenance&&L.provenance.read_only)j.add("All source-backed excerpts are read-only and citation-required.");if(L.rerank.freshness_score>=0.85)W.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:_.query,normalized_query:Oq(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:D,search_counts:_.counts,results:X,citations:N,excerpts:z,graph:$.dbPath?pI($.dbPath,X):{citations:[],backlinks:[]},notes:{permissions:Array.from(j),freshness:Array.from(W)}}}async function N1(_){let $=await oD(_);return X1($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function aD(_,$){let U=await r4(_,$);return X1(U,{contextChars:$.contextChars})}function O1(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function OX(_){return`C${_+1}`}function qq(_,$){if($.excerpts.length===0)return`No indexed knowledge matched the prompt: ${_}`;return[`Found ${$.excerpts.length} relevant knowledge excerpt(s) for: ${_}`,"",...$.excerpts.slice(0,5).map((J,D)=>{let j=$.citations.find((G)=>G.id===J.citation_id),W=j?.source_ref??j?.source_uri??j?.artifact_path??j?.artifact_uri??"unknown source";return`[${OX(D)}] ${J.text} (${W})`})].join(` -`)}function Lq(_,$){let U=$.citations.map((D,j)=>({id:OX(j),source_ref:D.source_ref,source_uri:D.source_uri,artifact_path:D.artifact_path,revision:D.revision,hash:D.hash,quote:D.quote})),J=$.excerpts.map((D,j)=>({id:OX(j),kind:D.kind,text:D.text,score:D.score}));return[`Prompt: ${_}`,"","Use only the provided context. Cite claims with citation ids like [C1]. If context is insufficient, say what is missing.","",`Context excerpts: -${JSON.stringify(J,null,2)}`,"",`Citations: + WHERE from_page_id IN (${EX(W)}) OR to_page_id IN (${EX(W)}) + LIMIT 50`).all(...W,...W))}finally{G.close()}return{citations:J,backlinks:X}}function R2($,_={}){let U=Math.max(200,Math.min(_.contextChars??1200,4000)),W=NP($.query),J=[...$.warnings],X=new Set,G=new Set,Y=$.results.filter((B)=>{if(!VP(B.provenance))return J.push(`permission_filtered: ${B.kind}:${B.id}`),X.add("Dropped a result because provenance was not read-only."),!1;if(ZB(B.provenance))return J.push(`stale_filtered: ${B.kind}:${B.id}`),G.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((B)=>FP(B,W)).sort((B,V)=>V.score-B.score||B.id.localeCompare(V.id)).slice(0,$.limit),j=Y.map(EP),O=Y.map((B,V)=>KP(B,j[V],U)).filter((B)=>Boolean(B));for(let B of Y){if(B.provenance&&"read_only"in B.provenance&&B.provenance.read_only)X.add("All source-backed excerpts are read-only and citation-required.");if(B.rerank.freshness_score>=0.85)G.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:$.query,normalized_query:SB($.query),created_at:new Date().toISOString(),mode:$.mode,warnings:J,search_counts:$.counts,results:Y,citations:j,excerpts:O,graph:_.dbPath?MP(_.dbPath,Y):{citations:[],backlinks:[]},notes:{permissions:Array.from(X),freshness:Array.from(G)}}}async function A2($){let _=await bX($);return R2(_,{dbPath:$.dbPath,contextChars:$.contextChars})}async function KX($,_){let U=await C0($,_);return R2(U,{contextChars:_.contextChars})}function b2($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function eG($){return`C${$+1}`}function hB($,_){if(_.excerpts.length===0)return`No indexed knowledge matched the prompt: ${$}`;return[`Found ${_.excerpts.length} relevant knowledge excerpt(s) for: ${$}`,"",..._.excerpts.slice(0,5).map((W,J)=>{let X=_.citations.find((Q)=>Q.id===W.citation_id),G=X?.source_ref??X?.source_uri??X?.artifact_path??X?.artifact_uri??"unknown source";return`[${eG(J)}] ${W.text} (${G})`})].join(` +`)}function xB($,_){let U=_.citations.map((J,X)=>({id:eG(X),source_ref:J.source_ref,source_uri:J.source_uri,artifact_path:J.artifact_path,revision:J.revision,hash:J.hash,quote:J.quote})),W=_.excerpts.map((J,X)=>({id:eG(X),kind:J.kind,text:J.text,score:J.score}));return[`Prompt: ${$}`,"","Use only the provided context. Cite claims with citation ids like [C1]. If context is insufficient, say what is missing.","",`Context excerpts: +${JSON.stringify(W,null,2)}`,"",`Citations: ${JSON.stringify(U,null,2)}`].join(` -`)}function gq(_,$){if($.citations.length===0)return[];return[{kind:"answer_note",title:_.length>80?`${_.slice(0,77)}...`:_,citations:$.citations.map((U)=>U.id),requires_approval:!0}]}function tI(_,$){let U=x(_);try{U.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[$.runId,"knowledge-prompt",$.prompt,$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.now])}finally{U.close()}}function NX(_,$){let U=x(_);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${YX()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{U.close()}}function Qq(_,$){let U=x(_);try{U.run(`UPDATE runs +`)}function mB($,_){if(_.citations.length===0)return[];return[{kind:"answer_note",title:$.length>80?`${$.slice(0,77)}...`:$,citations:_.citations.map((U)=>U.id),requires_approval:!0}]}function gP($,_){let U=d($);try{U.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[_.runId,"knowledge-prompt",_.prompt,_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.now])}finally{U.close()}}function sG($,_){let U=d($);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${$Q()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{U.close()}}function yB($,_){let U=d($);try{U.run(`UPDATE runs SET status = ?, provider = ?, model = ?, metadata_json = ?, updated_at = ? - WHERE id = ?`,[$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.runId])}finally{U.close()}}function aI(_,$,U,J,D,j,W={}){let G=x(_);try{j1(G,{run_id:$,provider:J,model:D,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:W,created_at:j})}finally{G.close()}}async function Eq(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let U=(_.now??new Date).toISOString(),J=`run_${YX()}`,D=x$(_.modelRef??"default",_.config),j=l_(D);o(_.dbPath),tI(_.dbPath,{runId:J,prompt:$,status:_.generate?"running":"dry_run",provider:_.generate?j.provider:"local",model:_.generate?j.model:"context-draft",metadata:{semantic:_.semantic===!0||_.fake===!0||Boolean(_.modelRef),approve_write:_.approveWrite===!0,generated:_.generate===!0},now:U});let{prompt:W,generate:G,approveWrite:X,now:N,...z}=_,L=await N1({...z,query:$});NX(_.dbPath,{runId:J,level:"info",event:"context_retrieved",metadata:{results:L.results.length,citations:L.citations.length,warnings:L.warnings},now:U});let E=qq($,L),Q=!1,q="local",g="context-draft",B={input_tokens:O1($)+L.excerpts.reduce((V,I)=>V+O1(I.text),0),output_tokens:O1(E),cost_usd:0},H=[...L.warnings];if(_.generate)try{if(_.fake)Q=!0,q=j.provider,g=j.model,E=`Fake generated answer for: ${$} + WHERE id = ?`,[_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.runId])}finally{U.close()}}function IP($,_,U,W,J,X,G={}){let Q=d($);try{B2(Q,{run_id:_,provider:W,model:J,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:G,created_at:X})}finally{Q.close()}}async function uB($){let _=$.prompt.trim();if(!_)throw Error("Knowledge prompt is required.");let U=($.now??new Date).toISOString(),W=`run_${$Q()}`,J=z6($.modelRef??"default",$.config),X=j_(J);$$($.dbPath),gP($.dbPath,{runId:W,prompt:_,status:$.generate?"running":"dry_run",provider:$.generate?X.provider:"local",model:$.generate?X.model:"context-draft",metadata:{semantic:$.semantic===!0||$.fake===!0||Boolean($.modelRef),approve_write:$.approveWrite===!0,generated:$.generate===!0},now:U});let{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=$,B=await A2({...O,query:_});sG($.dbPath,{runId:W,level:"info",event:"context_retrieved",metadata:{results:B.results.length,citations:B.citations.length,warnings:B.warnings},now:U});let V=hB(_,B),L=!1,N="local",H="context-draft",R={input_tokens:b2(_)+B.excerpts.reduce((E,g)=>E+b2(g.text),0),output_tokens:b2(V),cost_usd:0},b=[...B.warnings];if($.generate)try{if($.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${_} -${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:_.config,env:_.env}),T=await V({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:Lq($,L)});Q=!0,q=j.provider,g=j.model,E=T.text;let P=h4({provider:q,model:g,usage:T.usage,providerMetadata:T.providerMetadata});B={input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd}}}catch(V){throw NX(_.dbPath,{runId:J,level:"error",event:"answer_generation_failed",metadata:{message:V instanceof Error?V.message:String(V)},now:U}),Qq(_.dbPath,{runId:J,status:"failed",provider:j.provider,model:j.model,metadata:{generated:!1,error:V instanceof Error?V.message:String(V)},now:U}),V}let R=gq($,L),K={approved:_.approveWrite===!0,durable_writes_performed:!1,reason:_.approveWrite?"Approval flag recorded; durable wiki writing is deferred to the wiki compile task.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return NX(_.dbPath,{runId:J,level:"info",event:Q?"answer_generated":"answer_drafted",metadata:{provider:q,model:g,proposed_updates:R.length,durable_writes_performed:!1},now:U}),aI(_.dbPath,J,B,q,g,U,{generated:Q,citations:L.citations.length}),Qq(_.dbPath,{runId:J,status:Q?"completed":"dry_run",provider:q,model:g,metadata:{generated:Q,citations:L.citations.length,proposed_updates:R.length,approve_write:_.approveWrite===!0},now:U}),{run_id:J,prompt:$,generated:Q,provider:q,model:g,answer:E,context:L,citations:L.citations,proposed_wiki_updates:R,write_policy:K,usage:B,warnings:H}}async function Bq(_,$){let U=$.prompt.trim();if(!U)throw Error("Knowledge prompt is required.");let J=`run_${YX()}`,D=x$($.modelRef??"default",$.config),j=l_(D),{prompt:W,generate:G,approveWrite:X,now:N,...z}=$,L=await aD(_,{...z,query:U}),E=qq(U,L),Q=!1,q="local",g="context-draft",B={input_tokens:O1(U)+L.excerpts.reduce((V,I)=>V+O1(I.text),0),output_tokens:O1(E),cost_usd:0},H=[...L.warnings];if($.generate)if($.fake)Q=!0,q=j.provider,g=j.model,E=`Fake generated answer for: ${U} +${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:$.config,env:$.env}),Z=await E({model:g,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:xB(_,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=f0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}}catch(E){throw sG($.dbPath,{runId:W,level:"error",event:"answer_generation_failed",metadata:{message:E instanceof Error?E.message:String(E)},now:U}),yB($.dbPath,{runId:W,status:"failed",provider:X.provider,model:X.model,metadata:{generated:!1,error:E instanceof Error?E.message:String(E)},now:U}),E}let A=mB(_,B),M={approved:$.approveWrite===!0,durable_writes_performed:!1,reason:$.approveWrite?"Approval flag recorded; durable wiki writing is deferred to the wiki compile task.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return sG($.dbPath,{runId:W,level:"info",event:L?"answer_generated":"answer_drafted",metadata:{provider:N,model:H,proposed_updates:A.length,durable_writes_performed:!1},now:U}),IP($.dbPath,W,R,N,H,U,{generated:L,citations:B.citations.length}),yB($.dbPath,{runId:W,status:L?"completed":"dry_run",provider:N,model:H,metadata:{generated:L,citations:B.citations.length,proposed_updates:A.length,approve_write:$.approveWrite===!0},now:U}),{run_id:W,prompt:_,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:b}}async function dB($,_){let U=_.prompt.trim();if(!U)throw Error("Knowledge prompt is required.");let W=`run_${$Q()}`,J=z6(_.modelRef??"default",_.config),X=j_(J),{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=_,B=await KX($,{...O,query:U}),V=hB(U,B),L=!1,N="local",H="context-draft",R={input_tokens:b2(U)+B.excerpts.reduce((E,g)=>E+b2(g.text),0),output_tokens:b2(V),cost_usd:0},b=[...B.warnings];if(_.generate)if(_.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${U} -${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:$.config,env:$.env}),T=await V({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:Lq(U,L)});Q=!0,q=j.provider,g=j.model,E=T.text;let P=h4({provider:q,model:g,usage:T.usage,providerMetadata:T.providerMetadata});B={input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd}}let R=gq(U,L),K={approved:$.approveWrite===!0,durable_writes_performed:!1,reason:$.approveWrite?"Approval flag recorded; durable wiki writes require the local catalog (wiki compile) and are not available in cloud mode.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return{run_id:J,prompt:U,generated:Q,provider:q,model:g,answer:E,context:L,citations:L.citations,proposed_wiki_updates:R,write_policy:K,usage:B,warnings:H}}import{createHash as eI}from"crypto";var sI=1200,_F=6,$F=12000,UF=50,Rq=800;function z1(_,$,U=16){return`${_}_${eI("sha256").update($).digest("hex").slice(0,U)}`}function QX(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function qX(_){return QX(_).toLowerCase()}function DF(_){return Array.from(new Set(qX(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function M6(_,$){let U=QX(_);if(U.length<=$)return U;let J="...";if($<=J.length)return U.slice(0,Math.max(0,$));return`${U.slice(0,$-J.length).trim()}${J}`}function Hq(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function LX(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function zX(_){return Object.keys(_).filter(($)=>!LX($)).sort().slice(0,12)}function JF(_,$){for(let U of $){if(LX(U))continue;let J=_[U];if(typeof J==="string"&&J.trim())return J.trim()}return null}function SU(_,$){if(!_)return null;let U=O$(_,$).text;try{let J=new URL(U),D=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let j of D)J.searchParams.delete(j);for(let[j]of J.searchParams)if(LX(j))J.searchParams.delete(j);return J.toString()}catch{return U}}function W6(_,$,U){return SU(JF(_,$),U)}function eD(_){let $=[];for(let U of zX(_).slice(0,6)){let J=_[U];if(typeof J==="string"&&J.trim())$.push(`${U}=${M6(J,80)}`);else if(typeof J==="number"||typeof J==="boolean")$.push(`${U}=${String(J)}`);else if(J&&typeof J==="object")$.push(`${U}={...}`)}return $.join("; ")}function jF(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function Aq(_){return jF(JSON.stringify(_))}function WF(_){if(!Number.isFinite(_??NaN))return sI;let $=Math.floor(_);if($U.includes(D)).length;return Number((J/$.length).toFixed(6))}function XF(_){return["This pack is read-only and performs no durable writes.","Use citation ids and refs instead of pasting raw artifacts into prompts.","Resolve source or artifact refs explicitly only when raw content is needed and allowed.","Run generated knowledge writes through approval-gated commands before applying.",_==="loops"||_==="runs"?"Run evidence is summarized from knowledge run ledgers; raw run artifacts remain referenced, not embedded.":"Search evidence is derived from indexed chunks/wiki catalog rows with citation metadata."]}function NF(_,$,U){let J=SU($.source_ref,U),D=SU($.source_uri,U),j=SU($.artifact_uri,U),W=SU($.artifact_path,U),G=J??D??W??j??$.id,X=$.quote?Y1($.quote,U,_<3?220:140):null;return{citation:{id:z1("cite",`${$.id}\x00${G}`,12),kind:$.artifact_uri||$.artifact_path?"artifact":"source",ref:G,source_ref:J,source_uri:D,artifact_uri:j,artifact_path:W,run_id:null,run_event_id:null,revision:$.revision??null,hash:$.hash??null,chunk_id:$.chunk_id??null,offsets:{start:$.start_offset??null,end:$.end_offset??null},quote_preview:X?.text??null},redactions:X?.redactions??0}}async function OF(_,$){let U=(_.query??_.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:J,dbPath:D,limit:j,semantic:W,modelRef:G,dimensions:X,fake:N,env:z,batchSize:L,maxParallelCalls:E,legacyStorePath:Q}=_,q=await N1({dbPath:D,config:J,legacyStorePath:Q,query:U,limit:Math.max($,j??$),semantic:W,modelRef:G,dimensions:X,fake:N,env:z,batchSize:L,maxParallelCalls:E,contextChars:Math.min(_.contextChars??700,1200)}),g=new Map,B=0;q.citations.forEach((V,I)=>{let T=NF(I,V,_.safetyPolicy);B+=T.redactions,g.set(V.id,T.citation)});let H=q.excerpts.slice(0,Math.max($*2,$)).map((V)=>{let I=q.results.find((f_)=>f_.id===V.result_id),T=V.citation_id?g.get(V.citation_id):null,P=Y1(V.text,_.safetyPolicy,520);B+=P.redactions;let n=I?.title??T?.ref??V.kind;return{id:z1("ev",`${V.kind}\x00${V.result_id}\x00${V.citation_id??""}`,14),kind:V.kind,title:M6(n,100),text_preview:P.text,score:Number(V.score.toFixed(6)),citation_ids:T?[T.id]:[],provenance:{source:"search",record_ref:`${V.kind}:${V.result_id}`,created_at:q.created_at,updated_at:null,metadata_keys:[]}}}),R=new Set(H.flatMap((V)=>V.citation_ids));return{citations:Array.from(g.values()).filter((V)=>R.has(V.id)),evidence:H,duplicateCandidates:[],redactions:B,warnings:q.warnings,available:q.excerpts.length}}function YF(_,$,U){if($)return _.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at +${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:_.config,env:_.env}),Z=await E({model:g,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:xB(U,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=f0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}let A=mB(U,B),M={approved:_.approveWrite===!0,durable_writes_performed:!1,reason:_.approveWrite?"Approval flag recorded; durable wiki writes require the local catalog (wiki compile) and are not available in cloud mode.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return{run_id:W,prompt:U,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:b}}import{createHash as wP}from"crypto";var kP=1200,fP=6,PP=12000,CP=50,nB=800;function E2($,_,U=16){return`${$}_${wP("sha256").update(_).digest("hex").slice(0,U)}`}function UQ($){return $.normalize("NFKC").trim().replace(/\s+/g," ")}function JQ($){return UQ($).toLowerCase()}function TP($){return Array.from(new Set(JQ($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function Q4($,_){let U=UQ($);if(U.length<=_)return U;let W="...";if(_<=W.length)return U.slice(0,Math.max(0,_));return`${U.slice(0,_-W.length).trim()}${W}`}function cB($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function WQ($){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test($)}function _Q($){return Object.keys($).filter((_)=>!WQ(_)).sort().slice(0,12)}function SP($,_){for(let U of _){if(WQ(U))continue;let W=$[U];if(typeof W==="string"&&W.trim())return W.trim()}return null}function aU($,_){if(!$)return null;let U=w_($,_).text;try{let W=new URL(U),J=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let X of J)W.searchParams.delete(X);for(let[X]of W.searchParams)if(WQ(X))W.searchParams.delete(X);return W.toString()}catch{return U}}function Z6($,_,U){return aU(SP($,_),U)}function MX($){let _=[];for(let U of _Q($).slice(0,6)){let W=$[U];if(typeof W==="string"&&W.trim())_.push(`${U}=${Q4(W,80)}`);else if(typeof W==="number"||typeof W==="boolean")_.push(`${U}=${String(W)}`);else if(W&&typeof W==="object")_.push(`${U}={...}`)}return _.join("; ")}function ZP($){if(!$.trim())return 0;return Math.max(1,Math.ceil($.length/4))}function lB($){return ZP(JSON.stringify($))}function vP($){if(!Number.isFinite($??NaN))return kP;let _=Math.floor($);if(_U.includes(J)).length;return Number((W/_.length).toFixed(6))}function hP($){return["This pack is read-only and performs no durable writes.","Use citation ids and refs instead of pasting raw artifacts into prompts.","Resolve source or artifact refs explicitly only when raw content is needed and allowed.","Run generated knowledge writes through approval-gated commands before applying.",$==="loops"||$==="runs"?"Run evidence is summarized from knowledge run ledgers; raw run artifacts remain referenced, not embedded.":"Search evidence is derived from indexed chunks/wiki catalog rows with citation metadata."]}function xP($,_,U){let W=aU(_.source_ref,U),J=aU(_.source_uri,U),X=aU(_.artifact_uri,U),G=aU(_.artifact_path,U),Q=W??J??G??X??_.id,Y=_.quote?F2(_.quote,U,$<3?220:140):null;return{citation:{id:E2("cite",`${_.id}\x00${Q}`,12),kind:_.artifact_uri||_.artifact_path?"artifact":"source",ref:Q,source_ref:W,source_uri:J,artifact_uri:X,artifact_path:G,run_id:null,run_event_id:null,revision:_.revision??null,hash:_.hash??null,chunk_id:_.chunk_id??null,offsets:{start:_.start_offset??null,end:_.end_offset??null},quote_preview:Y?.text??null},redactions:Y?.redactions??0}}async function mP($,_){let U=($.query??$.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:W,dbPath:J,limit:X,semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,legacyStorePath:L}=$,N=await A2({dbPath:J,config:W,legacyStorePath:L,query:U,limit:Math.max(_,X??_),semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,contextChars:Math.min($.contextChars??700,1200)}),H=new Map,R=0;N.citations.forEach((E,g)=>{let Z=xP(g,E,$.safetyPolicy);R+=Z.redactions,H.set(E.id,Z.citation)});let b=N.excerpts.slice(0,Math.max(_*2,_)).map((E)=>{let g=N.results.find((i$)=>i$.id===E.result_id),Z=E.citation_id?H.get(E.citation_id):null,k=F2(E.text,$.safetyPolicy,520);R+=k.redactions;let r=g?.title??Z?.ref??E.kind;return{id:E2("ev",`${E.kind}\x00${E.result_id}\x00${E.citation_id??""}`,14),kind:E.kind,title:Q4(r,100),text_preview:k.text,score:Number(E.score.toFixed(6)),citation_ids:Z?[Z.id]:[],provenance:{source:"search",record_ref:`${E.kind}:${E.result_id}`,created_at:N.created_at,updated_at:null,metadata_keys:[]}}}),A=new Set(b.flatMap((E)=>E.citation_ids));return{citations:Array.from(H.values()).filter((E)=>A.has(E.id)),evidence:b,duplicateCandidates:[],redactions:R,warnings:N.warnings,available:N.excerpts.length}}function uP($,_,U){if(_)return $.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at FROM runs WHERE updated_at >= ? OR created_at >= ? ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all($,$,U);return _.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at + LIMIT ?`).all(_,_,U);return $.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at FROM runs ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(U)}function zF(_,$,U){if($.length===0)return[];let J=$.map(()=>"?").join(", ");return _.query(`SELECT id, run_id, level, event, metadata_json, created_at + LIMIT ?`).all(U)}function dP($,_,U){if(_.length===0)return[];let W=_.map(()=>"?").join(", ");return $.query(`SELECT id, run_id, level, event, metadata_json, created_at FROM run_events - WHERE run_id IN (${J}) + WHERE run_id IN (${W}) ORDER BY created_at DESC - LIMIT ?`).all(...$,U)}function QF(_,$){return`${_.type} ${_.metadata_json} ${$.map((J)=>`${J.event} ${J.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function qF(_,$,U){let J=W6($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=W6($,["artifact_uri"],U),j=W6($,["artifact_path","artifact_key"],U),W=J??D??j??`knowledge://project/runs/${_.id}`,G=_.prompt?Y1(_.prompt,U,180).text:null;return{id:z1("cite",`run\x00${_.id}\x00${W}`,12),kind:D||j?"artifact":"run",ref:W,source_ref:J?.startsWith("open-files://")?J:null,source_uri:J&&!J.startsWith("open-files://")?J:null,artifact_uri:D,artifact_path:j,run_id:_.id,run_event_id:null,revision:W6($,["revision"],U),hash:W6($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:G}}function LF(_,$,U){let J=W6($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=W6($,["artifact_uri"],U),j=W6($,["artifact_path","artifact_key"],U),W=J??D??j??`knowledge://project/runs/${_.run_id}`,G=Y1(_.event,U,160).text;return{id:z1("cite",`event\x00${_.id}\x00${W}`,12),kind:D||j?"artifact":"run_event",ref:W,source_ref:J?.startsWith("open-files://")?J:null,source_uri:J&&!J.startsWith("open-files://")?J:null,artifact_uri:D,artifact_path:j,run_id:_.run_id,run_event_id:_.id,revision:W6($,["revision"],U),hash:W6($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:G}}function Iq(_){let $=new Map;for(let U of _){let J=qX(`${U.title} ${U.text_preview}`).replace(/\b(?:file|https?|s3):\/\/\S+/g,"").replace(/\b(?:run|evt|task|loop)_[a-z0-9_]+\b/g,"").replace(/[^a-z0-9 ]+/g,"").replace(/\b(?:run|event|completed|dry_run|pending)\b/g,"").replace(/\s+/g," ").trim().slice(0,220);if(!J)continue;$.set(J,[...$.get(J)??[],U.id])}return Array.from($.entries()).filter(([,U])=>U.length>1).map(([U,J])=>({id:z1("dup",U,12),reason:"normalized_text_match",evidence_ids:J,confidence:J.length>2?"high":"medium"}))}async function gF(_,$,U){let J=_.source==="loops"?"loops":"runs",D=(_.topic??_.query??"").trim(),j=DF(D),W=Kq(_.since,U),G=W.warning?[W.warning]:[];o(_.dbPath);let X=x(_.dbPath);try{let N=YF(X,W.cutoff,Math.max($*8,40)),z=zF(X,N.map((H)=>H.id),Math.max($*12,80)),L=new Map;for(let H of z)L.set(H.run_id,[...L.get(H.run_id)??[],H]);let Q=(J==="loops"?N.filter((H)=>QF(H,L.get(H.id)??[])):N).map((H)=>{let R=Hq(H.metadata_json),K=`${H.type} ${H.status} ${H.prompt??""} ${eD(R)} ${(L.get(H.id)??[]).map((V)=>`${V.event} ${V.metadata_json}`).join(" ")}`;return{row:H,metadata:R,score:Vq(K,j),text:K}}).filter((H)=>j.length===0||H.score>0).sort((H,R)=>R.score-H.score||R.row.updated_at.localeCompare(H.row.updated_at)||H.row.id.localeCompare(R.row.id)),q=[],g=[],B=0;for(let H of Q.slice(0,Math.max($*2,$))){let R=qF(H.row,H.metadata,_.safetyPolicy);q.push(R);let K=eD(H.metadata),V=[H.row.prompt,K].filter(Boolean).join(" | ")||`${H.row.type} ${H.row.status}`,I=Y1(V,_.safetyPolicy,420);B+=I.redactions,g.push({id:`run:${H.row.id}`,kind:H.row.type,title:M6(`${H.row.type}: ${H.row.status}`,100),text_preview:I.text,score:H.score,citation_ids:[R.id],provenance:{source:J,record_ref:`knowledge://project/runs/${H.row.id}`,created_at:H.row.created_at,updated_at:H.row.updated_at,metadata_keys:zX(H.metadata)}});let T=(L.get(H.row.id)??[]).map((P)=>{let n=Hq(P.metadata_json),f_=`${P.event} ${eD(n)} ${P.metadata_json}`;return{event:P,metadata:n,score:Vq(f_,j),text:f_}}).filter((P)=>j.length===0||P.score>0).sort((P,n)=>n.score-P.score||n.event.created_at.localeCompare(P.event.created_at)||P.event.id.localeCompare(n.event.id)).slice(0,2);for(let P of T){let n=LF(P.event,P.metadata,_.safetyPolicy);q.push(n);let f_=Y1(`${P.event}: ${eD(P.metadata)}`,_.safetyPolicy,320);B+=f_.redactions,g.push({id:`event:${P.event.id}`,kind:`run_event:${P.event.level}`,title:M6(P.event.event,100),text_preview:f_.text,score:P.score,citation_ids:[n.id],provenance:{source:J,record_ref:`knowledge://project/runs/${P.event.run_id}`,created_at:P.event.created_at,updated_at:null,metadata_keys:zX(P.metadata)}})}}return{citations:q,evidence:g,duplicateCandidates:_.dedupe?Iq(g):[],redactions:B,warnings:G,available:Q.length}}finally{X.close()}}function EF(_){let $=_.purpose==="proposal"?`Proposal context: ${M6(_.query||"loop evidence",80)}`:`Knowledge context: ${M6(_.query,80)}`,U=_.evidence.slice(0,8).map((j)=>j.id),J=_.duplicates.slice(0,5).map((j)=>j.id),D=_.evidence.slice(0,5).map((j)=>`${j.id}: ${j.title}`);if(_.evidence.length===0)D.push("No matching bounded evidence was found.");return{title:$,bullets:D,evidence_ids:U,duplicate_candidate_ids:J,next_actions:_.source==="loops"?["Review duplicate_candidates before drafting a new proposal.","Use cited run refs for provenance; inspect a run only when more detail is needed.","Keep proposal writes approval-gated and idempotent."]:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]}}function Fq(_){let $=new Set(_.evidence.flatMap((U)=>U.citation_ids));_.citations=_.citations.filter((U)=>$.has(U.id))}function bq(_){_.outline.evidence_ids=_.evidence.slice(0,8).map(($)=>$.id),_.outline.bullets=_.evidence.length>0?_.evidence.slice(0,5).map(($)=>`${$.id}: ${$.title}`):["No matching bounded evidence was found."],_.outline.duplicate_candidate_ids=_.duplicate_candidates.slice(0,5).map(($)=>$.id)}function BF(_){let $=_.budgets.max_tokens,U=new Set(_.warnings);while(Aq(_)>$){let J=_.evidence.map((j,W)=>({entry:j,index:W})).filter(({entry:j})=>j.text_preview.length>180).sort((j,W)=>W.entry.text_preview.length-j.entry.text_preview.length)[0];if(J){J.entry.text_preview=M6(J.entry.text_preview,180),U.add("text_preview_truncated_for_token_budget");continue}let D=_.citations.filter((j)=>(j.quote_preview?.length??0)>120).sort((j,W)=>(W.quote_preview?.length??0)-(j.quote_preview?.length??0))[0];if(D?.quote_preview){D.quote_preview=M6(D.quote_preview,120),U.add("citation_quote_truncated_for_token_budget");continue}if(_.evidence.length>0){_.evidence.pop(),_.budgets.items_truncated+=1,_.duplicate_candidates=_.duplicate_candidates.map((j)=>({...j,evidence_ids:j.evidence_ids.filter((W)=>_.evidence.some((G)=>G.id===W))})).filter((j)=>j.evidence_ids.length>1),bq(_),U.add("evidence_truncated_for_token_budget"),Fq(_);continue}if(_.outline.next_actions.length>1){_.outline.next_actions.pop(),U.add("outline_truncated_for_token_budget");continue}U.add("token_budget_floor_exceeded");break}if(_.warnings=Array.from(U).sort(),_.budgets.items_included=_.evidence.length,bq(_),_.budgets.estimated_tokens=Aq(_),_.budgets.token_budget_exceeded=_.budgets.estimated_tokens>$,_.budgets.token_budget_exceeded)throw Error(`Unable to build context pack within ${$} token budget; increase --max-tokens.`);return _.message=`${_.evidence.length} bounded evidence item(s), estimated ${_.budgets.estimated_tokens}/${$} token(s)`,_}async function Mq(_){let $=_.now??new Date,U=_.source??"search",J=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=WF(_.maxTokens),j=GF(_.maxItems,_.limit),W=QX(_.query??_.topic??"");if(J==="proposal"&&U!=="search"&&!W)throw Error("Proposal context requires --topic or a positional topic.");if(U!=="search")o(_.dbPath);let G=Kq(_.since,$).cutoff??_.since??"",X=U==="search"?await OF(_,j):await gF(_,j,$),N=X.evidence.sort((q,g)=>g.score-q.score||q.id.localeCompare(g.id)).slice(0,j),z=X.citations.filter((q,g,B)=>B.findIndex((H)=>H.id===q.id)===g).sort((q,g)=>q.id.localeCompare(g.id)),L=_.dedupe?Iq(N):X.duplicateCandidates.filter((q)=>q.evidence_ids.every((g)=>N.some((B)=>B.id===g))),E=EF({source:U,purpose:J,query:W,evidence:N,duplicates:L}),Q={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:U,purpose:J,query:W,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:z1("ctx",[U,J,W,G,_.dedupe===!0?"dedupe":"no-dedupe",_.semantic===!0?"semantic":"keyword",_.modelRef??"",_.limit??"",D,j,N.map((q)=>q.id).join(","),z.map((q)=>q.id).join(",")].join("\x00"),20),budgets:{max_tokens:D,estimated_tokens:0,max_items:j,items_included:N.length,items_available:X.available,items_truncated:Math.max(0,X.available-N.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:X.redactions,reminders:XF(U)},citations:z,evidence:N,duplicate_candidates:L,outline:E,warnings:X.warnings,message:`${N.length} bounded evidence item(s), estimated under ${D} token(s)`};return Fq(Q),BF(Q)}import{randomUUID as ag}from"crypto";import{createHash as RF,randomUUID as HF}from"crypto";import{existsSync as AF,readFileSync as VF}from"fs";import{hostname as Tq}from"os";import{fileURLToPath as Cq}from"url";import{extname as bF,relative as Zq,resolve as Pq,sep as KF}from"path";var $J=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"],_4=2,$4=1,vU={sources:["id"],wiki_pages:["id"],source_revisions:["id"],chunks:["id"],chunk_embeddings:["id"],wiki_backlinks:["from_page_id","to_page_id"],citations:["id"],knowledge_indexes:["id"],runs:["id"],run_events:["id"],provider_usage:["id"],redaction_findings:["id"],storage_objects:["id"],audit_events:["id"],approval_gates:["id"],vector_index_entries:["id"],reindex_queue:["id"],knowledge_machines:["machine_id"],knowledge_sync_snapshots:["id"],knowledge_sync_changes:["id"],knowledge_sync_conflicts:["id"],knowledge_sync_table_clocks:["table_name","machine_id"],knowledge_sync_imports:["bundle_id"]},yU=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function G6(_=new Date){return _.toISOString()}function AX(_){return`${_}_${Date.now().toString(36)}_${HF().slice(0,8)}`}function vq(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??Tq()}function q1(_){if(Array.isArray(_))return`[${_.map(q1).join(",")}]`;if(_&&typeof _==="object"){let $=_;return`{${Object.keys($).sort().map((U)=>`${JSON.stringify(U)}:${q1($[U])}`).join(",")}}`}return JSON.stringify(_)}function TU(_){return`sha256:${RF("sha256").update(_).digest("hex")}`}function sD(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function DJ(_,$){try{return JSON.parse(_)}catch{return $}}function R$(_){return`"${_.replace(/"/g,'""')}"`}function IF(_){if(_===void 0||_===null)return null;if(typeof _==="string"||typeof _==="number"||typeof _==="bigint"||typeof _==="boolean")return _;if(_ instanceof Date)return _.toISOString();if(Buffer.isBuffer(_)||_ instanceof Uint8Array)return _;if(typeof _==="object")return JSON.stringify(_);return String(_)}function yq(_,$){return $.filter((U)=>P$(_,U))}function P$(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get($);return Boolean(U)}function FF(_,$){let U=_.query(`PRAGMA table_info(${R$($)})`).all();return new Set(U.map((J)=>J.name))}function MF(_,$,U){let J=FF(_,$);return U.filter((D)=>J.has(D))}function hq(_){if(!_||_.length===0)return[...$J];let $=new Set($J),U=_.map((D)=>D.trim()).filter(Boolean),J=U.filter((D)=>!$.has(D));if(J.length>0)throw Error(`Unknown knowledge sync table(s): ${J.join(", ")}`);return U}function n4(_,$){return vU[_].map((J)=>`${J}=${JSON.stringify($[J]??null)}`).join("&")}var PF=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function CU(_,$=0){if($>8)return"[truncated-depth]";if(typeof _==="string")return _.length>4000?`${_.slice(0,4000)}...[truncated]`:_;if(_===null||typeof _!=="object")return _;if(Array.isArray(_))return _.slice(0,50).map((J)=>CU(J,$+1));let U={};for(let[J,D]of Object.entries(_)){if(PF.has(J.toLowerCase()))continue;U[J]=CU(D,$+1)}return U}function fU(_){if(!_)return null;return CU(_)}function VX(_){return TU(q1(_))}function kF(_,$){let U={};for(let[J,D]of Object.entries(_))if(J==="artifact_uri"&&typeof D==="string"&&$.has(D))U[J]=`artifact:${$.get(D)}`;else U[J]=D;return U}function u4(_,$=new Map){return VX(kF(_,$))}function xq(_,$){if(!P$(_,$))return[];return _.query(`SELECT * FROM ${R$($)} ORDER BY rowid ASC`).all()}function UJ(_,$,U=new Map){return VX($.map((J)=>({key:n4(_,J),hash:u4(J,U)})).sort((J,D)=>J.key.localeCompare(D.key)))}function ZU(_,$,U){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,U)??null}function wF(_){if(!P$(_,"knowledge_sync_table_clocks"))return[];return _.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function JJ(_,$){let U=$.now??G6(),D=ZU(_,$.table,$.machineId)?.created_at??U;_.query(` + LIMIT ?`).all(..._,U)}function nP($,_){return`${$.type} ${$.metadata_json} ${_.map((W)=>`${W.event} ${W.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function cP($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.id}`,Q=$.prompt?F2($.prompt,U,180).text:null;return{id:E2("cite",`run\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.id,run_event_id:null,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function lP($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.run_id}`,Q=F2($.event,U,160).text;return{id:E2("cite",`event\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run_event",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.run_id,run_event_id:$.id,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function oB($){let _=new Map;for(let U of $){let W=JQ(`${U.title} ${U.text_preview}`).replace(/\b(?:file|https?|s3):\/\/\S+/g,"").replace(/\b(?:run|evt|task|loop)_[a-z0-9_]+\b/g,"").replace(/[^a-z0-9 ]+/g,"").replace(/\b(?:run|event|completed|dry_run|pending)\b/g,"").replace(/\s+/g," ").trim().slice(0,220);if(!W)continue;_.set(W,[..._.get(W)??[],U.id])}return Array.from(_.entries()).filter(([,U])=>U.length>1).map(([U,W])=>({id:E2("dup",U,12),reason:"normalized_text_match",evidence_ids:W,confidence:W.length>2?"high":"medium"}))}async function rP($,_,U){let W=$.source==="loops"?"loops":"runs",J=($.topic??$.query??"").trim(),X=TP(J),G=pB($.since,U),Q=G.warning?[G.warning]:[];$$($.dbPath);let Y=d($.dbPath);try{let j=uP(Y,G.cutoff,Math.max(_*8,40)),O=dP(Y,j.map((b)=>b.id),Math.max(_*12,80)),B=new Map;for(let b of O)B.set(b.run_id,[...B.get(b.run_id)??[],b]);let L=(W==="loops"?j.filter((b)=>nP(b,B.get(b.id)??[])):j).map((b)=>{let A=cB(b.metadata_json),M=`${b.type} ${b.status} ${b.prompt??""} ${MX(A)} ${(B.get(b.id)??[]).map((E)=>`${E.event} ${E.metadata_json}`).join(" ")}`;return{row:b,metadata:A,score:rB(M,X),text:M}}).filter((b)=>X.length===0||b.score>0).sort((b,A)=>A.score-b.score||A.row.updated_at.localeCompare(b.row.updated_at)||b.row.id.localeCompare(A.row.id)),N=[],H=[],R=0;for(let b of L.slice(0,Math.max(_*2,_))){let A=cP(b.row,b.metadata,$.safetyPolicy);N.push(A);let M=MX(b.metadata),E=[b.row.prompt,M].filter(Boolean).join(" | ")||`${b.row.type} ${b.row.status}`,g=F2(E,$.safetyPolicy,420);R+=g.redactions,H.push({id:`run:${b.row.id}`,kind:b.row.type,title:Q4(`${b.row.type}: ${b.row.status}`,100),text_preview:g.text,score:b.score,citation_ids:[A.id],provenance:{source:W,record_ref:`knowledge://project/runs/${b.row.id}`,created_at:b.row.created_at,updated_at:b.row.updated_at,metadata_keys:_Q(b.metadata)}});let Z=(B.get(b.row.id)??[]).map((k)=>{let r=cB(k.metadata_json),i$=`${k.event} ${MX(r)} ${k.metadata_json}`;return{event:k,metadata:r,score:rB(i$,X),text:i$}}).filter((k)=>X.length===0||k.score>0).sort((k,r)=>r.score-k.score||r.event.created_at.localeCompare(k.event.created_at)||k.event.id.localeCompare(r.event.id)).slice(0,2);for(let k of Z){let r=lP(k.event,k.metadata,$.safetyPolicy);N.push(r);let i$=F2(`${k.event}: ${MX(k.metadata)}`,$.safetyPolicy,320);R+=i$.redactions,H.push({id:`event:${k.event.id}`,kind:`run_event:${k.event.level}`,title:Q4(k.event.event,100),text_preview:i$.text,score:k.score,citation_ids:[r.id],provenance:{source:W,record_ref:`knowledge://project/runs/${k.event.run_id}`,created_at:k.event.created_at,updated_at:null,metadata_keys:_Q(k.metadata)}})}}return{citations:N,evidence:H,duplicateCandidates:$.dedupe?oB(H):[],redactions:R,warnings:Q,available:L.length}}finally{Y.close()}}function iP($){let _=$.purpose==="proposal"?`Proposal context: ${Q4($.query||"loop evidence",80)}`:`Knowledge context: ${Q4($.query,80)}`,U=$.evidence.slice(0,8).map((X)=>X.id),W=$.duplicates.slice(0,5).map((X)=>X.id),J=$.evidence.slice(0,5).map((X)=>`${X.id}: ${X.title}`);if($.evidence.length===0)J.push("No matching bounded evidence was found.");return{title:_,bullets:J,evidence_ids:U,duplicate_candidate_ids:W,next_actions:$.source==="loops"?["Review duplicate_candidates before drafting a new proposal.","Use cited run refs for provenance; inspect a run only when more detail is needed.","Keep proposal writes approval-gated and idempotent."]:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]}}function tB($){let _=new Set($.evidence.flatMap((U)=>U.citation_ids));$.citations=$.citations.filter((U)=>_.has(U.id))}function iB($){$.outline.evidence_ids=$.evidence.slice(0,8).map((_)=>_.id),$.outline.bullets=$.evidence.length>0?$.evidence.slice(0,5).map((_)=>`${_.id}: ${_.title}`):["No matching bounded evidence was found."],$.outline.duplicate_candidate_ids=$.duplicate_candidates.slice(0,5).map((_)=>_.id)}function pP($){let _=$.budgets.max_tokens,U=new Set($.warnings);while(lB($)>_){let W=$.evidence.map((X,G)=>({entry:X,index:G})).filter(({entry:X})=>X.text_preview.length>180).sort((X,G)=>G.entry.text_preview.length-X.entry.text_preview.length)[0];if(W){W.entry.text_preview=Q4(W.entry.text_preview,180),U.add("text_preview_truncated_for_token_budget");continue}let J=$.citations.filter((X)=>(X.quote_preview?.length??0)>120).sort((X,G)=>(G.quote_preview?.length??0)-(X.quote_preview?.length??0))[0];if(J?.quote_preview){J.quote_preview=Q4(J.quote_preview,120),U.add("citation_quote_truncated_for_token_budget");continue}if($.evidence.length>0){$.evidence.pop(),$.budgets.items_truncated+=1,$.duplicate_candidates=$.duplicate_candidates.map((X)=>({...X,evidence_ids:X.evidence_ids.filter((G)=>$.evidence.some((Q)=>Q.id===G))})).filter((X)=>X.evidence_ids.length>1),iB($),U.add("evidence_truncated_for_token_budget"),tB($);continue}if($.outline.next_actions.length>1){$.outline.next_actions.pop(),U.add("outline_truncated_for_token_budget");continue}U.add("token_budget_floor_exceeded");break}if($.warnings=Array.from(U).sort(),$.budgets.items_included=$.evidence.length,iB($),$.budgets.estimated_tokens=lB($),$.budgets.token_budget_exceeded=$.budgets.estimated_tokens>_,$.budgets.token_budget_exceeded)throw Error(`Unable to build context pack within ${_} token budget; increase --max-tokens.`);return $.message=`${$.evidence.length} bounded evidence item(s), estimated ${$.budgets.estimated_tokens}/${_} token(s)`,$}async function aB($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=vP($.maxTokens),X=yP($.maxItems,$.limit),G=UQ($.query??$.topic??"");if(W==="proposal"&&U!=="search"&&!G)throw Error("Proposal context requires --topic or a positional topic.");if(U!=="search")$$($.dbPath);let Q=pB($.since,_).cutoff??$.since??"",Y=U==="search"?await mP($,X):await rP($,X,_),j=Y.evidence.sort((N,H)=>H.score-N.score||N.id.localeCompare(H.id)).slice(0,X),O=Y.citations.filter((N,H,R)=>R.findIndex((b)=>b.id===N.id)===H).sort((N,H)=>N.id.localeCompare(H.id)),B=$.dedupe?oB(j):Y.duplicateCandidates.filter((N)=>N.evidence_ids.every((H)=>j.some((R)=>R.id===H))),V=iP({source:U,purpose:W,query:G,evidence:j,duplicates:B}),L={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:E2("ctx",[U,W,G,Q,$.dedupe===!0?"dedupe":"no-dedupe",$.semantic===!0?"semantic":"keyword",$.modelRef??"",$.limit??"",J,X,j.map((N)=>N.id).join(","),O.map((N)=>N.id).join(",")].join("\x00"),20),budgets:{max_tokens:J,estimated_tokens:0,max_items:X,items_included:j.length,items_available:Y.available,items_truncated:Math.max(0,Y.available-j.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:Y.redactions,reminders:hP(U)},citations:O,evidence:j,duplicate_candidates:B,outline:V,warnings:Y.warnings,message:`${j.length} bounded evidence item(s), estimated under ${J} token(s)`};return tB(L),pP(L)}import{randomUUID as bV}from"crypto";import{createHash as oP,randomUUID as tP}from"crypto";import{existsSync as aP,readFileSync as sP}from"fs";import{hostname as J3}from"os";import{fileURLToPath as W3}from"url";import{extname as eP,relative as X3,resolve as sB,sep as $C}from"path";var wX=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"],h4=2,x4=1,UJ={sources:["id"],wiki_pages:["id"],source_revisions:["id"],chunks:["id"],chunk_embeddings:["id"],wiki_backlinks:["from_page_id","to_page_id"],citations:["id"],knowledge_indexes:["id"],runs:["id"],run_events:["id"],provider_usage:["id"],redaction_findings:["id"],storage_objects:["id"],audit_events:["id"],approval_gates:["id"],vector_index_entries:["id"],reindex_queue:["id"],knowledge_machines:["machine_id"],knowledge_sync_snapshots:["id"],knowledge_sync_changes:["id"],knowledge_sync_conflicts:["id"],knowledge_sync_table_clocks:["table_name","machine_id"],knowledge_sync_imports:["bundle_id"]},JJ=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function v6($=new Date){return $.toISOString()}function DQ($){return`${$}_${Date.now().toString(36)}_${tP().slice(0,8)}`}function G3($){let _=$?.trim();if(_)return _;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??J3()}function M2($){if(Array.isArray($))return`[${$.map(M2).join(",")}]`;if($&&typeof $==="object"){let _=$;return`{${Object.keys(_).sort().map((U)=>`${JSON.stringify(U)}:${M2(_[U])}`).join(",")}}`}return JSON.stringify($)}function eU($){return`sha256:${oP("sha256").update($).digest("hex")}`}function gX($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function fX($,_){try{return JSON.parse($)}catch{return _}}function x_($){return`"${$.replace(/"/g,'""')}"`}function _C($){if($===void 0||$===null)return null;if(typeof $==="string"||typeof $==="number"||typeof $==="bigint"||typeof $==="boolean")return $;if($ instanceof Date)return $.toISOString();if(Buffer.isBuffer($)||$ instanceof Uint8Array)return $;if(typeof $==="object")return JSON.stringify($);return String($)}function Q3($,_){return _.filter((U)=>o_($,U))}function o_($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(_);return Boolean(U)}function UC($,_){let U=$.query(`PRAGMA table_info(${x_(_)})`).all();return new Set(U.map((W)=>W.name))}function JC($,_,U){let W=UC($,_);return U.filter((J)=>W.has(J))}function Y3($){if(!$||$.length===0)return[...wX];let _=new Set(wX),U=$.map((J)=>J.trim()).filter(Boolean),W=U.filter((J)=>!_.has(J));if(W.length>0)throw Error(`Unknown knowledge sync table(s): ${W.join(", ")}`);return U}function S0($,_){return UJ[$].map((W)=>`${W}=${JSON.stringify(_[W]??null)}`).join("&")}var WC=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function $J($,_=0){if(_>8)return"[truncated-depth]";if(typeof $==="string")return $.length>4000?`${$.slice(0,4000)}...[truncated]`:$;if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.slice(0,50).map((W)=>$J(W,_+1));let U={};for(let[W,J]of Object.entries($)){if(WC.has(W.toLowerCase()))continue;U[W]=$J(J,_+1)}return U}function sU($){if(!$)return null;return $J($)}function zQ($){return eU(M2($))}function XC($,_){let U={};for(let[W,J]of Object.entries($))if(W==="artifact_uri"&&typeof J==="string"&&_.has(J))U[W]=`artifact:${_.get(J)}`;else U[W]=J;return U}function T0($,_=new Map){return zQ(XC($,_))}function j3($,_){if(!o_($,_))return[];return $.query(`SELECT * FROM ${x_(_)} ORDER BY rowid ASC`).all()}function kX($,_,U=new Map){return zQ(_.map((W)=>({key:S0($,W),hash:T0(W,U)})).sort((W,J)=>W.key.localeCompare(J.key)))}function _J($,_,U){return $.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get(_,U)??null}function GC($){if(!o_($,"knowledge_sync_table_clocks"))return[];return $.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function PX($,_){let U=_.now??v6(),J=_J($,_.table,_.machineId)?.created_at??U;$.query(` INSERT INTO knowledge_sync_table_clocks ( table_name, machine_id, logical_clock, high_water_hash, high_water_bundle_id, origin_machine_id, updated_by_machine_id, last_applied_at, metadata_json, @@ -778,17 +778,17 @@ ${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:$.config, last_applied_at = excluded.last_applied_at, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `).run($.table,$.machineId,$.logicalClock,$.highWaterHash,$.highWaterBundleId??null,$.originMachineId??$.machineId,$.updatedByMachineId??$.machineId,$.lastAppliedAt??U,JSON.stringify($.metadata??{}),D,U);let j=ZU(_,$.table,$.machineId);if(!j)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return j}function SF(_,$){let U=ZU(_,$.table,$.machineId),J=U?.high_water_hash===$.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,D=$.record?JJ(_,{table:$.table,machineId:$.machineId,logicalClock:J,highWaterHash:$.highWaterHash,highWaterBundleId:null,originMachineId:U?.origin_machine_id??$.machineId,updatedByMachineId:$.machineId,lastAppliedAt:$.now,metadata:{source:"export",row_count:$.rowCount},now:$.now}):{table_name:$.table,machine_id:$.machineId,logical_clock:J,high_water_hash:$.highWaterHash,high_water_bundle_id:U?.high_water_bundle_id??null,origin_machine_id:U?.origin_machine_id??$.machineId,updated_by_machine_id:$.machineId,last_applied_at:$.now,metadata_json:"{}",created_at:U?.created_at??$.now,updated_at:$.now};return{table:$.table,machine_id:$.machineId,logical_clock:D.logical_clock,high_water_hash:$.highWaterHash,high_water_bundle_id:D.high_water_bundle_id,row_count:$.rowCount,updated_at:D.updated_at}}function fF(_,$,U,J,D){if($.high_water_bundle_id=U,!J)return;JJ(_,{table:$.table,machineId:$.machine_id,logicalClock:$.logical_clock,highWaterHash:$.high_water_hash,highWaterBundleId:U,originMachineId:$.machine_id,updatedByMachineId:$.machine_id,lastAppliedAt:D,metadata:{source:"export",row_count:$.row_count},now:D})}function rq(_,$){return _.table_clocks?.find((U)=>U.table===$)??null}function TF(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function CF(_,$,U){if(U.length===0)return 0;let J=MF(_,$,Object.keys(U[0]));if(J.length===0)return 0;let D=vU[$],j=J.map(R$).join(", "),W=J.map(()=>"?").join(", "),G=D.map(R$).join(", "),X=J.filter((Q)=>!D.includes(Q)),N=D[0],z=X.length>0?X.map((Q)=>`${R$(Q)} = excluded.${R$(Q)}`).join(", "):`${R$(N)} = excluded.${R$(N)}`,L=_.query(`INSERT INTO ${R$($)} (${j}) VALUES (${W}) - ON CONFLICT (${G}) DO UPDATE SET ${z}`);return _.transaction((Q)=>{for(let q of Q)L.run(...J.map((g)=>IF(q[g])))})(U),U.length}function uq(_,$){let U=vU[_],J=[],D=$;for(let j=0;j=0?X.slice(0,L):X;try{J.push(JSON.parse(E))}catch{return null}D=L>=0&&z?X.slice(L+1):""}return D.length===0?J:null}function nq(_){return vU[_].map(($)=>`${R$($)} = ?`).join(" AND ")}function ZF(_,$,U){if(!P$(_,"knowledge_sync_changes"))return new Map;let J=_.query(`SELECT entity_id, next_hash + `).run(_.table,_.machineId,_.logicalClock,_.highWaterHash,_.highWaterBundleId??null,_.originMachineId??_.machineId,_.updatedByMachineId??_.machineId,_.lastAppliedAt??U,JSON.stringify(_.metadata??{}),J,U);let X=_J($,_.table,_.machineId);if(!X)throw Error(`Failed to record sync clock for ${_.table}:${_.machineId}`);return X}function QC($,_){let U=_J($,_.table,_.machineId),W=U?.high_water_hash===_.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,J=_.record?PX($,{table:_.table,machineId:_.machineId,logicalClock:W,highWaterHash:_.highWaterHash,highWaterBundleId:null,originMachineId:U?.origin_machine_id??_.machineId,updatedByMachineId:_.machineId,lastAppliedAt:_.now,metadata:{source:"export",row_count:_.rowCount},now:_.now}):{table_name:_.table,machine_id:_.machineId,logical_clock:W,high_water_hash:_.highWaterHash,high_water_bundle_id:U?.high_water_bundle_id??null,origin_machine_id:U?.origin_machine_id??_.machineId,updated_by_machine_id:_.machineId,last_applied_at:_.now,metadata_json:"{}",created_at:U?.created_at??_.now,updated_at:_.now};return{table:_.table,machine_id:_.machineId,logical_clock:J.logical_clock,high_water_hash:_.highWaterHash,high_water_bundle_id:J.high_water_bundle_id,row_count:_.rowCount,updated_at:J.updated_at}}function YC($,_,U,W,J){if(_.high_water_bundle_id=U,!W)return;PX($,{table:_.table,machineId:_.machine_id,logicalClock:_.logical_clock,highWaterHash:_.high_water_hash,highWaterBundleId:U,originMachineId:_.machine_id,updatedByMachineId:_.machine_id,lastAppliedAt:J,metadata:{source:"export",row_count:_.row_count},now:J})}function D3($,_){return $.table_clocks?.find((U)=>U.table===_)??null}function jC($,_){if(!$||!_)return!1;return _.logical_clock<$.logical_clock}function DC($,_,U){if(U.length===0)return 0;let W=JC($,_,Object.keys(U[0]));if(W.length===0)return 0;let J=UJ[_],X=W.map(x_).join(", "),G=W.map(()=>"?").join(", "),Q=J.map(x_).join(", "),Y=W.filter((L)=>!J.includes(L)),j=J[0],O=Y.length>0?Y.map((L)=>`${x_(L)} = excluded.${x_(L)}`).join(", "):`${x_(j)} = excluded.${x_(j)}`,B=$.query(`INSERT INTO ${x_(_)} (${X}) VALUES (${G}) + ON CONFLICT (${Q}) DO UPDATE SET ${O}`);return $.transaction((L)=>{for(let N of L)B.run(...W.map((H)=>_C(N[H])))})(U),U.length}function z3($,_){let U=UJ[$],W=[],J=_;for(let X=0;X=0?Y.slice(0,B):Y;try{W.push(JSON.parse(V))}catch{return null}J=B>=0&&O?Y.slice(B+1):""}return J.length===0?W:null}function q3($){return UJ[$].map((_)=>`${x_(_)} = ?`).join(" AND ")}function zC($,_,U){if(!o_($,"knowledge_sync_changes"))return new Map;let W=$.query(`SELECT entity_id, next_hash FROM knowledge_sync_changes WHERE origin_machine_id = ? AND entity_kind = ? - ORDER BY created_at ASC, id ASC`).all(U,$),D=new Map;for(let j of J)D.set(j.entity_id,j.next_hash);return D}function vF(_,$){if(P$(_,"chunks_fts"))_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run($);if(P$(_,"chunk_embeddings"))_.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run($);if(P$(_,"vector_index_entries"))_.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run($);if(P$(_,"citations"))_.query("DELETE FROM citations WHERE chunk_id = ?").run($)}function yF(_,$,U){let J=uq($,U);if(!J)return!1;let D=nq($),j=_.query(`SELECT * FROM ${R$($)} WHERE ${D} LIMIT 1`).get(...J);if(!j)return!1;if($==="chunks"&&typeof j.id==="string")vF(_,j.id);return _.query(`DELETE FROM ${R$($)} WHERE ${D}`).run(...J),!0}function hF(_,$){if(!P$(_,"chunks_fts"))return;for(let U of $){let J=typeof U.id==="string"?U.id:null,D=typeof U.text==="string"?U.text:null;if(!J||D===null)continue;let j="",W="",G=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(G){let X=_.query(`SELECT s.title, s.uri + ORDER BY created_at ASC, id ASC`).all(U,_),J=new Map;for(let X of W)J.set(X.entity_id,X.next_hash);return J}function qC($,_){if(o_($,"chunks_fts"))$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(_);if(o_($,"chunk_embeddings"))$.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run(_);if(o_($,"vector_index_entries"))$.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run(_);if(o_($,"citations"))$.query("DELETE FROM citations WHERE chunk_id = ?").run(_)}function OC($,_,U){let W=z3(_,U);if(!W)return!1;let J=q3(_),X=$.query(`SELECT * FROM ${x_(_)} WHERE ${J} LIMIT 1`).get(...W);if(!X)return!1;if(_==="chunks"&&typeof X.id==="string")qC($,X.id);return $.query(`DELETE FROM ${x_(_)} WHERE ${J}`).run(...W),!0}function LC($,_){if(!o_($,"chunks_fts"))return;for(let U of _){let W=typeof U.id==="string"?U.id:null,J=typeof U.text==="string"?U.text:null;if(!W||J===null)continue;let X="",G="",Q=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(Q){let Y=$.query(`SELECT s.title, s.uri FROM source_revisions sr JOIN sources s ON s.id = sr.source_id WHERE sr.id = ? - LIMIT 1`).get(G);j=X?.title??"",W=X?.uri??""}if(!W&&typeof U.metadata_json==="string"){let X=DJ(U.metadata_json,{});W=typeof X.source_uri==="string"?X.source_uri:""}_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(J),_.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(J,D,j,W)}}function xF(_,$,U){if($==="chunks")hF(_,U)}function rF(_,$){let U=Zq(_,$);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${KF}`)}function uF(_,$){let U=DJ(_.metadata_json,{});if(typeof U.key==="string")return U.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let J=Cq(_.artifact_uri),D=Pq($),j=Pq(J);if(!rF(D,j))return null;let W=Zq(D,j).replace(/\\/g,"/");return W?j6(W):null}catch{return null}}var nF=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function mF(_,$){let U=_?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return $?nF.has(bF($).toLowerCase()):!1}function m4(_){let $=new Map;for(let U of _)if(U.key)$.set(U.artifact_uri,U.key);return $}function e6(_){return VX({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function jJ(_){return _.key??_.artifact_uri}function dF(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function mq(_){return Object.fromEntries($J.map(($)=>[$,P$(_,$)?sD(_,$):0]))}function cF(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes + LIMIT 1`).get(Q);X=Y?.title??"",G=Y?.uri??""}if(!G&&typeof U.metadata_json==="string"){let Y=fX(U.metadata_json,{});G=typeof Y.source_uri==="string"?Y.source_uri:""}$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(W),$.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(W,J,X,G)}}function NC($,_,U){if(_==="chunks")LC($,U)}function BC($,_){let U=X3($,_);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${$C}`)}function HC($,_){let U=fX($.metadata_json,{});if(typeof U.key==="string")return U.key;if(!$.artifact_uri.startsWith("file://"))return null;try{let W=W3($.artifact_uri),J=sB(_),X=sB(W);if(!BC(J,X))return null;let G=X3(J,X).replace(/\\/g,"/");return G?S6(G):null}catch{return null}}var VC=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function RC($,_){let U=$?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return _?VC.has(eP(_).toLowerCase()):!1}function Z0($){let _=new Map;for(let U of $)if(U.key)_.set(U.artifact_uri,U.key);return _}function v4($){return zQ({key:$.key,kind:$.kind,hash:$.hash,size_bytes:$.size_bytes})}function CX($){return $.key??$.artifact_uri}function AC($,_){return $.artifact_uri.startsWith("s3://")&&_.artifact_store.type==="s3"&&$.artifact_uri.startsWith(_.artifact_store.uri_prefix)}function O3($){return Object.fromEntries(wX.map((_)=>[_,o_($,_)?gX($,_):0]))}function bC($){return $.query(`SELECT artifact_uri, kind, hash, size_bytes FROM storage_objects - ORDER BY artifact_uri ASC`).all()}function iF(_,$){return{machine_id:_.machine_id,hostname:_.hostname,platform:_.platform,user_label:_.user,workspace_home:_.workspace_path,tailscale_dns:_.tailscale.dns_name,tailscale_ips_json:JSON.stringify(_.tailscale.ips),ssh_target:_.ssh.command_target,last_seen_at:_.local||_.tailscale.online===!0||_.heartbeat_status==="online"?$:_.last_heartbeat_at,capabilities_json:JSON.stringify({route_hints:_.route_hints,heartbeat_status:_.heartbeat_status,manifest_declared:_.manifest_declared}),metadata_json:JSON.stringify({..._.metadata,source:_.source,tags:_.tags,tailscale:_.tailscale,ssh:_.ssh}),created_at:$,updated_at:$}}function gX(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function lF(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function s6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function _J(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function Q1(_){if(Array.isArray(_))return`[${_.map(Q1).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${Q1(U)}`).join(",")}}`;return JSON.stringify(_)}function kq(_){let{recorded_at:$,...U}=_;return U}function h_(_){return typeof _==="string"&&_.length>0?_:null}function oF(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function wq(_){return typeof _==="boolean"?_:null}function pF(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function dq(_){let $=s6(_),U=h_($.observed_at),J=h_($.source_authority);if(!U||!J)return null;return{observed_at:U,verified_at:h_($.verified_at),expires_at:h_($.expires_at),ttl_ms:oF($.ttl_ms),source_authority:J,confidence:h_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:pF($.reasons)}}function cq(_,$){if(!_||_.stale)return!1;if(!_.expires_at)return!0;let U=Date.parse(_.expires_at),J=Date.parse($);return Number.isNaN(U)||Number.isNaN(J)||U>J}function tF(_,$){return h_($.source)===_.source&&h_($.target)===_.target&&h_($.route)===_.route&&h_($.target_kind)===_.targetKind&&h_($.confidence)===_.confidence}function aF(_,$){return h_($.source)===_.source&&h_($.requested_machine_id)===_.requested_machine_id&&h_($.machine_id)===_.machine_id&&h_($.project_id)===_.project_id&&h_($.repo_name)===_.repo_name&&h_($.project_root)===_.project_root&&h_($.project_root_source)===_.project_root_source&&h_($.workspace_root)===_.workspace_root&&h_($.workspace_root_source)===_.workspace_root_source&&h_($.open_files_root)===_.open_files_root&&h_($.open_files_root_source)===_.open_files_root_source&&h_($.trust_status)===_.trust_status&&h_($.auth_status)===_.auth_status&&wq($.current)===_.current&&wq($.primary)===_.primary}function eF(_,$,U){if(!_)return null;let J=dq($.cacheability);if(J&&cq(J,U)&&tF(_,$))return{..._,cacheability:J};return _}function sF(_,$,U){if(!_)return null;let J=dq($.cacheability);if(J&&cq(J,U)&&aF(_,$))return{..._,cacheability:J};return _}function _M(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??Tq()}function $M(_,$){let U=new Set,J=Array.isArray($.sources)?$.sources:[];for(let D of J)if(typeof D==="string")U.add(D);if(typeof $.source==="string")U.add($.source);if(_.route?.source)U.add(_.route.source);if(_.workspace?.source)U.add(_.workspace.source);return U.add("knowledge"),[...U].sort()}function Sq(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function UM(_,$,U){let J=s6($.resolver_evidence),D=_.route?_J({source:_.route.source,target:_.route.target,route:_.route.route,target_kind:_.route.targetKind,confidence:_.route.confidence,adapter:_.route.adapter,evidence:_.route.evidence,cacheability:_.route.cacheability,warnings:_.route.warnings}):s6(J.route),j=_.workspace?_J({source:_.workspace.source,requested_machine_id:_.workspace.requested_machine_id,machine_id:_.workspace.machine_id,project_id:_.workspace.project_id,repo_name:_.workspace.repo_name,project_root:_.workspace.project_root,project_root_source:_.workspace.project_root_source,workspace_root:_.workspace.workspace_root,workspace_root_source:_.workspace.workspace_root_source,open_files_root:_.workspace.open_files_root,open_files_root_source:_.workspace.open_files_root_source,trust_status:_.workspace.trust_status,auth_status:_.workspace.auth_status,current:_.workspace.current,primary:_.workspace.primary,diagnostics:_.workspace.diagnostics,repair_hints:_.workspace.repair_hints,evidence:_.workspace.evidence,cacheability:_.workspace.cacheability,warnings:_.workspace.warnings}):s6(J.workspace);return _J({...J,recorded_at:U,route:D,workspace:j})}function iq(_,$){o(_);let U=x(_);try{let J=_M($),D=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(J)??null,j=G6($.now),W=gX(D?.capabilities_json),G=gX(D?.metadata_json),X=s6(W.resolver),N=s6(G.resolver_evidence),z=s6(N.route),L=s6(N.workspace),E=eF($.route?.source==="registry"?null:$.route??null,z,j),Q=sF($.workspace?.source==="registry"?null:$.workspace??null,L,j),q={...$,route:E,workspace:Q},g={...W,resolver:_J({...X,route_source:E?.source??X.route_source,route_kind:E?.route??X.route_kind,route_target_kind:E?.targetKind??X.route_target_kind,route_confidence:E?.confidence??X.route_confidence,route_cacheable:E?.cacheability?.cacheable??X.route_cacheable,route_stale:E?.cacheability?.stale??X.route_stale,route_expires_at:E?.cacheability?.expires_at??X.route_expires_at,route_observed_at:E?.cacheability?.observed_at??X.route_observed_at,route_source_authority:E?.cacheability?.source_authority??X.route_source_authority,workspace_source:Q?.source??X.workspace_source,project_root_source:Q?.project_root_source??X.project_root_source,workspace_root_source:Q?.workspace_root_source??X.workspace_root_source,open_files_root_source:Q?.open_files_root_source??X.open_files_root_source,trust_status:Q?.trust_status??X.trust_status,auth_status:Q?.auth_status??X.auth_status,workspace_cacheable:Q?.cacheability?.cacheable??X.workspace_cacheable,workspace_stale:Q?.cacheability?.stale??X.workspace_stale,workspace_expires_at:Q?.cacheability?.expires_at??X.workspace_expires_at,workspace_observed_at:Q?.cacheability?.observed_at??X.workspace_observed_at,workspace_source_authority:Q?.cacheability?.source_authority??X.workspace_source_authority}),route_fallback:Boolean(E?.target??D?.ssh_target),workspace_fallback:Boolean(Q?.project_root??D?.workspace_home)},B=UM(q,G,j);if(D){let R=N;if(D.workspace_home===(Q?.project_root??D.workspace_home??null)&&D.tailscale_dns===Sq(D,E)&&D.ssh_target===(E?.target??D.ssh_target??null)&&Q1(gX(D.capabilities_json))===Q1(g)&&Q1(kq(R))===Q1(kq(B)))return D}let H={machine_id:J,hostname:D?.hostname??null,platform:D?.platform??null,user_label:D?.user_label??null,workspace_home:Q?.project_root??D?.workspace_home??null,tailscale_dns:Sq(D,E),tailscale_ips_json:JSON.stringify(lF(D?.tailscale_ips_json)),ssh_target:E?.target??D?.ssh_target??null,last_seen_at:j,capabilities_json:JSON.stringify(g),metadata_json:JSON.stringify({...G,source:"knowledge",sources:$M(q,G),resolver_evidence:B}),created_at:D?.created_at??j,updated_at:j};return lq(U,H),H}finally{U.close()}}function lq(_,$){_.query(` + ORDER BY artifact_uri ASC`).all()}function FC($,_){return{machine_id:$.machine_id,hostname:$.hostname,platform:$.platform,user_label:$.user,workspace_home:$.workspace_path,tailscale_dns:$.tailscale.dns_name,tailscale_ips_json:JSON.stringify($.tailscale.ips),ssh_target:$.ssh.command_target,last_seen_at:$.local||$.tailscale.online===!0||$.heartbeat_status==="online"?_:$.last_heartbeat_at,capabilities_json:JSON.stringify({route_hints:$.route_hints,heartbeat_status:$.heartbeat_status,manifest_declared:$.manifest_declared}),metadata_json:JSON.stringify({...$.metadata,source:$.source,tags:$.tags,tailscale:$.tailscale,ssh:$.ssh}),created_at:_,updated_at:_}}function XQ($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function EC($){if(!$)return[];try{let _=JSON.parse($);return Array.isArray(_)?_:[]}catch{return[]}}function y4($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function IX($){return Object.fromEntries(Object.entries($).filter(([,_])=>_!==void 0))}function K2($){if(Array.isArray($))return`[${$.map(K2).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).filter(([,_])=>_!==void 0).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${K2(U)}`).join(",")}}`;return JSON.stringify($)}function eB($){let{recorded_at:_,...U}=$;return U}function $_($){return typeof $==="string"&&$.length>0?$:null}function KC($){return typeof $==="number"&&Number.isFinite($)?$:null}function $3($){return typeof $==="boolean"?$:null}function MC($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function L3($){let _=y4($),U=$_(_.observed_at),W=$_(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:$_(_.verified_at),expires_at:$_(_.expires_at),ttl_ms:KC(_.ttl_ms),source_authority:W,confidence:$_(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:MC(_.reasons)}}function N3($,_){if(!$||$.stale)return!1;if(!$.expires_at)return!0;let U=Date.parse($.expires_at),W=Date.parse(_);return Number.isNaN(U)||Number.isNaN(W)||U>W}function gC($,_){return $_(_.source)===$.source&&$_(_.target)===$.target&&$_(_.route)===$.route&&$_(_.target_kind)===$.targetKind&&$_(_.confidence)===$.confidence}function IC($,_){return $_(_.source)===$.source&&$_(_.requested_machine_id)===$.requested_machine_id&&$_(_.machine_id)===$.machine_id&&$_(_.project_id)===$.project_id&&$_(_.repo_name)===$.repo_name&&$_(_.project_root)===$.project_root&&$_(_.project_root_source)===$.project_root_source&&$_(_.workspace_root)===$.workspace_root&&$_(_.workspace_root_source)===$.workspace_root_source&&$_(_.open_files_root)===$.open_files_root&&$_(_.open_files_root_source)===$.open_files_root_source&&$_(_.trust_status)===$.trust_status&&$_(_.auth_status)===$.auth_status&&$3(_.current)===$.current&&$3(_.primary)===$.primary}function wC($,_,U){if(!$)return null;let W=L3(_.cacheability);if(W&&N3(W,U)&&gC($,_))return{...$,cacheability:W};return $}function kC($,_,U){if(!$)return null;let W=L3(_.cacheability);if(W&&N3(W,U)&&IC($,_))return{...$,cacheability:W};return $}function fC($){return $.workspace?.machine_id??$.workspace?.requested_machine_id??$.machineId??$.route?.target??J3()}function PC($,_){let U=new Set,W=Array.isArray(_.sources)?_.sources:[];for(let J of W)if(typeof J==="string")U.add(J);if(typeof _.source==="string")U.add(_.source);if($.route?.source)U.add($.route.source);if($.workspace?.source)U.add($.workspace.source);return U.add("knowledge"),[...U].sort()}function _3($,_){if(_?.target&&(_.route==="tailscale"||_.targetKind==="tailscale"))return _.target;return $?.tailscale_dns??null}function CC($,_,U){let W=y4(_.resolver_evidence),J=$.route?IX({source:$.route.source,target:$.route.target,route:$.route.route,target_kind:$.route.targetKind,confidence:$.route.confidence,adapter:$.route.adapter,evidence:$.route.evidence,cacheability:$.route.cacheability,warnings:$.route.warnings}):y4(W.route),X=$.workspace?IX({source:$.workspace.source,requested_machine_id:$.workspace.requested_machine_id,machine_id:$.workspace.machine_id,project_id:$.workspace.project_id,repo_name:$.workspace.repo_name,project_root:$.workspace.project_root,project_root_source:$.workspace.project_root_source,workspace_root:$.workspace.workspace_root,workspace_root_source:$.workspace.workspace_root_source,open_files_root:$.workspace.open_files_root,open_files_root_source:$.workspace.open_files_root_source,trust_status:$.workspace.trust_status,auth_status:$.workspace.auth_status,current:$.workspace.current,primary:$.workspace.primary,diagnostics:$.workspace.diagnostics,repair_hints:$.workspace.repair_hints,evidence:$.workspace.evidence,cacheability:$.workspace.cacheability,warnings:$.workspace.warnings}):y4(W.workspace);return IX({...W,recorded_at:U,route:J,workspace:X})}function B3($,_){$$($);let U=d($);try{let W=fC(_),J=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(W)??null,X=v6(_.now),G=XQ(J?.capabilities_json),Q=XQ(J?.metadata_json),Y=y4(G.resolver),j=y4(Q.resolver_evidence),O=y4(j.route),B=y4(j.workspace),V=wC(_.route?.source==="registry"?null:_.route??null,O,X),L=kC(_.workspace?.source==="registry"?null:_.workspace??null,B,X),N={..._,route:V,workspace:L},H={...G,resolver:IX({...Y,route_source:V?.source??Y.route_source,route_kind:V?.route??Y.route_kind,route_target_kind:V?.targetKind??Y.route_target_kind,route_confidence:V?.confidence??Y.route_confidence,route_cacheable:V?.cacheability?.cacheable??Y.route_cacheable,route_stale:V?.cacheability?.stale??Y.route_stale,route_expires_at:V?.cacheability?.expires_at??Y.route_expires_at,route_observed_at:V?.cacheability?.observed_at??Y.route_observed_at,route_source_authority:V?.cacheability?.source_authority??Y.route_source_authority,workspace_source:L?.source??Y.workspace_source,project_root_source:L?.project_root_source??Y.project_root_source,workspace_root_source:L?.workspace_root_source??Y.workspace_root_source,open_files_root_source:L?.open_files_root_source??Y.open_files_root_source,trust_status:L?.trust_status??Y.trust_status,auth_status:L?.auth_status??Y.auth_status,workspace_cacheable:L?.cacheability?.cacheable??Y.workspace_cacheable,workspace_stale:L?.cacheability?.stale??Y.workspace_stale,workspace_expires_at:L?.cacheability?.expires_at??Y.workspace_expires_at,workspace_observed_at:L?.cacheability?.observed_at??Y.workspace_observed_at,workspace_source_authority:L?.cacheability?.source_authority??Y.workspace_source_authority}),route_fallback:Boolean(V?.target??J?.ssh_target),workspace_fallback:Boolean(L?.project_root??J?.workspace_home)},R=CC(N,Q,X);if(J){let A=j;if(J.workspace_home===(L?.project_root??J.workspace_home??null)&&J.tailscale_dns===_3(J,V)&&J.ssh_target===(V?.target??J.ssh_target??null)&&K2(XQ(J.capabilities_json))===K2(H)&&K2(eB(A))===K2(eB(R)))return J}let b={machine_id:W,hostname:J?.hostname??null,platform:J?.platform??null,user_label:J?.user_label??null,workspace_home:L?.project_root??J?.workspace_home??null,tailscale_dns:_3(J,V),tailscale_ips_json:JSON.stringify(EC(J?.tailscale_ips_json)),ssh_target:V?.target??J?.ssh_target??null,last_seen_at:X,capabilities_json:JSON.stringify(H),metadata_json:JSON.stringify({...Q,source:"knowledge",sources:PC(N,Q),resolver_evidence:R}),created_at:J?.created_at??X,updated_at:X};return H3(U,b),b}finally{U.close()}}function H3($,_){$.query(` INSERT INTO knowledge_machines ( machine_id, hostname, platform, user_label, workspace_home, tailscale_dns, tailscale_ips_json, ssh_target, last_seen_at, capabilities_json, @@ -806,15 +806,15 @@ ${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:$.config, capabilities_json = excluded.capabilities_json, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `).run($.machine_id,$.hostname,$.platform,$.user_label,$.workspace_home,$.tailscale_dns,$.tailscale_ips_json,$.ssh_target,$.last_seen_at,$.capabilities_json,$.metadata_json,$.created_at,$.updated_at)}function DM(_,$,U=G6()){for(let J of $.machines)lq(_,iF(J,U));return $.machines.length}function bX(_){o(_);let $=x(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function hU(_){o(_.dbPath);let $=x(_.dbPath),U=[],J=G6(_.now),D=vq(_.machineId),j=_.recordClocks!==!1;try{let W=yq($,hq(_.tables)),X=$.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json + `).run(_.machine_id,_.hostname,_.platform,_.user_label,_.workspace_home,_.tailscale_dns,_.tailscale_ips_json,_.ssh_target,_.last_seen_at,_.capabilities_json,_.metadata_json,_.created_at,_.updated_at)}function TC($,_,U=v6()){for(let W of _.machines)H3($,FC(W,U));return _.machines.length}function qQ($){$$($);let _=d($);try{return _.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{_.close()}}function WJ($){$$($.dbPath);let _=d($.dbPath),U=[],W=v6($.now),J=G3($.machineId),X=$.recordClocks!==!1;try{let G=Q3(_,Y3($.tables)),Y=_.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all().map((q)=>{let g=uF(q,_.storage.local_layout.directories.artifacts),B={...q,key:g};if(_.includeArtifactContent!==!1&&g&&q.artifact_uri.startsWith("file://"))try{let H=Cq(q.artifact_uri);if(AF(H))if(!mF(q.content_type,g))U.push(`artifact_content_not_embedded_binary:${q.id}`);else{let R=VF(H,"utf8"),K=C_(R);if(K!==R)U.push(`artifact_content_redacted:${q.id}`);B.content_base64=Buffer.from(K,"utf8").toString("base64"),B.hash=TU(K),B.size_bytes=Buffer.byteLength(K)}else U.push(`artifact_missing:${q.artifact_uri}`)}catch(H){U.push(`artifact_read_failed:${q.artifact_uri}:${H instanceof Error?H.message:String(H)}`)}else if(_.includeArtifactContent!==!1&&q.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${q.artifact_uri}`);return B=C_(B),B}),N=m4(X),z=W.filter((q)=>!yU.has(q)).map((q)=>({table:q,primary_keys:vU[q],rows:xq($,q).map((g)=>C_(g))})),L=z.map((q)=>SF($,{table:q.table,machineId:D,highWaterHash:UJ(q.table,q.rows,N),rowCount:q.rows.length,record:j,now:J})),E=TU(q1({source:{scope:_.scope,workspace_home:C_(_.workspaceHome),sqlite_schema_version:p_($),machine_id:D,artifact_root_uri:C_(_.storage.artifact_store.uri_prefix)},tables:z.map((q)=>({table:q.table,primary_keys:q.primary_keys,rows:q.rows.map((g)=>({key:n4(q.table,g),hash:u4(g,N)})).sort((g,B)=>g.key.localeCompare(B.key))})),table_clocks:L.map((q)=>({table:q.table,machine_id:q.machine_id,logical_clock:q.logical_clock,high_water_hash:q.high_water_hash,row_count:q.row_count})),artifacts:X.map((q)=>({identity:jJ(q),fingerprint:e6(q)})).sort((q,g)=>q.identity.localeCompare(g.identity))})),Q=`syncbundle_${E.replace("sha256:","").slice(0,32)}`;for(let q of L)fF($,q,Q,j,J);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:_4,min_protocol_version:$4,bundle_id:Q,content_hash:E,generated_at:J,source:{scope:_.scope,workspace_home:C_(_.workspaceHome),sqlite_schema_version:p_($),machine_id:D,artifact_root_uri:C_(_.storage.artifact_store.uri_prefix)},table_clocks:L,tables:z,artifacts:X,warnings:C_(U),message:`${z.reduce((q,g)=>q+g.rows.length,0)} row(s), ${X.length} artifact(s) exported`}}finally{$.close()}}function JM(_,$){let U=typeof _.protocol_version==="number"?_.protocol_version:null,J=typeof _.min_protocol_version==="number"?_.min_protocol_version:null;if(U===null||J===null||U<$4||J>_4)throw Error(`Unsupported ${$} protocol. Expected knowledge sync protocol v${_4} with min v${$4}.`)}function jM(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");JM(_,"knowledge sync bundle")}function KX(_,$){return _.tables.find((U)=>U.table===$)??null}function oq(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return TU(q1({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((U)=>({key:n4($.table,U),hash:u4(U,m4(_.artifacts))})).sort((U,J)=>U.key.localeCompare(J.key))})),artifacts:_.artifacts.map(($)=>({identity:jJ($),fingerprint:e6($)})).sort(($,U)=>$.identity.localeCompare(U.identity))}))}function WM(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${oq(_).replace("sha256:","").slice(0,32)}`}function GM(_,$){return new Map($.map((U)=>[n4(_,U),U]))}function XM(_){return new Map(_.artifacts.map(($)=>[jJ($),$]))}async function NM(_){let $=XM(_.targetBundle),U=new Map,J=[],D={source_artifacts:_.bundle.artifacts.length,target_artifacts:_.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let j of _.bundle.artifacts){let W=jJ(j),G=$.get(W);if(G&&e6(G)===e6(j)){if(G.artifact_uri)U.set(j.artifact_uri,G.artifact_uri);D.skipped+=1;continue}if(G&&e6(G)!==e6(j)){let q={entityKind:"storage_object",entityId:W,localMachineId:_.localMachineId,remoteMachineId:_.bundle.source.machine_id??"unknown",localHash:e6(G),remoteHash:e6(j),metadata:{direction:_.direction,target_artifact_uri:G.artifact_uri,source_artifact_uri:j.artifact_uri,local_artifact:CU(G),remote_artifact:CU(j)}};if(RX(_.db,q)){D.skipped+=1;continue}D.conflicts+=1,J.push(q);continue}let X=Boolean(j.key&&j.content_base64),N=dF(j,_.targetStorage);if(!X&&!N){D.missing_content+=1,_.warnings.push(`artifact_content_missing:${j.artifact_uri}`);continue}if(_.dryRun){D.copied+=1;continue}let z=j.artifact_uri;if(X&&j.key&&j.content_base64)z=(await _.targetStore.put({key:j.key,body:Buffer.from(j.content_base64,"base64"),content_type:j.content_type??void 0})).uri,U.set(j.artifact_uri,z);else if(N)U.set(j.artifact_uri,z);let L=DJ(j.metadata_json,{}),E=typeof L.artifact_modified_at==="string"?L.artifact_modified_at:void 0,Q={uri:z,key:j.key??L.key??j.artifact_uri,kind:j.kind,content_type:j.content_type??void 0,hash:j.hash??void 0,size_bytes:j.size_bytes??void 0,modified_at:E,metadata:{...L,synced_from_artifact_uri:j.artifact_uri,synced_from_machine_id:_.bundle.source.machine_id??void 0}};K6(_.db,[Q]),D.copied+=1}return{result:D,uriMap:U,conflicts:J}}function EX(_,$){let U={..._};if(typeof U.artifact_uri==="string"&&$.has(U.artifact_uri))U.artifact_uri=$.get(U.artifact_uri);return U}function OM(_,$){let U=G6();_.query(` + ORDER BY artifact_uri ASC`).all().map((N)=>{let H=HC(N,$.storage.local_layout.directories.artifacts),R={...N,key:H};if($.includeArtifactContent!==!1&&H&&N.artifact_uri.startsWith("file://"))try{let b=W3(N.artifact_uri);if(aP(b))if(!RC(N.content_type,H))U.push(`artifact_content_not_embedded_binary:${N.id}`);else{let A=sP(b,"utf8"),M=o$(A);if(M!==A)U.push(`artifact_content_redacted:${N.id}`);R.content_base64=Buffer.from(M,"utf8").toString("base64"),R.hash=eU(M),R.size_bytes=Buffer.byteLength(M)}else U.push(`artifact_missing:${N.artifact_uri}`)}catch(b){U.push(`artifact_read_failed:${N.artifact_uri}:${b instanceof Error?b.message:String(b)}`)}else if($.includeArtifactContent!==!1&&N.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${N.artifact_uri}`);return R=o$(R),R}),j=Z0(Y),O=G.filter((N)=>!JJ.has(N)).map((N)=>({table:N,primary_keys:UJ[N],rows:j3(_,N).map((H)=>o$(H))})),B=O.map((N)=>QC(_,{table:N.table,machineId:J,highWaterHash:kX(N.table,N.rows,j),rowCount:N.rows.length,record:X,now:W})),V=eU(M2({source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},tables:O.map((N)=>({table:N.table,primary_keys:N.primary_keys,rows:N.rows.map((H)=>({key:S0(N.table,H),hash:T0(H,j)})).sort((H,R)=>H.key.localeCompare(R.key))})),table_clocks:B.map((N)=>({table:N.table,machine_id:N.machine_id,logical_clock:N.logical_clock,high_water_hash:N.high_water_hash,row_count:N.row_count})),artifacts:Y.map((N)=>({identity:CX(N),fingerprint:v4(N)})).sort((N,H)=>N.identity.localeCompare(H.identity))})),L=`syncbundle_${V.replace("sha256:","").slice(0,32)}`;for(let N of B)YC(_,N,L,X,W);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:h4,min_protocol_version:x4,bundle_id:L,content_hash:V,generated_at:W,source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},table_clocks:B,tables:O,artifacts:Y,warnings:o$(U),message:`${O.reduce((N,H)=>N+H.rows.length,0)} row(s), ${Y.length} artifact(s) exported`}}finally{_.close()}}function SC($,_){let U=typeof $.protocol_version==="number"?$.protocol_version:null,W=typeof $.min_protocol_version==="number"?$.min_protocol_version:null;if(U===null||W===null||Uh4)throw Error(`Unsupported ${_} protocol. Expected knowledge sync protocol v${h4} with min v${x4}.`)}function ZC($){if(!$||$.format!=="knowledge-sync-bundle"||$.version!==1)throw Error("Invalid knowledge sync bundle.");SC($,"knowledge sync bundle")}function OQ($,_){return $.tables.find((U)=>U.table===_)??null}function V3($){if(typeof $.content_hash==="string"&&$.content_hash.length>0)return $.content_hash;return eU(M2({source:$.source,tables:$.tables.map((_)=>({table:_.table,rows:_.rows.map((U)=>({key:S0(_.table,U),hash:T0(U,Z0($.artifacts))})).sort((U,W)=>U.key.localeCompare(W.key))})),artifacts:$.artifacts.map((_)=>({identity:CX(_),fingerprint:v4(_)})).sort((_,U)=>_.identity.localeCompare(U.identity))}))}function vC($){if(typeof $.bundle_id==="string"&&$.bundle_id.length>0)return $.bundle_id;return`syncbundle_${V3($).replace("sha256:","").slice(0,32)}`}function yC($,_){return new Map(_.map((U)=>[S0($,U),U]))}function hC($){return new Map($.artifacts.map((_)=>[CX(_),_]))}async function xC($){let _=hC($.targetBundle),U=new Map,W=[],J={source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let X of $.bundle.artifacts){let G=CX(X),Q=_.get(G);if(Q&&v4(Q)===v4(X)){if(Q.artifact_uri)U.set(X.artifact_uri,Q.artifact_uri);J.skipped+=1;continue}if(Q&&v4(Q)!==v4(X)){let N={entityKind:"storage_object",entityId:G,localMachineId:$.localMachineId,remoteMachineId:$.bundle.source.machine_id??"unknown",localHash:v4(Q),remoteHash:v4(X),metadata:{direction:$.direction,target_artifact_uri:Q.artifact_uri,source_artifact_uri:X.artifact_uri,local_artifact:$J(Q),remote_artifact:$J(X)}};if(YQ($.db,N)){J.skipped+=1;continue}J.conflicts+=1,W.push(N);continue}let Y=Boolean(X.key&&X.content_base64),j=AC(X,$.targetStorage);if(!Y&&!j){J.missing_content+=1,$.warnings.push(`artifact_content_missing:${X.artifact_uri}`);continue}if($.dryRun){J.copied+=1;continue}let O=X.artifact_uri;if(Y&&X.key&&X.content_base64)O=(await $.targetStore.put({key:X.key,body:Buffer.from(X.content_base64,"base64"),content_type:X.content_type??void 0})).uri,U.set(X.artifact_uri,O);else if(j)U.set(X.artifact_uri,O);let B=fX(X.metadata_json,{}),V=typeof B.artifact_modified_at==="string"?B.artifact_modified_at:void 0,L={uri:O,key:X.key??B.key??X.artifact_uri,kind:X.kind,content_type:X.content_type??void 0,hash:X.hash??void 0,size_bytes:X.size_bytes??void 0,modified_at:V,metadata:{...B,synced_from_artifact_uri:X.artifact_uri,synced_from_machine_id:$.bundle.source.machine_id??void 0}};W4($.db,[L]),J.copied+=1}return{result:J,uriMap:U,conflicts:W}}function GQ($,_){let U={...$};if(typeof U.artifact_uri==="string"&&_.has(U.artifact_uri))U.artifact_uri=_.get(U.artifact_uri);return U}function mC($,_){let U=v6();$.query(` INSERT INTO knowledge_sync_changes ( id, origin_machine_id, updated_by_machine_id, entity_kind, entity_id, operation, base_hash, next_hash, source_ref, source_revision_id, artifact_uri, logical_clock, bundle_id, metadata_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(AX("syncchg"),$.sourceMachineId,$.localMachineId,$.entityKind,$.entityId,$.direction,null,$.nextHash,typeof $.row?.source_ref==="string"?$.row.source_ref:typeof $.row?.source_uri==="string"?$.row.source_uri:null,typeof $.row?.source_revision_id==="string"?$.row.source_revision_id:null,typeof $.row?.artifact_uri==="string"?$.row.artifact_uri:null,$.logicalClock,$.bundleId,JSON.stringify({source_machine_id:$.sourceMachineId,bundle_id:$.bundleId}),U)}function RX(_,$){let U=$.localHash??"",J=$.remoteHash??"";if(_.query(` + `).run(DQ("syncchg"),_.sourceMachineId,_.localMachineId,_.entityKind,_.entityId,_.direction,null,_.nextHash,typeof _.row?.source_ref==="string"?_.row.source_ref:typeof _.row?.source_uri==="string"?_.row.source_uri:null,typeof _.row?.source_revision_id==="string"?_.row.source_revision_id:null,typeof _.row?.artifact_uri==="string"?_.row.artifact_uri:null,_.logicalClock,_.bundleId,JSON.stringify({source_machine_id:_.sourceMachineId,bundle_id:_.bundleId}),U)}function YQ($,_){let U=_.localHash??"",W=_.remoteHash??"";if($.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -825,7 +825,7 @@ ${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:$.config, AND status IN ('resolved', 'ignored') AND resolved_at IS NOT NULL LIMIT 1 - `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,U,J))return!0;let j=_.query(` + `).get(_.entityKind,_.entityId,_.localMachineId,_.remoteMachineId,U,W))return!0;let X=$.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -836,7 +836,7 @@ ${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:$.config, AND status IN ('resolved', 'ignored') AND resolved_at IS NOT NULL LIMIT 1 - `).get($.entityKind,$.entityId,$.remoteMachineId,$.localMachineId,J,U);return Boolean(j)}function BX(_,$){if(_.query(` + `).get(_.entityKind,_.entityId,_.remoteMachineId,_.localMachineId,W,U);return Boolean(X)}function QQ($,_){if($.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -847,13 +847,13 @@ ${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:$.config, AND COALESCE(base_hash, '') = COALESCE(?, '') AND status = 'open' LIMIT 1 - `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null))return!1;let J=G6();return _.query(` + `).get(_.entityKind,_.entityId,_.localMachineId,_.remoteMachineId,_.localHash??null,_.remoteHash??null,_.baseHash??null))return!1;let W=v6();return $.query(` INSERT INTO knowledge_sync_conflicts ( id, entity_kind, entity_id, local_machine_id, remote_machine_id, local_hash, remote_hash, base_hash, status, resolution_strategy, proposed_patch_uri, approved_by, resolved_at, metadata_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(AX("syncconf"),$.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null,$.status??"open",$.resolutionStrategy??null,$.proposedPatchUri??null,$.approvedBy??null,$.resolvedAt??null,JSON.stringify($.metadata??{}),J),!0}function YM(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function zM(_,$){let U=$.now??G6();_.query(` + `).run(DQ("syncconf"),_.entityKind,_.entityId,_.localMachineId,_.remoteMachineId,_.localHash??null,_.remoteHash??null,_.baseHash??null,_.status??"open",_.resolutionStrategy??null,_.proposedPatchUri??null,_.approvedBy??null,_.resolvedAt??null,JSON.stringify(_.metadata??{}),W),!0}function uC($,_){return $.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get(_)??null}function dC($,_){let U=_.now??v6();$.query(` INSERT INTO knowledge_sync_imports ( bundle_id, source_machine_id, target_machine_id, direction, status, content_hash, table_clocks_json, tables_json, generated_at, applied_at, @@ -863,13 +863,13 @@ ${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:$.config, status = excluded.status, applied_at = excluded.applied_at, metadata_json = excluded.metadata_json - `).run($.bundleId,$.sourceMachineId,$.targetMachineId,$.direction,$.status,$.contentHash,JSON.stringify($.bundle.table_clocks??[]),JSON.stringify($.tableResults),$.bundle.generated_at,U,JSON.stringify({conflicts:$.conflicts,artifacts:$.artifacts,source_workspace_home:$.bundle.source.workspace_home}))}function QM(_){return{ok:!0,protocol_version:_4,min_protocol_version:$4,dry_run:!1,direction:_.direction,source:_.bundle.source,target:{scope:_.targetScope,workspace_home:_.targetWorkspaceHome,sqlite_schema_version:_.targetBundle.source.sqlite_schema_version,artifact_root_uri:_.targetStorage.artifact_store.uri_prefix},tables:_.bundle.tables.filter(($)=>!yU.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:KX(_.targetBundle,$.table)?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:$.rows.length,conflicts:0,stale_skipped:0})),artifacts:{source_artifacts:_.bundle.artifacts.length,target_artifacts:_.targetBundle.artifacts.length,copied:0,skipped:_.bundle.artifacts.length,conflicts:0,missing_content:0},conflicts_created:0,bundle_id:_.bundleId,replayed:!0,clocks:{advanced:0,stale_tables:0},warnings:[..._.warnings,`bundle_replay_skipped:${_.bundleId}`],message:`Skipped already-applied bundle ${_.bundleId}`}}function qM(_,$){let U=m4(_.artifacts),J=m4($.artifacts);for(let D of _.tables){if(yU.has(D.table))continue;let j=KX($,D.table),G=rq(_,D.table)?.high_water_hash??UJ(D.table,D.rows,U);if(UJ(D.table,j?.rows??[],J)!==G)return!1}return!0}async function WJ(_){jM(_.bundle),o(_.targetDbPath);let $=[..._.bundle.warnings],U=_.dryRun===!0,J=vq(_.localMachineId),D=_.bundle.source.machine_id??"unknown",j=WM(_.bundle),W=oq(_.bundle),G=_.targetBundle??hU({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:J,includeArtifactContent:!1,recordClocks:!U}),X=x(_.targetDbPath);try{if(!U&&YM(X,j)&&qM(_.bundle,G))return QM({bundle:_.bundle,targetBundle:G,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:j});let N=await NM({db:X,bundle:_.bundle,targetBundle:G,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:U,direction:_.direction,localMachineId:J,warnings:$}),z=m4(_.bundle.artifacts),L=m4(G.artifacts),E=[],Q=0,q=0,g=0;for(let R of _.bundle.tables){if(R.table==="storage_objects"||yU.has(R.table))continue;if(!P$(X,R.table))continue;let K=rq(_.bundle,R.table),V=ZU(X,R.table,D),I=KX(G,R.table),T=GM(R.table,I?.rows??[]),P=new Set(R.rows.map((T_)=>n4(R.table,T_))),n=ZF(X,R.table,D),f_=[],B_={table:R.table,source_rows:R.rows.length,target_rows:I?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!K)$.push(`legacy_clock_missing:${R.table}`);else if(TF(V,K)){g+=1,B_.skipped+=R.rows.length,B_.stale_skipped=R.rows.length,$.push(`stale_table_skipped:${R.table}:${D}:${K.logical_clock}`),E.push(B_);continue}for(let T_ of R.rows){let u_=n4(R.table,T_),J_=T.get(u_),i_=u4(T_,z);if(!J_){B_.inserted+=1,f_.push(EX(T_,N.uriMap));continue}let Z_=u4(J_,L);if(Z_===i_){B_.skipped+=1;continue}let P_=n.get(u_);if(n.has(u_)&&P_===Z_){B_.updated+=1,f_.push(EX(T_,N.uriMap));continue}let n_={entityKind:R.table,entityId:u_,localMachineId:J,remoteMachineId:D,localHash:Z_,remoteHash:i_,baseHash:V?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:j,incoming_logical_clock:K?.logical_clock??null,current_logical_clock:V?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:fU(J_),remote_row:fU(T_)}};if(RX(X,n_)){B_.skipped+=1;continue}if(B_.conflicts+=1,!U&&BX(X,n_))Q+=1}if(!U&&f_.length>0){let T_=f_.map((u_)=>EX(u_,N.uriMap));CF(X,R.table,T_),xF(X,R.table,T_);for(let u_ of T_)OM(X,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:J,entityKind:R.table,entityId:n4(R.table,u_),nextHash:u4(u_,m4(_.bundle.artifacts)),logicalClock:K?.logical_clock??0,bundleId:j,row:u_})}for(let[T_,u_]of n){if(P.has(T_))continue;let J_=T.get(T_);if(!J_)continue;let i_=u4(J_,L);if(u_&&i_!==u_){let Z_={entityKind:R.table,entityId:T_,localMachineId:J,remoteMachineId:D,localHash:i_,remoteHash:null,baseHash:u_,metadata:{direction:_.direction,bundle_id:j,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:fU(J_),remote_row:null}};if(RX(X,Z_)){B_.skipped+=1;continue}if(B_.conflicts+=1,!U&&BX(X,Z_))Q+=1;continue}if(B_.deleted+=1,!U)yF(X,R.table,T_)}if(!U&&K)JJ(X,{table:R.table,machineId:D,logicalClock:K.logical_clock,highWaterHash:K.high_water_hash,highWaterBundleId:j,originMachineId:D,updatedByMachineId:J,lastAppliedAt:G6(),metadata:{source:"import",direction:_.direction,row_count:R.rows.length,inserted:B_.inserted,updated:B_.updated,deleted:B_.deleted,skipped:B_.skipped,conflicts:B_.conflicts}}),q+=1;E.push(B_)}for(let R of N.conflicts)if(!U){if(BX(X,{...R,baseHash:R.baseHash??null,metadata:{...R.metadata,bundle_id:j}}))Q+=1}let B=E.reduce((R,K)=>R+K.inserted,0),H=E.reduce((R,K)=>R+K.conflicts,0)+N.result.conflicts;if(!U)zM(X,{bundle:_.bundle,bundleId:j,contentHash:W,sourceMachineId:D,targetMachineId:J,direction:_.direction,status:H===0?"applied":"conflicted",tableResults:E,conflicts:H,artifacts:N.result});return{ok:H===0,protocol_version:_4,min_protocol_version:$4,dry_run:U,direction:_.direction,source:_.bundle.source,target:{scope:_.targetScope,workspace_home:_.targetWorkspaceHome,sqlite_schema_version:p_(X),artifact_root_uri:_.targetStorage.artifact_store.uri_prefix},tables:E,artifacts:N.result,conflicts_created:Q,bundle_id:j,replayed:!1,clocks:{advanced:q,stale_tables:g},warnings:$,message:`${_.dryRun?"Would import":"Imported"} ${B} row(s), copied ${N.result.copied} artifact(s), ${H} conflict(s)`}}finally{X.close()}}function pq(_){o(_.dbPath);let $=x(_.dbPath),U=G6(_.now);try{let J=_.topology?DM($,_.topology,U):0,D=mq($),j=C_(cF($)),W=_.machineId??_.topology?.local_machine_id??"unknown",G=C_(_.storage.artifact_store.uri_prefix),X=C_(_.workspaceHome),N=TU(q1({machine_id:W,scope:_.scope,workspace_home:X,sqlite_schema_version:p_($),artifact_root_uri:G,tables:D,artifacts:j})),z={id:AX("syncsnap"),machine_id:W,scope:_.scope,workspace_home:X,sqlite_schema_version:p_($),artifact_root_uri:G,content_hash:N,tables_json:JSON.stringify(D),artifact_hashes_json:JSON.stringify(j),created_at:U};$.query(` + `).run(_.bundleId,_.sourceMachineId,_.targetMachineId,_.direction,_.status,_.contentHash,JSON.stringify(_.bundle.table_clocks??[]),JSON.stringify(_.tableResults),_.bundle.generated_at,U,JSON.stringify({conflicts:_.conflicts,artifacts:_.artifacts,source_workspace_home:_.bundle.source.workspace_home}))}function nC($){return{ok:!0,protocol_version:h4,min_protocol_version:x4,dry_run:!1,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:$.targetBundle.source.sqlite_schema_version,artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:$.bundle.tables.filter((_)=>!JJ.has(_.table)).map((_)=>({table:_.table,source_rows:_.rows.length,target_rows:OQ($.targetBundle,_.table)?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:_.rows.length,conflicts:0,stale_skipped:0})),artifacts:{source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:$.bundle.artifacts.length,conflicts:0,missing_content:0},conflicts_created:0,bundle_id:$.bundleId,replayed:!0,clocks:{advanced:0,stale_tables:0},warnings:[...$.warnings,`bundle_replay_skipped:${$.bundleId}`],message:`Skipped already-applied bundle ${$.bundleId}`}}function cC($,_){let U=Z0($.artifacts),W=Z0(_.artifacts);for(let J of $.tables){if(JJ.has(J.table))continue;let X=OQ(_,J.table),Q=D3($,J.table)?.high_water_hash??kX(J.table,J.rows,U);if(kX(J.table,X?.rows??[],W)!==Q)return!1}return!0}async function TX($){ZC($.bundle),$$($.targetDbPath);let _=[...$.bundle.warnings],U=$.dryRun===!0,W=G3($.localMachineId),J=$.bundle.source.machine_id??"unknown",X=vC($.bundle),G=V3($.bundle),Q=$.targetBundle??WJ({dbPath:$.targetDbPath,scope:$.targetScope,workspaceHome:$.targetWorkspaceHome,storage:$.targetStorage,machineId:W,includeArtifactContent:!1,recordClocks:!U}),Y=d($.targetDbPath);try{if(!U&&uC(Y,X)&&cC($.bundle,Q))return nC({bundle:$.bundle,targetBundle:Q,targetScope:$.targetScope,targetWorkspaceHome:$.targetWorkspaceHome,targetStorage:$.targetStorage,direction:$.direction,warnings:_,bundleId:X});let j=await xC({db:Y,bundle:$.bundle,targetBundle:Q,targetStorage:$.targetStorage,targetStore:$.targetStore,dryRun:U,direction:$.direction,localMachineId:W,warnings:_}),O=Z0($.bundle.artifacts),B=Z0(Q.artifacts),V=[],L=0,N=0,H=0;for(let A of $.bundle.tables){if(A.table==="storage_objects"||JJ.has(A.table))continue;if(!o_(Y,A.table))continue;let M=D3($.bundle,A.table),E=_J(Y,A.table,J),g=OQ(Q,A.table),Z=yC(A.table,g?.rows??[]),k=new Set(A.rows.map((p$)=>S0(A.table,p$))),r=zC(Y,A.table,J),i$=[],P$={table:A.table,source_rows:A.rows.length,target_rows:g?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!M)_.push(`legacy_clock_missing:${A.table}`);else if(jC(E,M)){H+=1,P$.skipped+=A.rows.length,P$.stale_skipped=A.rows.length,_.push(`stale_table_skipped:${A.table}:${J}:${M.logical_clock}`),V.push(P$);continue}for(let p$ of A.rows){let J_=S0(A.table,p$),O$=Z.get(J_),Y_=T0(p$,O);if(!O$){P$.inserted+=1,i$.push(GQ(p$,j.uriMap));continue}let t$=T0(O$,B);if(t$===Y_){P$.skipped+=1;continue}let d$=r.get(J_);if(r.has(J_)&&d$===t$){P$.updated+=1,i$.push(GQ(p$,j.uriMap));continue}let W_={entityKind:A.table,entityId:J_,localMachineId:W,remoteMachineId:J,localHash:t$,remoteHash:Y_,baseHash:E?.high_water_hash??null,metadata:{direction:$.direction,bundle_id:X,incoming_logical_clock:M?.logical_clock??null,current_logical_clock:E?.logical_clock??null,source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:sU(p$)}};if(YQ(Y,W_)){P$.skipped+=1;continue}if(P$.conflicts+=1,!U&&QQ(Y,W_))L+=1}if(!U&&i$.length>0){let p$=i$.map((J_)=>GQ(J_,j.uriMap));DC(Y,A.table,p$),NC(Y,A.table,p$);for(let J_ of p$)mC(Y,{direction:$.direction,sourceMachineId:$.bundle.source.machine_id??"unknown",localMachineId:W,entityKind:A.table,entityId:S0(A.table,J_),nextHash:T0(J_,Z0($.bundle.artifacts)),logicalClock:M?.logical_clock??0,bundleId:X,row:J_})}for(let[p$,J_]of r){if(k.has(p$))continue;let O$=Z.get(p$);if(!O$)continue;let Y_=T0(O$,B);if(J_&&Y_!==J_){let t$={entityKind:A.table,entityId:p$,localMachineId:W,remoteMachineId:J,localHash:Y_,remoteHash:null,baseHash:J_,metadata:{direction:$.direction,bundle_id:X,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:null}};if(YQ(Y,t$)){P$.skipped+=1;continue}if(P$.conflicts+=1,!U&&QQ(Y,t$))L+=1;continue}if(P$.deleted+=1,!U)OC(Y,A.table,p$)}if(!U&&M)PX(Y,{table:A.table,machineId:J,logicalClock:M.logical_clock,highWaterHash:M.high_water_hash,highWaterBundleId:X,originMachineId:J,updatedByMachineId:W,lastAppliedAt:v6(),metadata:{source:"import",direction:$.direction,row_count:A.rows.length,inserted:P$.inserted,updated:P$.updated,deleted:P$.deleted,skipped:P$.skipped,conflicts:P$.conflicts}}),N+=1;V.push(P$)}for(let A of j.conflicts)if(!U){if(QQ(Y,{...A,baseHash:A.baseHash??null,metadata:{...A.metadata,bundle_id:X}}))L+=1}let R=V.reduce((A,M)=>A+M.inserted,0),b=V.reduce((A,M)=>A+M.conflicts,0)+j.result.conflicts;if(!U)dC(Y,{bundle:$.bundle,bundleId:X,contentHash:G,sourceMachineId:J,targetMachineId:W,direction:$.direction,status:b===0?"applied":"conflicted",tableResults:V,conflicts:b,artifacts:j.result});return{ok:b===0,protocol_version:h4,min_protocol_version:x4,dry_run:U,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:z_(Y),artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:V,artifacts:j.result,conflicts_created:L,bundle_id:X,replayed:!1,clocks:{advanced:N,stale_tables:H},warnings:_,message:`${$.dryRun?"Would import":"Imported"} ${R} row(s), copied ${j.result.copied} artifact(s), ${b} conflict(s)`}}finally{Y.close()}}function R3($){$$($.dbPath);let _=d($.dbPath),U=v6($.now);try{let W=$.topology?TC(_,$.topology,U):0,J=O3(_),X=o$(bC(_)),G=$.machineId??$.topology?.local_machine_id??"unknown",Q=o$($.storage.artifact_store.uri_prefix),Y=o$($.workspaceHome),j=eU(M2({machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,tables:J,artifacts:X})),O={id:DQ("syncsnap"),machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,content_hash:j,tables_json:JSON.stringify(J),artifact_hashes_json:JSON.stringify(X),created_at:U};_.query(` INSERT INTO knowledge_sync_snapshots ( id, machine_id, scope, workspace_home, sqlite_schema_version, artifact_root_uri, content_hash, tables_json, artifact_hashes_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(z.id,z.machine_id,z.scope,z.workspace_home,z.sqlite_schema_version,z.artifact_root_uri,z.content_hash,z.tables_json,z.artifact_hashes_json,z.created_at);let L=new Map;for(let E of yq($,hq()).filter((Q)=>!yU.has(Q))){let Q=xq($,E).map((H)=>C_(H)),q=UJ(E,Q,L),g=ZU($,E,W),B=g?.high_water_hash===q?g.logical_clock:(g?.logical_clock??0)+1;JJ($,{table:E,machineId:W,logicalClock:B,highWaterHash:q,highWaterBundleId:z.id,originMachineId:g?.origin_machine_id??W,updatedByMachineId:W,lastAppliedAt:U,metadata:{source:"snapshot",row_count:Q.length},now:U})}return{ok:!0,snapshot:{...z,tables:D,artifact_hashes:j},machines_upserted:J,message:`Recorded sync snapshot ${z.id}`}}finally{$.close()}}function tq(_){o(_.dbPath);let $=x(_.dbPath);try{let U=$.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),J=$.query("SELECT * FROM knowledge_sync_snapshots ORDER BY created_at DESC LIMIT 1").get()??null,D=$.query("SELECT status, COUNT(*) AS count FROM knowledge_sync_conflicts GROUP BY status ORDER BY status").all(),j=$.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),W=wF($),G=$.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,X=D.reduce((z,L)=>z+L.count,0),N=D.filter((z)=>z.status!=="resolved"&&z.status!=="ignored").reduce((z,L)=>z+L.count,0);return{ok:!0,scope:_.scope,workspace_home:C_(_.workspaceHome),sqlite_schema_version:p_($),local_machine_id:_.localMachineId??null,machines:{total:U.length,rows:C_(U)},snapshots:{total:sD($,"knowledge_sync_snapshots"),latest:C_(J)},changes:{total:sD($,"knowledge_sync_changes"),by_operation:j},clocks:{total:W.length,rows:W},imports:{total:sD($,"knowledge_sync_imports"),latest:C_(G)},conflicts:{total:X,by_status:D,open:N},table_counts:mq($),message:`${U.length} machine(s), ${N} open sync conflict(s)`}}finally{$.close()}}function IX(_){return{..._,metadata:DJ(_.metadata_json,{})}}function GJ(_,$){o(_);let U=x(_);try{let J=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return J?IX(J):null}finally{U.close()}}function aq(_,$={}){o(_);let U=x(_),J=Math.max(1,Math.min($.limit??50,200));try{return($.status?U.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all($.status,J):U.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(J)).map(IX)}finally{U.close()}}function LM(_){return $J.includes(_)?_:null}function gM(_,$){let U=LM($.entity_kind);if(!U||!P$(_,U))return null;let J=uq(U,$.entity_id);if(!J)return null;let D=nq(U);return _.query(`SELECT * FROM ${R$(U)} WHERE ${D} LIMIT 1`).get(...J)}function EM(_,$){for(let U of $){let J=_[U];if(J&&typeof J==="object"&&!Array.isArray(J))return fU(J)}return null}function fq(_,$){if(typeof $!=="string")return;let U=$.trim();if(!U)return;if(U.startsWith("open-files://")||U.startsWith("s3://")||U.startsWith("file://")||U.startsWith("https://")||U.startsWith("http://"))_.add(U)}function HX(_,$=new Set,U=0){if(U>8||_===null||_===void 0)return $;if(typeof _==="string")return fq($,_),$;if(Array.isArray(_)){for(let J of _)HX(J,$,U+1);return $}if(typeof _==="object")for(let[J,D]of Object.entries(_)){if(J==="source_ref"||J==="source_uri"||J==="artifact_uri"||J.endsWith("_uri"))fq($,D);HX(D,$,U+1)}return $}function eq(_){let $=[{id:"conflict",kind:"metadata",ref:`knowledge-sync-conflict://${_.conflict.id}`,hash:_.conflict.base_hash,quote:`Conflict on ${_.conflict.entity_kind}:${_.conflict.entity_id}`}];if(_.localRow)$.push({id:"local-row",kind:"row",ref:`${_.conflict.entity_kind}:${_.conflict.entity_id}:local`,hash:_.conflict.local_hash,quote:JSON.stringify(_.localRow).slice(0,300)});if(_.remoteRow)$.push({id:"remote-row",kind:"row",ref:`${_.conflict.entity_kind}:${_.conflict.entity_id}:remote`,hash:_.conflict.remote_hash,quote:JSON.stringify(_.remoteRow).slice(0,300)});return _.sourceRefs.slice(0,10).forEach((U,J)=>{$.push({id:`source-${J+1}`,kind:U.startsWith("file://")||U.startsWith("s3://")?"artifact":"source_ref",ref:U,hash:null,quote:null})}),$}function sq(_,$){let U=GJ(_,$);if(!U)throw Error(`Sync conflict not found: ${$}`);o(_);let J=x(_);try{let D=fU(gM(J,U)),j=EM(U.metadata,["remote_row","source_row","incoming_row"]),G=[...HX({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:D,remote_row:j})].slice(0,25),X=[{name:"knowledge_sync_conflict_get",input:{id:$},output_summary:`${U.entity_kind}:${U.entity_id} status=${U.status}`},{name:"knowledge_catalog_row_get",input:{table:U.entity_kind,key:U.entity_id},output_summary:D?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:$},output_summary:`${G.length} source/artifact ref(s) found`}];return{conflict:U,local_row:D,remote_row:j,source_refs:G,citations:eq({conflict:U,localRow:D,remoteRow:j,sourceRefs:G}),read_only_tools:X}}finally{J.close()}}function xU(_,$){let U=GJ(_,$);if(!U)throw Error(`Sync conflict not found: ${$}`);let J=U.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",D=[`Conflict ${U.id} affects ${U.entity_kind}:${U.entity_id}.`,`Local machine ${U.local_machine_id} has ${U.local_hash??"unknown hash"}.`,`Remote machine ${U.remote_machine_id} has ${U.remote_hash??"unknown hash"}.`].join(" "),j=["Review this knowledge sync conflict before any durable write.",`Entity: ${U.entity_kind}:${U.entity_id}`,`Local machine/hash: ${U.local_machine_id} / ${U.local_hash??"unknown"}`,`Remote machine/hash: ${U.remote_machine_id} / ${U.remote_hash??"unknown"}`,`Base hash: ${U.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(U.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` -`);return{ok:!0,conflict:U,requires_approval:!0,mode:"deterministic",proposed_strategy:J,summary:D,merge_prompt:j,proposed_patch:null,citations:eq({conflict:U,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:U.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${U.id}`}}function _L(_,$){o(_);let U=x(_),J=G6();try{let D=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!D)throw Error(`Sync conflict not found: ${$.id}`);U.query(` + `).run(O.id,O.machine_id,O.scope,O.workspace_home,O.sqlite_schema_version,O.artifact_root_uri,O.content_hash,O.tables_json,O.artifact_hashes_json,O.created_at);let B=new Map;for(let V of Q3(_,Y3()).filter((L)=>!JJ.has(L))){let L=j3(_,V).map((b)=>o$(b)),N=kX(V,L,B),H=_J(_,V,G),R=H?.high_water_hash===N?H.logical_clock:(H?.logical_clock??0)+1;PX(_,{table:V,machineId:G,logicalClock:R,highWaterHash:N,highWaterBundleId:O.id,originMachineId:H?.origin_machine_id??G,updatedByMachineId:G,lastAppliedAt:U,metadata:{source:"snapshot",row_count:L.length},now:U})}return{ok:!0,snapshot:{...O,tables:J,artifact_hashes:X},machines_upserted:W,message:`Recorded sync snapshot ${O.id}`}}finally{_.close()}}function A3($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),W=_.query("SELECT * FROM knowledge_sync_snapshots ORDER BY created_at DESC LIMIT 1").get()??null,J=_.query("SELECT status, COUNT(*) AS count FROM knowledge_sync_conflicts GROUP BY status ORDER BY status").all(),X=_.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),G=GC(_),Q=_.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,Y=J.reduce((O,B)=>O+B.count,0),j=J.filter((O)=>O.status!=="resolved"&&O.status!=="ignored").reduce((O,B)=>O+B.count,0);return{ok:!0,scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),local_machine_id:$.localMachineId??null,machines:{total:U.length,rows:o$(U)},snapshots:{total:gX(_,"knowledge_sync_snapshots"),latest:o$(W)},changes:{total:gX(_,"knowledge_sync_changes"),by_operation:X},clocks:{total:G.length,rows:G},imports:{total:gX(_,"knowledge_sync_imports"),latest:o$(Q)},conflicts:{total:Y,by_status:J,open:j},table_counts:O3(_),message:`${U.length} machine(s), ${j} open sync conflict(s)`}}finally{_.close()}}function LQ($){return{...$,metadata:fX($.metadata_json,{})}}function SX($,_){$$($);let U=d($);try{let W=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_);return W?LQ(W):null}finally{U.close()}}function b3($,_={}){$$($);let U=d($),W=Math.max(1,Math.min(_.limit??50,200));try{return(_.status?U.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all(_.status,W):U.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(W)).map(LQ)}finally{U.close()}}function lC($){return wX.includes($)?$:null}function rC($,_){let U=lC(_.entity_kind);if(!U||!o_($,U))return null;let W=z3(U,_.entity_id);if(!W)return null;let J=q3(U);return $.query(`SELECT * FROM ${x_(U)} WHERE ${J} LIMIT 1`).get(...W)}function iC($,_){for(let U of _){let W=$[U];if(W&&typeof W==="object"&&!Array.isArray(W))return sU(W)}return null}function U3($,_){if(typeof _!=="string")return;let U=_.trim();if(!U)return;if(U.startsWith("open-files://")||U.startsWith("s3://")||U.startsWith("file://")||U.startsWith("https://")||U.startsWith("http://"))$.add(U)}function jQ($,_=new Set,U=0){if(U>8||$===null||$===void 0)return _;if(typeof $==="string")return U3(_,$),_;if(Array.isArray($)){for(let W of $)jQ(W,_,U+1);return _}if(typeof $==="object")for(let[W,J]of Object.entries($)){if(W==="source_ref"||W==="source_uri"||W==="artifact_uri"||W.endsWith("_uri"))U3(_,J);jQ(J,_,U+1)}return _}function F3($){let _=[{id:"conflict",kind:"metadata",ref:`knowledge-sync-conflict://${$.conflict.id}`,hash:$.conflict.base_hash,quote:`Conflict on ${$.conflict.entity_kind}:${$.conflict.entity_id}`}];if($.localRow)_.push({id:"local-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:local`,hash:$.conflict.local_hash,quote:JSON.stringify($.localRow).slice(0,300)});if($.remoteRow)_.push({id:"remote-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:remote`,hash:$.conflict.remote_hash,quote:JSON.stringify($.remoteRow).slice(0,300)});return $.sourceRefs.slice(0,10).forEach((U,W)=>{_.push({id:`source-${W+1}`,kind:U.startsWith("file://")||U.startsWith("s3://")?"artifact":"source_ref",ref:U,hash:null,quote:null})}),_}function E3($,_){let U=SX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);$$($);let W=d($);try{let J=sU(rC(W,U)),X=iC(U.metadata,["remote_row","source_row","incoming_row"]),Q=[...jQ({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:J,remote_row:X})].slice(0,25),Y=[{name:"knowledge_sync_conflict_get",input:{id:_},output_summary:`${U.entity_kind}:${U.entity_id} status=${U.status}`},{name:"knowledge_catalog_row_get",input:{table:U.entity_kind,key:U.entity_id},output_summary:J?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:_},output_summary:`${Q.length} source/artifact ref(s) found`}];return{conflict:U,local_row:J,remote_row:X,source_refs:Q,citations:F3({conflict:U,localRow:J,remoteRow:X,sourceRefs:Q}),read_only_tools:Y}}finally{W.close()}}function XJ($,_){let U=SX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);let W=U.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",J=[`Conflict ${U.id} affects ${U.entity_kind}:${U.entity_id}.`,`Local machine ${U.local_machine_id} has ${U.local_hash??"unknown hash"}.`,`Remote machine ${U.remote_machine_id} has ${U.remote_hash??"unknown hash"}.`].join(" "),X=["Review this knowledge sync conflict before any durable write.",`Entity: ${U.entity_kind}:${U.entity_id}`,`Local machine/hash: ${U.local_machine_id} / ${U.local_hash??"unknown"}`,`Remote machine/hash: ${U.remote_machine_id} / ${U.remote_hash??"unknown"}`,`Base hash: ${U.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(U.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` +`);return{ok:!0,conflict:U,requires_approval:!0,mode:"deterministic",proposed_strategy:W,summary:J,merge_prompt:X,proposed_patch:null,citations:F3({conflict:U,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:U.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${U.id}`}}function K3($,_){$$($);let U=d($),W=v6();try{let J=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!J)throw Error(`Sync conflict not found: ${_.id}`);U.query(` UPDATE knowledge_sync_conflicts SET status = 'resolved', resolution_strategy = ?, @@ -877,35 +877,35 @@ ${E}`;else{let{generateText:V}=await import("ai"),I=await wU(D,{config:$.config, approved_by = ?, resolved_at = ? WHERE id = ? - `).run($.strategy,$.proposedPatchUri??D.proposed_patch_uri,$.approvedBy,J,$.id);let j=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!j)throw Error(`Sync conflict not found after resolve: ${$.id}`);return IX(j)}finally{U.close()}}function hY(_){let U=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function jw(_){let $=x(_.dbPath);try{$.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[_.runId,"sync-conflict-proposal",_.prompt,_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.now])}finally{$.close()}}function tg(_){let $=x(_.dbPath);try{$.run(`UPDATE runs + `).run(_.strategy,_.proposedPatchUri??J.proposed_patch_uri,_.approvedBy,W,_.id);let X=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!X)throw Error(`Sync conflict not found after resolve: ${_.id}`);return LQ(X)}finally{U.close()}}function Iq($){let U=(typeof $==="string"?$:JSON.stringify($)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function ZZ($){let _=d($.dbPath);try{_.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[$.runId,"sync-conflict-proposal",$.prompt,$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.now])}finally{_.close()}}function AV($){let _=d($.dbPath);try{_.run(`UPDATE runs SET status = ?, provider = ?, model = ?, cost_tokens = ?, cost_usd = ?, metadata_json = ?, updated_at = ? - WHERE id = ?`,[_.status,_.provider,_.model,_.usage.input_tokens+_.usage.output_tokens,_.usage.cost_usd,JSON.stringify(_.metadata),_.now,_.runId])}finally{$.close()}}function xY(_){let $=x(_.dbPath);try{$.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`event_${ag()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function Ww(_,$,U,J){let D=x(_);try{j1(D,{...U,run_id:$,created_at:J})}finally{D.close()}}function Gw(_){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: -${JSON.stringify({proposed_strategy:_.deterministic.proposed_strategy,summary:_.deterministic.summary,warnings:_.deterministic.warnings},null,2)}`,"",`Conflict evidence: -${JSON.stringify(_.evidence,null,2)}`].join(` -`)}function Xw(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function Nw(_,$){let U=_.kind==="choose_local"||_.kind==="choose_remote"||_.kind==="no_op"||_.kind==="custom"||_.kind==="manual_merge"?_.kind:"manual_merge";return{kind:U,target:typeof _.target==="string"&&_.target?_.target:$,strategy:typeof _.strategy==="string"&&_.strategy?_.strategy:U.replace("_","-"),summary:typeof _.summary==="string"&&_.summary?_.summary:"Review both sides before applying a merge.",diff:typeof _.diff==="string"&&_.diff?_.diff:null,metadata:_.metadata&&typeof _.metadata==="object"&&!Array.isArray(_.metadata)?_.metadata:{}}}function Ow(_){let $=`${_.conflict.entity_kind}:${_.conflict.entity_id}`,U=Boolean(_.local_row&&_.remote_row);return{kind:U?"manual_merge":"custom",target:$,strategy:U?"manual-merge":"review-and-select",summary:U?`Fake AI proposal: compare local and remote ${$} row snapshots, then apply a reviewed manual merge.`:`Fake AI proposal: inspect ${$} with available conflict metadata before selecting a side.`,diff:U?[`--- ${$} local`,`+++ ${$} remote`,"@@ review-required @@",JSON.stringify({local:_.local_row,remote:_.remote_row},null,2).slice(0,1200)].join(` -`):null,metadata:{fake:!0,local_hash:_.conflict.local_hash,remote_hash:_.conflict.remote_hash,source_refs:_.source_refs}}}async function eg(_){let $=(_.now??new Date).toISOString();o(_.dbPath);let U=xU(_.dbPath,_.id),J=sq(_.dbPath,_.id),D=x$(_.modelRef??"default",_.config),j=l_(D),W=`run_${ag()}`,G=Gw({deterministic:U,evidence:J});jw({dbPath:_.dbPath,runId:W,prompt:G,provider:j.provider,model:j.model,status:_.fake?"dry_run":"running",metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,read_only_tools:J.read_only_tools.map((E)=>E.name)},now:$}),xY({dbPath:_.dbPath,runId:W,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:J.citations.length,source_refs:J.source_refs.length,read_only_tools:J.read_only_tools},now:$});let X,N,z=0.5,L={input_tokens:hY(G),output_tokens:0,cost_usd:0};if(_.fake)X=Ow(J),N=X.summary,L.output_tokens=hY(N)+hY(X.diff??"");else try{let{generateObject:E}=await import("ai"),{z:Q}=await Promise.resolve().then(() => (pg(),og)),q=await wU(D,{config:_.config,env:_.env}),g=Q.object({summary:Q.string(),confidence:Q.number().min(0).max(1),proposed_patch:Q.object({kind:Q.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:Q.string(),strategy:Q.string(),summary:Q.string(),diff:Q.string().nullable(),metadata:Q.record(Q.string(),Q.unknown()).default({})})}),B=await E({model:q,schema:g,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:G});N=B.object.summary,z=Xw(B.object.confidence),X=Nw(B.object.proposed_patch,`${J.conflict.entity_kind}:${J.conflict.entity_id}`);let H=h4({provider:j.provider,model:j.model,usage:B.usage,providerMetadata:B.providerMetadata});L={input_tokens:H.input_tokens,output_tokens:H.output_tokens,cost_usd:H.cost_usd},Ww(_.dbPath,W,H,$)}catch(E){throw xY({dbPath:_.dbPath,runId:W,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:E instanceof Error?E.message:String(E)},now:$}),tg({dbPath:_.dbPath,runId:W,status:"failed",provider:j.provider,model:j.model,usage:L,metadata:{conflict_id:_.id,mode:"ai",error:E instanceof Error?E.message:String(E)},now:$}),E}return tg({dbPath:_.dbPath,runId:W,status:_.fake?"dry_run":"completed",provider:j.provider,model:j.model,usage:L,metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,confidence:z,proposed_strategy:X.strategy,citation_count:J.citations.length},now:$}),xY({dbPath:_.dbPath,runId:W,level:"info",event:_.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:X.strategy,confidence:z,patch_kind:X.kind},now:$}),{...U,mode:"ai",proposed_strategy:X.strategy,summary:N,proposed_patch:X,citations:J.citations,confidence:z,agent:{generated:!0,provider:j.provider,model:j.model,run_id:W,read_only_tools:J.read_only_tools,usage:L},warnings:[...U.warnings,...J.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${_.id}`}}import{createHash as Yw,randomUUID as zw}from"crypto";import{existsSync as Qw,readFileSync as qw}from"fs";import{basename as Lw}from"path";function HW(_,$){return`${_}_${Yw("sha256").update($).digest("hex").slice(0,20)}`}function u1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function K_(_){return typeof _==="string"&&_.length>0?_:void 0}function gw(_){let $=K_(_.source_ref)??K_(_.source_uri)??K_(_.uri);if($)return $;let U=K_(_.file_id);if(U){let j=K_(_.revision_id)??K_(_.revision),W=`open-files://file/${encodeURIComponent(U)}`;return j?`${W}/revision/${encodeURIComponent(j)}`:W}let J=K_(_.source_id),D=K_(_.path);if(J&&D)return`open-files://source/${encodeURIComponent(J)}/path/${encodeURIComponent(D)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function Ew(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function Bw(_){return K_(_.hash)??K_(_.checksum)??K_(_.sha256)??null}function Rw(_,$,U){return K_(_.revision_id)??K_(_.revision)??K_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??null}function Hw(_){return K_(_.previous_revision_id)??K_(_.previous_revision)??K_(_.previous_version_id)??null}function Aw(_){return(K_(_.event_type)??K_(_.event)??K_(_.type)??K_(_.action)??K_(_.change_type)??"changed").toLowerCase()}function Vw(_){let $=K_(_.path);return K_(_.title)??K_(_.name)??($?Lw($):null)}function bw(_,$){let U=gw(_),J=F$(U),D=Bw(_);return{raw:_,eventType:Aw(_),sourceRef:U,sourceUri:Ew(U,J),kind:J.kind,title:Vw(_),revision:Rw(_,J,D),previousRevision:Hw(_),hash:D,status:K_(_.status)?.toLowerCase()??null,updatedAt:K_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function Kw(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let U=JSON.parse($);if(!Array.isArray(U))throw Error("Outbox array parse failed.");return U.map((J)=>{let D=u1(J);if(!D)throw Error("Outbox array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),J=u1(U);if(!J)throw Error("Outbox object parse failed.");if(Array.isArray(J.events))return J.events.map((D)=>{let j=u1(D);if(!j)throw Error("Outbox events entries must be objects.");return j});if("source_ref"in J||"source_uri"in J||"file_id"in J)return[J]}catch(U){let J=$.split(/\r?\n/).filter((D)=>D.trim().length>0);if(J.length<=1)throw U;return J.map((D)=>{let j=u1(JSON.parse(D));if(!j)throw Error("Outbox JSONL entries must be objects.");return j})}return $.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let J=u1(JSON.parse(U));if(!J)throw Error("Outbox JSONL entries must be objects.");return J})}async function Iw(_,$,U){let J=new URL(_),D=J.hostname,j=decodeURIComponent(J.pathname.replace(/^\/+/,""));if(!D||!j)throw Error(`Invalid S3 outbox URI: ${_}`);if(U)a6(_,U);let[{S3Client:W,GetObjectCommand:G},{fromIni:X}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),N=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,L=await new W({region:N?.region,credentials:N?.profile?X({profile:N.profile}):void 0,maxAttempts:N?.max_attempts}).send(new G({Bucket:D,Key:j}));if(!L.Body)return"";return await L.Body.transformToString()}async function Fw(_,$,U){if(_.startsWith("s3://"))return Iw(_,$,U);if(!Qw(_))throw Error(`Outbox not found: ${_}`);return qw(_,"utf8")}function sg(_,$){let U={};if(_)try{U=u1(JSON.parse(_))??{}}catch{U={}}return JSON.stringify({...U,...$})}function Mw(_,$,U){let J=HW("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) + WHERE id = ?`,[$.status,$.provider,$.model,$.usage.input_tokens+$.usage.output_tokens,$.usage.cost_usd,JSON.stringify($.metadata),$.now,$.runId])}finally{_.close()}}function wq($){let _=d($.dbPath);try{_.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`event_${bV()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{_.close()}}function vZ($,_,U,W){let J=d($);try{B2(J,{...U,run_id:_,created_at:W})}finally{J.close()}}function yZ($){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: +${JSON.stringify({proposed_strategy:$.deterministic.proposed_strategy,summary:$.deterministic.summary,warnings:$.deterministic.warnings},null,2)}`,"",`Conflict evidence: +${JSON.stringify($.evidence,null,2)}`].join(` +`)}function hZ($){let _=typeof $==="number"&&Number.isFinite($)?$:0.5;return Math.max(0,Math.min(1,_))}function xZ($,_){let U=$.kind==="choose_local"||$.kind==="choose_remote"||$.kind==="no_op"||$.kind==="custom"||$.kind==="manual_merge"?$.kind:"manual_merge";return{kind:U,target:typeof $.target==="string"&&$.target?$.target:_,strategy:typeof $.strategy==="string"&&$.strategy?$.strategy:U.replace("_","-"),summary:typeof $.summary==="string"&&$.summary?$.summary:"Review both sides before applying a merge.",diff:typeof $.diff==="string"&&$.diff?$.diff:null,metadata:$.metadata&&typeof $.metadata==="object"&&!Array.isArray($.metadata)?$.metadata:{}}}function mZ($){let _=`${$.conflict.entity_kind}:${$.conflict.entity_id}`,U=Boolean($.local_row&&$.remote_row);return{kind:U?"manual_merge":"custom",target:_,strategy:U?"manual-merge":"review-and-select",summary:U?`Fake AI proposal: compare local and remote ${_} row snapshots, then apply a reviewed manual merge.`:`Fake AI proposal: inspect ${_} with available conflict metadata before selecting a side.`,diff:U?[`--- ${_} local`,`+++ ${_} remote`,"@@ review-required @@",JSON.stringify({local:$.local_row,remote:$.remote_row},null,2).slice(0,1200)].join(` +`):null,metadata:{fake:!0,local_hash:$.conflict.local_hash,remote_hash:$.conflict.remote_hash,source_refs:$.source_refs}}}async function FV($){let _=($.now??new Date).toISOString();$$($.dbPath);let U=XJ($.dbPath,$.id),W=E3($.dbPath,$.id),J=z6($.modelRef??"default",$.config),X=j_(J),G=`run_${bV()}`,Q=yZ({deterministic:U,evidence:W});ZZ({dbPath:$.dbPath,runId:G,prompt:Q,provider:X.provider,model:X.model,status:$.fake?"dry_run":"running",metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,read_only_tools:W.read_only_tools.map((V)=>V.name)},now:_}),wq({dbPath:$.dbPath,runId:G,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:W.citations.length,source_refs:W.source_refs.length,read_only_tools:W.read_only_tools},now:_});let Y,j,O=0.5,B={input_tokens:Iq(Q),output_tokens:0,cost_usd:0};if($.fake)Y=mZ(W),j=Y.summary,B.output_tokens=Iq(j)+Iq(Y.diff??"");else try{let{generateObject:V}=await import("ai"),{z:L}=await Promise.resolve().then(() => (RV(),VV)),N=await tU(J,{config:$.config,env:$.env}),H=L.object({summary:L.string(),confidence:L.number().min(0).max(1),proposed_patch:L.object({kind:L.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:L.string(),strategy:L.string(),summary:L.string(),diff:L.string().nullable(),metadata:L.record(L.string(),L.unknown()).default({})})}),R=await V({model:N,schema:H,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:Q});j=R.object.summary,O=hZ(R.object.confidence),Y=xZ(R.object.proposed_patch,`${W.conflict.entity_kind}:${W.conflict.entity_id}`);let b=f0({provider:X.provider,model:X.model,usage:R.usage,providerMetadata:R.providerMetadata});B={input_tokens:b.input_tokens,output_tokens:b.output_tokens,cost_usd:b.cost_usd},vZ($.dbPath,G,b,_)}catch(V){throw wq({dbPath:$.dbPath,runId:G,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:V instanceof Error?V.message:String(V)},now:_}),AV({dbPath:$.dbPath,runId:G,status:"failed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",error:V instanceof Error?V.message:String(V)},now:_}),V}return AV({dbPath:$.dbPath,runId:G,status:$.fake?"dry_run":"completed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,confidence:O,proposed_strategy:Y.strategy,citation_count:W.citations.length},now:_}),wq({dbPath:$.dbPath,runId:G,level:"info",event:$.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:Y.strategy,confidence:O,patch_kind:Y.kind},now:_}),{...U,mode:"ai",proposed_strategy:Y.strategy,summary:j,proposed_patch:Y,citations:W.citations,confidence:O,agent:{generated:!0,provider:X.provider,model:X.model,run_id:G,read_only_tools:W.read_only_tools,usage:B},warnings:[...U.warnings,...W.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${$.id}`}}import{createHash as uZ,randomUUID as dZ}from"crypto";import{existsSync as nZ,readFileSync as cZ}from"fs";import{basename as lZ}from"path";function i8($,_){return`${$}_${uZ("sha256").update(_).digest("hex").slice(0,20)}`}function s2($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function h$($){return typeof $==="string"&&$.length>0?$:void 0}function rZ($){let _=h$($.source_ref)??h$($.source_uri)??h$($.uri);if(_)return _;let U=h$($.file_id);if(U){let X=h$($.revision_id)??h$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=h$($.source_id),J=h$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function iZ($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function pZ($){return h$($.hash)??h$($.checksum)??h$($.sha256)??null}function oZ($,_,U){return h$($.revision_id)??h$($.revision)??h$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??null}function tZ($){return h$($.previous_revision_id)??h$($.previous_revision)??h$($.previous_version_id)??null}function aZ($){return(h$($.event_type)??h$($.event)??h$($.type)??h$($.action)??h$($.change_type)??"changed").toLowerCase()}function sZ($){let _=h$($.path);return h$($.title)??h$($.name)??(_?lZ(_):null)}function eZ($,_){let U=rZ($),W=i_(U),J=pZ($);return{raw:$,eventType:aZ($),sourceRef:U,sourceUri:iZ(U,W),kind:W.kind,title:sZ($),revision:oZ($,W,J),previousRevision:tZ($),hash:J,status:h$($.status)?.toLowerCase()??null,updatedAt:h$($.updated_at)??_,acl:$.permissions??$.acl??void 0}}function $v($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Outbox array parse failed.");return U.map((W)=>{let J=s2(W);if(!J)throw Error("Outbox array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=s2(U);if(!W)throw Error("Outbox object parse failed.");if(Array.isArray(W.events))return W.events.map((J)=>{let X=s2(J);if(!X)throw Error("Outbox events entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=s2(JSON.parse(J));if(!X)throw Error("Outbox JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=s2(JSON.parse(U));if(!W)throw Error("Outbox JSONL entries must be objects.");return W})}async function _v($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 outbox URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Uv($,_,U){if($.startsWith("s3://"))return _v($,_,U);if(!nZ($))throw Error(`Outbox not found: ${$}`);return cZ($,"utf8")}function EV($,_){let U={};if($)try{U=s2(JSON.parse($))??{}}catch{U={}}return JSON.stringify({...U,..._})}function Jv($,_,U){let W=i8("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(uri) DO UPDATE SET kind = excluded.kind, title = COALESCE(excluded.title, sources.title), - updated_at = excluded.updated_at`,[J,$.sourceUri,$.kind,$.title,JSON.stringify({source_ref:$.sourceRef,source_uri:$.sourceUri,status:$.status,last_outbox_event:$.eventType}),JSON.stringify($.acl??{}),U,$.updatedAt]);let D=_.query("SELECT id, metadata_json, acl_json FROM sources WHERE uri = ?").get($.sourceUri);if(!D)throw Error(`Failed to upsert source for outbox event: ${$.sourceUri}`);let j={source_ref:$.sourceRef,source_uri:$.sourceUri,last_outbox_event:$.eventType,last_outbox_at:$.updatedAt};if($.status)j.status=$.status;if(K_($.raw.path))j.path=$.raw.path;return _.run("UPDATE sources SET metadata_json = ?, acl_json = CASE WHEN ? IS NULL THEN acl_json ELSE ? END, updated_at = ? WHERE id = ?",[sg(D.metadata_json,j),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,D.id]),D.id}function Pw(_,$,U,J){if(!U.revision)return null;let D=HW("rev",`${$}\x00${U.revision}`),j={source_ref:U.sourceRef,source_uri:U.sourceUri,status:U.status,last_outbox_event:U.eventType,reindex_required:!0};return _.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) + updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify({source_ref:_.sourceRef,source_uri:_.sourceUri,status:_.status,last_outbox_event:_.eventType}),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id, metadata_json, acl_json FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source for outbox event: ${_.sourceUri}`);let X={source_ref:_.sourceRef,source_uri:_.sourceUri,last_outbox_event:_.eventType,last_outbox_at:_.updatedAt};if(_.status)X.status=_.status;if(h$(_.raw.path))X.path=_.raw.path;return $.run("UPDATE sources SET metadata_json = ?, acl_json = CASE WHEN ? IS NULL THEN acl_json ELSE ? END, updated_at = ? WHERE id = ?",[EV(J.metadata_json,X),_.acl===void 0?null:JSON.stringify(_.acl),_.acl===void 0?null:JSON.stringify(_.acl),_.updatedAt,J.id]),J.id}function Wv($,_,U,W){if(!U.revision)return null;let J=i8("rev",`${_}\x00${U.revision}`),X={source_ref:U.sourceRef,source_uri:U.sourceUri,status:U.status,last_outbox_event:U.eventType,reindex_required:!0};return $.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(source_id, revision) DO UPDATE SET hash = COALESCE(excluded.hash, source_revisions.hash), - metadata_json = excluded.metadata_json`,[D,$,U.revision,U.hash,K_(U.raw.extracted_text_ref)??null,JSON.stringify(j),J]),_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,U.revision)?.id??null}function kw(_,$,U){if(U.previousRevision){let J=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,U.previousRevision).map((D)=>D.id);if(J.length>0)return J}if(U.revision)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,U.revision).map((J)=>J.id);if(U.hash)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all($,U.hash).map((J)=>J.id);return _.query("SELECT id FROM source_revisions WHERE source_id = ?").all($).map((J)=>J.id)}function ww(_,$){let U=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($),J=0,D=0;for(let W of U){let G=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(W.id);J+=G?.n??0;let X=_.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(W.id);D+=X?.n??0,_.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[W.id]),_.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[W.id]),_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[W.id])}_.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]);let j=_.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get($);return _.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[sg(j?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:U.length,embeddingsDeleted:J,vectorEntriesDeleted:D}}function Sw(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function fw(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function Tw(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function _E(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)I6(_.dbPath,_.safetyPolicy);o(_.dbPath);let U=await Fw(_.input,_.config,_.safetyPolicy),J=Kw(U),D=x(_.dbPath),j=`run_${zw()}`;try{return D.transaction(()=>{D.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[j,"open-files-outbox",_.input,"completed","local","open-files-outbox",JSON.stringify({path:_.input,events:J.length}),$,$]);let W=new Set,G=new Set,X=0,N=0,z=0,L=0,E=0,Q=0,q=0;return v_(D,{event_type:"source_read",action:_.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:_.input,decision:"allow",metadata:{events:J.length,read_only:!0},created_at:$}),J.forEach((g,B)=>{let H=bw(g,$),R=Mw(D,H,$);W.add(R);let K=Pw(D,R,H,$);if(K)G.add(K);let V=kw(D,R,H);for(let I of V){G.add(I);let T=ww(D,I);X+=T.chunksDeleted,N+=T.embeddingsDeleted,z+=T.vectorEntriesDeleted,L+=1}if(Sw(H.eventType,H.status))E+=1;if(fw(H.eventType))Q+=1;if(Tw(H.eventType)||H.acl!==void 0)q+=1;D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[HW("evt",`${j}\x00${B}\x00${H.sourceRef}\x00${H.eventType}`),j,"info",H.eventType,JSON.stringify({source_ref:H.sourceRef,source_uri:H.sourceUri,revision:H.revision,hash:H.hash,status:H.status,affected_revisions:V.length}),H.updatedAt])}),D.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[HW("usage",j),j,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),$]),v_(D,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:_.dbPath,decision:"allow",metadata:{run_id:j,events:J.length,sources:W.size,revisions:G.size,chunks_deleted:X,embeddings_deleted:N,vector_entries_deleted:z},created_at:$}),{path:_.input,db_path:_.dbPath,run_id:j,events_seen:J.length,sources_touched:W.size,revisions_touched:G.size,chunks_deleted:X,embeddings_deleted:N,vector_entries_deleted:z,stale_revisions:L,deleted_sources:E,moved_sources:Q,permission_updates:q}})()}finally{D.close()}}import{spawnSync as DE}from"child_process";import{hostname as B0,platform as JE,userInfo as Cw}from"os";var Zw=1,vw="@hasna/machines",yw="@hasna/machines/consumer";function p(_){return typeof _==="string"&&_.length>0?_:null}function q4(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function $$(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function FW(_){return typeof _==="boolean"?_:null}function hw(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function MW(_=JE()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function p2(_){let $=DE("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function n1(_,$){return await _($)}async function t2(_,$){return(await n1($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function xw(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function $E(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function rw(_,$){let U=new Map;if(!await t2("tailscale",_))return $.push("tailscale_not_available"),{peers:U,selfKey:null};let J=await n1(_,"tailscale status --json");if(J.exitCode!==0)return $.push(`tailscale_status_failed:${J.stderr.trim()||J.exitCode}`),{peers:U,selfKey:null};let D=xw(J.stdout);if(!D)return $.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let j=(W)=>{let G=$E(W);if(G&&W)U.set(G,W)};j(D.Self);for(let W of Object.values(D.Peer??{}))j(W);return{peers:U,selfKey:$E(D.Self)}}function uw(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??B0()}function nw(_){let $=_.machineId===_.localMachineId||_.machineId===B0(),U=_.peer?.DNSName?.replace(/\.$/,"")??null,J=U??_.peer?.TailscaleIPs?.[0]??null,D=[];if($)D.push({kind:"local",target:"localhost",reachable:!0});if(J)D.push({kind:"tailscale",target:J,reachable:_.peer?.Online??null});let j=D.find((W)=>W.kind==="local")??D.find((W)=>W.kind==="tailscale")??null;return{machine_id:_.machineId,hostname:_.peer?.HostName??($?B0():_.machineId),local:$,platform:_.peer?.OS?MW(_.peer.OS):$?MW():null,os:_.peer?.OS??($?JE():null),user:$?Cw().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:U,ips:_.peer?.TailscaleIPs??[],online:_.peer?.Online??null,active:_.peer?.Active??null,last_seen:_.peer?.LastSeen??null},ssh:{address:null,route:j?.kind==="local"?"local":j?.kind==="tailscale"?"tailscale":"unknown",command_target:j?.target??null},route_hints:D,tags:[],metadata:{},source:"local"}}function mw(_){if(!Array.isArray(_))return[];return _.map(($)=>{let U=$$($),J=p(U.kind)??"unknown";return{kind:J==="local"||J==="lan"||J==="tailscale"||J==="ssh"?J:"unknown",target:p(U.target)??"",reachable:FW(U.reachable)}}).filter(($)=>$.target.length>0)}function dw(_,$){let U=p(_.machine_id)??p(_.hostname)??"unknown",J=$$(_.tailscale),D=$$(_.ssh),j=p(_.heartbeat_status),W=p(D.route);return{machine_id:U,hostname:p(_.hostname),local:U===$,platform:p(_.platform),os:p(_.os),user:p(_.user),workspace_path:p(_.workspace_path),manifest_declared:_.manifest_declared===!0,heartbeat_status:j==="online"||j==="offline"?j:"unknown",last_heartbeat_at:p(_.last_heartbeat_at),tailscale:{dns_name:p(J.dns_name),ips:q4(J.ips),online:FW(J.online),active:FW(J.active),last_seen:p(J.last_seen)},ssh:{address:p(D.address),route:W==="local"||W==="lan"||W==="tailscale"?W:"unknown",command_target:p(D.command_target)},route_hints:mw(_.route_hints),tags:q4(_.tags),metadata:$$(_.metadata),source:"open-machines"}}function cw(_,$){return`${$} machine${$===1?"":"s"} discovered via ${_}`}function A$(_){let $=_ instanceof Error?_.message:String(_);return $.includes("Cannot find module '@hasna/machines'")||$.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":$}function a2(_){return _.adapterMode??"auto"}function jE(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let U=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function PW(_){return typeof _.schema_version==="number"?_.schema_version:null}function e2(_){return typeof _==="number"&&_>Zw?_:null}function kW(_){return{package:vw,entrypoint:yw,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function L_(_,$="adapter_disabled"){return kW({mode:_,implementation:"disabled",available:!1,error:$})}function wW(_,$){let U=e2(jE($));if(!U)return null;return kW({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function SW(_){return kW({mode:_,implementation:"cli",available:!0})}function fW(_,$){return kW({mode:_,implementation:"sdk",available:!0,contractVersion:jE($)})}function TW(_){try{return JSON.parse(_)}catch{return null}}function R0(_){return`'${_.replace(/'/g,"'\\''")}'`}function CW(_){return["machines",..._].map(R0).join(" ")}function ZW(_){return _==="local"||_==="localhost"||_===B0()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function iw(_,$){let U=ZW(_),J=U?$:`ssh ${R0(_)} ${R0($)}`,D=DE("bash",["-c",J],{encoding:"utf8",env:process.env});return{stdout:D.stdout||"",stderr:D.stderr||"",exitCode:D.status??1,source:U?"local":"ssh"}}async function WE(_,$,U){return await _($,U)}function g0(_,$){if($)return"ok";return _===!1?"warn":"fail"}function E0(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function lw(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function ow(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function GE(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function XE(_){let $={};for(let U of _.split(/\r?\n/)){let J=U.indexOf("=");if(J<=0)continue;$[U.slice(0,J)]=U.slice(J+1)}return $}function Z6(_){return{id:_.id,kind:_.kind,status:_.status,target:_.target,expected:_.expected??null,actual:_.actual??null,detail:_.detail,source:_.source}}async function NE(_,$,U){let J=[`cmd=${R0($.command)}`,'path="$(command -v "$cmd" 2>/dev/null || true)"','printf "path=%s\\n" "$path"',`if [ -n "$path" ]; then version="$("$cmd" ${$.versionArgs??"--version"} 2>/dev/null || true)"; printf "version=%s\\n" "$version"; fi`].join("; "),D=await WE(U,_,J),j=XE(D.stdout);return{path:j.path||null,version:j.version?ow(j.version):null,stderr:D.stderr,source:D.source??(ZW(_)?"local":"ssh")}}function UE(_){let $=_==="name"?String.raw`s/.*"name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`:String.raw`s/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`;return[`if command -v bun >/dev/null 2>&1; then bun -e "const p=JSON.parse(await Bun.file(process.argv[1]).text()); console.log(p.${_} ?? '')" "$pkg" 2>/dev/null`,`elif command -v node >/dev/null 2>&1; then node -e "const fs=require('fs'); const p=JSON.parse(fs.readFileSync(process.argv[1], 'utf8')); console.log(p.${_} || '')" "$pkg" 2>/dev/null`,`else sed -n '${$}' "$pkg" | head -n 1`,"fi"].join("; ")}async function pw(_,$,U){let J=[`path=${R0($.path)}`,'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"','pkg="$path/package.json"','printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',`if [ -f "$pkg" ]; then printf "package_name=%s\\n" "$(${UE("name")})"; printf "version=%s\\n" "$(${UE("version")})"; fi`].join("; "),D=await WE(U,_,J),j=XE(D.stdout);return{exists:j.exists==="yes",packageJson:j.package_json==="yes",packageName:j.package_name||null,version:j.version||null,stderr:D.stderr,source:D.source??(ZW(_)?"local":"ssh")}}async function tw(_,$,U){let J=await NE(_,$,U),D=Boolean(J.path),j=[Z6({id:`command:${E0($.command)}:path`,kind:"command",status:g0($.required,D),target:$.command,expected:"available",actual:J.path??"missing",detail:D?`found at ${J.path}`:J.stderr||"command missing",source:J.source})];if($.expectedVersion){let W=GE(J.version??"");j.push(Z6({id:`command:${E0($.command)}:version`,kind:"command",status:W===$.expectedVersion?"ok":g0($.required,!1),target:$.command,expected:$.expectedVersion,actual:W??J.version??"missing",detail:W?`version output: ${J.version}`:"version unavailable",source:J.source}))}return j}async function aw(_,$,U){let J=$.command??lw($.name),D=await NE(_,{command:J,expectedVersion:$.expectedVersion,required:$.required},U),j=Boolean(D.path),W=[Z6({id:`package:${E0($.name)}:command`,kind:"package",status:g0($.required,j),target:$.name,expected:J,actual:D.path??"missing",detail:j?`${J} found at ${D.path}`:`${J} command missing`,source:D.source})];if($.expectedVersion){let G=GE(D.version??"");W.push(Z6({id:`package:${E0($.name)}:version`,kind:"package",status:G===$.expectedVersion?"ok":g0($.required,!1),target:$.name,expected:$.expectedVersion,actual:G??D.version??"missing",detail:G?`version output: ${D.version}`:"version unavailable",source:D.source}))}return W}async function ew(_,$,U){let J=await pw(_,$,U),D=$.label??$.path,j=[Z6({id:`workspace:${E0(D)}:path`,kind:"workspace",status:g0($.required,J.exists),target:D,expected:$.path,actual:J.exists?"exists":"missing",detail:J.exists?`workspace exists at ${$.path}`:J.stderr||`workspace missing at ${$.path}`,source:J.source})];if($.expectedPackageName)j.push(Z6({id:`workspace:${E0(D)}:package-name`,kind:"workspace",status:J.packageName===$.expectedPackageName?"ok":g0($.required,!1),target:D,expected:$.expectedPackageName,actual:J.packageName??(J.packageJson?"missing-name":"missing-package-json"),detail:J.packageJson?"package.json inspected":"package.json missing",source:J.source}));if($.expectedVersion)j.push(Z6({id:`workspace:${E0(D)}:version`,kind:"workspace",status:J.version===$.expectedVersion?"ok":g0($.required,!1),target:D,expected:$.expectedVersion,actual:J.version??(J.packageJson?"missing-version":"missing-package-json"),detail:J.packageJson?"package.json inspected":"package.json missing",source:J.source}));return j}function OE(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:L6,workspace_home:$.knowledge?.workspace_home??null},message:cw(_.source,_.machines.length)}}async function vW(){try{return await import("@hasna/machines/consumer")}catch(_){if(A$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function YE(_,$,U){let J=$$(_);if(e2(PW(J)))return null;let D=Array.isArray(J.machines)?J.machines:null,j=p(J.local_machine_id);if(!D||!j)return null;let W={ok:!0,source:"open-machines",generated_at:p(J.generated_at)??($.now??new Date).toISOString(),local_machine_id:j,local_hostname:p(J.local_hostname)??B0(),current_platform:p(J.current_platform)??MW(),machines:D.map((G)=>dw(G,j)),warnings:q4(J.warnings),adapter:U};return OE(W,$)}function AW(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function zE(_){let $=$$(_),U=p($.observed_at),J=p($.source_authority);if(!U||!J)return null;return{observed_at:U,verified_at:p($.verified_at),expires_at:p($.expires_at),ttl_ms:hw($.ttl_ms),source_authority:J,confidence:p($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:q4($.reasons)}}function QE(_,$){let U=$$(_);if(e2(PW(U)))return null;let J=p(U.target)??p(U.command_target);if(U.ok!==!0||!J)return null;let D=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,j=typeof D?.selected_hint==="object"&&D.selected_hint!==null?D.selected_hint:null;return{target:J,route:AW(U.route),targetKind:AW(j?.kind)??AW(U.source)??AW(U.route),confidence:p(U.confidence),source:"open-machines",adapter:$,evidence:D,cacheability:zE(U.cacheability),warnings:q4(U.warnings)}}function rY(_){let $=$$(_);return{path:p($.path),source:p($.source)??"unresolved"}}function sw(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=$$($),J=p(U.id),D=p(U.status),j=p(U.severity),W=p(U.message);if(!J||!D||!j||!W)return[];return[{id:J,status:D,severity:j,message:W,path:p(U.path),source:p(U.source)??"unknown",path_exists:FW(U.path_exists)}]})}function _S(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=$$($),J=p(U.id),D=p(U.reason),j=q4(U.command),W=p(U.shell_command),G=q4(U.apply_command),X=p(U.apply_shell_command);if(!J||!D||!j.length||!W||!G.length||!X)return[];return[{id:J,reason:D,command:j,shell_command:W,apply_command:G,apply_shell_command:X}]})}function $S(_){if(!(_.projectRootSource==="inferred"||_.openFilesRootSource==="inferred"||_.trustStatus==="untrusted"||_.authStatus==="unknown"||_.warnings.some((D)=>D.includes("inferred")||D.includes("untrusted")||D.includes("unknown_auth")||D.includes("missing"))))return[];let U=["machines","workspace","repair","--machine",_.requestedMachineId,"--project",_.projectId,"--repo",_.repoName,"--open-files-repo",_.openFilesRepoName??"open-files","--json"],J=[...U,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:U,shell_command:U.map(R0).join(" "),apply_command:J,apply_shell_command:J.map(R0).join(" ")}]}function qE(_,$,U){let J=$$(_);if(e2(PW(J)))return null;let D=$$(J.paths),j=$$(J.project),W=$$(J.machine),G=rY(D.project_root),X=rY(D.workspace_root),N=rY(D.open_files_root);if(J.ok!==!0||!G.path)return null;let z=typeof J.evidence==="object"&&J.evidence!==null?J.evidence:null,L=p(J.requested_machine_id)??$.machineId,E=p(j.project_id)??$.projectId??"open-knowledge",Q=p(j.repo_name)??$.repoName??$.projectId??"open-knowledge",q=p(W.trust_status)??"unknown",g=p(W.auth_status)??"unknown",B=q4(J.warnings),H=sw(J.diagnostics),R=_S(J.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:L,machine_id:p(J.machine_id),project_id:E,repo_name:Q,project_root:G.path,project_root_source:G.source,workspace_root:X.path,workspace_root_source:X.source,open_files_root:N.path,open_files_root_source:N.source,trust_status:q,auth_status:g,current:W.current===!0,primary:W.primary===!0,diagnostics:H,repair_hints:R.length?R:$S({requestedMachineId:L,projectId:E,repoName:Q,openFilesRepoName:$.openFilesRepoName,warnings:B,projectRootSource:G.source,openFilesRootSource:N.source,trustStatus:q,authStatus:g}),evidence:z,cacheability:zE(J.cacheability),warnings:B}}async function VW(_,$){let U=_.runner??p2;if(!await t2("machines",U))return null;let J=["topology","--json"];if(_.includeTailscale===!1)J.push("--no-tailscale");let D=await n1(U,CW(J));if(D.exitCode!==0)return null;return YE(TW(D.stdout),_,$)}async function S6(_,$){let U=[];if($.error)U.push(`open_machines_unavailable:${$.error}`);let J=_.runner??p2,D=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await rw(J,U),j=uw(D.selfKey),G=[...new Set([j,...D.peers.keys()])].sort().map((X)=>nw({machineId:X,localMachineId:j,peer:D.peers.get(X)}));return OE({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:j,local_hostname:B0(),current_platform:MW(),machines:G,warnings:U,adapter:$},_)}async function LE(_={}){let $=a2(_);if($==="disabled")return await S6(_,L_($));let U=SW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??vW)(),j=wW($,D);if(j)return await S6(_,j);let W=fW($,D);if(D?.discoverMachineTopology){let G=D.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),X=YE(G,_,W);if(X)return X;if($==="sdk")return await S6(_,L_($,"invalid_topology_shape"));return await VW(_,U)??await S6(_,L_($,"invalid_topology_shape"))}if($==="sdk")return await S6(_,L_($,"missing_discoverMachineTopology"));return await VW(_,U)??await S6(_,L_($,"missing_discoverMachineTopology"))}return await VW(_,U)??await S6(_,L_($,"machines_cli_unavailable"))}catch(J){if($==="sdk")return await S6(_,L_($,A$(J)));return await VW(_,U)??await S6(_,L_($,A$(J)))}}async function bW(_,$){let U=_.runner??p2;if(!await t2("machines",U))return null;let J=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)J.push("--no-tailscale");let D=await n1(U,CW(J));if(D.exitCode!==0)return null;return QE(TW(D.stdout),$)}function f6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function uY(_){let $=a2(_);if($==="disabled")return f6(_.machineId,L_($));let U=SW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??vW)(),j=wW($,D);if(j)return f6(_.machineId,j);let W=fW($,D);if(D?.resolveMachineRoute){let G=QE(D.resolveMachineRoute(_.machineId,{includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),W);if(G)return G;if($==="sdk")return f6(_.machineId,L_($,"invalid_route_shape"));return await bW(_,U)??f6(_.machineId,L_($,"invalid_route_shape"))}if($==="sdk")return f6(_.machineId,L_($,"missing_resolveMachineRoute"));return await bW(_,U)??f6(_.machineId,L_($,"missing_resolveMachineRoute"))}return await bW(_,U)??f6(_.machineId,L_($,"machines_cli_unavailable"))}catch(J){if($==="sdk")return{...f6(_.machineId,L_($,A$(J))),warnings:[A$(J)]};return await bW(_,U)??{...f6(_.machineId,L_($,A$(J))),warnings:[A$(J)]}}}async function KW(_,$){let U=_.runner??p2;if(!await t2("machines",U))return null;let J=_.projectId??"open-knowledge",D=_.repoName??"open-knowledge",j=["workspace","resolve","--machine",_.machineId,"--project",J,"--repo",D,"--open-files-repo",_.openFilesRepoName??"open-files","--json"];if(_.includeTailscale===!1)j.push("--no-tailscale");let W=await n1(U,CW(j));if(W.exitCode!==0)return null;return qE(TW(W.stdout),_,$)}function US(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:L_(a2(_),"argument_override"),requested_machine_id:_.machineId,machine_id:_.machineId,project_id:_.projectId??"open-knowledge",repo_name:_.repoName??"open-knowledge",project_root:$,project_root_source:"argument",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:[]}}function T6(_,$,U){return{ok:!1,source:"raw",adapter:U,requested_machine_id:_.machineId,machine_id:null,project_id:_.projectId??"open-knowledge",repo_name:_.repoName??"open-knowledge",project_root:null,project_root_source:"unresolved",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:$}}async function yW(_){let $=US(_);if($)return $;let U=a2(_);if(U==="disabled")return T6(_,["adapter_disabled"],L_(U));let J=SW(U);try{if(U!=="cli"){let j=await(_.loadOpenMachines??vW)(),W=wW(U,j);if(W)return T6(_,[`unsupported_contract_version:${W.contract_version}`],W);let G=fW(U,j);if(j?.resolveMachineWorkspace){let X=qE(j.resolveMachineWorkspace({machineId:_.machineId,projectId:_.projectId??"open-knowledge",repoName:_.repoName??"open-knowledge",openFilesRepoName:_.openFilesRepoName??"open-files",includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),_,G);if(X)return X;if(U==="sdk")return T6(_,["invalid_workspace_shape"],L_(U,"invalid_workspace_shape"));return await KW(_,J)??T6(_,["invalid_workspace_shape"],L_(U,"invalid_workspace_shape"))}if(U==="sdk")return T6(_,["missing_resolveMachineWorkspace"],L_(U,"missing_resolveMachineWorkspace"));return await KW(_,J)??T6(_,["missing_resolveMachineWorkspace"],L_(U,"missing_resolveMachineWorkspace"))}return await KW(_,J)??T6(_,["machines_cli_unavailable"],L_(U,"machines_cli_unavailable"))}catch(D){if(U==="sdk")return T6(_,[A$(D)],L_(U,A$(D)));return await KW(_,J)??T6(_,[A$(D)],L_(U,A$(D)))}}function gE(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:L6,workspace_home:$.knowledge?.workspace_home??null},message:_.ok?`Machine ${_.machine_id} passed knowledge preflight`:`Machine ${_.machine_id} failed knowledge preflight: ${_.summary.fail} failing check(s)`}}function EE(_,$,U){let J=$$(_);if(e2(PW(J)))return null;let D=Array.isArray(J.checks)?J.checks:null,j=p(J.machine_id)??p(J.machineId);if(!D||!j)return null;let W=D.map((X)=>{let N=$$(X),z=p(N.status),L=p(N.kind),E=p(N.source);return Z6({id:p(N.id)??"unknown",kind:L==="command"||L==="package"||L==="workspace"?L:"command",status:z==="ok"||z==="warn"||z==="fail"?z:"fail",target:p(N.target)??"unknown",expected:p(N.expected),actual:p(N.actual),detail:p(N.detail)??"",source:E==="local"||E==="ssh"||E==="open-machines"?E:"open-machines"})}),G={ok:W.filter((X)=>X.status==="ok").length,warn:W.filter((X)=>X.status==="warn").length,fail:W.filter((X)=>X.status==="fail").length};return gE({ok:G.fail===0,source:"open-machines",machine_id:j,generated_at:p(J.generated_at)??($.now??new Date).toISOString(),checks:W,summary:G,adapter:U},$)}function DS(_){if(!_.runner)return p2;return async($)=>{let U=await _.runner?.("local",$);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function JS(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function jS(_){let $=[_.expectedPackageName,_.expectedVersion].filter((J)=>Boolean(J)).join(":"),U=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${U}`:U}async function IW(_,$){let U=DS(_);if(!await t2("machines",U))return null;let J=["compatibility","--json","--machine",_.machineId??"local"];for(let j of _.commands??[])J.push("--command",j.expectedVersion?`${j.command}:${j.expectedVersion}`:j.command);for(let j of _.packages??[])J.push("--package",JS(j));for(let j of _.workspaces??[])J.push("--workspace",jS(j));let D=await n1(U,CW(J));if(D.exitCode!==0)return null;return EE(TW(D.stdout),_,$)}async function C6(_,$){let U=_.machineId??B0(),J=_.runner??iw,D=_.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],j=_.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],W=_.workspaces??[],G=[];for(let N of D)G.push(...await tw(U,N,J));for(let N of j)G.push(...await aw(U,N,J));for(let N of W)G.push(...await ew(U,N,J));if($.error)G.push(Z6({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:$.error,detail:"Using knowledge local/ssh compatibility fallback",source:ZW(U)?"local":"ssh"}));let X={ok:G.filter((N)=>N.status==="ok").length,warn:G.filter((N)=>N.status==="warn").length,fail:G.filter((N)=>N.status==="fail").length};return gE({ok:X.fail===0,source:"local",machine_id:U,generated_at:(_.now??new Date).toISOString(),checks:G,summary:X,adapter:$},_)}async function BE(_={}){let $=a2(_);if($==="disabled")return await C6(_,L_($));let U=SW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??vW)(),j=wW($,D);if(j)return await C6(_,j);let W=fW($,D);if(D?.checkMachineCompatibility){let G=D.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),X=EE(G,_,W);if(X)return X;if($==="sdk")return await C6(_,L_($,"invalid_compatibility_shape"));return await IW(_,U)??await C6(_,L_($,"invalid_compatibility_shape"))}if($==="sdk")return await C6(_,L_($,"missing_checkMachineCompatibility"));return await IW(_,U)??await C6(_,L_($,"missing_checkMachineCompatibility"))}return await IW(_,U)??await C6(_,L_($,"machines_cli_unavailable"))}catch(J){if($==="sdk")return await C6(_,L_($,A$(J)));return await IW(_,U)??await C6(_,L_($,A$(J)))}}import{createHash as WS,randomUUID as RE}from"crypto";function GS(_,$){return`${_}_${WS("sha256").update($).digest("hex").slice(0,20)}`}function XS(_){let $=x(_);try{let U=$.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(U.map((J)=>[J.status,J.n]))}finally{$.close()}}function HE(_,$){let U=x4($.modelRef,$.config),J=l_(U),D=x(_);try{return D.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri + metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,h$(U.raw.extracted_text_ref)??null,JSON.stringify(X),W]),$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision)?.id??null}function Xv($,_,U){if(U.previousRevision){let W=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.previousRevision).map((J)=>J.id);if(W.length>0)return W}if(U.revision)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.revision).map((W)=>W.id);if(U.hash)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all(_,U.hash).map((W)=>W.id);return $.query("SELECT id FROM source_revisions WHERE source_id = ?").all(_).map((W)=>W.id)}function Gv($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_),W=0,J=0;for(let G of U){let Q=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(G.id);W+=Q?.n??0;let Y=$.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(G.id);J+=Y?.n??0,$.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[G.id])}$.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]);let X=$.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get(_);return $.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[EV(X?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),_]),{chunksDeleted:U.length,embeddingsDeleted:W,vectorEntriesDeleted:J}}function Qv($,_){return _==="deleted"||["delete","deleted","remove","removed"].includes($)}function Yv($){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes($)}function jv($){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes($)}async function KV($){let _=($.now??new Date).toISOString();if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await Uv($.input,$.config,$.safetyPolicy),W=$v(U),J=d($.dbPath),X=`run_${dZ()}`;try{return J.transaction(()=>{J.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[X,"open-files-outbox",$.input,"completed","local","open-files-outbox",JSON.stringify({path:$.input,events:W.length}),_,_]);let G=new Set,Q=new Set,Y=0,j=0,O=0,B=0,V=0,L=0,N=0;return a$(J,{event_type:"source_read",action:$.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:$.input,decision:"allow",metadata:{events:W.length,read_only:!0},created_at:_}),W.forEach((H,R)=>{let b=eZ(H,_),A=Jv(J,b,_);G.add(A);let M=Wv(J,A,b,_);if(M)Q.add(M);let E=Xv(J,A,b);for(let g of E){Q.add(g);let Z=Gv(J,g);Y+=Z.chunksDeleted,j+=Z.embeddingsDeleted,O+=Z.vectorEntriesDeleted,B+=1}if(Qv(b.eventType,b.status))V+=1;if(Yv(b.eventType))L+=1;if(jv(b.eventType)||b.acl!==void 0)N+=1;J.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[i8("evt",`${X}\x00${R}\x00${b.sourceRef}\x00${b.eventType}`),X,"info",b.eventType,JSON.stringify({source_ref:b.sourceRef,source_uri:b.sourceUri,revision:b.revision,hash:b.hash,status:b.status,affected_revisions:E.length}),b.updatedAt])}),J.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) + VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[i8("usage",X),X,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),_]),a$(J,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:$.dbPath,decision:"allow",metadata:{run_id:X,events:W.length,sources:G.size,revisions:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O},created_at:_}),{path:$.input,db_path:$.dbPath,run_id:X,events_seen:W.length,sources_touched:G.size,revisions_touched:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O,stale_revisions:B,deleted_sources:V,moved_sources:L,permission_updates:N}})()}finally{J.close()}}import{spawnSync as IV}from"child_process";import{hostname as D1,platform as wV,userInfo as Dv}from"os";var zv=1,qv="@hasna/machines",Ov="@hasna/machines/consumer";function _$($){return typeof $==="string"&&$.length>0?$:null}function s4($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function V_($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function e8($){return typeof $==="boolean"?$:null}function Lv($){return typeof $==="number"&&Number.isFinite($)?$:null}function $5($=wV()){let _=$.toLowerCase();if(_==="darwin"||_==="macos")return"macos";if(_==="win32"||_==="windows")return"windows";if(_==="linux")return"linux";return $}function NW($){let _=IV("bash",["-c",$],{encoding:"utf8",env:process.env});return{stdout:_.stdout||"",stderr:_.stderr||"",exitCode:_.status??1}}async function e2($,_){return await $(_)}async function BW($,_){return(await e2(_,`command -v ${$} >/dev/null 2>&1`)).exitCode===0}function Nv($){try{let _=JSON.parse($);if(!_||typeof _!=="object")return null;return _}catch{return null}}function MV($){if(!$)return null;return $.HostName??$.DNSName?.split(".")[0]??null}async function Bv($,_){let U=new Map;if(!await BW("tailscale",$))return _.push("tailscale_not_available"),{peers:U,selfKey:null};let W=await e2($,"tailscale status --json");if(W.exitCode!==0)return _.push(`tailscale_status_failed:${W.stderr.trim()||W.exitCode}`),{peers:U,selfKey:null};let J=Nv(W.stdout);if(!J)return _.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let X=(G)=>{let Q=MV(G);if(Q&&G)U.set(Q,G)};X(J.Self);for(let G of Object.values(J.Peer??{}))X(G);return{peers:U,selfKey:MV(J.Self)}}function Hv($){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??$??D1()}function Vv($){let _=$.machineId===$.localMachineId||$.machineId===D1(),U=$.peer?.DNSName?.replace(/\.$/,"")??null,W=U??$.peer?.TailscaleIPs?.[0]??null,J=[];if(_)J.push({kind:"local",target:"localhost",reachable:!0});if(W)J.push({kind:"tailscale",target:W,reachable:$.peer?.Online??null});let X=J.find((G)=>G.kind==="local")??J.find((G)=>G.kind==="tailscale")??null;return{machine_id:$.machineId,hostname:$.peer?.HostName??(_?D1():$.machineId),local:_,platform:$.peer?.OS?$5($.peer.OS):_?$5():null,os:$.peer?.OS??(_?wV():null),user:_?Dv().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:U,ips:$.peer?.TailscaleIPs??[],online:$.peer?.Online??null,active:$.peer?.Active??null,last_seen:$.peer?.LastSeen??null},ssh:{address:null,route:X?.kind==="local"?"local":X?.kind==="tailscale"?"tailscale":"unknown",command_target:X?.target??null},route_hints:J,tags:[],metadata:{},source:"local"}}function Rv($){if(!Array.isArray($))return[];return $.map((_)=>{let U=V_(_),W=_$(U.kind)??"unknown";return{kind:W==="local"||W==="lan"||W==="tailscale"||W==="ssh"?W:"unknown",target:_$(U.target)??"",reachable:e8(U.reachable)}}).filter((_)=>_.target.length>0)}function Av($,_){let U=_$($.machine_id)??_$($.hostname)??"unknown",W=V_($.tailscale),J=V_($.ssh),X=_$($.heartbeat_status),G=_$(J.route);return{machine_id:U,hostname:_$($.hostname),local:U===_,platform:_$($.platform),os:_$($.os),user:_$($.user),workspace_path:_$($.workspace_path),manifest_declared:$.manifest_declared===!0,heartbeat_status:X==="online"||X==="offline"?X:"unknown",last_heartbeat_at:_$($.last_heartbeat_at),tailscale:{dns_name:_$(W.dns_name),ips:s4(W.ips),online:e8(W.online),active:e8(W.active),last_seen:_$(W.last_seen)},ssh:{address:_$(J.address),route:G==="local"||G==="lan"||G==="tailscale"?G:"unknown",command_target:_$(J.command_target)},route_hints:Rv($.route_hints),tags:s4($.tags),metadata:V_($.metadata),source:"open-machines"}}function bv($,_){return`${_} machine${_===1?"":"s"} discovered via ${$}`}function u_($){let _=$ instanceof Error?$.message:String($);return _.includes("Cannot find module '@hasna/machines'")||_.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":_}function HW($){return $.adapterMode??"auto"}function kV($){let _=$?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof _==="number")return _;let U=$?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function _5($){return typeof $.schema_version==="number"?$.schema_version:null}function VW($){return typeof $==="number"&&$>zv?$:null}function U5($){return{package:qv,entrypoint:Ov,mode:$.mode,implementation:$.implementation,contract_version:$.contractVersion??null,available:$.available,error:$.error??null}}function w$($,_="adapter_disabled"){return U5({mode:$,implementation:"disabled",available:!1,error:_})}function J5($,_){let U=VW(kV(_));if(!U)return null;return U5({mode:$,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function W5($){return U5({mode:$,implementation:"cli",available:!0})}function X5($,_){return U5({mode:$,implementation:"sdk",available:!0,contractVersion:kV(_)})}function G5($){try{return JSON.parse($)}catch{return null}}function z1($){return`'${$.replace(/'/g,"'\\''")}'`}function Q5($){return["machines",...$].map(z1).join(" ")}function Y5($){return $==="local"||$==="localhost"||$===D1()||$===process.env.HASNA_MACHINE_ID||$===process.env.OPEN_MACHINES_MACHINE_ID||$===process.env.MACHINE_ID}function Fv($,_){let U=Y5($),W=U?_:`ssh ${z1($)} ${z1(_)}`,J=IV("bash",["-c",W],{encoding:"utf8",env:process.env});return{stdout:J.stdout||"",stderr:J.stderr||"",exitCode:J.status??1,source:U?"local":"ssh"}}async function fV($,_,U){return await $(_,U)}function Y1($,_){if(_)return"ok";return $===!1?"warn":"fail"}function j1($){return $.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function Ev($){if($==="@hasna/knowledge")return"knowledge";if($==="@hasna/machines")return"machines";return $.split("/").pop()??$}function Kv($){return $.trim().split(/\r?\n/).find(Boolean)??""}function PV($){return $.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function CV($){let _={};for(let U of $.split(/\r?\n/)){let W=U.indexOf("=");if(W<=0)continue;_[U.slice(0,W)]=U.slice(W+1)}return _}function N4($){return{id:$.id,kind:$.kind,status:$.status,target:$.target,expected:$.expected??null,actual:$.actual??null,detail:$.detail,source:$.source}}async function TV($,_,U){let W=[`cmd=${z1(_.command)}`,'path="$(command -v "$cmd" 2>/dev/null || true)"','printf "path=%s\\n" "$path"',`if [ -n "$path" ]; then version="$("$cmd" ${_.versionArgs??"--version"} 2>/dev/null || true)"; printf "version=%s\\n" "$version"; fi`].join("; "),J=await fV(U,$,W),X=CV(J.stdout);return{path:X.path||null,version:X.version?Kv(X.version):null,stderr:J.stderr,source:J.source??(Y5($)?"local":"ssh")}}function gV($){let _=$==="name"?String.raw`s/.*"name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`:String.raw`s/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`;return[`if command -v bun >/dev/null 2>&1; then bun -e "const p=JSON.parse(await Bun.file(process.argv[1]).text()); console.log(p.${$} ?? '')" "$pkg" 2>/dev/null`,`elif command -v node >/dev/null 2>&1; then node -e "const fs=require('fs'); const p=JSON.parse(fs.readFileSync(process.argv[1], 'utf8')); console.log(p.${$} || '')" "$pkg" 2>/dev/null`,`else sed -n '${_}' "$pkg" | head -n 1`,"fi"].join("; ")}async function Mv($,_,U){let W=[`path=${z1(_.path)}`,'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"','pkg="$path/package.json"','printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',`if [ -f "$pkg" ]; then printf "package_name=%s\\n" "$(${gV("name")})"; printf "version=%s\\n" "$(${gV("version")})"; fi`].join("; "),J=await fV(U,$,W),X=CV(J.stdout);return{exists:X.exists==="yes",packageJson:X.package_json==="yes",packageName:X.package_name||null,version:X.version||null,stderr:J.stderr,source:J.source??(Y5($)?"local":"ssh")}}async function gv($,_,U){let W=await TV($,_,U),J=Boolean(W.path),X=[N4({id:`command:${j1(_.command)}:path`,kind:"command",status:Y1(_.required,J),target:_.command,expected:"available",actual:W.path??"missing",detail:J?`found at ${W.path}`:W.stderr||"command missing",source:W.source})];if(_.expectedVersion){let G=PV(W.version??"");X.push(N4({id:`command:${j1(_.command)}:version`,kind:"command",status:G===_.expectedVersion?"ok":Y1(_.required,!1),target:_.command,expected:_.expectedVersion,actual:G??W.version??"missing",detail:G?`version output: ${W.version}`:"version unavailable",source:W.source}))}return X}async function Iv($,_,U){let W=_.command??Ev(_.name),J=await TV($,{command:W,expectedVersion:_.expectedVersion,required:_.required},U),X=Boolean(J.path),G=[N4({id:`package:${j1(_.name)}:command`,kind:"package",status:Y1(_.required,X),target:_.name,expected:W,actual:J.path??"missing",detail:X?`${W} found at ${J.path}`:`${W} command missing`,source:J.source})];if(_.expectedVersion){let Q=PV(J.version??"");G.push(N4({id:`package:${j1(_.name)}:version`,kind:"package",status:Q===_.expectedVersion?"ok":Y1(_.required,!1),target:_.name,expected:_.expectedVersion,actual:Q??J.version??"missing",detail:Q?`version output: ${J.version}`:"version unavailable",source:J.source}))}return G}async function wv($,_,U){let W=await Mv($,_,U),J=_.label??_.path,X=[N4({id:`workspace:${j1(J)}:path`,kind:"workspace",status:Y1(_.required,W.exists),target:J,expected:_.path,actual:W.exists?"exists":"missing",detail:W.exists?`workspace exists at ${_.path}`:W.stderr||`workspace missing at ${_.path}`,source:W.source})];if(_.expectedPackageName)X.push(N4({id:`workspace:${j1(J)}:package-name`,kind:"workspace",status:W.packageName===_.expectedPackageName?"ok":Y1(_.required,!1),target:J,expected:_.expectedPackageName,actual:W.packageName??(W.packageJson?"missing-name":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));if(_.expectedVersion)X.push(N4({id:`workspace:${j1(J)}:version`,kind:"workspace",status:W.version===_.expectedVersion?"ok":Y1(_.required,!1),target:J,expected:_.expectedVersion,actual:W.version??(W.packageJson?"missing-version":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));return X}function SV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:c6,workspace_home:_.knowledge?.workspace_home??null},message:bv($.source,$.machines.length)}}async function j5(){try{return await import("@hasna/machines/consumer")}catch($){if(u_($)!=="module_not_found")throw $;return await import("@hasna/machines")}}function ZV($,_,U){let W=V_($);if(VW(_5(W)))return null;let J=Array.isArray(W.machines)?W.machines:null,X=_$(W.local_machine_id);if(!J||!X)return null;let G={ok:!0,source:"open-machines",generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),local_machine_id:X,local_hostname:_$(W.local_hostname)??D1(),current_platform:_$(W.current_platform)??$5(),machines:J.map((Q)=>Av(Q,X)),warnings:s4(W.warnings),adapter:U};return SV(G,_)}function p8($){return $==="local"||$==="lan"||$==="tailscale"||$==="ssh"||$==="unknown"?$:null}function vV($){let _=V_($),U=_$(_.observed_at),W=_$(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:_$(_.verified_at),expires_at:_$(_.expires_at),ttl_ms:Lv(_.ttl_ms),source_authority:W,confidence:_$(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:s4(_.reasons)}}function yV($,_){let U=V_($);if(VW(_5(U)))return null;let W=_$(U.target)??_$(U.command_target);if(U.ok!==!0||!W)return null;let J=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,X=typeof J?.selected_hint==="object"&&J.selected_hint!==null?J.selected_hint:null;return{target:W,route:p8(U.route),targetKind:p8(X?.kind)??p8(U.source)??p8(U.route),confidence:_$(U.confidence),source:"open-machines",adapter:_,evidence:J,cacheability:vV(U.cacheability),warnings:s4(U.warnings)}}function kq($){let _=V_($);return{path:_$(_.path),source:_$(_.source)??"unresolved"}}function kv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.status),X=_$(U.severity),G=_$(U.message);if(!W||!J||!X||!G)return[];return[{id:W,status:J,severity:X,message:G,path:_$(U.path),source:_$(U.source)??"unknown",path_exists:e8(U.path_exists)}]})}function fv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.reason),X=s4(U.command),G=_$(U.shell_command),Q=s4(U.apply_command),Y=_$(U.apply_shell_command);if(!W||!J||!X.length||!G||!Q.length||!Y)return[];return[{id:W,reason:J,command:X,shell_command:G,apply_command:Q,apply_shell_command:Y}]})}function Pv($){if(!($.projectRootSource==="inferred"||$.openFilesRootSource==="inferred"||$.trustStatus==="untrusted"||$.authStatus==="unknown"||$.warnings.some((J)=>J.includes("inferred")||J.includes("untrusted")||J.includes("unknown_auth")||J.includes("missing"))))return[];let U=["machines","workspace","repair","--machine",$.requestedMachineId,"--project",$.projectId,"--repo",$.repoName,"--open-files-repo",$.openFilesRepoName??"open-files","--json"],W=[...U,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:U,shell_command:U.map(z1).join(" "),apply_command:W,apply_shell_command:W.map(z1).join(" ")}]}function hV($,_,U){let W=V_($);if(VW(_5(W)))return null;let J=V_(W.paths),X=V_(W.project),G=V_(W.machine),Q=kq(J.project_root),Y=kq(J.workspace_root),j=kq(J.open_files_root);if(W.ok!==!0||!Q.path)return null;let O=typeof W.evidence==="object"&&W.evidence!==null?W.evidence:null,B=_$(W.requested_machine_id)??_.machineId,V=_$(X.project_id)??_.projectId??"open-knowledge",L=_$(X.repo_name)??_.repoName??_.projectId??"open-knowledge",N=_$(G.trust_status)??"unknown",H=_$(G.auth_status)??"unknown",R=s4(W.warnings),b=kv(W.diagnostics),A=fv(W.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:B,machine_id:_$(W.machine_id),project_id:V,repo_name:L,project_root:Q.path,project_root_source:Q.source,workspace_root:Y.path,workspace_root_source:Y.source,open_files_root:j.path,open_files_root_source:j.source,trust_status:N,auth_status:H,current:G.current===!0,primary:G.primary===!0,diagnostics:b,repair_hints:A.length?A:Pv({requestedMachineId:B,projectId:V,repoName:L,openFilesRepoName:_.openFilesRepoName,warnings:R,projectRootSource:Q.source,openFilesRootSource:j.source,trustStatus:N,authStatus:H}),evidence:O,cacheability:vV(W.cacheability),warnings:R}}async function o8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["topology","--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await e2(U,Q5(W));if(J.exitCode!==0)return null;return ZV(G5(J.stdout),$,_)}async function z4($,_){let U=[];if(_.error)U.push(`open_machines_unavailable:${_.error}`);let W=$.runner??NW,J=$.includeTailscale===!1?{peers:new Map,selfKey:null}:await Bv(W,U),X=Hv(J.selfKey),Q=[...new Set([X,...J.peers.keys()])].sort().map((Y)=>Vv({machineId:Y,localMachineId:X,peer:J.peers.get(Y)}));return SV({ok:!0,source:"local",generated_at:($.now??new Date).toISOString(),local_machine_id:X,local_hostname:D1(),current_platform:$5(),machines:Q,warnings:U,adapter:_},$)}async function xV($={}){let _=HW($);if(_==="disabled")return await z4($,w$(_));let U=W5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??j5)(),X=J5(_,J);if(X)return await z4($,X);let G=X5(_,J);if(J?.discoverMachineTopology){let Q=J.discoverMachineTopology({includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),Y=ZV(Q,$,G);if(Y)return Y;if(_==="sdk")return await z4($,w$(_,"invalid_topology_shape"));return await o8($,U)??await z4($,w$(_,"invalid_topology_shape"))}if(_==="sdk")return await z4($,w$(_,"missing_discoverMachineTopology"));return await o8($,U)??await z4($,w$(_,"missing_discoverMachineTopology"))}return await o8($,U)??await z4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await z4($,w$(_,u_(W)));return await o8($,U)??await z4($,w$(_,u_(W)))}}async function t8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["route","--machine",$.machineId,"--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await e2(U,Q5(W));if(J.exitCode!==0)return null;return yV(G5(J.stdout),_)}function q4($,_){return{target:$,route:null,targetKind:null,confidence:null,source:"raw",adapter:_,evidence:null,cacheability:null,warnings:[]}}async function fq($){let _=HW($);if(_==="disabled")return q4($.machineId,w$(_));let U=W5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??j5)(),X=J5(_,J);if(X)return q4($.machineId,X);let G=X5(_,J);if(J?.resolveMachineRoute){let Q=yV(J.resolveMachineRoute($.machineId,{includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),G);if(Q)return Q;if(_==="sdk")return q4($.machineId,w$(_,"invalid_route_shape"));return await t8($,U)??q4($.machineId,w$(_,"invalid_route_shape"))}if(_==="sdk")return q4($.machineId,w$(_,"missing_resolveMachineRoute"));return await t8($,U)??q4($.machineId,w$(_,"missing_resolveMachineRoute"))}return await t8($,U)??q4($.machineId,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]};return await t8($,U)??{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]}}}async function a8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=$.projectId??"open-knowledge",J=$.repoName??"open-knowledge",X=["workspace","resolve","--machine",$.machineId,"--project",W,"--repo",J,"--open-files-repo",$.openFilesRepoName??"open-files","--json"];if($.includeTailscale===!1)X.push("--no-tailscale");let G=await e2(U,Q5(X));if(G.exitCode!==0)return null;return hV(G5(G.stdout),$,_)}function Cv($){let _=$.peerWorkspace?.trim();if(!_)return null;return{ok:!0,source:"argument",adapter:w$(HW($),"argument_override"),requested_machine_id:$.machineId,machine_id:$.machineId,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:_,project_root_source:"argument",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:[]}}function O4($,_,U){return{ok:!1,source:"raw",adapter:U,requested_machine_id:$.machineId,machine_id:null,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:null,project_root_source:"unresolved",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:_}}async function D5($){let _=Cv($);if(_)return _;let U=HW($);if(U==="disabled")return O4($,["adapter_disabled"],w$(U));let W=W5(U);try{if(U!=="cli"){let X=await($.loadOpenMachines??j5)(),G=J5(U,X);if(G)return O4($,[`unsupported_contract_version:${G.contract_version}`],G);let Q=X5(U,X);if(X?.resolveMachineWorkspace){let Y=hV(X.resolveMachineWorkspace({machineId:$.machineId,projectId:$.projectId??"open-knowledge",repoName:$.repoName??"open-knowledge",openFilesRepoName:$.openFilesRepoName??"open-files",includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),$,Q);if(Y)return Y;if(U==="sdk")return O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"));return await a8($,W)??O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"))}if(U==="sdk")return O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"));return await a8($,W)??O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"))}return await a8($,W)??O4($,["machines_cli_unavailable"],w$(U,"machines_cli_unavailable"))}catch(J){if(U==="sdk")return O4($,[u_(J)],w$(U,u_(J)));return await a8($,W)??O4($,[u_(J)],w$(U,u_(J)))}}function mV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:c6,workspace_home:_.knowledge?.workspace_home??null},message:$.ok?`Machine ${$.machine_id} passed knowledge preflight`:`Machine ${$.machine_id} failed knowledge preflight: ${$.summary.fail} failing check(s)`}}function uV($,_,U){let W=V_($);if(VW(_5(W)))return null;let J=Array.isArray(W.checks)?W.checks:null,X=_$(W.machine_id)??_$(W.machineId);if(!J||!X)return null;let G=J.map((Y)=>{let j=V_(Y),O=_$(j.status),B=_$(j.kind),V=_$(j.source);return N4({id:_$(j.id)??"unknown",kind:B==="command"||B==="package"||B==="workspace"?B:"command",status:O==="ok"||O==="warn"||O==="fail"?O:"fail",target:_$(j.target)??"unknown",expected:_$(j.expected),actual:_$(j.actual),detail:_$(j.detail)??"",source:V==="local"||V==="ssh"||V==="open-machines"?V:"open-machines"})}),Q={ok:G.filter((Y)=>Y.status==="ok").length,warn:G.filter((Y)=>Y.status==="warn").length,fail:G.filter((Y)=>Y.status==="fail").length};return mV({ok:Q.fail===0,source:"open-machines",machine_id:X,generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),checks:G,summary:Q,adapter:U},_)}function Tv($){if(!$.runner)return NW;return async(_)=>{let U=await $.runner?.("local",_);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function Sv($){return[$.name,$.command,$.expectedVersion].filter((_)=>Boolean(_)).join(":")}function Zv($){let _=[$.expectedPackageName,$.expectedVersion].filter((W)=>Boolean(W)).join(":"),U=_?`${$.path}:${_}`:$.path;return $.label?`${$.label}=${U}`:U}async function s8($,_){let U=Tv($);if(!await BW("machines",U))return null;let W=["compatibility","--json","--machine",$.machineId??"local"];for(let X of $.commands??[])W.push("--command",X.expectedVersion?`${X.command}:${X.expectedVersion}`:X.command);for(let X of $.packages??[])W.push("--package",Sv(X));for(let X of $.workspaces??[])W.push("--workspace",Zv(X));let J=await e2(U,Q5(W));if(J.exitCode!==0)return null;return uV(G5(J.stdout),$,_)}async function L4($,_){let U=$.machineId??D1(),W=$.runner??Fv,J=$.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],X=$.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],G=$.workspaces??[],Q=[];for(let j of J)Q.push(...await gv(U,j,W));for(let j of X)Q.push(...await Iv(U,j,W));for(let j of G)Q.push(...await wv(U,j,W));if(_.error)Q.push(N4({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:_.error,detail:"Using knowledge local/ssh compatibility fallback",source:Y5(U)?"local":"ssh"}));let Y={ok:Q.filter((j)=>j.status==="ok").length,warn:Q.filter((j)=>j.status==="warn").length,fail:Q.filter((j)=>j.status==="fail").length};return mV({ok:Y.fail===0,source:"local",machine_id:U,generated_at:($.now??new Date).toISOString(),checks:Q,summary:Y,adapter:_},$)}async function dV($={}){let _=HW($);if(_==="disabled")return await L4($,w$(_));let U=W5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??j5)(),X=J5(_,J);if(X)return await L4($,X);let G=X5(_,J);if(J?.checkMachineCompatibility){let Q=J.checkMachineCompatibility({machineId:$.machineId,commands:$.commands,packages:$.packages,workspaces:$.workspaces,runner:$.runner,now:$.now}),Y=uV(Q,$,G);if(Y)return Y;if(_==="sdk")return await L4($,w$(_,"invalid_compatibility_shape"));return await s8($,U)??await L4($,w$(_,"invalid_compatibility_shape"))}if(_==="sdk")return await L4($,w$(_,"missing_checkMachineCompatibility"));return await s8($,U)??await L4($,w$(_,"missing_checkMachineCompatibility"))}return await s8($,U)??await L4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await L4($,w$(_,u_(W)));return await s8($,U)??await L4($,w$(_,u_(W)))}}import{createHash as vv,randomUUID as nV}from"crypto";function yv($,_){return`${$}_${vv("sha256").update(_).digest("hex").slice(0,20)}`}function hv($){let _=d($);try{let U=_.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(U.map((W)=>[W.status,W.n]))}finally{_.close()}}function cV($,_){let U=P0(_.modelRef,_.config),W=j_(U),J=d($);try{return J.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri FROM chunks c LEFT JOIN source_revisions sr ON sr.id = c.source_revision_id LEFT JOIN sources s ON s.id = sr.source_id LEFT JOIN vector_index_entries v ON v.chunk_id = c.id AND v.provider = ? AND v.model = ? WHERE v.id IS NULL - ORDER BY c.created_at ASC, c.ordinal ASC`).all(J.provider,J.model)}finally{D.close()}}function AE(_){o(_.dbPath);let $=x(_.dbPath);try{let U=$.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,J=$.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,D=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,j=HE(_.dbPath,_).length,W=$.query(`SELECT COUNT(*) AS n FROM source_revisions - WHERE metadata_json LIKE '%"reindex_required":true%' OR metadata_json LIKE '%"status":"stale"%'`).get()?.n??0;return{schema_version:U,chunks:J,vector_entries:D,missing_embeddings:j,queued:XS(_.dbPath),stale_revisions:W}}finally{$.close()}}function nY(_){o(_.dbPath);let $=(_.now??new Date).toISOString(),U=_.reason??"missing_embedding",J=HE(_.dbPath,_),D=x(_.dbPath),j=0,W=0;try{D.transaction(()=>{for(let X of J){let N=GS("rq",`embedding\x00${X.chunk_id}\x00${U}`);if(D.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",X.chunk_id,U)){W+=1;continue}D.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[N,"embedding",X.chunk_id,X.source_uri,U,"pending",JSON.stringify({source_revision_id:X.source_revision_id}),$,$]),j+=1}})()}finally{D.close()}return{enqueued:j,already_queued:W,reason:U}}function NS(_){let $=x(_);try{let U=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,J=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0;return $.run("DELETE FROM vector_index_entries"),$.run("DELETE FROM chunk_embeddings"),{embeddings:U,vectorEntries:J}}finally{$.close()}}function OS(_,$,U){let J=x4($.modelRef,$.config),D=l_(J),j=x(_);try{return j.run(`UPDATE reindex_queue + ORDER BY c.created_at ASC, c.ordinal ASC`).all(W.provider,W.model)}finally{J.close()}}function lV($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,W=_.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,X=cV($.dbPath,$).length,G=_.query(`SELECT COUNT(*) AS n FROM source_revisions + WHERE metadata_json LIKE '%"reindex_required":true%' OR metadata_json LIKE '%"status":"stale"%'`).get()?.n??0;return{schema_version:U,chunks:W,vector_entries:J,missing_embeddings:X,queued:hv($.dbPath),stale_revisions:G}}finally{_.close()}}function Pq($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=$.reason??"missing_embedding",W=cV($.dbPath,$),J=d($.dbPath),X=0,G=0;try{J.transaction(()=>{for(let Y of W){let j=yv("rq",`embedding\x00${Y.chunk_id}\x00${U}`);if(J.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",Y.chunk_id,U)){G+=1;continue}J.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[j,"embedding",Y.chunk_id,Y.source_uri,U,"pending",JSON.stringify({source_revision_id:Y.source_revision_id}),_,_]),X+=1}})()}finally{J.close()}return{enqueued:X,already_queued:G,reason:U}}function xv($){let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0;return _.run("DELETE FROM vector_index_entries"),_.run("DELETE FROM chunk_embeddings"),{embeddings:U,vectorEntries:W}}finally{_.close()}}function mv($,_,U){let W=P0(_.modelRef,_.config),J=j_(W),X=d($);try{return X.run(`UPDATE reindex_queue SET status = ?, updated_at = ? WHERE kind = ? AND status = ? @@ -914,13 +914,13 @@ ${JSON.stringify(_.evidence,null,2)}`].join(` WHERE v.chunk_id = reindex_queue.target_id AND v.provider = ? AND v.model = ? - )`,["completed",U,"embedding","pending",D.provider,D.model]).changes}finally{j.close()}}async function VE(_){o(_.dbPath);let $=(_.now??new Date).toISOString(),U=`run_${RE()}`,J=_.full?NS(_.dbPath):{embeddings:0,vectorEntries:0},D=nY({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),j=x(_.dbPath);try{j.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,"embedding-refresh",_.full?"full":"incremental","running","local",x4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{j.close()}let W=await dD({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),G=OS(_.dbPath,_,$),X=x(_.dbPath);try{X.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:_.full===!0,queued:D,indexed:W,completed_queue_items:G}),$,U]),X.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${RE()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:D,indexed:W,completed_queue_items:G}),$])}finally{X.close()}return{run_id:U,full:_.full===!0,deleted_embeddings:J.embeddings,deleted_vector_entries:J.vectorEntries,queued:D,indexed:W,completed_queue_items:G}}import{createHash as IE}from"crypto";import{existsSync as FE,lstatSync as YS,readdirSync as zS,readFileSync as QS,statSync as qS}from"fs";import{basename as m1,extname as LS,join as gS,relative as ES,resolve as iY,sep as BS}from"path";import{pathToFileURL as bE}from"url";var RS=100,HS=25,AS=262144,VS=5,bS=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),mY=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),KS=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),IS=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,hW=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function dY(_){return`sha256:${IE("sha256").update(_).digest("hex")}`}function FS(_){return`sha256:${IE("sha256").update(_).digest("hex")}`}function s2(_){return _.split(BS).join("/")}function cY(_,$){let U=ES(_,$);return U?s2(U):m1($)}function L4(_){return bS.has(LS(_).toLowerCase())}function KE(_){return s2(_).split("/").some(($)=>IS.test($))}function ME(_,$=220){let U=_.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function PE(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function kE(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function MS(){return[{base:".",maxDepth:0,spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:10,label:"root-rule-doc"},tags:["global-rules","rule-doc"],include:(_)=>mY.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=s2(_),U=m1($);if(mY.has(U)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&L4($))return!0;return!1}}},{base:".claude",spec:{family:"claude",owner:"claude",scope:"global",precedence:{rank:30,label:"claude-rules"},tags:["global-rules","claude","agent-instructions"],include:(_)=>{let $=s2(_);return $==="CLAUDE.md"||/^rules\//.test($)&&L4($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=s2(_),U=m1($);if(mY.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&L4($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>hW.test(_)&&L4(_)}},{base:".",maxDepth:0,spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode-config"},tags:["global-rules","opencode","config"],include:(_)=>["opencode.json","opencode.jsonc","opencode.toml","opencode.yaml","opencode.yml"].includes(_)}},{base:".hasna/prompts",spec:{family:"prompt",owner:"hasna",scope:"global",precedence:{rank:60,label:"selected-prompts"},tags:["global-rules","prompt"],include:(_)=>hW.test(_)&&L4(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>hW.test(_)&&L4(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>hW.test(_)&&L4(_)}}]}function PS(_,$){let U=new Map;for(let J of MS()){let D=iY(_,J.base);if(!FE(D))continue;if(qS(D).isFile()){let W=m1(D);if(J.spec.include(W))U.set(D,{...J.spec,absPath:D});continue}wE({basePath:D,depth:0,maxDepth:J.maxDepth??VS,spec:J.spec,candidates:U,skipped:$})}return[...U.values()].sort((J,D)=>{if(J.precedence.rank!==D.precedence.rank)return J.precedence.rank-D.precedence.rank;return J.absPath.localeCompare(D.absPath)})}function wE(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let U of zS(_.basePath,{withFileTypes:!0})){let J=gS(_.basePath,U.name),D=cY($,J);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(KS.has(U.name))continue;if(KE(D)){_.skipped.push({source_family:_.spec.family,source_path:J,reason:"sensitive_path"});continue}wE({..._,rootBasePath:$,basePath:J,depth:_.depth+1});continue}if(!U.isFile())continue;let j=cY(iY($),J);if(KE(j)){_.skipped.push({source_family:_.spec.family,source_path:J,reason:"sensitive_path"});continue}if(!_.spec.include(j))continue;if(!L4(J))continue;_.candidates.set(J,{..._.spec,absPath:J})}}function kS(_){if((_.tags??[]).map((J)=>J.toLowerCase()).some((J)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(J)))return!0;let U=`${_.title} -${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(U)}function SE(_,$){let U={source_path:_.source_path,source_path_ref:_.source_path_ref,source_ref:_.source_ref,owner:_.owner,scope:_.scope,precedence:_.precedence,source_hash:_.source_hash,content_hash:_.content_hash,discovered_at:_.discovered_at,tags:_.tags,redaction_status:_.redaction_status,citations:_.citations};return{source_ref:_.source_ref,name:_.title,mime:"text/markdown",size:Buffer.byteLength($),hash:_.content_hash,revision:_.content_hash,status:"active",updated_at:_.discovered_at,permissions:{mode:"read_only",allowed_purposes:["knowledge_index","knowledge_answer","agent_context"]},rule_provenance:U,source_family:_.source_family,source_path_ref:_.source_path_ref,owner:_.owner,scope:_.scope,precedence:_.precedence,tags:_.tags,redaction_status:_.redaction_status,legacy_json_id:_.legacy_json_id??null,extracted_text:$}}function wS(_){let $=YS(_.candidate.absPath),U=_.candidate.absPath,J=cY(_.root,U);if($.size>_.maxBytesPerFile){let Q=bE(U).href;return{evidence:{source_family:_.candidate.family,title:m1(U),source_path:U,source_path_ref:J,source_ref:Q,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:"sha256:skipped-too-large",content_hash:"sha256:skipped-too-large",discovered_at:_.discoveredAt,tags:[..._.candidate.tags,"skipped"],redaction_status:"refused",redactions:[],citations:[],bytes:$.size,line_count:0,importable:!1,skipped_reason:"max_bytes_exceeded",preview:null},text:"",manifest:null}}let D=QS(U),j=D.toString("utf8"),W=O$(j,_.safetyPolicy),X=W.findings.some((Q)=>Q.severity==="high")?"refused":W.findings.length>0?"redacted":"clean",N=dY(W.text),z=bE(U).href,L=PE(W.text),E={source_family:_.candidate.family,title:m1(U),source_path:U,source_path_ref:J,source_ref:z,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:FS(D),content_hash:N,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:X,redactions:W.findings.map((Q)=>({type:Q.type,severity:Q.severity})),citations:[kE({sourceRef:z,sourcePath:U,lineCount:L,contentHash:N})],bytes:D.byteLength,line_count:L,importable:X!=="refused",skipped_reason:X==="refused"?"secret_refused":null,preview:X==="refused"?null:ME(W.text)};return{evidence:E,text:W.text,manifest:E.importable?SE(E,W.text):null}}function SS(_){let $=O$(_.item.content,_.safetyPolicy),J=$.findings.some((N)=>N.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",D=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,j=dY($.text),W=dY(_.item.content),G=PE($.text),X={source_family:"legacy_json",title:_.item.title,source_path:_.legacyStorePath,source_path_ref:`legacy-json:${_.item.id}`,source_ref:D,owner:"legacy-json",scope:_.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:W,content_hash:j,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:J,redactions:$.findings.map((N)=>({type:N.type,severity:N.severity})),citations:[kE({sourceRef:D,sourcePath:_.legacyStorePath,lineCount:G,contentHash:j})],bytes:Buffer.byteLength(_.item.content),line_count:G,importable:J!=="refused",skipped_reason:J==="refused"?"secret_refused":null,preview:J==="refused"?null:ME($.text),legacy_json_id:_.item.id};return{evidence:X,text:$.text,manifest:X.importable?SE(X,$.text):null}}function fS(_){if(!_.legacyStorePath||!FE(_.legacyStorePath))return 0;let $=new Map(_.records.filter((U)=>U.legacy_json_id&&U.importable).map((U)=>[U.legacy_json_id,U]));if($.size===0)return 0;return $6(_.legacyStorePath,()=>{let U=v0(_.legacyStorePath);if(!U.exists)return 0;let J=0;for(let D of U.items){let j=$.get(D.id);if(!j)continue;let W=D.metadata??{};D.archived=!0,D.metadata={...W,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:_.now,source_ref:j.source_ref,source_hash:j.source_hash,content_hash:j.content_hash,data_loss:!1}},D.tags=[...new Set([...D.tags??[],"deprecated:knowledge-rules-import"])],D.updated_at=_.now,J+=1}if(J>0)g6(_.legacyStorePath,{items:U.items});return J})}async function fE(_={}){let $=iY(_.root??process.cwd()),U=_.scope??"global",J=_.owner??"global-agent-rules-standard",D=_.dryRun!==!1,j=(_.now??new Date).toISOString(),W=Math.max(1,Math.min(_.maxItems??RS,1000)),G=Math.max(1,Math.min(_.limit??HS,100)),X=Math.max(1024,Math.min(_.maxBytesPerFile??AS,2097152)),N=[],L=PS($,N).slice(0,W).map((n)=>wS({root:$,candidate:{...n,owner:n.owner==="repository"?J:n.owner,scope:U},discoveredAt:j,maxBytesPerFile:X,safetyPolicy:_.safetyPolicy})),Q=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:v0(_.legacyStorePath)).items.filter((n)=>n.archived!==!0&&kS(n)).slice(0,W),q=Q.map((n)=>SS({item:n,legacyStorePath:_.legacyStorePath,discoveredAt:j,scope:U,safetyPolicy:_.safetyPolicy})),g=[...L,...q].slice(0,W),B=g.map((n)=>n.evidence),R=g.filter((n)=>n.manifest).map((n)=>n.manifest),K=B.filter((n)=>n.redaction_status==="refused").length,V=B.slice(0,G),I=N.slice(0,G),T=null,P=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(R.length>0)T=await Z4({dbPath:_.dbPath,items:R,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:W});if(_.deprecateLegacy!==!1)P=fS({legacyStorePath:_.legacyStorePath,records:B,now:j})}return{ok:K===0||R.length>0||D,workflow:"global-rules-provenance-import",dry_run:D,writes_performed:!D,root:$,scope:U,owner:J,discovered_at:j,max_items:W,evidence_limit:G,records_seen:B.length,records_importable:R.length,records_refused:K,records_skipped:N.length,evidence_truncated:B.length>V.length,skipped_truncated:N.length>I.length,evidence:V,skipped:I,import_result:T,legacy:{store_path:_.legacyStorePath??null,candidates:Q.length,promoted:q.filter((n)=>n.manifest).length,deprecated:P,data_loss:!1},message:D?`Discovered ${B.length} rule source(s); ${R.length} importable, ${K} refused`:`Imported ${T?.items_seen??0} rule source(s); ${P} legacy note(s) deprecated`}}import{createHash as TS,randomUUID as TE}from"crypto";function CS(_){return`sha256:${TS("sha256").update(_).digest("hex")}`}function CE(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function ZE(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function g4(_){return typeof _==="string"&&_.length>0?_:null}function ZS(_){let $=ZE(_),U=g4($.url)??g4($.uri)??g4($.sourceUrl);if(!U)return null;return{url:U,title:g4($.title)??g4($.name),snippet:g4($.snippet)??g4($.text)??g4($.description),provider_metadata:$}}function xW(_,$){if(Array.isArray(_)){for(let D of _)xW(D,$);return}let U=ZS(_);if(U)$.set(U.url,U);let J=ZE(_);for(let D of["sources","results","citations","annotations","output"])if(J[D])xW(J[D],$)}function vS(_,$){return Array.from({length:Math.min($,3)},(U,J)=>({url:`https://example.com/knowledge-web-${J+1}`,title:`Fake web source ${J+1}`,snippet:`Deterministic web-search fixture for "${_}"`,provider_metadata:{fake:!0,rank:J+1}}))}async function yS(_){let{generateText:$}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),J=F6(_.config,"openai"),D=U({apiKey:_.env[J.api_key_env],baseURL:J.base_url}),j=D.tools?.webSearch;if(!j)throw Error("OpenAI provider does not expose tools.webSearch.");return $({model:D(_.model),prompt:_.query,tools:{web_search:j({externalWebAccess:!0,searchContextSize:"medium",..._.domains.length>0?{allowedDomains:_.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function hS(_){let{generateText:$}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),J=F6(_.config,"anthropic"),D=U({apiKey:_.env[J.api_key_env],baseURL:J.base_url}),j=D.tools?.webSearch_20250305??D.tools?.webSearch;if(!j)throw Error("Anthropic provider does not expose a web search tool.");return $({model:D(_.model),prompt:_.query,tools:{web_search:j({maxUses:_.maxUses,..._.domains.length>0?{allowedDomains:_.domains}:{}})}})}async function xS(_,$,U){if(!_.fileResults||$.length===0)return 0;let J=$.map((j)=>{let W=[j.title,j.snippet,j.url].filter(Boolean).join(` -`),G=CS(W);return{source_ref:j.url,name:j.title??j.url,url:j.url,mime:"text/plain",hash:G,revision:G,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:j.url,content_source:"provider_web_search",provider_metadata:j.provider_metadata},extracted_text:W}});return(await Z4({dbPath:_.dbPath,items:J,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(U)})).sources_upserted}async function vE(_){let $=_.query.trim();if(!$)throw Error("Web search query is required.");let U=_.env??process.env,J=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??5,20)),j=Math.max(1,Math.min(_.maxUses??3,10)),W=_.domains??[],G=x$(_.modelRef??(_.provider?`${_.provider}:${F6(_.config,_.provider).default_model}`:"default"),_.config),X=l_(G),N=_.provider??X.provider,z=X.provider===N?X.model:F6(_.config,N).default_model,L=`run_${TE()}`;if(!_.fake&&_.safetyPolicy)D1(_.safetyPolicy);if(!_.fake&&N!=="openai"&&N!=="anthropic")throw Error(`Provider ${N} does not expose native web search yet.`);if(!_.fake)y4(N,_.config,U);o(_.dbPath);let E=x(_.dbPath);try{E.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[L,"provider-web-search",$,"running",N,z,JSON.stringify({domains:W,max_uses:j,fake:_.fake===!0}),J,J]),v_(E,{event_type:"source_read",action:_.fake?"fake_provider_web_search":"provider_web_search",target_uri:$,decision:"allow",metadata:{provider:N,model:z,domains:W,max_uses:j},created_at:J})}finally{E.close()}let Q="",q=[],g={input_tokens:CE($),output_tokens:0,cost_usd:0},B=[];if(_.fake)q=vS($,D),Q=`Fake web search answer for: ${$}`,g.output_tokens=CE(Q);else{let K=N==="openai"?await yS({query:$,model:z,config:_.config,env:U,maxUses:j,domains:W}):await hS({query:$,model:z,config:_.config,env:U,maxUses:j,domains:W});Q=K.text;let V=new Map;xW(K.sources,V),xW(K.toolResults,V),q=Array.from(V.values()).slice(0,D);let I=h4({provider:N,model:z,usage:K.usage,providerMetadata:K.providerMetadata});g={input_tokens:I.input_tokens,output_tokens:I.output_tokens,cost_usd:I.cost_usd}}let H=await xS(_,q,J),R=x(_.dbPath);try{R.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:W,max_uses:j,sources:q.length,filed_sources:H,fake:_.fake===!0}),J,L]),R.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${TE()}`,L,"info","provider_web_search_completed",JSON.stringify({sources:q.length,filed_sources:H}),J]),j1(R,{run_id:L,provider:N,model:z,input_tokens:g.input_tokens,output_tokens:g.output_tokens,cost_usd:g.cost_usd,metadata:{web_search:!0,sources:q.length,filed_sources:H},created_at:J})}finally{R.close()}if(q.length===0)B.push("no_web_sources_returned");return{run_id:L,query:$,provider:N,model:z,answer:Q,sources:q,filed_sources:H,usage:g,warnings:B}}import{createHash as rS,randomUUID as uS}from"crypto";function d1(_,$){return`${_}_${rS("sha256").update($).digest("hex").slice(0,20)}`}function lY(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function nS(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function mS(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function yE(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function dS(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function hE(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function cS(_,$){let U=Math.max(1,Math.min($.limit??10,50)),J=$.sourceRefs??[],D=dS($.query),j=["c.kind = 'source'"],W=[];if(J.length>0){j.push(`(${J.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let G of J)W.push(G,`%${hE(G)}%`)}if(D.length>0){j.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let G of D)W.push(`%${hE(G)}%`)}return W.push(U),_.query(`SELECT + )`,["completed",U,"embedding","pending",J.provider,J.model]).changes}finally{X.close()}}async function rV($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=`run_${nV()}`,W=$.full?xv($.dbPath):{embeddings:0,vectorEntries:0},J=Pq({...$,reason:$.full?"full_embedding_rebuild":"missing_embedding"}),X=d($.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,"embedding-refresh",$.full?"full":"incremental","running","local",P0($.modelRef,$.config),JSON.stringify({full:$.full===!0,queued:J}),_,_])}finally{X.close()}let G=await HX({dbPath:$.dbPath,config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,limit:$.limit,now:$.now}),Q=mv($.dbPath,$,_),Y=d($.dbPath);try{Y.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:$.full===!0,queued:J,indexed:G,completed_queue_items:Q}),_,U]),Y.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${nV()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:J,indexed:G,completed_queue_items:Q}),_])}finally{Y.close()}return{run_id:U,full:$.full===!0,deleted_embeddings:W.embeddings,deleted_vector_entries:W.vectorEntries,queued:J,indexed:G,completed_queue_items:Q}}import{createHash as oV}from"crypto";import{existsSync as tV,lstatSync as uv,readdirSync as dv,readFileSync as nv,statSync as cv}from"fs";import{basename as $U,extname as lv,join as rv,relative as iv,resolve as Zq,sep as pv}from"path";import{pathToFileURL as iV}from"url";var ov=100,tv=25,av=262144,sv=5,ev=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),Cq=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),$y=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),_y=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,z5=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function Tq($){return`sha256:${oV("sha256").update($).digest("hex")}`}function Uy($){return`sha256:${oV("sha256").update($).digest("hex")}`}function RW($){return $.split(pv).join("/")}function Sq($,_){let U=iv($,_);return U?RW(U):$U(_)}function e4($){return ev.has(lv($).toLowerCase())}function pV($){return RW($).split("/").some((_)=>_y.test(_))}function aV($,_=220){let U=$.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function sV($){if(!$)return 0;return $.split(/\r\n|\n|\r/).length}function eV($){return{source_ref:$.sourceRef,source_path:$.sourcePath,line_start:$.lineCount>0?1:0,line_end:$.lineCount,content_hash:$.contentHash}}function Jy(){return[{base:".",maxDepth:0,spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:10,label:"root-rule-doc"},tags:["global-rules","rule-doc"],include:($)=>Cq.has($)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:($)=>{let _=RW($),U=$U(_);if(Cq.has(U)||_==="config.toml")return!0;if(_.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test(_)&&e4(_))return!0;return!1}}},{base:".claude",spec:{family:"claude",owner:"claude",scope:"global",precedence:{rank:30,label:"claude-rules"},tags:["global-rules","claude","agent-instructions"],include:($)=>{let _=RW($);return _==="CLAUDE.md"||/^rules\//.test(_)&&e4(_)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:($)=>{let _=RW($),U=$U(_);if(Cq.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test(_)&&e4(_)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:($)=>z5.test($)&&e4($)}},{base:".",maxDepth:0,spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode-config"},tags:["global-rules","opencode","config"],include:($)=>["opencode.json","opencode.jsonc","opencode.toml","opencode.yaml","opencode.yml"].includes($)}},{base:".hasna/prompts",spec:{family:"prompt",owner:"hasna",scope:"global",precedence:{rank:60,label:"selected-prompts"},tags:["global-rules","prompt"],include:($)=>z5.test($)&&e4($)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:($)=>z5.test($)&&e4($)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:($)=>z5.test($)&&e4($)}}]}function Wy($,_){let U=new Map;for(let W of Jy()){let J=Zq($,W.base);if(!tV(J))continue;if(cv(J).isFile()){let G=$U(J);if(W.spec.include(G))U.set(J,{...W.spec,absPath:J});continue}$R({basePath:J,depth:0,maxDepth:W.maxDepth??sv,spec:W.spec,candidates:U,skipped:_})}return[...U.values()].sort((W,J)=>{if(W.precedence.rank!==J.precedence.rank)return W.precedence.rank-J.precedence.rank;return W.absPath.localeCompare(J.absPath)})}function $R($){let _=$.rootBasePath??$.basePath;if($.depth>$.maxDepth)return;for(let U of dv($.basePath,{withFileTypes:!0})){let W=rv($.basePath,U.name),J=Sq(_,W);if(U.isSymbolicLink())continue;if(U.isDirectory()){if($y.has(U.name))continue;if(pV(J)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}$R({...$,rootBasePath:_,basePath:W,depth:$.depth+1});continue}if(!U.isFile())continue;let X=Sq(Zq(_),W);if(pV(X)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}if(!$.spec.include(X))continue;if(!e4(W))continue;$.candidates.set(W,{...$.spec,absPath:W})}}function Xy($){if(($.tags??[]).map((W)=>W.toLowerCase()).some((W)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(W)))return!0;let U=`${$.title} +${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(U)}function _R($,_){let U={source_path:$.source_path,source_path_ref:$.source_path_ref,source_ref:$.source_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,source_hash:$.source_hash,content_hash:$.content_hash,discovered_at:$.discovered_at,tags:$.tags,redaction_status:$.redaction_status,citations:$.citations};return{source_ref:$.source_ref,name:$.title,mime:"text/markdown",size:Buffer.byteLength(_),hash:$.content_hash,revision:$.content_hash,status:"active",updated_at:$.discovered_at,permissions:{mode:"read_only",allowed_purposes:["knowledge_index","knowledge_answer","agent_context"]},rule_provenance:U,source_family:$.source_family,source_path_ref:$.source_path_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,tags:$.tags,redaction_status:$.redaction_status,legacy_json_id:$.legacy_json_id??null,extracted_text:_}}function Gy($){let _=uv($.candidate.absPath),U=$.candidate.absPath,W=Sq($.root,U);if(_.size>$.maxBytesPerFile){let L=iV(U).href;return{evidence:{source_family:$.candidate.family,title:$U(U),source_path:U,source_path_ref:W,source_ref:L,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:"sha256:skipped-too-large",content_hash:"sha256:skipped-too-large",discovered_at:$.discoveredAt,tags:[...$.candidate.tags,"skipped"],redaction_status:"refused",redactions:[],citations:[],bytes:_.size,line_count:0,importable:!1,skipped_reason:"max_bytes_exceeded",preview:null},text:"",manifest:null}}let J=nv(U),X=J.toString("utf8"),G=w_(X,$.safetyPolicy),Y=G.findings.some((L)=>L.severity==="high")?"refused":G.findings.length>0?"redacted":"clean",j=Tq(G.text),O=iV(U).href,B=sV(G.text),V={source_family:$.candidate.family,title:$U(U),source_path:U,source_path_ref:W,source_ref:O,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:Uy(J),content_hash:j,discovered_at:$.discoveredAt,tags:[...$.candidate.tags],redaction_status:Y,redactions:G.findings.map((L)=>({type:L.type,severity:L.severity})),citations:[eV({sourceRef:O,sourcePath:U,lineCount:B,contentHash:j})],bytes:J.byteLength,line_count:B,importable:Y!=="refused",skipped_reason:Y==="refused"?"secret_refused":null,preview:Y==="refused"?null:aV(G.text)};return{evidence:V,text:G.text,manifest:V.importable?_R(V,G.text):null}}function Qy($){let _=w_($.item.content,$.safetyPolicy),W=_.findings.some((j)=>j.severity==="high")?"refused":_.findings.length>0?"redacted":"clean",J=`open-files://source/legacy-json/path/${encodeURIComponent($.item.id)}`,X=Tq(_.text),G=Tq($.item.content),Q=sV(_.text),Y={source_family:"legacy_json",title:$.item.title,source_path:$.legacyStorePath,source_path_ref:`legacy-json:${$.item.id}`,source_ref:J,owner:"legacy-json",scope:$.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:G,content_hash:X,discovered_at:$.discoveredAt,tags:[...new Set(["global-rules","legacy-json",...$.item.tags??[]])],redaction_status:W,redactions:_.findings.map((j)=>({type:j.type,severity:j.severity})),citations:[eV({sourceRef:J,sourcePath:$.legacyStorePath,lineCount:Q,contentHash:X})],bytes:Buffer.byteLength($.item.content),line_count:Q,importable:W!=="refused",skipped_reason:W==="refused"?"secret_refused":null,preview:W==="refused"?null:aV(_.text),legacy_json_id:$.item.id};return{evidence:Y,text:_.text,manifest:Y.importable?_R(Y,_.text):null}}function Yy($){if(!$.legacyStorePath||!tV($.legacyStorePath))return 0;let _=new Map($.records.filter((U)=>U.legacy_json_id&&U.importable).map((U)=>[U.legacy_json_id,U]));if(_.size===0)return 0;return I6($.legacyStorePath,()=>{let U=w1($.legacyStorePath);if(!U.exists)return 0;let W=0;for(let J of U.items){let X=_.get(J.id);if(!X)continue;let G=J.metadata??{};J.archived=!0,J.metadata={...G,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:$.now,source_ref:X.source_ref,source_hash:X.source_hash,content_hash:X.content_hash,data_loss:!1}},J.tags=[...new Set([...J.tags??[],"deprecated:knowledge-rules-import"])],J.updated_at=$.now,W+=1}if(W>0)l6($.legacyStorePath,{items:U.items});return W})}async function UR($={}){let _=Zq($.root??process.cwd()),U=$.scope??"global",W=$.owner??"global-agent-rules-standard",J=$.dryRun!==!1,X=($.now??new Date).toISOString(),G=Math.max(1,Math.min($.maxItems??ov,1000)),Q=Math.max(1,Math.min($.limit??tv,100)),Y=Math.max(1024,Math.min($.maxBytesPerFile??av,2097152)),j=[],B=Wy(_,j).slice(0,G).map((r)=>Gy({root:_,candidate:{...r,owner:r.owner==="repository"?W:r.owner,scope:U},discoveredAt:X,maxBytesPerFile:Y,safetyPolicy:$.safetyPolicy})),L=($.includeLegacy===!1||!$.legacyStorePath?{exists:!1,items:[]}:w1($.legacyStorePath)).items.filter((r)=>r.archived!==!0&&Xy(r)).slice(0,G),N=L.map((r)=>Qy({item:r,legacyStorePath:$.legacyStorePath,discoveredAt:X,scope:U,safetyPolicy:$.safetyPolicy})),H=[...B,...N].slice(0,G),R=H.map((r)=>r.evidence),A=H.filter((r)=>r.manifest).map((r)=>r.manifest),M=R.filter((r)=>r.redaction_status==="refused").length,E=R.slice(0,Q),g=j.slice(0,Q),Z=null,k=0;if(!J){if(!$.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(A.length>0)Z=await I0({dbPath:$.dbPath,items:A,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:$.safetyPolicy,now:$.now,maxItems:G});if($.deprecateLegacy!==!1)k=Yy({legacyStorePath:$.legacyStorePath,records:R,now:X})}return{ok:M===0||A.length>0||J,workflow:"global-rules-provenance-import",dry_run:J,writes_performed:!J,root:_,scope:U,owner:W,discovered_at:X,max_items:G,evidence_limit:Q,records_seen:R.length,records_importable:A.length,records_refused:M,records_skipped:j.length,evidence_truncated:R.length>E.length,skipped_truncated:j.length>g.length,evidence:E,skipped:g,import_result:Z,legacy:{store_path:$.legacyStorePath??null,candidates:L.length,promoted:N.filter((r)=>r.manifest).length,deprecated:k,data_loss:!1},message:J?`Discovered ${R.length} rule source(s); ${A.length} importable, ${M} refused`:`Imported ${Z?.items_seen??0} rule source(s); ${k} legacy note(s) deprecated`}}import{createHash as jy,randomUUID as JR}from"crypto";function Dy($){return`sha256:${jy("sha256").update($).digest("hex")}`}function WR($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function XR($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function $0($){return typeof $==="string"&&$.length>0?$:null}function zy($){let _=XR($),U=$0(_.url)??$0(_.uri)??$0(_.sourceUrl);if(!U)return null;return{url:U,title:$0(_.title)??$0(_.name),snippet:$0(_.snippet)??$0(_.text)??$0(_.description),provider_metadata:_}}function q5($,_){if(Array.isArray($)){for(let J of $)q5(J,_);return}let U=zy($);if(U)_.set(U.url,U);let W=XR($);for(let J of["sources","results","citations","annotations","output"])if(W[J])q5(W[J],_)}function qy($,_){return Array.from({length:Math.min(_,3)},(U,W)=>({url:`https://example.com/knowledge-web-${W+1}`,title:`Fake web source ${W+1}`,snippet:`Deterministic web-search fixture for "${$}"`,provider_metadata:{fake:!0,rank:W+1}}))}async function Oy($){let{generateText:_}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),W=G4($.config,"openai"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch;if(!X)throw Error("OpenAI provider does not expose tools.webSearch.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({externalWebAccess:!0,searchContextSize:"medium",...$.domains.length>0?{allowedDomains:$.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Ly($){let{generateText:_}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),W=G4($.config,"anthropic"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch_20250305??J.tools?.webSearch;if(!X)throw Error("Anthropic provider does not expose a web search tool.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({maxUses:$.maxUses,...$.domains.length>0?{allowedDomains:$.domains}:{}})}})}async function Ny($,_,U){if(!$.fileResults||_.length===0)return 0;let W=_.map((X)=>{let G=[X.title,X.snippet,X.url].filter(Boolean).join(` +`),Q=Dy(G);return{source_ref:X.url,name:X.title??X.url,url:X.url,mime:"text/plain",hash:Q,revision:Q,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:X.url,content_source:"provider_web_search",provider_metadata:X.provider_metadata},extracted_text:G}});return(await I0({dbPath:$.dbPath,items:W,sourceLabel:`web-search:${$.query}`,readAction:"provider_web_search_file_results",safetyPolicy:$.safetyPolicy,now:new Date(U)})).sources_upserted}async function GR($){let _=$.query.trim();if(!_)throw Error("Web search query is required.");let U=$.env??process.env,W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??5,20)),X=Math.max(1,Math.min($.maxUses??3,10)),G=$.domains??[],Q=z6($.modelRef??($.provider?`${$.provider}:${G4($.config,$.provider).default_model}`:"default"),$.config),Y=j_(Q),j=$.provider??Y.provider,O=Y.provider===j?Y.model:G4($.config,j).default_model,B=`run_${JR()}`;if(!$.fake&&$.safetyPolicy)L2($.safetyPolicy);if(!$.fake&&j!=="openai"&&j!=="anthropic")throw Error(`Provider ${j} does not expose native web search yet.`);if(!$.fake)k0(j,$.config,U);$$($.dbPath);let V=d($.dbPath);try{V.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[B,"provider-web-search",_,"running",j,O,JSON.stringify({domains:G,max_uses:X,fake:$.fake===!0}),W,W]),a$(V,{event_type:"source_read",action:$.fake?"fake_provider_web_search":"provider_web_search",target_uri:_,decision:"allow",metadata:{provider:j,model:O,domains:G,max_uses:X},created_at:W})}finally{V.close()}let L="",N=[],H={input_tokens:WR(_),output_tokens:0,cost_usd:0},R=[];if($.fake)N=qy(_,J),L=`Fake web search answer for: ${_}`,H.output_tokens=WR(L);else{let M=j==="openai"?await Oy({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G}):await Ly({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G});L=M.text;let E=new Map;q5(M.sources,E),q5(M.toolResults,E),N=Array.from(E.values()).slice(0,J);let g=f0({provider:j,model:O,usage:M.usage,providerMetadata:M.providerMetadata});H={input_tokens:g.input_tokens,output_tokens:g.output_tokens,cost_usd:g.cost_usd}}let b=await Ny($,N,W),A=d($.dbPath);try{A.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:G,max_uses:X,sources:N.length,filed_sources:b,fake:$.fake===!0}),W,B]),A.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${JR()}`,B,"info","provider_web_search_completed",JSON.stringify({sources:N.length,filed_sources:b}),W]),B2(A,{run_id:B,provider:j,model:O,input_tokens:H.input_tokens,output_tokens:H.output_tokens,cost_usd:H.cost_usd,metadata:{web_search:!0,sources:N.length,filed_sources:b},created_at:W})}finally{A.close()}if(N.length===0)R.push("no_web_sources_returned");return{run_id:B,query:_,provider:j,model:O,answer:L,sources:N,filed_sources:b,usage:H,warnings:R}}import{createHash as By,randomUUID as Hy}from"crypto";function _U($,_){return`${$}_${By("sha256").update(_).digest("hex").slice(0,20)}`}function vq($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function Vy($){return{year:String($.getUTCFullYear()),month:String($.getUTCMonth()+1).padStart(2,"0"),day:String($.getUTCDate()).padStart(2,"0")}}function Ry($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function QR($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function Ay($){return Array.from(new Set(($??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function YR($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function by($,_){let U=Math.max(1,Math.min(_.limit??10,50)),W=_.sourceRefs??[],J=Ay(_.query),X=["c.kind = 'source'"],G=[];if(W.length>0){X.push(`(${W.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let Q of W)G.push(Q,`%${YR(Q)}%`)}if(J.length>0){X.push(`(${J.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let Q of J)G.push(`%${YR(Q)}%`)}return G.push(U),$.query(`SELECT c.id AS chunk_id, c.text, c.start_offset, @@ -934,12 +934,12 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| FROM chunks c JOIN source_revisions sr ON sr.id = c.source_revision_id JOIN sources s ON s.id = sr.source_id - WHERE ${j.join(" AND ")} + WHERE ${X.join(" AND ")} ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(...W)}function xE(_,$=420){let U=_.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,$-1).trim()}...`}function iS(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function lS(_,$,U){let J=$.map((j,W)=>{return`- [${`S${W+1}`}] ${j.source_title??j.source_uri??"Source"} (${j.source_uri??"unknown"}, revision ${j.revision??"unknown"}, hash ${j.hash??"unknown"})`}),D=$.map((j,W)=>{let G=`S${W+1}`;return[`## ${j.source_title??`Source ${W+1}`}`,"",xE(j.text),"",`Citation: [${G}]`].join(` -`)});return[`# ${_}`,"",`Generated at: ${U}`,"","## Sources","",...J,"",...D,""].join(` -`)}async function rW(_,$){let U=await _.put($);return{key:U.key,uri:U.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:U.modified_at,...U1($.body),metadata:{...$.metadata??{}}}}async function rE(_,$,U){let{year:J,month:D,day:j}=nS(U),W=`logs/${J}/${D}/${j}.jsonl`,G="";try{G=await _.getText(W)}catch{G=""}return rW(_,{key:W,body:`${G}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:h$({generated_from:String($.event??"wiki_log"),artifact_key:W})}})}function oY(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + LIMIT ?`).all(...G)}function jR($,_=420){let U=$.replace(/\s+/g," ").trim();return U.length<=_?U:`${U.slice(0,_-1).trim()}...`}function Fy($,_){if($.title?.trim())return $.title.trim();if($.query?.trim())return $.query.trim();return _[0]?.source_title??"Compiled Knowledge"}function Ey($,_,U){let W=_.map((X,G)=>{return`- [${`S${G+1}`}] ${X.source_title??X.source_uri??"Source"} (${X.source_uri??"unknown"}, revision ${X.revision??"unknown"}, hash ${X.hash??"unknown"})`}),J=_.map((X,G)=>{let Q=`S${G+1}`;return[`## ${X.source_title??`Source ${G+1}`}`,"",jR(X.text),"",`Citation: [${Q}]`].join(` +`)});return[`# ${$}`,"",`Generated at: ${U}`,"","## Sources","",...W,"",...J,""].join(` +`)}async function O5($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...O2(_.body),metadata:{..._.metadata??{}}}}async function DR($,_,U){let{year:W,month:J,day:X}=Vy(U),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return O5($,{key:G,body:`${Q}${JSON.stringify(_)} +`,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"wiki_log"),artifact_key:G})}})}function yq($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -947,41 +947,41 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify({artifact_key:$.path,provenance:$.provenance}),$.now,$.now]);let U=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let J=d1("chk",`${$.pageId}\x00${$.contentHash}`);_.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,$.pageId,"wiki",0,$.body,mS($.body),0,$.body.length,JSON.stringify({artifact_key:$.path,artifact_uri:$.artifactUri,content_hash:$.contentHash,provenance:$.provenance}),$.now]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[J,$.body,$.title,$.artifactUri])}function uE(_,$,U,J){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);for(let D of U)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[d1("cit",`${$}\x00${D.source_uri}\x00${D.chunk_id??uS()}`),$,D.chunk_id,D.source_uri,D.quote,D.start_offset,D.end_offset,JSON.stringify(D.metadata),J]);return U.length}function nE(_,$){return _.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[_.pageId,_.path,_.title,_.artifactUri,_.contentHash,"active",JSON.stringify({artifact_key:_.path,provenance:_.provenance}),_.now,_.now]);let U=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_.pageId);for(let J of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_.pageId]);let W=_U("chk",`${_.pageId}\x00${_.contentHash}`);$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.pageId,"wiki",0,_.body,Ry(_.body),0,_.body.length,JSON.stringify({artifact_key:_.path,artifact_uri:_.artifactUri,content_hash:_.contentHash,provenance:_.provenance}),_.now]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[W,_.body,_.title,_.artifactUri])}function zR($,_,U,W){$.run("DELETE FROM citations WHERE wiki_page_id = ?",[_]);for(let J of U)$.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[_U("cit",`${_}\x00${J.source_uri}\x00${J.chunk_id??Hy()}`),_,J.chunk_id,J.source_uri,J.quote,J.start_offset,J.end_offset,JSON.stringify(J.metadata),W]);return U.length}function qR($,_){return $.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[d1("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function oS(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function mE(_){let $=_.now??new Date,U=$.toISOString();o(_.dbPath);let J=x(_.dbPath),D;try{D=cS(J,_)}finally{J.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let j=iS(_,D),G=`wiki/generated/${lY(j)}.md`,X=lS(j,D,U),N=D.map((T)=>{let P=yE(T.metadata_json);return typeof P.source_ref==="string"?P.source_ref:T.source_uri}).filter((T)=>Boolean(T)),z=h$({generated_from:"wiki_compile",artifact_key:G,source_refs:N}),L=await rW(_.store,{key:G,body:X,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),E=d1("wiki",G),Q=D.map((T)=>({chunk_id:T.chunk_id,source_uri:T.source_uri??"unknown",quote:xE(T.text,240),start_offset:T.start_offset,end_offset:T.end_offset,metadata:{source_revision_id:T.source_revision_id,revision:T.revision,hash:T.hash,source_ref:yE(T.metadata_json).source_ref??T.source_uri}})),q=oS(j),g=`wiki/concepts/${lY(q)}.md`,B=[`# ${q}`,"",`Related page: [[${G}]]`,""].join(` -`),H=h$({generated_from:"wiki_compile_concept",artifact_key:g,source_refs:N}),R=await rW(_.store,{key:g,body:B,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),K=d1("wiki",g),V=await rE(_.store,{ts:U,event:"wiki_compile_completed",page_key:G,source_refs:N,chunks_seen:D.length},$),I=x(_.dbPath);try{K6(I,[L,R,V],$),oY(I,{pageId:E,path:G,title:j,artifactUri:L.uri,contentHash:L.hash??"",body:X,provenance:z,now:U}),oY(I,{pageId:K,path:g,title:q,artifactUri:R.uri,contentHash:R.hash??"",body:B,provenance:H,now:U}),I.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) - VALUES (?, ?, ?, ?)`,[E,K,"concept",U]);let T=uE(I,E,Q,U),P=nE(I,{title:j,path:G,artifactUri:L.uri,contentHash:L.hash??"",now:U});return{page_id:E,path:G,artifact_uri:L.uri,content_hash:L.hash??"",chunks_seen:D.length,citations_written:T,concept_page_id:K,indexes_updated:P,log_key:V.key,warnings:[]}}finally{I.close()}}async function dE(_){if(!_.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let $=_.now??new Date,U=$.toISOString(),J=_.prompt.length>80?`${_.prompt.slice(0,77)}...`:_.prompt,j=`wiki/answers/${lY(J)}.md`,W=_.context.citations,G=[`# ${J}`,"",_.answer,"","## Citations","",...W.map((q,g)=>`- [C${g+1}] ${q.source_ref??q.source_uri??q.artifact_path??q.artifact_uri??"unknown"} ${q.hash?`(hash ${q.hash})`:""}`),""].join(` -`),X=W.map((q)=>q.source_ref??q.source_uri).filter((q)=>Boolean(q)),N=h$({generated_from:"knowledge_answer",artifact_key:j,source_refs:X}),z=await rW(_.store,{key:j,body:G,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),L=await rE(_.store,{ts:U,event:"wiki_answer_filed",page_key:j,prompt:_.prompt,citations:W.length},$),E=d1("wiki",j),Q=x(_.dbPath);try{K6(Q,[z,L],$),oY(Q,{pageId:E,path:j,title:J,artifactUri:z.uri,contentHash:z.hash??"",body:G,provenance:N,now:U});let q=uE(Q,E,W.map((g)=>({chunk_id:g.chunk_id,source_uri:g.source_uri??g.artifact_uri??"unknown",quote:g.quote,start_offset:g.start_offset,end_offset:g.end_offset,metadata:{source_ref:g.source_ref,artifact_path:g.artifact_path,revision:g.revision,hash:g.hash}})),U);return nE(Q,{title:J,path:j,artifactUri:z.uri,contentHash:z.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:E,path:j,artifact_uri:z.uri,citations_written:q,log_key:L.key,message:`Filed answer to ${j}`}}finally{Q.close()}}function H0(_,$){_.push($)}function cE(_){o(_.dbPath);let $=x(_.dbPath),U=[];try{let J=$.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,D=$.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,j=$.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,W=$.query(`SELECT wp.id, wp.path + updated_at = excluded.updated_at`,[_U("idx",`wiki-topic\x00${_.path}`),"wiki_topic",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash}),_.now,_.now]),1}function Ky($){return $.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function OR($){let _=$.now??new Date,U=_.toISOString();$$($.dbPath);let W=d($.dbPath),J;try{J=by(W,$)}finally{W.close()}if(J.length===0)throw Error("No source chunks matched wiki compile input.");let X=Fy($,J),Q=`wiki/generated/${vq(X)}.md`,Y=Ey(X,J,U),j=J.map((Z)=>{let k=QR(Z.metadata_json);return typeof k.source_ref==="string"?k.source_ref:Z.source_uri}).filter((Z)=>Boolean(Z)),O=D6({generated_from:"wiki_compile",artifact_key:Q,source_refs:j}),B=await O5($.store,{key:Q,body:Y,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),V=_U("wiki",Q),L=J.map((Z)=>({chunk_id:Z.chunk_id,source_uri:Z.source_uri??"unknown",quote:jR(Z.text,240),start_offset:Z.start_offset,end_offset:Z.end_offset,metadata:{source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,source_ref:QR(Z.metadata_json).source_ref??Z.source_uri}})),N=Ky(X),H=`wiki/concepts/${vq(N)}.md`,R=[`# ${N}`,"",`Related page: [[${Q}]]`,""].join(` +`),b=D6({generated_from:"wiki_compile_concept",artifact_key:H,source_refs:j}),A=await O5($.store,{key:H,body:R,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),M=_U("wiki",H),E=await DR($.store,{ts:U,event:"wiki_compile_completed",page_key:Q,source_refs:j,chunks_seen:J.length},_),g=d($.dbPath);try{W4(g,[B,A,E],_),yq(g,{pageId:V,path:Q,title:X,artifactUri:B.uri,contentHash:B.hash??"",body:Y,provenance:O,now:U}),yq(g,{pageId:M,path:H,title:N,artifactUri:A.uri,contentHash:A.hash??"",body:R,provenance:b,now:U}),g.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) + VALUES (?, ?, ?, ?)`,[V,M,"concept",U]);let Z=zR(g,V,L,U),k=qR(g,{title:X,path:Q,artifactUri:B.uri,contentHash:B.hash??"",now:U});return{page_id:V,path:Q,artifact_uri:B.uri,content_hash:B.hash??"",chunks_seen:J.length,citations_written:Z,concept_page_id:M,indexes_updated:k,log_key:E.key,warnings:[]}}finally{g.close()}}async function LR($){if(!$.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let _=$.now??new Date,U=_.toISOString(),W=$.prompt.length>80?`${$.prompt.slice(0,77)}...`:$.prompt,X=`wiki/answers/${vq(W)}.md`,G=$.context.citations,Q=[`# ${W}`,"",$.answer,"","## Citations","",...G.map((N,H)=>`- [C${H+1}] ${N.source_ref??N.source_uri??N.artifact_path??N.artifact_uri??"unknown"} ${N.hash?`(hash ${N.hash})`:""}`),""].join(` +`),Y=G.map((N)=>N.source_ref??N.source_uri).filter((N)=>Boolean(N)),j=D6({generated_from:"knowledge_answer",artifact_key:X,source_refs:Y}),O=await O5($.store,{key:X,body:Q,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),B=await DR($.store,{ts:U,event:"wiki_answer_filed",page_key:X,prompt:$.prompt,citations:G.length},_),V=_U("wiki",X),L=d($.dbPath);try{W4(L,[O,B],_),yq(L,{pageId:V,path:X,title:W,artifactUri:O.uri,contentHash:O.hash??"",body:Q,provenance:j,now:U});let N=zR(L,V,G.map((H)=>({chunk_id:H.chunk_id,source_uri:H.source_uri??H.artifact_uri??"unknown",quote:H.quote,start_offset:H.start_offset,end_offset:H.end_offset,metadata:{source_ref:H.source_ref,artifact_path:H.artifact_path,revision:H.revision,hash:H.hash}})),U);return qR(L,{title:W,path:X,artifactUri:O.uri,contentHash:O.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:V,path:X,artifact_uri:O.uri,citations_written:N,log_key:B.key,message:`Filed answer to ${X}`}}finally{L.close()}}function q1($,_){$.push(_)}function NR($){$$($.dbPath);let _=d($.dbPath),U=[];try{let W=_.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,X=_.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,G=_.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN citations c ON c.wiki_page_id = wp.id WHERE wp.status = 'active' AND wp.path LIKE 'wiki/generated/%' GROUP BY wp.id - HAVING COUNT(c.id) = 0`).all();for(let Q of W)H0(U,{type:"missing_citation",severity:"error",page_id:Q.id,path:Q.path,message:"Generated wiki page has no citations."});let G=$.query(`SELECT wp.id AS page_id, wp.path, c.source_uri, c.chunk_id + HAVING COUNT(c.id) = 0`).all();for(let L of G)q1(U,{type:"missing_citation",severity:"error",page_id:L.id,path:L.path,message:"Generated wiki page has no citations."});let Q=_.query(`SELECT wp.id AS page_id, wp.path, c.source_uri, c.chunk_id FROM citations c JOIN wiki_pages wp ON wp.id = c.wiki_page_id LEFT JOIN chunks ch ON ch.id = c.chunk_id - WHERE ch.metadata_json LIKE '%"stale":true%' OR ch.metadata_json LIKE '%"status":"stale"%' OR ch.metadata_json LIKE '%"status":"deleted"%'`).all();for(let Q of G)H0(U,{type:"stale_citation",severity:"warn",page_id:Q.page_id,path:Q.path,source_uri:Q.source_uri,chunk_id:Q.chunk_id??void 0,message:"Page cites a stale or deleted source chunk."});let X=$.query(`SELECT lower(title) AS title, COUNT(*) AS n + WHERE ch.metadata_json LIKE '%"stale":true%' OR ch.metadata_json LIKE '%"status":"stale"%' OR ch.metadata_json LIKE '%"status":"deleted"%'`).all();for(let L of Q)q1(U,{type:"stale_citation",severity:"warn",page_id:L.page_id,path:L.path,source_uri:L.source_uri,chunk_id:L.chunk_id??void 0,message:"Page cites a stale or deleted source chunk."});let Y=_.query(`SELECT lower(title) AS title, COUNT(*) AS n FROM wiki_pages WHERE status = 'active' GROUP BY lower(title) - HAVING COUNT(*) > 1`).all();for(let Q of X)H0(U,{type:"duplicate_page",severity:"warn",message:`Duplicate active wiki title: ${Q.title} (${Q.n} pages).`});let N=$.query(`SELECT wp.id, wp.path + HAVING COUNT(*) > 1`).all();for(let L of Y)q1(U,{type:"duplicate_page",severity:"warn",message:`Duplicate active wiki title: ${L.title} (${L.n} pages).`});let j=_.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN wiki_backlinks wb1 ON wb1.from_page_id = wp.id LEFT JOIN wiki_backlinks wb2 ON wb2.to_page_id = wp.id WHERE wp.status = 'active' AND wp.path NOT IN ('wiki/README.md') GROUP BY wp.id - HAVING COUNT(wb1.to_page_id) = 0 AND COUNT(wb2.from_page_id) = 0`).all();for(let Q of N)H0(U,{type:"orphan_page",severity:"info",page_id:Q.id,path:Q.path,message:"Wiki page has no backlinks."});let z=$.query(`SELECT wp.id AS page_id, wp.path, c.source_uri + HAVING COUNT(wb1.to_page_id) = 0 AND COUNT(wb2.from_page_id) = 0`).all();for(let L of j)q1(U,{type:"orphan_page",severity:"info",page_id:L.id,path:L.path,message:"Wiki page has no backlinks."});let O=_.query(`SELECT wp.id AS page_id, wp.path, c.source_uri FROM citations c JOIN wiki_pages wp ON wp.id = c.wiki_page_id LEFT JOIN sources s ON s.uri = c.source_uri - WHERE s.id IS NULL AND c.source_uri NOT LIKE 'file://%' AND c.source_uri NOT LIKE 's3://%' AND c.source_uri NOT LIKE 'https://%' AND c.source_uri NOT LIKE 'open-files://%'`).all();for(let Q of z)H0(U,{type:"unresolved_source_ref",severity:"error",page_id:Q.page_id,path:Q.path,source_uri:Q.source_uri,message:"Citation source URI cannot be resolved to a known or allowed source ref."});let L=$.query("SELECT id, path FROM wiki_pages WHERE lower(metadata_json) LIKE '%contradiction%'").all();for(let Q of L)H0(U,{type:"contradiction_marker",severity:"warn",page_id:Q.id,path:Q.path,message:"Page metadata contains a contradiction marker."});let E=$.query(`SELECT c.id AS chunk_id, s.uri AS source_uri + WHERE s.id IS NULL AND c.source_uri NOT LIKE 'file://%' AND c.source_uri NOT LIKE 's3://%' AND c.source_uri NOT LIKE 'https://%' AND c.source_uri NOT LIKE 'open-files://%'`).all();for(let L of O)q1(U,{type:"unresolved_source_ref",severity:"error",page_id:L.page_id,path:L.path,source_uri:L.source_uri,message:"Citation source URI cannot be resolved to a known or allowed source ref."});let B=_.query("SELECT id, path FROM wiki_pages WHERE lower(metadata_json) LIKE '%contradiction%'").all();for(let L of B)q1(U,{type:"contradiction_marker",severity:"warn",page_id:L.id,path:L.path,message:"Page metadata contains a contradiction marker."});let V=_.query(`SELECT c.id AS chunk_id, s.uri AS source_uri FROM chunks c JOIN source_revisions sr ON sr.id = c.source_revision_id JOIN sources s ON s.id = sr.source_id @@ -989,7 +989,7 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| WHERE c.kind = 'source' GROUP BY c.id HAVING COUNT(cit.id) = 0 - LIMIT 25`).all();for(let Q of E)H0(U,{type:"new_article_candidate",severity:"info",chunk_id:Q.chunk_id,source_uri:Q.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((Q)=>Q.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:J,citations:D,backlinks:j,new_article_candidates:E.length}}}finally{$.close()}}import{createHash as pS}from"crypto";function tS(_){let $=String(_.getUTCFullYear()),U=String(_.getUTCMonth()+1).padStart(2,"0"),J=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:U,day:J}}function pY(_,$){return`${_}_${pS("sha256").update($).digest("hex").slice(0,20)}`}function aS(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function eS(){return`# Knowledge Agent Schema v1 + LIMIT 25`).all();for(let L of V)q1(U,{type:"new_article_candidate",severity:"info",chunk_id:L.chunk_id,source_uri:L.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((L)=>L.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:W,citations:J,backlinks:X,new_article_candidates:V.length}}}finally{_.close()}}import{createHash as My}from"crypto";function gy($){let _=String($.getUTCFullYear()),U=String($.getUTCMonth()+1).padStart(2,"0"),W=String($.getUTCDate()).padStart(2,"0");return{year:_,month:U,day:W}}function hq($,_){return`${$}_${My("sha256").update(_).digest("hex").slice(0,20)}`}function Iy($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function wy(){return`# Knowledge Agent Schema v1 ## Source Rules @@ -1014,7 +1014,7 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| ## Lint Rules - Flag stale pages, missing citations, contradictions, orphan pages, duplicate pages, and unresolved source refs. -`}function sS(){return`# Knowledge Index +`}function ky(){return`# Knowledge Index This is a compact orientation index for agents. It is not the full search index. @@ -1029,19 +1029,19 @@ This is a compact orientation index for agents. It is not the full search index. Raw source files are resolved through open-files. This app stores source refs, citations, chunks, generated wiki artifacts, indexes, and run records. -`}function iE(){return`# Wiki +`}function BR(){return`# Wiki Generated durable knowledge pages live here. Pages should be concise, cited, and organized for both humans and agents. -`}async function lE(_,$=new Date){let{year:U,month:J,day:D}=tS($),j="schemas/v1.md",W="indexes/root.md",G="wiki/README.md",X=`logs/${U}/${J}/${D}.jsonl`,N={ts:$.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},z=[{key:"schemas/v1.md",body:eS(),content_type:"text/markdown"},{key:"indexes/root.md",body:sS(),content_type:"text/markdown"},{key:"wiki/README.md",body:iE(),content_type:"text/markdown"},{key:X,body:`${JSON.stringify(N)} -`,content_type:"application/x-ndjson"}],L=await Promise.all(z.map(async(E)=>{let Q=await _.put(E);return{key:Q.key,uri:Q.uri,kind:O7(E.key),content_type:E.content_type,modified_at:Q.modified_at,metadata:{provenance:h$({generated_from:"wiki_layout_init",artifact_key:E.key,citation_required:E.key.startsWith("wiki/")||E.key.startsWith("indexes/")})},...U1(E.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:X,artifacts:L,written:["schemas/v1.md","indexes/root.md","wiki/README.md",X]}}function tY(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return h$({generated_from:"wiki_layout_init",artifact_key:_.key})}function _f(_,$,U,J,D,j){let W=tY(J),G=pY("chk",`${$}\x00${J.hash??J.uri}`),X=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let N of X)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[N.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$]),_.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[G,$,"wiki",0,D,aS(D),0,D.length,JSON.stringify({artifact_key:J.key,artifact_uri:J.uri,content_hash:J.hash??null,provenance:W}),j]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[G,D,U,J.uri])}function oE(_,$,U=new Date){let J=U.toISOString(),D=$.find((W)=>W.key.endsWith("indexes/root.md")),j=$.find((W)=>W.key.endsWith("wiki/README.md"));if(D)_.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) +`}async function HR($,_=new Date){let{year:U,month:W,day:J}=gy(_),X="schemas/v1.md",G="indexes/root.md",Q="wiki/README.md",Y=`logs/${U}/${W}/${J}.jsonl`,j={ts:_.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},O=[{key:"schemas/v1.md",body:wy(),content_type:"text/markdown"},{key:"indexes/root.md",body:ky(),content_type:"text/markdown"},{key:"wiki/README.md",body:BR(),content_type:"text/markdown"},{key:Y,body:`${JSON.stringify(j)} +`,content_type:"application/x-ndjson"}],B=await Promise.all(O.map(async(V)=>{let L=await $.put(V);return{key:L.key,uri:L.uri,kind:SN(V.key),content_type:V.content_type,modified_at:L.modified_at,metadata:{provenance:D6({generated_from:"wiki_layout_init",artifact_key:V.key,citation_required:V.key.startsWith("wiki/")||V.key.startsWith("indexes/")})},...O2(V.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:Y,artifacts:B,written:["schemas/v1.md","indexes/root.md","wiki/README.md",Y]}}function xq($){let _=$.metadata?.provenance;if(_&&typeof _==="object"&&!Array.isArray(_))return _;return D6({generated_from:"wiki_layout_init",artifact_key:$.key})}function fy($,_,U,W,J,X){let G=xq(W),Q=hq("chk",`${_}\x00${W.hash??W.uri}`),Y=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_);for(let j of Y)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[j.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_]),$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[Q,_,"wiki",0,J,Iy(J),0,J.length,JSON.stringify({artifact_key:W.key,artifact_uri:W.uri,content_hash:W.hash??null,provenance:G}),X]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[Q,J,U,W.uri])}function VR($,_,U=new Date){let W=U.toISOString(),J=_.find((G)=>G.key.endsWith("indexes/root.md")),X=_.find((G)=>G.key.endsWith("wiki/README.md"));if(J)$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[pY("idx","root:indexes/root.md"),"root","root",D.uri,"root",JSON.stringify({artifact_key:D.key,content_hash:D.hash??null,provenance:tY(D)}),J,J]);if(j){let W=pY("wiki","wiki/README.md");_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[hq("idx","root:indexes/root.md"),"root","root",J.uri,"root",JSON.stringify({artifact_key:J.key,content_hash:J.hash??null,provenance:xq(J)}),W,W]);if(X){let G=hq("wiki","wiki/README.md");$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -1049,13 +1049,13 @@ Pages should be concise, cited, and organized for both humans and agents. content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[W,"wiki/README.md","Wiki",j.uri,j.hash??null,"active",JSON.stringify({artifact_key:j.key,provenance:tY(j)}),J,J]),_f(_,W,"Wiki",j,iE(),J)}}import{createHash as pE}from"crypto";import{cpSync as Dz,chmodSync as eY,existsSync as c$,lstatSync as _3,mkdirSync as uW,readdirSync as Jz,readFileSync as _D,renameSync as $f,rmSync as mW,writeFileSync as tE}from"fs";import{dirname as sY,join as v6,relative as Uf}from"path";function _z(_,$=_){if(!c$(_))return[];let U=_3(_);if(U.isFile())return[Uf($,_)||"."];if(!U.isDirectory())return[];return Jz(_).flatMap((J)=>_z(v6(_,J),$)).sort()}function aE(_,$){if($.length===0)return{sha256:null,bytes:0};let U=pE("sha256"),J=0;for(let D of $){let j=v6(_,D),W=_D(j),G=pE("sha256").update(W).digest("hex");J+=W.byteLength,U.update(D),U.update("\x00"),U.update(G),U.update("\x00")}return{sha256:U.digest("hex"),bytes:J}}function Df(_){if(!c$(_))return null;let $=JSON.parse(_D(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function Jf(_){if(!c$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=pQ(_);try{let U=$.query("PRAGMA integrity_check").get(),J=U?Object.values(U)[0]??null:null,D=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),j={};for(let W of D){let G=`"${W.name.replaceAll('"','""')}"`,X=$.query(`SELECT COUNT(*) AS n FROM ${G}`).get();j[W.name]=X?.n??0}return{exists:!0,integrity_check:J,table_counts:j}}finally{$.close()}}function U$(_,$={}){let U=_z(_.home),J=aE(_.home,U),D=_z(_.artifactsDir),j=aE(_.artifactsDir,D),W=c$(_.knowledgeDbPath);return{path:_.home,exists:c$(_.home),file_count:U.length,total_bytes:J.bytes,tree_sha256:J.sha256,json_items:Df(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:W,integrity_check:null,table_counts:{}}:Jf(_.knowledgeDbPath),artifacts:{exists:c$(_.artifactsDir),file_count:D.length,total_bytes:j.bytes,tree_sha256:j.sha256},files:U}}function jf(_,$){if(!$.exists)return!0;if($.files.filter((J)=>J!=="config.json").length>0)return!1;if(!$.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(_D(_.configPath,"utf8")))===JSON.stringify(qU())}catch{return!1}}function $z(_,$){return _.file_count===$.file_count&&_.total_bytes===$.total_bytes&&_.tree_sha256===$.tree_sha256&&_.json_items===$.json_items&&_.sqlite.integrity_check===$.sqlite.integrity_check&&JSON.stringify(_.sqlite.table_counts)===JSON.stringify($.sqlite.table_counts)&&_.artifacts.file_count===$.artifacts.file_count&&_.artifacts.total_bytes===$.artifacts.total_bytes&&_.artifacts.tree_sha256===$.artifacts.tree_sha256}function nW(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function Uz(_){if(Array.isArray(_))return`[${_.map(Uz).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${Uz(U)}`).join(",")}}`;return JSON.stringify(_)}function eE(_){return Uz(_)}function aY(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function A0(_){if(!c$(_))return{items:[]};let $=JSON.parse(_D(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function sE(_,$){let U=new Map(_.items.map((z)=>[z.id,z])),J=new Map;for(let z of _.items){let L=J.get(z.id);if(L&&L.item.id!==z.id);J.set(z.id,{item:z,keyKind:"id",source:"current"});let E=aY(z);if(E&&!J.has(E))J.set(E,{item:z,keyKind:"short_id",source:"current"})}let D=[],j=0,W=0,G=0,X=[];for(let z of $.items){let L=U.get(z.id);if(L){if(eE(L)===eE(z))j+=1;else W+=1,D.push({type:"id_conflict",id:z.id,legacy_title:z.title,current_title:L.title});continue}let E=[{key:z.id,keyKind:"id"},...aY(z)?[{key:aY(z),keyKind:"short_id"}]:[]],Q=!1;for(let{key:q,keyKind:g}of E){let B=J.get(q);if(!B)continue;if(g==="id"&&B.keyKind==="id")W+=1,D.push({type:"id_conflict",id:q,legacy_id:z.id,current_id:B.item.id,legacy_title:z.title,current_title:B.item.title});else G+=1,D.push({type:"short_id_conflict",id:q,legacy_id:z.id,current_id:B.item.id,legacy_title:z.title,current_title:B.item.title});Q=!0}if(Q)continue;X.push(z);for(let{key:q,keyKind:g}of E)J.set(q,{item:z,keyKind:g,source:"legacy"})}let N={items:[..._.items,...X]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:j,duplicate_ids_conflicting:W,short_id_conflicts:G,stranded_items:X.length,merged_items:D.length===0?X.length:0,expected_total_items:_.items.length+X.length,final_items:null},conflicts:D,mergedStore:N}}function Wf(_,$){let U=[...new Set(_)].sort(),J=(D)=>{if(D>=U.length)return $();return $6(U[D],()=>J(D+1),{createParent:!0})};return J(0)}function $3(_){let $=_.now??new Date,U=_.approveWrite!==!0,J=U$(_.legacy),D=U$(_.current),j={legacy_exists:J.exists,legacy_store_exists:c$(_.legacy.jsonStorePath),current_store_exists:c$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},W=[];if(!J.exists||!j.legacy_store_exists)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:J,current_before:D,backup_after:null,current_after:D,merge:{current_items:A0(_.current.jsonStorePath).items.length,legacy_items:0,duplicate_ids_identical:0,duplicate_ids_conflicting:0,short_id_conflicts:0,stranded_items:0,merged_items:0,expected_total_items:A0(_.current.jsonStorePath).items.length,final_items:D.json_items},conflicts:[],checks:{...j,no_conflicts:!0,final_count_matches_expected:!0},warnings:W,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let G=A0(_.current.jsonStorePath),X=A0(_.legacy.jsonStorePath),N=sE(G,X);if(j.no_conflicts=N.conflicts.length===0,N.conflicts.length>0)W.push("merge_conflicts_detected");if(!j.approval_present)W.push("write_approval_required");if(U||!j.approval_present||N.conflicts.length>0)return{ok:N.conflicts.length===0,dry_run:!0,approval_required:!j.approval_present,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.merge-backup-${nW($)}`,legacy_before:J,current_before:D,backup_after:null,current_after:null,merge:N.stats,conflicts:N.conflicts,checks:j,warnings:W,message:N.conflicts.length===0?`Dry run: would merge ${N.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${N.conflicts.length} conflict(s)`};return Wf([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let z=A0(_.current.jsonStorePath),L=A0(_.legacy.jsonStorePath),E=sE(z,L);if(j.no_conflicts=E.conflicts.length===0,E.conflicts.length>0)return{ok:!1,dry_run:!0,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:U$(_.legacy),current_before:U$(_.current),backup_after:null,current_after:null,merge:E.stats,conflicts:E.conflicts,checks:j,warnings:[...W,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${E.conflicts.length} conflict(s)`};if(E.stats.stranded_items===0)return E.stats.final_items=z.items.length,j.final_count_matches_expected=z.items.length===E.stats.expected_total_items,{ok:j.no_conflicts&&j.final_count_matches_expected,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:U$(_.legacy),current_before:U$(_.current),backup_after:null,current_after:U$(_.current),merge:E.stats,conflicts:[],checks:j,warnings:W,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let Q=`${_.legacy.home}.merge-backup-${nW($)}`;uW(sY(Q),{recursive:!0}),Dz(_.legacy.home,Q,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let q=L$(Q),g=U$(q);if(j.legacy_backup_written=$z(U$(_.legacy),g),!j.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${Q}`);g6(_.current.jsonStorePath,E.mergedStore);let B=A0(_.current.jsonStorePath);E.stats.final_items=B.items.length,j.final_count_matches_expected=B.items.length===E.stats.expected_total_items;let H=U$(_.current),R=j.legacy_backup_written&&j.no_conflicts&&j.final_count_matches_expected;return{ok:R,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:Q,legacy_before:J,current_before:D,backup_after:g,current_after:H,merge:E.stats,conflicts:[],checks:j,warnings:W,message:R?`Merged ${E.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function Gf(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function jz(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function Xf(_){let $;for(let U=0;U<8;U+=1)try{mW(_,{recursive:!0,force:!1});return}catch(J){if($=J,!jz(J))throw J;Gf(50*(U+1))}throw $}function U3(_){if(!c$(_))return;let $=_3(_);if(eY(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let U of Jz(_))U3(v6(_,U))}function Nf(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function Of(_){for(let $ of Jz(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{mW(v6(_,$),{recursive:!0,force:!1})}catch(U){if(!jz(U)||!$.startsWith("knowledge.db"))throw U}}}function Yf(_,$){try{$f(_,$);return}catch(U){Dz(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{Xf(_)}catch(J){if(jz(J)){Of(_);return}throw mW($,{recursive:!0,force:!0}),J}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function zf(_,$,U){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((J)=>!Nf(J)))return!1;try{let J=JSON.parse(_D(v6(_.home,"migration.json"),"utf8"));return J.new_path===U&&typeof J.backup_path==="string"}catch{return!1}}function D3(_){let $=_.now??new Date,U=_.approveWrite!==!0,J=U$(_.current),D=jf(_.current,J),j=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!J.exists||D),W=U$(_.legacy,{includeSqlite:!j}),G={legacy_exists:W.exists,current_absent_or_default_scaffold:!J.exists||D,approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},X=[];if(!W.exists)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:null,legacy_before:W,current_before:J,backup_after:null,current_after:null,checks:G,warnings:X,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(G.legacy_is_tombstone=zf(_.legacy,W,_.current.home),G.legacy_is_tombstone)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:v6(_.legacy.home,"TOMBSTONE.md"),legacy_before:W,current_before:J,backup_after:null,current_after:J,checks:{...G,tombstone_written:!0},warnings:X,message:`Legacy knowledge workspace already migrated to ${_.current.home}`};if(!G.current_absent_or_default_scaffold)X.push("current_workspace_contains_data");if(!G.approval_present)X.push("write_approval_required");if(U||!G.current_absent_or_default_scaffold||!G.approval_present)return{ok:G.current_absent_or_default_scaffold,dry_run:!0,approval_required:!0,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.backup-${nW($)}`,tombstone_path:v6(_.legacy.home,"TOMBSTONE.md"),legacy_before:W,current_before:J,backup_after:null,current_after:null,checks:G,warnings:X,message:G.current_absent_or_default_scaffold?`Dry run: would migrate ${_.legacy.home} to ${_.current.home}`:`Cannot migrate while ${_.current.home} contains data`};let N=`${_.legacy.home}.backup-${nW($)}`;uW(sY(_.current.home),{recursive:!0}),uW(sY(N),{recursive:!0}),Dz(_.legacy.home,N,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),U3(N);let z=L$(N),L=U$(z,{includeSqlite:!1});if(G.backup_matches_legacy=$z(W,L),!G.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${N}`);if(J.exists&&D)mW(_.current.home,{recursive:!0,force:!0});Yf(_.legacy.home,_.current.home);let E=U$(_.current,{includeSqlite:!1});G.migrated_matches_backup=$z(L,E);let Q=U$(z),q=U$(_.current),g={...Q,path:_.legacy.home};uW(_.legacy.home,{recursive:!0});let B=v6(_.legacy.home,"TOMBSTONE.md");tE(B,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${N}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` -`),{mode:384}),eY(B,384);let H=v6(_.legacy.home,"migration.json");tE(H,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:N,legacy_before:g,backup_after:Q,current_after:q},null,2)} -`,{mode:384}),eY(H,384),G.tombstone_written=c$(B);let R=G.backup_matches_legacy&&G.migrated_matches_backup&&G.tombstone_written;return{ok:R,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:N,tombstone_path:B,legacy_before:g,current_before:J,backup_after:Q,current_after:q,checks:G,warnings:X,message:R?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}function gf(_){let $=B3(_);if(I_(J3($,"knowledge.db"))||I_(J3($,"config.json")))return C0($);return C0(L$(YG($)).home)}function Wz(_){return`${Lf()}:${UD("sha256").update(_.home).digest("hex").slice(0,12)}`}function Nz(_){return`'${_.replace(/'/g,"'\\''")}'`}function Ef(_){return["knowledge",..._].map(Nz).join(" ")}function j3(_,$){return`cd ${Nz(_)} && knowledge ${$.map(Nz).join(" ")}`}function R3(_){return!_||_==="local"||_==="localhost"}function $D(_,$){return{source:_.source,adapter:_.adapter,project_root:$,project_root_source:_.project_root_source,workspace_root:_.workspace_root,workspace_root_source:_.workspace_root_source,open_files_root:_.open_files_root,open_files_root_source:_.open_files_root_source,trust_status:_.trust_status,auth_status:_.auth_status,current:_.current,primary:_.primary,diagnostics:_.diagnostics,repair_hints:_.repair_hints,evidence:_.evidence,cacheability:_.cacheability,warnings:_.warnings}}function Gz(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function Bf(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((U)=>typeof U==="string"):[]}catch{return[]}}function DD(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function d_(_){return typeof _==="string"&&_.length>0?_:null}function Rf(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function dW(_){return typeof _==="boolean"?_:null}function Hf(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function H3(_,$,U){let J=DD(_),D=d_(J.observed_at)??d_($[`${U}_observed_at`]),j=d_(J.source_authority)??d_($[`${U}_source_authority`]);if(!D||!j)return null;return{observed_at:D,verified_at:d_(J.verified_at),expires_at:d_(J.expires_at)??d_($[`${U}_expires_at`]),ttl_ms:Rf(J.ttl_ms),source_authority:j,confidence:d_(J.confidence)??(U==="route"?d_($.route_confidence):null),cacheable:dW(J.cacheable)??dW($[`${U}_cacheable`])??!1,stale:dW(J.stale)??dW($[`${U}_stale`])??!1,reasons:Hf(J.reasons)}}function Af(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||Bf(_.tailscale_ips_json).includes($)}function W3(_,$){return bX(_).find((U)=>Af(U,$))??null}function A3(_){return DD(c1(_.metadata_json).resolver_evidence)}function JD(_){return DD(c1(_.capabilities_json).resolver)}function V3(_){let $=JD(_),U=d_($.route_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;if(_.tailscale_dns&&_.ssh_target===_.tailscale_dns)return"tailscale";return _.ssh_target?"ssh":"unknown"}function Vf(_){let $=JD(_),U=d_($.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return V3(_)}function bf(_){return d_(JD(_).route_confidence)??"medium"}function G3(_,$,U){let J=A3(_),D=DD(J.route),j=JD(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:V3(_),targetKind:Vf(_),confidence:bf(_),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:H3(D.cacheability,j,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function X3(_,$,U){if(!_.workspace_home)return null;let J=A3(_),D=DD(J.workspace),j=JD(_);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:d_(D.project_id)??U.project_id,repo_name:d_(D.repo_name)??U.repo_name,project_root:_.workspace_home,project_root_source:d_(j.project_root_source)??"registry",workspace_root:d_(D.workspace_root),workspace_root_source:d_(j.workspace_root_source)??"registry",open_files_root:d_(D.open_files_root),open_files_root_source:d_(j.open_files_root_source)??"registry",trust_status:d_(j.trust_status)??"unknown",auth_status:d_(j.auth_status)??"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,workspace:D},cacheability:H3(D.cacheability,j,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function N3(_){if(!_)return null;let $=_.diagnostics.filter((J)=>J.severity!=="ok"),U=_.repair_hints[0];if(!$.length&&!_.warnings.length&&!U)return null;return[$.length?`workspace diagnostics: ${$.map((J)=>`${J.id}=${J.status}`).join(", ")}`:null,_.warnings.length?`warnings: ${_.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function cW(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:Ef(_.args)}}function iW(_,$){let U=x(_);try{return Number(U.query($).get()?.count??0)}finally{U.close()}}function Kf(_,$){let U=iW(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),J=iW(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=iW(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),j=iW(_,["SELECT COUNT(*) AS count FROM sources","WHERE metadata_json LIKE '%raw_bytes%'","OR metadata_json LIKE '%raw_content%'","OR metadata_json LIKE '%content_base64%'","OR metadata_json LIKE '%source_bytes%'"].join(" ")),W=j===0;return{ok:W,source_of_truth:"open-files",configured_root:$?.open_files_root??null,configured_root_source:$?.open_files_root_source??null,source_refs:{open_files:U,metadata_mentions:J},extracted_text_artifacts:D,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:j,message:W?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${j} raw source payload metadata sentinel(s) found`}}var If=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function Oz(_,$=0){if($>8)return!1;if(!_||typeof _!=="object")return!1;if(Array.isArray(_))return _.some((U)=>Oz(U,$+1));for(let[U,J]of Object.entries(_)){if(If.has(U.toLowerCase()))return!0;if(Oz(J,$+1))return!0}return!1}function c1(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function O3(_,$=20,U=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),U)}function Ff(_,$=220){let U=_??"";return U.length>$?`${U.slice(0,$)}...`:U}function S$(_,$=["metadata_json"]){return _.map((U)=>{let J={...U};for(let D of $){let j=J[D];if(typeof j==="string"){let W=D.endsWith("_json")?D.slice(0,-5):D;J[W]=c1(j),delete J[D]}}return J})}function V$(_,$,U=[]){return _.query($).all(...U)}function Mf(_){if(!I_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(qf(_,"utf8"));if(!$||!Array.isArray($.items))return{exists:!0,read_error:"invalid_store_shape",items:[]};return{exists:!0,read_error:null,items:$.items}}catch($){return{exists:!0,read_error:$ instanceof Error?$.message:String($),items:[]}}}function Y3(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:Ff(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function z3(){return{schema_version:0,sources:0,source_revisions:0,chunks:0,wiki_pages:0,citations:0,indexes:0,runs:0,run_events:0,redaction_findings:0,audit_events:0,approval_gates:0,storage_objects:0,embeddings:0,vector_entries:0,reindex_queue:0,knowledge_machines:0,sync_snapshots:0,sync_changes:0,sync_conflicts:0,sync_table_clocks:0,sync_imports:0}}function b3(_,$,U=!1){return{query:_,limit:$,offset:0,mode:{keyword:!0,catalog:!0,semantic:U},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:0,catalog_results:0,semantic_results:0,merged_results:0},warnings:["knowledge_db_missing"],results:[]}}function Pf(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function kf(_,$,U=!1){let J=b3(_,$,U);return{query:_,normalized_query:Pf(_),created_at:new Date().toISOString(),mode:J.mode,warnings:J.warnings,search_counts:J.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function Xz(_,$,U){let J=U??$.jsonStorePath;if(I_(J))return J;if(_==="global"){let D=QU();if(I_(D))return D}return J}function wf(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function Yz(_,$){let U=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function Q3(_,$,U){let J=O$(Yz(_,U),$);return{text:J.text,redactions:J.findings.length}}function q3(_,$,U){let J=_.now??new Date,D=_.source??"search",j=_.purpose??(D==="loops"||D==="runs"?"proposal":"agent_context"),W=(_.query??_.topic??$.query).normalize("NFKC").trim().replace(/\s+/g," "),G=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),X=Math.max(500,Math.min(_.maxTokens??6000,1e5)),N=0,z=$.citations.slice(0,Math.max(G*2,G)).map((R,K)=>{let V=Q3(R.quote,U,K<3?220:140);N+=V.redactions;let I=R.source_ref??R.source_uri??R.artifact_path??R.artifact_uri??R.id;return{id:`cite_${UD("sha256").update(`${R.id}\x00${I}`).digest("hex").slice(0,12)}`,kind:R.artifact_uri||R.artifact_path?"artifact":"source",ref:I,source_ref:R.source_ref,source_uri:R.source_uri,artifact_uri:R.artifact_uri,artifact_path:R.artifact_path,run_id:null,run_event_id:null,revision:R.revision,hash:R.hash,chunk_id:R.chunk_id,offsets:{start:R.start_offset,end:R.end_offset},quote_preview:V.text}}),L=new Map($.citations.map((R,K)=>[R.id,z[K]])),E=$.excerpts.slice(0,Math.max(G*2,G)).map((R)=>{let K=$.results.find((T)=>T.id===R.result_id),V=R.citation_id?L.get(R.citation_id):void 0,I=Q3(R.text,U,520);return N+=I.redactions,{id:`ev_${UD("sha256").update(`${R.kind}\x00${R.result_id}\x00${R.citation_id??""}`).digest("hex").slice(0,14)}`,kind:R.kind,title:Yz(K?.title??V?.ref??R.kind,100),text_preview:I.text,score:Number(R.score.toFixed(6)),citation_ids:V?[V.id]:[],provenance:{source:D,record_ref:`${R.kind}:${R.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((R,K)=>K.score-R.score||R.id.localeCompare(K.id)).slice(0,G),Q=new Set(E.flatMap((R)=>R.citation_ids)),q=z.filter((R)=>Q.has(R.id)),g=Array.from(new Set($.warnings)),B=`ctx_${UD("sha256").update([D,j,W,g.join(","),E.map((R)=>R.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,H={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:J.toISOString(),source:D,purpose:j,query:W,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:B,budgets:{max_tokens:X,estimated_tokens:0,max_items:G,items_included:E.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-E.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:N,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:q,evidence:E,duplicate_candidates:[],outline:{title:W?`Knowledge context: ${Yz(W,80)}`:"Knowledge context",bullets:E.length>0?E.slice(0,5).map((R)=>`${R.id}: ${R.title}`):["No matching bounded evidence was found."],evidence_ids:E.slice(0,8).map((R)=>R.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:g,message:`${E.length} bounded evidence item(s), estimated under ${X} token(s)`};return H.budgets.estimated_tokens=wf(H),H.budgets.token_budget_exceeded=H.budgets.estimated_tokens>X,H.message=`${H.evidence.length} bounded evidence item(s), estimated ${H.budgets.estimated_tokens}/${X} token(s)`,H}function Sf(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function ff(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function Tf(_){return{ok:!0,scope:_.scope,workspace_home:_.workspaceHome,sqlite_schema_version:0,local_machine_id:_.localMachineId??null,machines:{total:0,rows:[]},snapshots:{total:0,latest:null},changes:{total:0,by_operation:[]},clocks:{total:0,rows:[]},imports:{total:0,latest:null},conflicts:{total:0,by_status:[],open:0},table_counts:{},message:"0 machine(s), 0 open sync conflict(s)"}}function L3(_){let $=_.now??new Date,U=_.source??"search",J=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=(_.query??_.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),j=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),W=Math.max(500,Math.min(_.maxTokens??6000,1e5)),G=`ctx_${UD("sha256").update(["empty",U,J,D,_.topic??"",_.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:U,purpose:J,query:D,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:G,budgets:{max_tokens:W,estimated_tokens:0,max_items:j,items_included:0,items_available:0,items_truncated:0,token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:0,reminders:["This pack is read-only and performs no durable writes.","No knowledge.db exists for this scope yet."]},citations:[],evidence:[],duplicate_candidates:[],outline:{title:D?`Context for ${D}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${W} token(s)`}}function zz(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function Cf(_,$){let U=x(_);try{let J=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json + updated_at = excluded.updated_at`,[G,"wiki/README.md","Wiki",X.uri,X.hash??null,"active",JSON.stringify({artifact_key:X.key,provenance:xq(X)}),W,W]),fy($,G,"Wiki",X,BR(),W)}}import{createHash as RR}from"crypto";import{cpSync as rq,chmodSync as uq,existsSync as H6,lstatSync as KR,mkdirSync as L5,readdirSync as iq,readFileSync as AW,renameSync as Py,rmSync as B5,writeFileSync as AR}from"fs";import{dirname as dq,join as B4,relative as Cy}from"path";function nq($,_=$){if(!H6($))return[];let U=KR($);if(U.isFile())return[Cy(_,$)||"."];if(!U.isDirectory())return[];return iq($).flatMap((W)=>nq(B4($,W),_)).sort()}function bR($,_){if(_.length===0)return{sha256:null,bytes:0};let U=RR("sha256"),W=0;for(let J of _){let X=B4($,J),G=AW(X),Q=RR("sha256").update(G).digest("hex");W+=G.byteLength,U.update(J),U.update("\x00"),U.update(Q),U.update("\x00")}return{sha256:U.digest("hex"),bytes:W}}function Ty($){if(!H6($))return null;let _=JSON.parse(AW($,"utf8"));return Array.isArray(_.items)?_.items.length:null}function Sy($){if(!H6($))return{exists:!1,integrity_check:null,table_counts:{}};let _=RN($);try{let U=_.query("PRAGMA integrity_check").get(),W=U?Object.values(U)[0]??null:null,J=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),X={};for(let G of J){let Q=`"${G.name.replaceAll('"','""')}"`,Y=_.query(`SELECT COUNT(*) AS n FROM ${Q}`).get();X[G.name]=Y?.n??0}return{exists:!0,integrity_check:W,table_counts:X}}finally{_.close()}}function R_($,_={}){let U=nq($.home),W=bR($.home,U),J=nq($.artifactsDir),X=bR($.artifactsDir,J),G=H6($.knowledgeDbPath);return{path:$.home,exists:H6($.home),file_count:U.length,total_bytes:W.bytes,tree_sha256:W.sha256,json_items:Ty($.jsonStorePath),sqlite:_.includeSqlite===!1?{exists:G,integrity_check:null,table_counts:{}}:Sy($.knowledgeDbPath),artifacts:{exists:H6($.artifactsDir),file_count:J.length,total_bytes:X.bytes,tree_sha256:X.sha256},files:U}}function Zy($,_){if(!_.exists)return!0;if(_.files.filter((W)=>W!=="config.json").length>0)return!1;if(!_.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(AW($.configPath,"utf8")))===JSON.stringify(MU())}catch{return!1}}function cq($,_){return $.file_count===_.file_count&&$.total_bytes===_.total_bytes&&$.tree_sha256===_.tree_sha256&&$.json_items===_.json_items&&$.sqlite.integrity_check===_.sqlite.integrity_check&&JSON.stringify($.sqlite.table_counts)===JSON.stringify(_.sqlite.table_counts)&&$.artifacts.file_count===_.artifacts.file_count&&$.artifacts.total_bytes===_.artifacts.total_bytes&&$.artifacts.tree_sha256===_.artifacts.tree_sha256}function N5($){return $.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function lq($){if(Array.isArray($))return`[${$.map(lq).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${lq(U)}`).join(",")}}`;return JSON.stringify($)}function FR($){return lq($)}function mq($){return typeof $.short_id==="string"&&$.short_id.trim().length>0?$.short_id:null}function O1($){if(!H6($))return{items:[]};let _=JSON.parse(AW($,"utf8"));if(!_||!Array.isArray(_.items))throw Error(`Invalid knowledge JSON store shape at ${$}`);return{items:_.items}}function ER($,_){let U=new Map($.items.map((O)=>[O.id,O])),W=new Map;for(let O of $.items){let B=W.get(O.id);if(B&&B.item.id!==O.id);W.set(O.id,{item:O,keyKind:"id",source:"current"});let V=mq(O);if(V&&!W.has(V))W.set(V,{item:O,keyKind:"short_id",source:"current"})}let J=[],X=0,G=0,Q=0,Y=[];for(let O of _.items){let B=U.get(O.id);if(B){if(FR(B)===FR(O))X+=1;else G+=1,J.push({type:"id_conflict",id:O.id,legacy_title:O.title,current_title:B.title});continue}let V=[{key:O.id,keyKind:"id"},...mq(O)?[{key:mq(O),keyKind:"short_id"}]:[]],L=!1;for(let{key:N,keyKind:H}of V){let R=W.get(N);if(!R)continue;if(H==="id"&&R.keyKind==="id")G+=1,J.push({type:"id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});else Q+=1,J.push({type:"short_id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});L=!0}if(L)continue;Y.push(O);for(let{key:N,keyKind:H}of V)W.set(N,{item:O,keyKind:H,source:"legacy"})}let j={items:[...$.items,...Y]};return{stats:{current_items:$.items.length,legacy_items:_.items.length,duplicate_ids_identical:X,duplicate_ids_conflicting:G,short_id_conflicts:Q,stranded_items:Y.length,merged_items:J.length===0?Y.length:0,expected_total_items:$.items.length+Y.length,final_items:null},conflicts:J,mergedStore:j}}function vy($,_){let U=[...new Set($)].sort(),W=(J)=>{if(J>=U.length)return _();return I6(U[J],()=>W(J+1),{createParent:!0})};return W(0)}function MR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.legacy),J=R_($.current),X={legacy_exists:W.exists,legacy_store_exists:H6($.legacy.jsonStorePath),current_store_exists:H6($.current.jsonStorePath),approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},G=[];if(!W.exists||!X.legacy_store_exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:W,current_before:J,backup_after:null,current_after:J,merge:{current_items:O1($.current.jsonStorePath).items.length,legacy_items:0,duplicate_ids_identical:0,duplicate_ids_conflicting:0,short_id_conflicts:0,stranded_items:0,merged_items:0,expected_total_items:O1($.current.jsonStorePath).items.length,final_items:J.json_items},conflicts:[],checks:{...X,no_conflicts:!0,final_count_matches_expected:!0},warnings:G,message:`No legacy knowledge JSON store found at ${$.legacy.jsonStorePath}`};let Q=O1($.current.jsonStorePath),Y=O1($.legacy.jsonStorePath),j=ER(Q,Y);if(X.no_conflicts=j.conflicts.length===0,j.conflicts.length>0)G.push("merge_conflicts_detected");if(!X.approval_present)G.push("write_approval_required");if(U||!X.approval_present||j.conflicts.length>0)return{ok:j.conflicts.length===0,dry_run:!0,approval_required:!X.approval_present,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.merge-backup-${N5(_)}`,legacy_before:W,current_before:J,backup_after:null,current_after:null,merge:j.stats,conflicts:j.conflicts,checks:X,warnings:G,message:j.conflicts.length===0?`Dry run: would merge ${j.stats.stranded_items} legacy item(s) into ${$.current.jsonStorePath}`:`Refusing legacy merge with ${j.conflicts.length} conflict(s)`};return vy([$.current.jsonStorePath,$.legacy.jsonStorePath],()=>{let O=O1($.current.jsonStorePath),B=O1($.legacy.jsonStorePath),V=ER(O,B);if(X.no_conflicts=V.conflicts.length===0,V.conflicts.length>0)return{ok:!1,dry_run:!0,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:null,merge:V.stats,conflicts:V.conflicts,checks:X,warnings:[...G,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${V.conflicts.length} conflict(s)`};if(V.stats.stranded_items===0)return V.stats.final_items=O.items.length,X.final_count_matches_expected=O.items.length===V.stats.expected_total_items,{ok:X.no_conflicts&&X.final_count_matches_expected,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:R_($.current),merge:V.stats,conflicts:[],checks:X,warnings:G,message:`Legacy merge already up to date for ${$.current.jsonStorePath}`};let L=`${$.legacy.home}.merge-backup-${N5(_)}`;L5(dq(L),{recursive:!0}),rq($.legacy.home,L,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let N=T_(L),H=R_(N);if(X.legacy_backup_written=cq(R_($.legacy),H),!X.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${L}`);l6($.current.jsonStorePath,V.mergedStore);let R=O1($.current.jsonStorePath);V.stats.final_items=R.items.length,X.final_count_matches_expected=R.items.length===V.stats.expected_total_items;let b=R_($.current),A=X.legacy_backup_written&&X.no_conflicts&&X.final_count_matches_expected;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:L,legacy_before:W,current_before:J,backup_after:H,current_after:b,merge:V.stats,conflicts:[],checks:X,warnings:G,message:A?`Merged ${V.stats.merged_items} legacy item(s) into ${$.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${$.current.jsonStorePath}`}})}function yy($){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,$)}function pq($){return $ instanceof Error&&/\b(EBUSY|EPERM)\b/.test($.message)}function hy($){let _;for(let U=0;U<8;U+=1)try{B5($,{recursive:!0,force:!1});return}catch(W){if(_=W,!pq(W))throw W;yy(50*(U+1))}throw _}function gR($){if(!H6($))return;let _=KR($);if(uq($,_.isDirectory()?448:384),!_.isDirectory())return;for(let U of iq($))gR(B4($,U))}function xy($){return $==="TOMBSTONE.md"||$==="migration.json"||$==="knowledge.db"||$==="knowledge.db-shm"||$==="knowledge.db-wal"||$==="knowledge.db-journal"}function my($){for(let _ of iq($)){if(_==="TOMBSTONE.md"||_==="migration.json")continue;try{B5(B4($,_),{recursive:!0,force:!1})}catch(U){if(!pq(U)||!_.startsWith("knowledge.db"))throw U}}}function uy($,_){try{Py($,_);return}catch(U){rq($,_,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{hy($)}catch(W){if(pq(W)){my($);return}throw B5(_,{recursive:!0,force:!0}),W}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function dy($,_,U){if(!_.exists)return!1;if(!_.files.includes("TOMBSTONE.md")||!_.files.includes("migration.json"))return!1;if(_.files.some((W)=>!xy(W)))return!1;try{let W=JSON.parse(AW(B4($.home,"migration.json"),"utf8"));return W.new_path===U&&typeof W.backup_path==="string"}catch{return!1}}function IR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.current),J=Zy($.current,W),X=$.approveWrite===!0&&Boolean($.approvedBy)&&(!W.exists||J),G=R_($.legacy,{includeSqlite:!X}),Q={legacy_exists:G.exists,current_absent_or_default_scaffold:!W.exists||J,approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},Y=[];if(!G.exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:null,legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:`No legacy knowledge workspace found at ${$.legacy.home}`};if(Q.legacy_is_tombstone=dy($.legacy,G,$.current.home),Q.legacy_is_tombstone)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:W,checks:{...Q,tombstone_written:!0},warnings:Y,message:`Legacy knowledge workspace already migrated to ${$.current.home}`};if(!Q.current_absent_or_default_scaffold)Y.push("current_workspace_contains_data");if(!Q.approval_present)Y.push("write_approval_required");if(U||!Q.current_absent_or_default_scaffold||!Q.approval_present)return{ok:Q.current_absent_or_default_scaffold,dry_run:!0,approval_required:!0,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.backup-${N5(_)}`,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:Q.current_absent_or_default_scaffold?`Dry run: would migrate ${$.legacy.home} to ${$.current.home}`:`Cannot migrate while ${$.current.home} contains data`};let j=`${$.legacy.home}.backup-${N5(_)}`;L5(dq($.current.home),{recursive:!0}),L5(dq(j),{recursive:!0}),rq($.legacy.home,j,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),gR(j);let O=T_(j),B=R_(O,{includeSqlite:!1});if(Q.backup_matches_legacy=cq(G,B),!Q.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${j}`);if(W.exists&&J)B5($.current.home,{recursive:!0,force:!0});uy($.legacy.home,$.current.home);let V=R_($.current,{includeSqlite:!1});Q.migrated_matches_backup=cq(B,V);let L=R_(O),N=R_($.current),H={...L,path:$.legacy.home};L5($.legacy.home,{recursive:!0});let R=B4($.legacy.home,"TOMBSTONE.md");AR(R,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${_.toISOString()}`,`Approved by: ${$.approvedBy}`,`New path: ${$.current.home}`,`Backup path: ${j}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` +`),{mode:384}),uq(R,384);let b=B4($.legacy.home,"migration.json");AR(b,`${JSON.stringify({migrated_at:_.toISOString(),approved_by:$.approvedBy,new_path:$.current.home,backup_path:j,legacy_before:H,backup_after:L,current_after:N},null,2)} +`,{mode:384}),uq(b,384),Q.tombstone_written=H6(R);let A=Q.backup_matches_legacy&&Q.migrated_matches_backup&&Q.tombstone_written;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:j,tombstone_path:R,legacy_before:H,current_before:W,backup_after:L,current_after:N,checks:Q,warnings:Y,message:A?`Migrated legacy knowledge workspace to ${$.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${$.current.home}`}}function ry($){let _=dR($);if(x$(wR(_,"knowledge.db"))||x$(wR(_,"config.json")))return g1(_);return g1(T_(h5(_)).home)}function oq($){return`${ly()}:${FW("sha256").update($.home).digest("hex").slice(0,12)}`}function sq($){return`'${$.replace(/'/g,"'\\''")}'`}function iy($){return["knowledge",...$].map(sq).join(" ")}function kR($,_){return`cd ${sq($)} && knowledge ${_.map(sq).join(" ")}`}function nR($){return!$||$==="local"||$==="localhost"}function bW($,_){return{source:$.source,adapter:$.adapter,project_root:_,project_root_source:$.project_root_source,workspace_root:$.workspace_root,workspace_root_source:$.workspace_root_source,open_files_root:$.open_files_root,open_files_root_source:$.open_files_root_source,trust_status:$.trust_status,auth_status:$.auth_status,current:$.current,primary:$.primary,diagnostics:$.diagnostics,repair_hints:$.repair_hints,evidence:$.evidence,cacheability:$.cacheability,warnings:$.warnings}}function tq($){return{source:$.source,adapter:$.adapter,target:$.target,route:$.route,target_kind:$.targetKind,confidence:$.confidence,evidence:$.evidence,cacheability:$.cacheability}}function py($){try{let _=JSON.parse($);return Array.isArray(_)?_.filter((U)=>typeof U==="string"):[]}catch{return[]}}function EW($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function G_($){return typeof $==="string"&&$.length>0?$:null}function oy($){return typeof $==="number"&&Number.isFinite($)?$:null}function H5($){return typeof $==="boolean"?$:null}function ty($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function cR($,_,U){let W=EW($),J=G_(W.observed_at)??G_(_[`${U}_observed_at`]),X=G_(W.source_authority)??G_(_[`${U}_source_authority`]);if(!J||!X)return null;return{observed_at:J,verified_at:G_(W.verified_at),expires_at:G_(W.expires_at)??G_(_[`${U}_expires_at`]),ttl_ms:oy(W.ttl_ms),source_authority:X,confidence:G_(W.confidence)??(U==="route"?G_(_.route_confidence):null),cacheable:H5(W.cacheable)??H5(_[`${U}_cacheable`])??!1,stale:H5(W.stale)??H5(_[`${U}_stale`])??!1,reasons:ty(W.reasons)}}function ay($,_){return $.machine_id===_||$.hostname===_||$.ssh_target===_||$.tailscale_dns===_||py($.tailscale_ips_json).includes(_)}function fR($,_){return qQ($).find((U)=>ay(U,_))??null}function lR($){return EW(UU($.metadata_json).resolver_evidence)}function KW($){return EW(UU($.capabilities_json).resolver)}function rR($){let _=KW($),U=G_(_.route_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;if($.tailscale_dns&&$.ssh_target===$.tailscale_dns)return"tailscale";return $.ssh_target?"ssh":"unknown"}function sy($){let _=KW($),U=G_(_.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return rR($)}function ey($){return G_(KW($).route_confidence)??"medium"}function PR($,_,U){let W=lR($),J=EW(W.route),X=KW($);return{target:$.ssh_target??$.tailscale_dns??$.hostname??$.machine_id,route:rR($),targetKind:sy($),confidence:ey($),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,route:J},cacheability:cR(J.cacheability,X,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function CR($,_,U){if(!$.workspace_home)return null;let W=lR($),J=EW(W.workspace),X=KW($);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:_,machine_id:$.machine_id,project_id:G_(J.project_id)??U.project_id,repo_name:G_(J.repo_name)??U.repo_name,project_root:$.workspace_home,project_root_source:G_(X.project_root_source)??"registry",workspace_root:G_(J.workspace_root),workspace_root_source:G_(X.workspace_root_source)??"registry",open_files_root:G_(J.open_files_root),open_files_root_source:G_(X.open_files_root_source)??"registry",trust_status:G_(X.trust_status)??"unknown",auth_status:G_(X.auth_status)??"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,workspace:J},cacheability:cR(J.cacheability,X,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function TR($){if(!$)return null;let _=$.diagnostics.filter((W)=>W.severity!=="ok"),U=$.repair_hints[0];if(!_.length&&!$.warnings.length&&!U)return null;return[_.length?`workspace diagnostics: ${_.map((W)=>`${W.id}=${W.status}`).join(", ")}`:null,$.warnings.length?`warnings: ${$.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function V5($){return{id:$.id,reason:$.reason,command:["knowledge",...$.args],shell_command:iy($.args)}}function R5($,_){let U=d($);try{return Number(U.query(_).get()?.count??0)}finally{U.close()}}function $h($,_){let U=R5($,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),W=R5($,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),J=R5($,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),X=R5($,["SELECT COUNT(*) AS count FROM sources","WHERE metadata_json LIKE '%raw_bytes%'","OR metadata_json LIKE '%raw_content%'","OR metadata_json LIKE '%content_base64%'","OR metadata_json LIKE '%source_bytes%'"].join(" ")),G=X===0;return{ok:G,source_of_truth:"open-files",configured_root:_?.open_files_root??null,configured_root_source:_?.open_files_root_source??null,source_refs:{open_files:U,metadata_mentions:W},extracted_text_artifacts:J,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:X,message:G?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${X} raw source payload metadata sentinel(s) found`}}var _h=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function eq($,_=0){if(_>8)return!1;if(!$||typeof $!=="object")return!1;if(Array.isArray($))return $.some((U)=>eq(U,_+1));for(let[U,W]of Object.entries($)){if(_h.has(U.toLowerCase()))return!0;if(eq(W,_+1))return!0}return!1}function UU($){try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function SR($,_=20,U=200){if(!Number.isFinite($)||$<=0)return _;return Math.min(Math.floor($),U)}function Uh($,_=220){let U=$??"";return U.length>_?`${U.slice(0,_)}...`:U}function s_($,_=["metadata_json"]){return $.map((U)=>{let W={...U};for(let J of _){let X=W[J];if(typeof X==="string"){let G=J.endsWith("_json")?J.slice(0,-5):J;W[G]=UU(X),delete W[J]}}return W})}function d_($,_,U=[]){return $.query(_).all(...U)}function Jh($){if(!x$($))return{exists:!1,read_error:null,items:[]};try{let _=JSON.parse(cy($,"utf8"));if(!_||!Array.isArray(_.items))return{exists:!0,read_error:"invalid_store_shape",items:[]};return{exists:!0,read_error:null,items:_.items}}catch(_){return{exists:!0,read_error:_ instanceof Error?_.message:String(_),items:[]}}}function ZR($){return{id:$.id,short_id:$.short_id??null,title:$.title,content_preview:Uh($.content),url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:$.archived===!0,created_at:$.created_at,updated_at:$.updated_at}}function vR(){return{schema_version:0,sources:0,source_revisions:0,chunks:0,wiki_pages:0,citations:0,indexes:0,runs:0,run_events:0,redaction_findings:0,audit_events:0,approval_gates:0,storage_objects:0,embeddings:0,vector_entries:0,reindex_queue:0,knowledge_machines:0,sync_snapshots:0,sync_changes:0,sync_conflicts:0,sync_table_clocks:0,sync_imports:0}}function iR($,_,U=!1){return{query:$,limit:_,offset:0,mode:{keyword:!0,catalog:!0,semantic:U},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:0,catalog_results:0,semantic_results:0,merged_results:0},warnings:["knowledge_db_missing"],results:[]}}function Wh($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Xh($,_,U=!1){let W=iR($,_,U);return{query:$,normalized_query:Wh($),created_at:new Date().toISOString(),mode:W.mode,warnings:W.warnings,search_counts:W.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function aq($,_,U){let W=U??_.jsonStorePath;if(x$(W))return W;if($==="global"){let J=KU();if(x$(J))return J}return W}function Gh($){let _=JSON.stringify($);return Math.max(1,Math.ceil(_.length/4))}function $O($,_){let U=($??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function yR($,_,U){let W=w_($O($,U),_);return{text:W.text,redactions:W.findings.length}}function hR($,_,U){let W=$.now??new Date,J=$.source??"search",X=$.purpose??(J==="loops"||J==="runs"?"proposal":"agent_context"),G=($.query??$.topic??_.query).normalize("NFKC").trim().replace(/\s+/g," "),Q=Math.max(1,Math.min($.maxItems??$.limit??8,50)),Y=Math.max(500,Math.min($.maxTokens??6000,1e5)),j=0,O=_.citations.slice(0,Math.max(Q*2,Q)).map((A,M)=>{let E=yR(A.quote,U,M<3?220:140);j+=E.redactions;let g=A.source_ref??A.source_uri??A.artifact_path??A.artifact_uri??A.id;return{id:`cite_${FW("sha256").update(`${A.id}\x00${g}`).digest("hex").slice(0,12)}`,kind:A.artifact_uri||A.artifact_path?"artifact":"source",ref:g,source_ref:A.source_ref,source_uri:A.source_uri,artifact_uri:A.artifact_uri,artifact_path:A.artifact_path,run_id:null,run_event_id:null,revision:A.revision,hash:A.hash,chunk_id:A.chunk_id,offsets:{start:A.start_offset,end:A.end_offset},quote_preview:E.text}}),B=new Map(_.citations.map((A,M)=>[A.id,O[M]])),V=_.excerpts.slice(0,Math.max(Q*2,Q)).map((A)=>{let M=_.results.find((Z)=>Z.id===A.result_id),E=A.citation_id?B.get(A.citation_id):void 0,g=yR(A.text,U,520);return j+=g.redactions,{id:`ev_${FW("sha256").update(`${A.kind}\x00${A.result_id}\x00${A.citation_id??""}`).digest("hex").slice(0,14)}`,kind:A.kind,title:$O(M?.title??E?.ref??A.kind,100),text_preview:g.text,score:Number(A.score.toFixed(6)),citation_ids:E?[E.id]:[],provenance:{source:J,record_ref:`${A.kind}:${A.result_id}`,created_at:_.created_at,updated_at:null,metadata_keys:[]}}}).sort((A,M)=>M.score-A.score||A.id.localeCompare(M.id)).slice(0,Q),L=new Set(V.flatMap((A)=>A.citation_ids)),N=O.filter((A)=>L.has(A.id)),H=Array.from(new Set(_.warnings)),R=`ctx_${FW("sha256").update([J,X,G,H.join(","),V.map((A)=>A.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,b={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:W.toISOString(),source:J,purpose:X,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:R,budgets:{max_tokens:Y,estimated_tokens:0,max_items:Q,items_included:V.length,items_available:_.excerpts.length,items_truncated:Math.max(0,_.excerpts.length-V.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:j,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:N,evidence:V,duplicate_candidates:[],outline:{title:G?`Knowledge context: ${$O(G,80)}`:"Knowledge context",bullets:V.length>0?V.slice(0,5).map((A)=>`${A.id}: ${A.title}`):["No matching bounded evidence was found."],evidence_ids:V.slice(0,8).map((A)=>A.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:H,message:`${V.length} bounded evidence item(s), estimated under ${Y} token(s)`};return b.budgets.estimated_tokens=Gh(b),b.budgets.token_budget_exceeded=b.budgets.estimated_tokens>Y,b.message=`${b.evidence.length} bounded evidence item(s), estimated ${b.budgets.estimated_tokens}/${Y} token(s)`,b}function Qh(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Yh(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function jh($){return{ok:!0,scope:$.scope,workspace_home:$.workspaceHome,sqlite_schema_version:0,local_machine_id:$.localMachineId??null,machines:{total:0,rows:[]},snapshots:{total:0,latest:null},changes:{total:0,by_operation:[]},clocks:{total:0,rows:[]},imports:{total:0,latest:null},conflicts:{total:0,by_status:[],open:0},table_counts:{},message:"0 machine(s), 0 open sync conflict(s)"}}function xR($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=($.query??$.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),X=Math.max(1,Math.min($.maxItems??$.limit??8,50)),G=Math.max(500,Math.min($.maxTokens??6000,1e5)),Q=`ctx_${FW("sha256").update(["empty",U,W,J,$.topic??"",$.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:J,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:Q,budgets:{max_tokens:G,estimated_tokens:0,max_items:X,items_included:0,items_available:0,items_truncated:0,token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:0,reminders:["This pack is read-only and performs no durable writes.","No knowledge.db exists for this scope yet."]},citations:[],evidence:[],duplicate_candidates:[],outline:{title:J?`Context for ${J}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${G} token(s)`}}function _O($){let _=$.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return _?`${_}/`:null}function Dh($,_){let U=d($);try{let W=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),D=new Map,j=0,W=0,G=0,X=0,N=0,z=0,L=0,E=0,Q=0,q=0,g=0,B=0,H=new Map,R=[],K=[],V=[],I=[],T=$.artifact_store.uri_prefix,P=zz($);for(let P_ of J){if(D.set(P_.kind,(D.get(P_.kind)??0)+1),P_.hash?.startsWith("sha256:"))j+=1;if(typeof P_.size_bytes==="number"&&P_.size_bytes>=0)W+=1,G+=P_.size_bytes;if(P_.artifact_uri.startsWith(T))X+=1;else if(R.length<5)R.push(P_.artifact_uri);let n_=c1(P_.metadata_json);if(Oz(n_))L+=1;let T0=typeof n_.key==="string"?n_.key:null;if(!T0)N+=1;else if(P&&T0.startsWith(P)){if(z+=1,K.length<5)K.push(T0)}let rz=typeof n_.artifact_modified_at==="string"?n_.artifact_modified_at:null;if(rz)if(Number.isNaN(Date.parse(rz))){if(Q+=1,V.length<5)V.push(P_.artifact_uri)}else E+=1;let zU=n_.provenance&&typeof n_.provenance==="object"&&!Array.isArray(n_.provenance)?n_.provenance:null;if(zU){q+=1;let GG=typeof zU.artifact_key==="string"?zU.artifact_key:null,uz=typeof zU.generated_from==="string"?zU.generated_from:"unknown";if(H.set(uz,(H.get(uz)??0)+1),GG){if(g+=1,T0&&GG!==T0){if(B+=1,I.length<5)I.push(`${P_.artifact_uri}:provenance.artifact_key=${GG}:key=${T0}`)}}else if(I.length<5)I.push(`${P_.artifact_uri}:missing_provenance_artifact_key`)}else if(I.length<5)I.push(`${P_.artifact_uri}:missing_provenance`)}let n=J.length-j,f_=J.length-W,B_=J.length-E-Q,T_=J.length-q,u_=q-g,J_=J.length-X,i_=[n>0?`artifact_manifest_missing_hash:${n}`:null,f_>0?`artifact_manifest_missing_size:${f_}`:null,N>0?`artifact_manifest_missing_key:${N}`:null,J_>0?`artifact_manifest_uri_prefix_mismatch:${J_}`:null,z>0?`artifact_manifest_s3_key_contains_storage_prefix:${z}`:null,Q>0?`artifact_manifest_invalid_modified_at:${Q}`:null,T_>0?`artifact_manifest_missing_provenance:${T_}`:null,u_>0?`artifact_manifest_missing_provenance_artifact_key:${u_}`:null,B>0?`artifact_manifest_provenance_key_mismatch:${B}`:null,L>0?`artifact_manifest_raw_payload_sentinels:${L}`:null].filter((P_)=>Boolean(P_)),Z_=i_.length===0;return{ok:Z_,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:T,s3:$.artifact_store.s3,artifacts:{total:J.length,by_kind:[...D.entries()].map(([P_,n_])=>({kind:P_,count:n_})).sort((P_,n_)=>P_.kind.localeCompare(n_.kind)),with_hash:j,missing_hash:n,with_size:W,missing_size:f_,total_size_bytes:G},modified_time:{with_modified_at:E,missing_modified_at:B_,invalid_modified_at:Q,examples:V},provenance:{with_provenance:q,missing_provenance:T_,with_artifact_key:g,missing_artifact_key:u_,artifact_key_mismatches:B,generated_from:[...H.entries()].map(([P_,n_])=>({value:P_,count:n_})).sort((P_,n_)=>P_.value.localeCompare(n_.value)),examples:I},uri_prefix:{matching:X,mismatched:J_,examples:R},keys:{with_key:J.length-N,missing_key:N,prefixed_with_storage_prefix:z,prefixed_examples:K},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:z===0&&N===0,tracks_modified_time:E>0&&Q===0,preserves_provenance:T_===0&&u_===0&&B===0},raw_payload_sentinel_hits:L,warnings:i_,message:Z_?`${J.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${i_.join(", ")}`}}finally{U.close()}}function Zf(_,$){let U=zz($);if(!U)return[];let J=x(_);try{let D=J.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY artifact_uri ASC`).all(),J=new Map,X=0,G=0,Q=0,Y=0,j=0,O=0,B=0,V=0,L=0,N=0,H=0,R=0,b=new Map,A=[],M=[],E=[],g=[],Z=_.artifact_store.uri_prefix,k=_O(_);for(let d$ of W){if(J.set(d$.kind,(J.get(d$.kind)??0)+1),d$.hash?.startsWith("sha256:"))X+=1;if(typeof d$.size_bytes==="number"&&d$.size_bytes>=0)G+=1,Q+=d$.size_bytes;if(d$.artifact_uri.startsWith(Z))Y+=1;else if(A.length<5)A.push(d$.artifact_uri);let W_=UU(d$.metadata_json);if(eq(W_))B+=1;let M1=typeof W_.key==="string"?W_.key:null;if(!M1)j+=1;else if(k&&M1.startsWith(k)){if(O+=1,M.length<5)M.push(M1)}let kO=typeof W_.artifact_modified_at==="string"?W_.artifact_modified_at:null;if(kO)if(Number.isNaN(Date.parse(kO))){if(L+=1,E.length<5)E.push(d$.artifact_uri)}else V+=1;let EU=W_.provenance&&typeof W_.provenance==="object"&&!Array.isArray(W_.provenance)?W_.provenance:null;if(EU){N+=1;let S5=typeof EU.artifact_key==="string"?EU.artifact_key:null,fO=typeof EU.generated_from==="string"?EU.generated_from:"unknown";if(b.set(fO,(b.get(fO)??0)+1),S5){if(H+=1,M1&&S5!==M1){if(R+=1,g.length<5)g.push(`${d$.artifact_uri}:provenance.artifact_key=${S5}:key=${M1}`)}}else if(g.length<5)g.push(`${d$.artifact_uri}:missing_provenance_artifact_key`)}else if(g.length<5)g.push(`${d$.artifact_uri}:missing_provenance`)}let r=W.length-X,i$=W.length-G,P$=W.length-V-L,p$=W.length-N,J_=N-H,O$=W.length-Y,Y_=[r>0?`artifact_manifest_missing_hash:${r}`:null,i$>0?`artifact_manifest_missing_size:${i$}`:null,j>0?`artifact_manifest_missing_key:${j}`:null,O$>0?`artifact_manifest_uri_prefix_mismatch:${O$}`:null,O>0?`artifact_manifest_s3_key_contains_storage_prefix:${O}`:null,L>0?`artifact_manifest_invalid_modified_at:${L}`:null,p$>0?`artifact_manifest_missing_provenance:${p$}`:null,J_>0?`artifact_manifest_missing_provenance_artifact_key:${J_}`:null,R>0?`artifact_manifest_provenance_key_mismatch:${R}`:null,B>0?`artifact_manifest_raw_payload_sentinels:${B}`:null].filter((d$)=>Boolean(d$)),t$=Y_.length===0;return{ok:t$,read_only:!0,storage_type:_.storage_type,artifact_uri_prefix:Z,s3:_.artifact_store.s3,artifacts:{total:W.length,by_kind:[...J.entries()].map(([d$,W_])=>({kind:d$,count:W_})).sort((d$,W_)=>d$.kind.localeCompare(W_.kind)),with_hash:X,missing_hash:r,with_size:G,missing_size:i$,total_size_bytes:Q},modified_time:{with_modified_at:V,missing_modified_at:P$,invalid_modified_at:L,examples:E},provenance:{with_provenance:N,missing_provenance:p$,with_artifact_key:H,missing_artifact_key:J_,artifact_key_mismatches:R,generated_from:[...b.entries()].map(([d$,W_])=>({value:d$,count:W_})).sort((d$,W_)=>d$.value.localeCompare(W_.value)),examples:g},uri_prefix:{matching:Y,mismatched:O$,examples:A},keys:{with_key:W.length-j,missing_key:j,prefixed_with_storage_prefix:O,prefixed_examples:M},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:O===0&&j===0,tracks_modified_time:V>0&&L===0,preserves_provenance:p$===0&&J_===0&&R===0},raw_payload_sentinel_hits:B,warnings:Y_,message:t$?`${W.length} generated artifact manifest row(s) ready for ${_.storage_type} sync`:`Generated artifact manifest needs attention: ${Y_.join(", ")}`}}finally{U.close()}}function zh($,_){let U=_O(_);if(!U)return[];let W=d($);try{let J=W.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),j=[];for(let W of D){let G=c1(W.metadata_json),X=typeof G.key==="string"?G.key:null;if(!X?.startsWith(U))continue;let N=X.slice(U.length);if(!N)continue;j.push({id:W.id,artifact_uri:W.artifact_uri,kind:W.kind,current_key:X,repaired_key:j6(N),hash:W.hash,size_bytes:W.size_bytes})}return j}finally{J.close()}}function vf(_){let $=["--scope",_.scope,"--json"],U=_.tables?.length?["--tables",_.tables.join(",")]:[],J=[cW({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!R3(_.machine))J.push(cW({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",_.machine,..._.peerWorkspace?["--peer-workspace",_.peerWorkspace]:[],...U,...$]}));else if(_.peerWorkspace)J.push(cW({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",_.peerWorkspace,...U,...$]}));for(let D of _.resolvedWorkspace?.repair_hints??[])J.push({id:D.id,reason:D.reason,command:D.command,shell_command:D.shell_command});if(_.openConflicts>0)J.push(cW({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return J}function yf(){let _=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",$=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!$)return{command:_,argsPrefix:[]};let U;try{U=JSON.parse($)}catch(J){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${J instanceof Error?J.message:String(J)}`)}if(!Array.isArray(U)||!U.every((J)=>typeof J==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:_,argsPrefix:U}}function g3(_,$,U,J){let D=yf(),j=Qf(D.command,[...D.argsPrefix,J.target,$],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((j.status??1)!==0){let W=J.source==="open-machines"?` via ${J.route??"resolved"}:${J.target}`:"";throw Error(`ssh ${_}${W} failed: ${(j.stderr||j.stdout||String(j.status)).trim()}`)}return j.stdout||""}function E3(_,$,U){try{return JSON.parse(U)}catch(J){let D=U.trim().slice(0,240);throw Error(`Remote knowledge ${$} on ${_} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${D||String(J)}`)}}function hf(_,$){if(typeof $!=="object"||$===null||!("format"in $)||$.format!=="knowledge-sync-bundle")throw Error(`Remote knowledge sync export on ${_} did not return a knowledge sync bundle. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:J}=$;if(typeof U!=="number"||typeof J!=="number"||U<$4||J>_4)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function xf(_,$){if(typeof $!=="object"||$===null||!("ok"in $)||!("target"in $)||!("tables"in $)||!("artifacts"in $)||!("conflicts_created"in $))throw Error(`Remote knowledge sync import on ${_} did not return a sync import result. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:J}=$;if(typeof U!=="number"||typeof J!=="number"||U<$4||J>_4)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function rf(_){if(!_)return;let $=_.trim().toLowerCase();if($==="local"||$==="offline")return"local";if($==="hosted"||$==="remote"||$==="knowledge.md")return"hosted";throw Error("Invalid setup mode. Use hosted or local.")}class K3{options;ensuredWorkspace;cachedConfig;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??VD(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=C0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return fD({storePath:_.jsonStorePath,storePathOverridden:!1})}async listItems(){return this.itemStore().listAll()}async getItem(_){return this.itemStore().get(_)}async createItem(_){return this.itemStore().create(_)}async updateItem(_,$){return this.itemStore().update(_,$)}async deleteItem(_){return this.itemStore().delete(_)}async deleteItems(_){return this.itemStore().deleteMany(_)}async resolveInventory(_={}){if(this.isApiMode())return this.cloudInventory(_);return this.inventory(_)}config(_={}){let $=_.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||_.ensure||I_($.configPath))this.cachedConfig=I_($.configPath)?QG($.configPath):qU();return this.cachedConfig}safetyPolicy(){return E7(this.config(),this.workspace)}artifactStore(){return dG(this.config(),this.ensureWorkspace())}storageContract(){return ZD(this.config(),this.workspace,this.scope)}validateStorage(){return lG(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,U=zG(this.options.scope,this.options.cwd),J=D3({scope:this.scope,current:$,legacy:U,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!J.dry_run&&J.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return J}mergeLegacyPath(_={}){let $=this.workspace,U=zG(this.options.scope,this.options.cwd),J=$3({scope:this.scope,current:$,legacy:U,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!J.dry_run&&J.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return J}setup(_={}){let $=this.ensureWorkspace(),U=this.config({ensure:!0}),J=rf(_.mode)??U.mode,D=_.apiUrl?b6(_.apiUrl):U.hosted?.api_url?b6(U.hosted.api_url):null,j={...U,mode:J,hosted:{...U.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?iz():U.storage};lz($.configPath,j),this.cachedConfig=j;let W=ZD(j,$,this.scope);return{ok:!0,mode:J,api_url:j.hosted?.api_url??null,storage_type:j.storage.type,artifact_uri_prefix:W.artifact_store.uri_prefix,canonical_example:W.canonical_example,config_path:$.configPath,next:J==="hosted"?["knowledge auth login --api-key ","knowledge storage status --json"]:["knowledge search ","knowledge "],message:`Set knowledge mode to ${J}`}}authStatus(_=process.env){return j7(this.config(),_)}saveAuth(_,$=process.env){let U=_.apiUrl??this.config().hosted?.api_url;return D7({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:U},$)}clearAuth(_=process.env){return J7(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:I_(_.home),config_path:_.configPath,config_exists:I_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:I_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:I_(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,runs_dir:_.runsDir,schemas_dir:_.schemasDir,wiki_dir:_.wikiDir,config:this.config(),message:_.home}}initDb(){return o(this.ensureWorkspace().knowledgeDbPath)}dbStats(){TD("reading knowledge.db stats");let _=this.workspace;if(!I_(_.knowledgeDbPath))return z3();return uG(_.knowledgeDbPath)}itemOnlyInventory(_){let $=this.workspace,{items:U,limit:J,includeArchived:D,storePath:j,storeExists:W,storeReadError:G}=_,X=U.filter((E)=>E.archived!==!0),N=D?U:X,z=z3(),L={legacy_items:U.length,active_items:X.length,archived_items:U.length-X.length,schema_version:z.schema_version,sources:z.sources,source_revisions:z.source_revisions,chunks:z.chunks,wiki_pages:z.wiki_pages,citations:z.citations,indexes:z.indexes,runs:z.runs,run_events:z.run_events,storage_objects:z.storage_objects,embeddings:z.embeddings,vector_entries:z.vector_entries,reindex_queue:z.reindex_queue,redaction_findings:z.redaction_findings,audit_events:z.audit_events,approval_gates:z.approval_gates,knowledge_machines:z.knowledge_machines,sync_snapshots:z.sync_snapshots,sync_changes:z.sync_changes,sync_conflicts:z.sync_conflicts,sync_table_clocks:z.sync_table_clocks,sync_imports:z.sync_imports};return{ok:!0,scope:this.scope,home:$.home,limit:J,paths:{json_store_path:$.jsonStorePath,json_store_exists:I_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:I_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:L,legacy_store:{path:j,exists:W,read_error:G,total_items:U.length,active_items:X.length,archived_items:U.length-X.length,items_returned:Math.min(N.length,J)},items:N.slice(0,J).map(Y3),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=O3(_.limit),U=await this.fetchCloudItems(),J=PU();return this.itemOnlyInventory({items:U,limit:$,includeArchived:_.includeArchived??!1,storePath:J?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,U=O3(_.limit),J=_.storePath??$.jsonStorePath,D=Mf(J),j=D.items.filter((z)=>z.archived!==!0),W=_.includeArchived?D.items:j;if(!I_($.knowledgeDbPath))return this.itemOnlyInventory({items:D.items,limit:U,includeArchived:_.includeArchived??!1,storePath:J,storeExists:D.exists,storeReadError:D.read_error});o($.knowledgeDbPath);let X=uG($.knowledgeDbPath),N=x($.knowledgeDbPath);try{let z=S$(V$(N,` + ORDER BY artifact_uri ASC`).all(),X=[];for(let G of J){let Q=UU(G.metadata_json),Y=typeof Q.key==="string"?Q.key:null;if(!Y?.startsWith(U))continue;let j=Y.slice(U.length);if(!j)continue;X.push({id:G.id,artifact_uri:G.artifact_uri,kind:G.kind,current_key:Y,repaired_key:S6(j),hash:G.hash,size_bytes:G.size_bytes})}return X}finally{W.close()}}function qh($){let _=["--scope",$.scope,"--json"],U=$.tables?.length?["--tables",$.tables.join(",")]:[],W=[V5({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",..._]})];if($.machine&&!nR($.machine))W.push(V5({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",$.machine,...$.peerWorkspace?["--peer-workspace",$.peerWorkspace]:[],...U,..._]}));else if($.peerWorkspace)W.push(V5({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",$.peerWorkspace,...U,..._]}));for(let J of $.resolvedWorkspace?.repair_hints??[])W.push({id:J.id,reason:J.reason,command:J.command,shell_command:J.shell_command});if($.openConflicts>0)W.push(V5({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",..._]}));return W}function Oh(){let $=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",_=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!_)return{command:$,argsPrefix:[]};let U;try{U=JSON.parse(_)}catch(W){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${W instanceof Error?W.message:String(W)}`)}if(!Array.isArray(U)||!U.every((W)=>typeof W==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:$,argsPrefix:U}}function mR($,_,U,W){let J=Oh(),X=ny(J.command,[...J.argsPrefix,W.target,_],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((X.status??1)!==0){let G=W.source==="open-machines"?` via ${W.route??"resolved"}:${W.target}`:"";throw Error(`ssh ${$}${G} failed: ${(X.stderr||X.stdout||String(X.status)).trim()}`)}return X.stdout||""}function uR($,_,U){try{return JSON.parse(U)}catch(W){let J=U.trim().slice(0,240);throw Error(`Remote knowledge ${_} on ${$} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${J||String(W)}`)}}function Lh($,_){if(typeof _!=="object"||_===null||!("format"in _)||_.format!=="knowledge-sync-bundle")throw Error(`Remote knowledge sync export on ${$} did not return a knowledge sync bundle. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||Uh4)throw Error(`Remote knowledge sync export on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Nh($,_){if(typeof _!=="object"||_===null||!("ok"in _)||!("target"in _)||!("tables"in _)||!("artifacts"in _)||!("conflicts_created"in _))throw Error(`Remote knowledge sync import on ${$} did not return a sync import result. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||Uh4)throw Error(`Remote knowledge sync import on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Bh($){if(!$)return;let _=$.trim().toLowerCase();if(_==="local"||_==="offline")return"local";if(_==="hosted"||_==="remote"||_==="knowledge.md")return"hosted";throw Error("Invalid setup mode. Use hosted or local.")}class pR{options;ensuredWorkspace;cachedConfig;constructor($={}){this.options=$}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??dW(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=g1(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let $=this.ensureWorkspace();return XX({storePath:$.jsonStorePath,storePathOverridden:!1})}async listItems(){return this.itemStore().listAll()}async getItem($){return this.itemStore().get($)}async createItem($){return this.itemStore().create($)}async updateItem($,_){return this.itemStore().update($,_)}async deleteItem($){return this.itemStore().delete($)}async deleteItems($){return this.itemStore().deleteMany($)}async resolveInventory($={}){if(this.isApiMode())return this.cloudInventory($);return this.inventory($)}config($={}){let _=$.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||$.ensure||x$(_.configPath))this.cachedConfig=x$(_.configPath)?m5(_.configPath):MU();return this.cachedConfig}safetyPolicy(){return uN(this.config(),this.workspace)}artifactStore(){return TG(this.config(),this.ensureWorkspace())}storageContract(){return YX(this.config(),this.workspace,this.scope)}validateStorage(){return vG(this.config(),this.workspace)}assertStorageValid($){let _=this.validateStorage();if(!_.ok)throw Error(`Storage contract invalid before ${$}: ${_.errors.join("; ")}`)}migrateLegacyPath($={}){let _=this.workspace,U=x5(this.options.scope,this.options.cwd),W=IR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}mergeLegacyPath($={}){let _=this.workspace,U=x5(this.options.scope,this.options.cwd),W=MR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}setup($={}){let _=this.ensureWorkspace(),U=this.config({ensure:!0}),W=Bh($.mode)??U.mode,J=$.apiUrl?J4($.apiUrl):U.hosted?.api_url?J4(U.hosted.api_url):null,X={...U,mode:W,hosted:{...U.hosted??{},...J?{api_url:J}:{}},storage:$.canonicalExample?ZO():U.storage};vO(_.configPath,X),this.cachedConfig=X;let G=YX(X,_,this.scope);return{ok:!0,mode:W,api_url:X.hosted?.api_url??null,storage_type:X.storage.type,artifact_uri_prefix:G.artifact_store.uri_prefix,canonical_example:G.canonical_example,config_path:_.configPath,next:W==="hosted"?["knowledge auth login --api-key ","knowledge storage status --json"]:["knowledge search ","knowledge "],message:`Set knowledge mode to ${W}`}}authStatus($=process.env){return kN(this.config(),$)}saveAuth($,_=process.env){let U=$.apiUrl??this.config().hosted?.api_url;return IN({api_key:$.apiKey,email:$.email,org_id:$.orgId,org_slug:$.orgSlug,user_id:$.userId,api_url:U},_)}clearAuth($=process.env){return wN($)}paths(){let $=this.workspace;return{ok:!0,scope:this.scope,home:$.home,exists:x$($.home),config_path:$.configPath,config_exists:x$($.configPath),json_store_path:$.jsonStorePath,json_store_exists:x$($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:x$($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,runs_dir:$.runsDir,schemas_dir:$.schemasDir,wiki_dir:$.wikiDir,config:this.config(),message:$.home}}initDb(){return $$(this.ensureWorkspace().knowledgeDbPath)}dbStats(){GX("reading knowledge.db stats");let $=this.workspace;if(!x$($.knowledgeDbPath))return vR();return fG($.knowledgeDbPath)}itemOnlyInventory($){let _=this.workspace,{items:U,limit:W,includeArchived:J,storePath:X,storeExists:G,storeReadError:Q}=$,Y=U.filter((V)=>V.archived!==!0),j=J?U:Y,O=vR(),B={legacy_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,schema_version:O.schema_version,sources:O.sources,source_revisions:O.source_revisions,chunks:O.chunks,wiki_pages:O.wiki_pages,citations:O.citations,indexes:O.indexes,runs:O.runs,run_events:O.run_events,storage_objects:O.storage_objects,embeddings:O.embeddings,vector_entries:O.vector_entries,reindex_queue:O.reindex_queue,redaction_findings:O.redaction_findings,audit_events:O.audit_events,approval_gates:O.approval_gates,knowledge_machines:O.knowledge_machines,sync_snapshots:O.sync_snapshots,sync_changes:O.sync_changes,sync_conflicts:O.sync_conflicts,sync_table_clocks:O.sync_table_clocks,sync_imports:O.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:W,paths:{json_store_path:_.jsonStorePath,json_store_exists:x$(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:x$(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:B,legacy_store:{path:X,exists:G,read_error:Q,total_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,items_returned:Math.min(j.length,W)},items:j.slice(0,W).map(ZR),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory($={}){let _=SR($.limit),U=await this.fetchCloudItems(),W=pU();return this.itemOnlyInventory({items:U,limit:_,includeArchived:$.includeArchived??!1,storePath:W?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory($={}){let _=this.workspace,U=SR($.limit),W=$.storePath??_.jsonStorePath,J=Jh(W),X=J.items.filter((O)=>O.archived!==!0),G=$.includeArchived?J.items:X;if(!x$(_.knowledgeDbPath))return this.itemOnlyInventory({items:J.items,limit:U,includeArchived:$.includeArchived??!1,storePath:W,storeExists:J.exists,storeReadError:J.read_error});$$(_.knowledgeDbPath);let Y=fG(_.knowledgeDbPath),j=d(_.knowledgeDbPath);try{let O=s_(d_(j,` SELECT s.id, s.uri, @@ -1073,7 +1073,7 @@ Pages should be concise, cited, and organized for both humans and agents. GROUP BY s.id ORDER BY s.updated_at DESC, s.created_at DESC LIMIT ? - `,[U]),["metadata_json","acl_json"]),L=S$(V$(N,` + `,[U]),["metadata_json","acl_json"]),B=s_(d_(j,` SELECT sr.id, s.uri AS source_uri, @@ -1086,7 +1086,7 @@ Pages should be concise, cited, and organized for both humans and agents. JOIN sources s ON s.id = sr.source_id ORDER BY sr.created_at DESC LIMIT ? - `,[U])),E=S$(V$(N,` + `,[U])),V=s_(d_(j,` SELECT c.id, c.kind, @@ -1107,22 +1107,22 @@ Pages should be concise, cited, and organized for both humans and agents. LEFT JOIN wiki_pages wp ON wp.id = c.wiki_page_id ORDER BY c.created_at DESC, c.ordinal ASC LIMIT ? - `,[U])),Q=S$(V$(N,` + `,[U])),L=s_(d_(j,` SELECT id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at FROM wiki_pages ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),q=S$(V$(N,` + `,[U])),N=s_(d_(j,` SELECT id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at FROM knowledge_indexes ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),g=S$(V$(N,` + `,[U])),H=s_(d_(j,` SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json, created_at, updated_at FROM storage_objects ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),B=S$(V$(N,` + `,[U])),R=s_(d_(j,` SELECT id, type, @@ -1138,18 +1138,18 @@ Pages should be concise, cited, and organized for both humans and agents. FROM runs ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),H=V$(N,` + `,[U])),b=d_(j,` SELECT provider, model, dimensions, status, COUNT(*) AS entries FROM vector_index_entries GROUP BY provider, model, dimensions, status ORDER BY entries DESC LIMIT ? - `,[U]),R=S$(V$(N,` + `,[U]),A=s_(d_(j,` SELECT id, kind, target_id, source_uri, reason, status, attempts, metadata_json, created_at, updated_at FROM reindex_queue ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),K=S$(V$(N,` + `,[U])),M=s_(d_(j,` SELECT machine_id, hostname, @@ -1167,7 +1167,7 @@ Pages should be concise, cited, and organized for both humans and agents. FROM knowledge_machines ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U]),["tailscale_ips_json","capabilities_json","metadata_json"]),V=S$(V$(N,` + `,[U]),["tailscale_ips_json","capabilities_json","metadata_json"]),E=s_(d_(j,` SELECT id, entity_kind, @@ -1184,27 +1184,27 @@ Pages should be concise, cited, and organized for both humans and agents. FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ? - `,[U])),I=S$(V$(N,` + `,[U])),g=s_(d_(j,` SELECT id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at FROM approval_gates ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),T=S$(V$(N,` + `,[U])),Z=s_(d_(j,` SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT ? - `,[U])),P={legacy_items:D.items.length,active_items:j.length,archived_items:D.items.length-j.length,schema_version:X.schema_version,sources:X.sources,source_revisions:X.source_revisions,chunks:X.chunks,wiki_pages:X.wiki_pages,citations:X.citations,indexes:X.indexes,runs:X.runs,run_events:X.run_events,storage_objects:X.storage_objects,embeddings:X.embeddings,vector_entries:X.vector_entries,reindex_queue:X.reindex_queue,redaction_findings:X.redaction_findings,audit_events:X.audit_events,approval_gates:X.approval_gates,knowledge_machines:X.knowledge_machines,sync_snapshots:X.sync_snapshots,sync_changes:X.sync_changes,sync_conflicts:X.sync_conflicts,sync_table_clocks:X.sync_table_clocks,sync_imports:X.sync_imports};return{ok:!0,scope:this.scope,home:$.home,limit:U,paths:{json_store_path:J,json_store_exists:D.exists,knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:!0,artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:P,legacy_store:{path:J,exists:D.exists,read_error:D.read_error,total_items:D.items.length,active_items:j.length,archived_items:D.items.length-j.length,items_returned:Math.min(W.length,U)},items:W.slice(0,U).map(Y3),sources:z,source_revisions:L,chunks:E,wiki_pages:Q,indexes:q,storage_objects:g,runs:B,vector_indexes:H,reindex_queue:R,machines:K,sync_conflicts:V,approval_gates:I,audit_events:T,message:`${D.items.length} item(s), ${X.sources} source(s), ${X.chunks} chunk(s), ${X.wiki_pages} wiki page(s), ${X.storage_objects} artifact(s)`}}finally{N.close()}}assertAppWikiWrite(_){kU({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return v7({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return y7({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal,title:_.title,content:_.content,tags:_.tags,sourceRefs:_.sourceRefs,path:_.path,metadata:_.metadata})}listAppWikiNotes(_={}){let $=this.workspace;if(!I_($.knowledgeDbPath))return[];return h7({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let U=this.workspace;if(!I_(U.knowledgeDbPath))return null;return x7({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return r7({scope:this.scope,workspace:$,sourceRef:_.sourceRef,purpose:_.purpose,config:this.config(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async searchAppWiki(_){return this.search(_)}async queryAppWiki(_){return this.retrieveContext(_)}async initWiki(){let _=this.ensureWorkspace();o(_.knowledgeDbPath);let $=await lE(this.artifactStore()),U=x(_.knowledgeDbPath);try{K6(U,$.artifacts),oE(U,$.artifacts)}finally{U.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return mE({..._,dbPath:$.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer(_){let $=this.ensureWorkspace(),U=await this.retrieveContext({query:_.prompt,limit:_.limit,semantic:_.semantic,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake});return dE({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:U,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return cE({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return S7({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let U=this.ensureWorkspace();return uD({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,U=$?this.workspace:this.ensureWorkspace();return fE({root:_.root??this.options.cwd??process.cwd(),scope:this.scope,owner:_.owner,dryRun:$,deprecateLegacy:_.deprecateLegacy,includeLegacy:_.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:_.maxItems,limit:_.limit})}async resolveSource(_,$={}){let U=this.ensureWorkspace();return hD({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return _E({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!I_($.knowledgeDbPath))return Sf();return AE({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return nY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return VE({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return c7(this.config(),_)}modelRegistry(){return JX(this.config())}embeddingStatus(){let _=this.workspace;if(!I_(_.knowledgeDbPath))return ff();return a7(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return dD({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return o6()}async fetchCloudItems(){let _=PU();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return SD(_)}async semanticSearch(_){let $=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems(),J=await r4(U,{..._},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:J.results}}if(!I_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return cD({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){let J=await this.fetchCloudItems();return r4(J,_)}let U=Xz(this.scope,$,_.legacyStorePath);if(!I_($.knowledgeDbPath)){if(I_(U))return pD({..._,legacyStorePath:U,config:this.config()});return b3(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return oD({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let J=await this.fetchCloudItems();return aD(J,_)}let U=Xz(this.scope,$,_.legacyStorePath);if(!I_($.knowledgeDbPath)){if(I_(U)){let J=await pD({..._,legacyStorePath:U,config:this.config()});return X1(J,{contextChars:_.contextChars})}return kf(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return N1({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack(_){let $=this.workspace;if(this.isApiMode()){let J=(_.query??_.topic??"").trim();if(J&&_.source!=="loops"&&_.source!=="runs"){let D=await this.fetchCloudItems(),j=await r4(D,{..._,query:J}),W=X1(j,{contextChars:_.contextChars});return q3(_,W,this.safetyPolicy())}return L3(_)}let U=Xz(this.scope,$,_.legacyStorePath);if(!I_($.knowledgeDbPath)){let J=(_.query??_.topic??"").trim();if(J&&_.source!=="loops"&&_.source!=="runs"&&I_(U)){let D=await pD({..._,query:J,legacyStorePath:U,config:this.config()}),j=X1(D,{contextChars:_.contextChars});return q3(_,j,this.safetyPolicy())}return L3(_)}return Mq({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){let J=await this.fetchCloudItems();return Bq(J,{..._,config:this.config()})}let $=this.ensureWorkspace(),U=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)BU(U);return Eq({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return vE({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return LE({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return BE({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!I_(_.knowledgeDbPath))return Tf({scope:this.scope,workspaceHome:_.home});return tq({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();o($.knowledgeDbPath);let U=this.syncStatus(),J=this.storageContract(),D=this.validateStorage(),j=Cf($.knowledgeDbPath,J),W=_.machine?.trim()||null,G=_.peerWorkspace?.trim()||null,X=[],N=null,z=null;if(W&&!R3(W)){let g=await uY({machineId:W,includeTailscale:_.includeTailscale});N=Gz(g),X.push(...g.warnings)}if(W||G){let g=await yW({machineId:W??Wz($),peerWorkspace:G,includeTailscale:_.includeTailscale});if(W&&!G&&(N?.source==="raw"||!g.ok||!g.project_root)){let B=W3($.knowledgeDbPath,W);if(B){if(N?.source==="raw"&&B.ssh_target)N=Gz(G3(B,W,{target:N.target,route:N.route,targetKind:N.target_kind,confidence:N.confidence,source:N.source,adapter:N.adapter,evidence:N.evidence,cacheability:N.cacheability,warnings:[]}));if(!g.ok||!g.project_root){let H=X3(B,W,g);if(H)z=$D(H,H.project_root),X.push(...H.warnings)}}}z=g.ok&&g.project_root?$D(g,g.project_root):z??{...$D(g,G??""),project_root:g.project_root??G??""},X.push(...g.warnings)}if(!D.ok)X.push(...D.errors.map((g)=>`storage:${g}`));let L=Kf($.knowledgeDbPath,z);if(!L.ok)X.push("open_files_boundary_raw_payload_sentinels");if(!j.ok)X.push(...j.warnings);let E=z?.diagnostics.filter((g)=>g.severity==="fail")??[],Q=D.ok&&j.ok&&L.ok&&E.length===0&&(z?.project_root!==""||!z),q=vf({scope:this.scope,machine:W,peerWorkspace:G,tables:_.tables,resolvedWorkspace:z,openConflicts:U.conflicts.open});return{ok:Q,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:$.home,database:{sqlite_schema_version:U.sqlite_schema_version,table_counts:U.table_counts},storage:{contract:J,validation:D,artifact_manifest:j},sync:{machines:U.machines.total,snapshots:U.snapshots.total,clocks:U.clocks.total,imports:U.imports.total,open_conflicts:U.conflicts.open,table_clocks:U.clocks.rows},open_files:L,resolved_route:N,resolved_workspace:z,recommended_commands:q,warnings:[...new Set(X)],message:Q?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(X)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();o($.knowledgeDbPath);let U=this.storageContract(),J=zz(U),D=Zf($.knowledgeDbPath,U),j=_.dryRun===!0||_.approveWrite!==!0;if(D.length===0)return{ok:!0,dry_run:j,approval_required:!1,storage_type:U.storage_type,storage_prefix:J,candidates:D,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if(_.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:J,candidates:D,repaired:0,audit_event_id:null,message:`Would repair ${D.length} legacy S3 artifact manifest key(s)`};if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:J,candidates:D,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by "};let W=x($.knowledgeDbPath);try{let G=new Date().toISOString();W.transaction((z)=>{let L=W.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),E=W.query("SELECT id, metadata_json FROM storage_objects").all(),Q=new Map(E.map((q)=>[q.id,c1(q.metadata_json)]));for(let q of z){let g=Q.get(q.id)??{};g.key=q.repaired_key,L.run(JSON.stringify(g),G,q.id)}})(D);let N=v_(W,{event_type:"artifact_manifest_key_repair",action:"storage.artifact_manifest.repair_keys",target_uri:`knowledge-storage://${$.home}/storage_objects`,decision:"allow",metadata:{approved_by:_.approvedBy,repaired:D.length,storage_type:U.storage_type,storage_prefix:J,artifact_uris:D.map((z)=>z.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:J,candidates:D,repaired:D.length,audit_event_id:N,message:`Repaired ${D.length} legacy S3 artifact manifest key(s)`}}finally{W.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return pq({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:U,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!I_($.knowledgeDbPath))return[];return aq($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),U=GJ($.knowledgeDbPath,_);if(!U)throw Error(`Sync conflict not found: ${_}`);return U}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return xU($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return eg({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),U=xU($.knowledgeDbPath,_.id);if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by "};let J=_L($.knowledgeDbPath,{id:_.id,strategy:_.strategy??U.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=x($.knowledgeDbPath);try{let j=v_(D,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${_.id}`,decision:"allow",metadata:{conflict_id:_.id,entity_kind:J.entity_kind,entity_id:J.entity_id,strategy:J.resolution_strategy,approved_by:J.approved_by,proposed_patch_uri:J.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:J,audit_event_id:j,message:`Resolved sync conflict ${_.id}`}}finally{D.close()}}syncMachines(){let _=this.workspace;if(!I_(_.knowledgeDbPath))return[];return bX(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),o($.knowledgeDbPath),hU({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.recordClocks!==!1})}async importSyncBundle(_){let $=this.ensureWorkspace();return this.assertStorageValid("sync import"),o($.knowledgeDbPath),WJ({targetDbPath:$.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:$.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:_.bundle,direction:_.direction??"import",dryRun:_.dryRun,localMachineId:_.machineId??null})}async syncRemotePeer(_){let $=_.direction??"both",U=_.dryRun===!0,J=this.ensureWorkspace();o(J.knowledgeDbPath);let D=_.tables?.length?["--tables",_.tables.join(",")]:[],j=_.includeArtifactContent===!1?["--no-artifact-content"]:[],W=["--scope",this.scope,"--json"],G=await uY({machineId:_.machine,includeTailscale:_.includeTailscale}),X=await yW({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&G.source==="raw"||!X.ok||!X.project_root){let Q=W3(J.knowledgeDbPath,_.machine);if(Q){if(!_.peerWorkspace&&G.source==="raw"&&Q.ssh_target)G=G3(Q,_.machine,G);if(!X.ok||!X.project_root){let q=X3(Q,_.machine,X);if(q)X=q}}}if(!X.ok||!X.project_root)throw Error([`Unable to resolve peer workspace for ${_.machine}.`,"Pass --peer-workspace or configure workspace path mapping in machines.",X.warnings.length?`Warnings: ${X.warnings.join(", ")}`:null].filter(Boolean).join(" "));let N=X.project_root,z={ok:!0,dry_run:U,direction:$,transport:"ssh",machine:_.machine,resolved_machine:G.target,resolved_route:Gz(G),resolved_workspace:$D(X,X.project_root),peer_workspace:N,message:""},L=!1,E=()=>{if(U||L)return;iq(J.knowledgeDbPath,{machineId:_.machine,route:G,workspace:X}),L=!0};if($==="pull"||$==="both"){let Q=j3(N,["sync","export",...W,...D,...j]),q=g3(_.machine,Q,void 0,G),g=E3(_.machine,"sync export",q);hf(_.machine,g),z.pull=await this.importSyncBundle({bundle:g,dryRun:U,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){E();let Q=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!U}),q=j3(N,["sync","import",...W,...U?["--dry-run"]:[]]),g=E3(_.machine,"sync import",g3(_.machine,q,JSON.stringify(Q),G));xf(_.machine,g),z.push=g}return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),E(),z.message=[N3(z.resolved_workspace),z.pull?`pull: ${z.pull.message}`:null,z.push?`push: ${z.push.message}`:null].filter(Boolean).join("; "),z}async syncPeer(_){let $=_.direction??"both",U=this.ensureWorkspace();o(U.knowledgeDbPath);let J=B3(_.peerWorkspace),D=gf(J);o(D.knowledgeDbPath);let j=QG(D.configPath),W=ZD(j,D,this.scope),G=dG(j,D),X=_.machineId??Wz(U),N=Wz(D),z=await yW({machineId:_.machineId??N,peerWorkspace:J,includeTailscale:!1}),L=()=>hU({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:X,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),E=()=>hU({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:W,machineId:N,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),Q={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:$D(z,z.project_root??J),message:""};if($==="pull"||$==="both")Q.pull=await WJ({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:E(),targetBundle:L(),direction:"pull",dryRun:_.dryRun,localMachineId:X});if($==="push"||$==="both")Q.push=await WJ({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:W,targetStore:G,bundle:L(),targetBundle:E(),direction:"push",dryRun:_.dryRun,localMachineId:N});return Q.ok=(Q.pull?.ok??!0)&&(Q.push?.ok??!0),Q.message=[N3(Q.resolved_workspace),Q.pull?`pull: ${Q.pull.message}`:null,Q.push?`push: ${Q.push.message}`:null].filter(Boolean).join("; "),Q}}function lW(_={}){return new K3(_)}var uf=Object.defineProperty,nf=(_)=>_;function mf(_,$){this[_]=nf.bind(null,$)}var df=(_,$)=>{for(var U in $)uf(_,U,{get:$[U],enumerable:!0,configurable:!0,set:mf.bind($,U)})},Y={};df(Y,{void:()=>kT,util:()=>q_,unknown:()=>MT,union:()=>TT,undefined:()=>KT,tuple:()=>vT,transformer:()=>M3,symbol:()=>bT,string:()=>y3,strictObject:()=>fT,setErrorMap:()=>of,set:()=>xT,record:()=>yT,quotelessJson:()=>cf,promise:()=>cT,preprocess:()=>oT,pipeline:()=>pT,ostring:()=>tT,optional:()=>iT,onumber:()=>aT,oboolean:()=>eT,objectUtil:()=>gz,object:()=>ST,number:()=>h3,nullable:()=>lT,null:()=>IT,never:()=>PT,nativeEnum:()=>dT,nan:()=>HT,map:()=>hT,makeIssue:()=>pW,literal:()=>nT,lazy:()=>uT,late:()=>BT,isValid:()=>V0,isDirty:()=>Bz,isAsync:()=>jD,isAborted:()=>Ez,intersection:()=>ZT,instanceof:()=>RT,getParsedType:()=>h6,getErrorMap:()=>oW,function:()=>rT,enum:()=>mT,effect:()=>M3,discriminatedUnion:()=>CT,defaultErrorMap:()=>p1,datetimeRegex:()=>C3,date:()=>VT,custom:()=>v3,coerce:()=>sT,boolean:()=>x3,bigint:()=>AT,array:()=>wT,any:()=>FT,addIssueToContext:()=>h,ZodVoid:()=>GD,ZodUnknown:()=>E4,ZodUnion:()=>s1,ZodUndefined:()=>a1,ZodType:()=>O_,ZodTuple:()=>z6,ZodTransformer:()=>f$,ZodSymbol:()=>WD,ZodString:()=>l$,ZodSet:()=>I0,ZodSchema:()=>O_,ZodRecord:()=>XD,ZodReadonly:()=>WU,ZodPromise:()=>F0,ZodPipeline:()=>YD,ZodParsedType:()=>u,ZodOptional:()=>p$,ZodObject:()=>r_,ZodNumber:()=>B4,ZodNullable:()=>x6,ZodNull:()=>e1,ZodNever:()=>Y6,ZodNativeEnum:()=>DU,ZodNaN:()=>OD,ZodMap:()=>ND,ZodLiteral:()=>UU,ZodLazy:()=>$U,ZodIssueCode:()=>S,ZodIntersection:()=>_U,ZodFunction:()=>o1,ZodFirstPartyTypeKind:()=>s,ZodError:()=>b$,ZodEnum:()=>H4,ZodEffects:()=>f$,ZodDiscriminatedUnion:()=>tW,ZodDefault:()=>JU,ZodDate:()=>b0,ZodCatch:()=>jU,ZodBranded:()=>aW,ZodBoolean:()=>t1,ZodBigInt:()=>R4,ZodArray:()=>o$,ZodAny:()=>K0,Schema:()=>O_,ParseStatus:()=>D$,OK:()=>N$,NEVER:()=>_C,INVALID:()=>a,EMPTY_PATH:()=>pf,DIRTY:()=>l1,BRAND:()=>ET});var q_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function U(D){throw Error()}_.assertNever=U,_.arrayToEnum=(D)=>{let j={};for(let W of D)j[W]=W;return j},_.getValidEnumValues=(D)=>{let j=_.objectKeys(D).filter((G)=>typeof D[D[G]]!=="number"),W={};for(let G of j)W[G]=D[G];return _.objectValues(W)},_.objectValues=(D)=>{return _.objectKeys(D).map(function(j){return D[j]})},_.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let j=[];for(let W in D)if(Object.prototype.hasOwnProperty.call(D,W))j.push(W);return j},_.find=(D,j)=>{for(let W of D)if(j(W))return W;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function J(D,j=" | "){return D.map((W)=>typeof W==="string"?`'${W}'`:W).join(j)}_.joinValues=J,_.jsonStringifyReplacer=(D,j)=>{if(typeof j==="bigint")return j.toString();return j}})(q_||(q_={}));var gz;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(gz||(gz={}));var u=q_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h6=(_)=>{switch(typeof _){case"undefined":return u.undefined;case"string":return u.string;case"number":return Number.isNaN(_)?u.nan:u.number;case"boolean":return u.boolean;case"function":return u.function;case"bigint":return u.bigint;case"symbol":return u.symbol;case"object":if(Array.isArray(_))return u.array;if(_===null)return u.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return u.promise;if(typeof Map<"u"&&_ instanceof Map)return u.map;if(typeof Set<"u"&&_ instanceof Set)return u.set;if(typeof Date<"u"&&_ instanceof Date)return u.date;return u.object;default:return u.unknown}},S=q_.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),cf=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class b$ extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=_}format(_){let $=_||function(D){return D.message},U={_errors:[]},J=(D)=>{for(let j of D.issues)if(j.code==="invalid_union")j.unionErrors.map(J);else if(j.code==="invalid_return_type")J(j.returnTypeError);else if(j.code==="invalid_arguments")J(j.argumentsError);else if(j.path.length===0)U._errors.push($(j));else{let W=U,G=0;while(G$.message){let $={},U=[];for(let J of this.issues)if(J.path.length>0){let D=J.path[0];$[D]=$[D]||[],$[D].push(_(J))}else U.push(_(J));return{formErrors:U,fieldErrors:$}}get formErrors(){return this.flatten()}}b$.create=(_)=>{return new b$(_)};var lf=(_,$)=>{let U;switch(_.code){case S.invalid_type:if(_.received===u.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case S.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,q_.jsonStringifyReplacer)}`;break;case S.unrecognized_keys:U=`Unrecognized key(s) in object: ${q_.joinValues(_.keys,", ")}`;break;case S.invalid_union:U="Invalid input";break;case S.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${q_.joinValues(_.options)}`;break;case S.invalid_enum_value:U=`Invalid enum value. Expected ${q_.joinValues(_.options)}, received '${_.received}'`;break;case S.invalid_arguments:U="Invalid function arguments";break;case S.invalid_return_type:U="Invalid function return type";break;case S.invalid_date:U="Invalid date";break;case S.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(U=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)U=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)U=`Invalid input: must end with "${_.validation.endsWith}"`;else q_.assertNever(_.validation);else if(_.validation!=="regex")U=`Invalid ${_.validation}`;else U="Invalid";break;case S.too_small:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else U="Invalid input";break;case S.too_big:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")U=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else U="Invalid input";break;case S.custom:U="Invalid input";break;case S.invalid_intersection_types:U="Intersection results could not be merged";break;case S.not_multiple_of:U=`Number must be a multiple of ${_.multipleOf}`;break;case S.not_finite:U="Number must be finite";break;default:U=$.defaultError,q_.assertNever(_)}return{message:U}},p1=lf,S3=p1;function of(_){S3=_}function oW(){return S3}var pW=(_)=>{let{data:$,path:U,errorMaps:J,issueData:D}=_,j=[...U,...D.path||[]],W={...D,path:j};if(D.message!==void 0)return{...D,path:j,message:D.message};let G="",X=J.filter((N)=>!!N).slice().reverse();for(let N of X)G=N(W,{data:$,defaultError:G}).message;return{...D,path:j,message:G}},pf=[];function h(_,$){let U=oW(),J=pW({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===p1?void 0:p1].filter((D)=>!!D)});_.common.issues.push(J)}class D${constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,$){let U=[];for(let J of $){if(J.status==="aborted")return a;if(J.status==="dirty")_.dirty();U.push(J.value)}return{status:_.value,value:U}}static async mergeObjectAsync(_,$){let U=[];for(let J of $){let D=await J.key,j=await J.value;U.push({key:D,value:j})}return D$.mergeObjectSync(_,U)}static mergeObjectSync(_,$){let U={};for(let J of $){let{key:D,value:j}=J;if(D.status==="aborted")return a;if(j.status==="aborted")return a;if(D.status==="dirty")_.dirty();if(j.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof j.value<"u"||J.alwaysSet))U[D.value]=j.value}return{status:_.value,value:U}}}var a=Object.freeze({status:"aborted"}),l1=(_)=>({status:"dirty",value:_}),N$=(_)=>({status:"valid",value:_}),Ez=(_)=>_.status==="aborted",Bz=(_)=>_.status==="dirty",V0=(_)=>_.status==="valid",jD=(_)=>typeof Promise<"u"&&_ instanceof Promise,l;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(l||(l={}));class t${constructor(_,$,U,J){this._cachedPath=[],this.parent=_,this.data=$,this._path=U,this._key=J}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var I3=(_,$)=>{if(V0($))return{success:!0,data:$.value};else{if(!_.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new b$(_.common.issues);return this._error=U,this._error}}}};function W_(_){if(!_)return{};let{errorMap:$,invalid_type_error:U,required_error:J,description:D}=_;if($&&(U||J))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:D};return{errorMap:(W,G)=>{let{message:X}=_;if(W.code==="invalid_enum_value")return{message:X??G.defaultError};if(typeof G.data>"u")return{message:X??J??G.defaultError};if(W.code!=="invalid_type")return{message:G.defaultError};return{message:X??U??G.defaultError}},description:D}}class O_{get description(){return this._def.description}_getType(_){return h6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:h6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new D$,ctx:{common:_.parent.common,data:_.data,parsedType:h6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(jD($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(_){let $=this._parse(_);return Promise.resolve($)}parse(_,$){let U=this.safeParse(_,$);if(U.success)return U.data;throw U.error}safeParse(_,$){let U={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:h6(_)},J=this._parseSync({data:_,path:U.path,parent:U});return I3(U,J)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:h6(_)};if(!this["~standard"].async)try{let U=this._parseSync({data:_,path:[],parent:$});return V0(U)?{value:U.value}:{issues:$.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:$}).then((U)=>V0(U)?{value:U.value}:{issues:$.common.issues})}async parseAsync(_,$){let U=await this.safeParseAsync(_,$);if(U.success)return U.data;throw U.error}async safeParseAsync(_,$){let U={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:h6(_)},J=this._parse({data:_,path:U.path,parent:U}),D=await(jD(J)?J:Promise.resolve(J));return I3(U,D)}refine(_,$){let U=(J)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(J);else return $};return this._refinement((J,D)=>{let j=_(J),W=()=>D.addIssue({code:S.custom,...U(J)});if(typeof Promise<"u"&&j instanceof Promise)return j.then((G)=>{if(!G)return W(),!1;else return!0});if(!j)return W(),!1;else return!0})}refinement(_,$){return this._refinement((U,J)=>{if(!_(U))return J.addIssue(typeof $==="function"?$(U,J):$),!1;else return!0})}_refinement(_){return new f$({schema:this,typeName:s.ZodEffects,effect:{type:"refinement",refinement:_}})}superRefine(_){return this._refinement(_)}constructor(_){this.spa=this.safeParseAsync,this._def=_,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return p$.create(this,this._def)}nullable(){return x6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return o$.create(this)}promise(){return F0.create(this,this._def)}or(_){return s1.create([this,_],this._def)}and(_){return _U.create(this,_,this._def)}transform(_){return new f$({...W_(this._def),schema:this,typeName:s.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new JU({...W_(this._def),innerType:this,defaultValue:$,typeName:s.ZodDefault})}brand(){return new aW({typeName:s.ZodBranded,type:this,...W_(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new jU({...W_(this._def),innerType:this,catchValue:$,typeName:s.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return YD.create(this,_)}readonly(){return WU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var tf=/^c[^\s-]{8,}$/i,af=/^[0-9a-z]+$/,ef=/^[0-9A-HJKMNP-TV-Z]{26}$/i,sf=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,_T=/^[a-z0-9_-]{21}$/i,$T=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,UT=/^[-+]?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)?)??$/,DT=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,JT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Qz,jT=/^(?:(?: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])$/,WT=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,GT=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,XT=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,NT=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,OT=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,f3="((\\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])))",YT=new RegExp(`^${f3}$`);function T3(_){let $="[0-5]\\d";if(_.precision)$=`${$}\\.\\d{${_.precision}}`;else if(_.precision==null)$=`${$}(\\.\\d+)?`;let U=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${U}`}function zT(_){return new RegExp(`^${T3(_)}$`)}function C3(_){let $=`${f3}T${T3(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function QT(_,$){if(($==="v4"||!$)&&jT.test(_))return!0;if(($==="v6"||!$)&>.test(_))return!0;return!1}function qT(_,$){if(!$T.test(_))return!1;try{let[U]=_.split(".");if(!U)return!1;let J=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),D=JSON.parse(atob(J));if(typeof D!=="object"||D===null)return!1;if("typ"in D&&D?.typ!=="JWT")return!1;if(!D.alg)return!1;if($&&D.alg!==$)return!1;return!0}catch{return!1}}function LT(_,$){if(($==="v4"||!$)&&WT.test(_))return!0;if(($==="v6"||!$)&&XT.test(_))return!0;return!1}class l$ extends O_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==u.string){let D=this._getOrReturnCtx(_);return h(D,{code:S.invalid_type,expected:u.string,received:D.parsedType}),a}let U=new D$,J=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.lengthD.value)J=this._getOrReturnCtx(_,J),h(J,{code:S.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="length"){let j=_.data.length>D.value,W=_.data.length_.test(J),{validation:$,code:S.invalid_string,...l.errToObj(U)})}_addCheck(_){return new l$({...this._def,checks:[...this._def.checks,_]})}email(_){return this._addCheck({kind:"email",...l.errToObj(_)})}url(_){return this._addCheck({kind:"url",...l.errToObj(_)})}emoji(_){return this._addCheck({kind:"emoji",...l.errToObj(_)})}uuid(_){return this._addCheck({kind:"uuid",...l.errToObj(_)})}nanoid(_){return this._addCheck({kind:"nanoid",...l.errToObj(_)})}cuid(_){return this._addCheck({kind:"cuid",...l.errToObj(_)})}cuid2(_){return this._addCheck({kind:"cuid2",...l.errToObj(_)})}ulid(_){return this._addCheck({kind:"ulid",...l.errToObj(_)})}base64(_){return this._addCheck({kind:"base64",...l.errToObj(_)})}base64url(_){return this._addCheck({kind:"base64url",...l.errToObj(_)})}jwt(_){return this._addCheck({kind:"jwt",...l.errToObj(_)})}ip(_){return this._addCheck({kind:"ip",...l.errToObj(_)})}cidr(_){return this._addCheck({kind:"cidr",...l.errToObj(_)})}datetime(_){if(typeof _==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:_});return this._addCheck({kind:"datetime",precision:typeof _?.precision>"u"?null:_?.precision,offset:_?.offset??!1,local:_?.local??!1,...l.errToObj(_?.message)})}date(_){return this._addCheck({kind:"date",message:_})}time(_){if(typeof _==="string")return this._addCheck({kind:"time",precision:null,message:_});return this._addCheck({kind:"time",precision:typeof _?.precision>"u"?null:_?.precision,...l.errToObj(_?.message)})}duration(_){return this._addCheck({kind:"duration",...l.errToObj(_)})}regex(_,$){return this._addCheck({kind:"regex",regex:_,...l.errToObj($)})}includes(_,$){return this._addCheck({kind:"includes",value:_,position:$?.position,...l.errToObj($?.message)})}startsWith(_,$){return this._addCheck({kind:"startsWith",value:_,...l.errToObj($)})}endsWith(_,$){return this._addCheck({kind:"endsWith",value:_,...l.errToObj($)})}min(_,$){return this._addCheck({kind:"min",value:_,...l.errToObj($)})}max(_,$){return this._addCheck({kind:"max",value:_,...l.errToObj($)})}length(_,$){return this._addCheck({kind:"length",value:_,...l.errToObj($)})}nonempty(_){return this.min(1,l.errToObj(_))}trim(){return new l$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new l$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new l$({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((_)=>_.kind==="datetime")}get isDate(){return!!this._def.checks.find((_)=>_.kind==="date")}get isTime(){return!!this._def.checks.find((_)=>_.kind==="time")}get isDuration(){return!!this._def.checks.find((_)=>_.kind==="duration")}get isEmail(){return!!this._def.checks.find((_)=>_.kind==="email")}get isURL(){return!!this._def.checks.find((_)=>_.kind==="url")}get isEmoji(){return!!this._def.checks.find((_)=>_.kind==="emoji")}get isUUID(){return!!this._def.checks.find((_)=>_.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((_)=>_.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((_)=>_.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((_)=>_.kind==="cuid2")}get isULID(){return!!this._def.checks.find((_)=>_.kind==="ulid")}get isIP(){return!!this._def.checks.find((_)=>_.kind==="ip")}get isCIDR(){return!!this._def.checks.find((_)=>_.kind==="cidr")}get isBase64(){return!!this._def.checks.find((_)=>_.kind==="base64")}get isBase64url(){return!!this._def.checks.find((_)=>_.kind==="base64url")}get minLength(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxLength(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}}l$.create=(_)=>{return new l$({checks:[],typeName:s.ZodString,coerce:_?.coerce??!1,...W_(_)})};function gT(_,$){let U=(_.toString().split(".")[1]||"").length,J=($.toString().split(".")[1]||"").length,D=U>J?U:J,j=Number.parseInt(_.toFixed(D).replace(".","")),W=Number.parseInt($.toFixed(D).replace(".",""));return j%W/10**D}class B4 extends O_{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(_){if(this._def.coerce)_.data=Number(_.data);if(this._getType(_)!==u.number){let D=this._getOrReturnCtx(_);return h(D,{code:S.invalid_type,expected:u.number,received:D.parsedType}),a}let U=void 0,J=new D$;for(let D of this._def.checks)if(D.kind==="int"){if(!q_.isInteger(_.data))U=this._getOrReturnCtx(_,U),h(U,{code:S.invalid_type,expected:"integer",received:"float",message:D.message}),J.dirty()}else if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),h(U,{code:S.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="multipleOf"){if(gT(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),h(U,{code:S.not_multiple_of,multipleOf:D.value,message:D.message}),J.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))U=this._getOrReturnCtx(_,U),h(U,{code:S.not_finite,message:D.message}),J.dirty()}else q_.assertNever(D);return{status:J.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,l.toString($))}gt(_,$){return this.setLimit("min",_,!1,l.toString($))}lte(_,$){return this.setLimit("max",_,!0,l.toString($))}lt(_,$){return this.setLimit("max",_,!1,l.toString($))}setLimit(_,$,U,J){return new B4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:l.toString(J)}]})}_addCheck(_){return new B4({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:l.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:l.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:l.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:l.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:l.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:l.toString($)})}finite(_){return this._addCheck({kind:"finite",message:l.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:l.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:l.toString(_)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}get isInt(){return!!this._def.checks.find((_)=>_.kind==="int"||_.kind==="multipleOf"&&q_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if($===null||U.value>$)$=U.value}else if(U.kind==="max"){if(_===null||U.value<_)_=U.value}return Number.isFinite($)&&Number.isFinite(_)}}B4.create=(_)=>{return new B4({checks:[],typeName:s.ZodNumber,coerce:_?.coerce||!1,...W_(_)})};class R4 extends O_{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(_){if(this._def.coerce)try{_.data=BigInt(_.data)}catch{return this._getInvalidInput(_)}if(this._getType(_)!==u.bigint)return this._getInvalidInput(_);let U=void 0,J=new D$;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),h(U,{code:S.too_big,type:"bigint",maximum:D.value,inclusive:D.inclusive,message:D.message}),J.dirty()}else if(D.kind==="multipleOf"){if(_.data%D.value!==BigInt(0))U=this._getOrReturnCtx(_,U),h(U,{code:S.not_multiple_of,multipleOf:D.value,message:D.message}),J.dirty()}else q_.assertNever(D);return{status:J.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return h($,{code:S.invalid_type,expected:u.bigint,received:$.parsedType}),a}gte(_,$){return this.setLimit("min",_,!0,l.toString($))}gt(_,$){return this.setLimit("min",_,!1,l.toString($))}lte(_,$){return this.setLimit("max",_,!0,l.toString($))}lt(_,$){return this.setLimit("max",_,!1,l.toString($))}setLimit(_,$,U,J){return new R4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:l.toString(J)}]})}_addCheck(_){return new R4({...this._def,checks:[...this._def.checks,_]})}positive(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:l.toString(_)})}negative(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:l.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:l.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:l.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:l.toString($)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}}R4.create=(_)=>{return new R4({checks:[],typeName:s.ZodBigInt,coerce:_?.coerce??!1,...W_(_)})};class t1 extends O_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==u.boolean){let U=this._getOrReturnCtx(_);return h(U,{code:S.invalid_type,expected:u.boolean,received:U.parsedType}),a}return N$(_.data)}}t1.create=(_)=>{return new t1({typeName:s.ZodBoolean,coerce:_?.coerce||!1,...W_(_)})};class b0 extends O_{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==u.date){let D=this._getOrReturnCtx(_);return h(D,{code:S.invalid_type,expected:u.date,received:D.parsedType}),a}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return h(D,{code:S.invalid_date}),a}let U=new D$,J=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()D.value)J=this._getOrReturnCtx(_,J),h(J,{code:S.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),U.dirty()}else q_.assertNever(D);return{status:U.value,value:new Date(_.data.getTime())}}_addCheck(_){return new b0({...this._def,checks:[...this._def.checks,_]})}min(_,$){return this._addCheck({kind:"min",value:_.getTime(),message:l.toString($)})}max(_,$){return this._addCheck({kind:"max",value:_.getTime(),message:l.toString($)})}get minDate(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _!=null?new Date(_):null}get maxDate(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _!=null?new Date(_):null}}b0.create=(_)=>{return new b0({checks:[],coerce:_?.coerce||!1,typeName:s.ZodDate,...W_(_)})};class WD extends O_{_parse(_){if(this._getType(_)!==u.symbol){let U=this._getOrReturnCtx(_);return h(U,{code:S.invalid_type,expected:u.symbol,received:U.parsedType}),a}return N$(_.data)}}WD.create=(_)=>{return new WD({typeName:s.ZodSymbol,...W_(_)})};class a1 extends O_{_parse(_){if(this._getType(_)!==u.undefined){let U=this._getOrReturnCtx(_);return h(U,{code:S.invalid_type,expected:u.undefined,received:U.parsedType}),a}return N$(_.data)}}a1.create=(_)=>{return new a1({typeName:s.ZodUndefined,...W_(_)})};class e1 extends O_{_parse(_){if(this._getType(_)!==u.null){let U=this._getOrReturnCtx(_);return h(U,{code:S.invalid_type,expected:u.null,received:U.parsedType}),a}return N$(_.data)}}e1.create=(_)=>{return new e1({typeName:s.ZodNull,...W_(_)})};class K0 extends O_{constructor(){super(...arguments);this._any=!0}_parse(_){return N$(_.data)}}K0.create=(_)=>{return new K0({typeName:s.ZodAny,...W_(_)})};class E4 extends O_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return N$(_.data)}}E4.create=(_)=>{return new E4({typeName:s.ZodUnknown,...W_(_)})};class Y6 extends O_{_parse(_){let $=this._getOrReturnCtx(_);return h($,{code:S.invalid_type,expected:u.never,received:$.parsedType}),a}}Y6.create=(_)=>{return new Y6({typeName:s.ZodNever,...W_(_)})};class GD extends O_{_parse(_){if(this._getType(_)!==u.undefined){let U=this._getOrReturnCtx(_);return h(U,{code:S.invalid_type,expected:u.void,received:U.parsedType}),a}return N$(_.data)}}GD.create=(_)=>{return new GD({typeName:s.ZodVoid,...W_(_)})};class o$ extends O_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),J=this._def;if($.parsedType!==u.array)return h($,{code:S.invalid_type,expected:u.array,received:$.parsedType}),a;if(J.exactLength!==null){let j=$.data.length>J.exactLength.value,W=$.data.lengthJ.maxLength.value)h($,{code:S.too_big,maximum:J.maxLength.value,type:"array",inclusive:!0,exact:!1,message:J.maxLength.message}),U.dirty()}if($.common.async)return Promise.all([...$.data].map((j,W)=>{return J.type._parseAsync(new t$($,j,$.path,W))})).then((j)=>{return D$.mergeArray(U,j)});let D=[...$.data].map((j,W)=>{return J.type._parseSync(new t$($,j,$.path,W))});return D$.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new o$({...this._def,minLength:{value:_,message:l.toString($)}})}max(_,$){return new o$({...this._def,maxLength:{value:_,message:l.toString($)}})}length(_,$){return new o$({...this._def,exactLength:{value:_,message:l.toString($)}})}nonempty(_){return this.min(1,_)}}o$.create=(_,$)=>{return new o$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:s.ZodArray,...W_($)})};function i1(_){if(_ instanceof r_){let $={};for(let U in _.shape){let J=_.shape[U];$[U]=p$.create(i1(J))}return new r_({..._._def,shape:()=>$})}else if(_ instanceof o$)return new o$({..._._def,type:i1(_.element)});else if(_ instanceof p$)return p$.create(i1(_.unwrap()));else if(_ instanceof x6)return x6.create(i1(_.unwrap()));else if(_ instanceof z6)return z6.create(_.items.map(($)=>i1($)));else return _}class r_ extends O_{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let _=this._def.shape(),$=q_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==u.object){let X=this._getOrReturnCtx(_);return h(X,{code:S.invalid_type,expected:u.object,received:X.parsedType}),a}let{status:U,ctx:J}=this._processInputParams(_),{shape:D,keys:j}=this._getCached(),W=[];if(!(this._def.catchall instanceof Y6&&this._def.unknownKeys==="strip")){for(let X in J.data)if(!j.includes(X))W.push(X)}let G=[];for(let X of j){let N=D[X],z=J.data[X];G.push({key:{status:"valid",value:X},value:N._parse(new t$(J,z,J.path,X)),alwaysSet:X in J.data})}if(this._def.catchall instanceof Y6){let X=this._def.unknownKeys;if(X==="passthrough")for(let N of W)G.push({key:{status:"valid",value:N},value:{status:"valid",value:J.data[N]}});else if(X==="strict"){if(W.length>0)h(J,{code:S.unrecognized_keys,keys:W}),U.dirty()}else if(X==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let X=this._def.catchall;for(let N of W){let z=J.data[N];G.push({key:{status:"valid",value:N},value:X._parse(new t$(J,z,J.path,N)),alwaysSet:N in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let X=[];for(let N of G){let z=await N.key,L=await N.value;X.push({key:z,value:L,alwaysSet:N.alwaysSet})}return X}).then((X)=>{return D$.mergeObjectSync(U,X)});else return D$.mergeObjectSync(U,G)}get shape(){return this._def.shape()}strict(_){return l.errToObj,new r_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,U)=>{let J=this._def.errorMap?.($,U).message??U.defaultError;if($.code==="unrecognized_keys")return{message:l.errToObj(_).message??J};return{message:J}}}:{}})}strip(){return new r_({...this._def,unknownKeys:"strip"})}passthrough(){return new r_({...this._def,unknownKeys:"passthrough"})}extend(_){return new r_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new r_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:s.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new r_({...this._def,catchall:_})}pick(_){let $={};for(let U of q_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new r_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of q_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new r_({...this._def,shape:()=>$})}deepPartial(){return i1(this)}partial(_){let $={};for(let U of q_.objectKeys(this.shape)){let J=this.shape[U];if(_&&!_[U])$[U]=J;else $[U]=J.optional()}return new r_({...this._def,shape:()=>$})}required(_){let $={};for(let U of q_.objectKeys(this.shape))if(_&&!_[U])$[U]=this.shape[U];else{let D=this.shape[U];while(D instanceof p$)D=D._def.innerType;$[U]=D}return new r_({...this._def,shape:()=>$})}keyof(){return Z3(q_.objectKeys(this.shape))}}r_.create=(_,$)=>{return new r_({shape:()=>_,unknownKeys:"strip",catchall:Y6.create(),typeName:s.ZodObject,...W_($)})};r_.strictCreate=(_,$)=>{return new r_({shape:()=>_,unknownKeys:"strict",catchall:Y6.create(),typeName:s.ZodObject,...W_($)})};r_.lazycreate=(_,$)=>{return new r_({shape:_,unknownKeys:"strip",catchall:Y6.create(),typeName:s.ZodObject,...W_($)})};class s1 extends O_{_parse(_){let{ctx:$}=this._processInputParams(_),U=this._def.options;function J(D){for(let W of D)if(W.result.status==="valid")return W.result;for(let W of D)if(W.result.status==="dirty")return $.common.issues.push(...W.ctx.common.issues),W.result;let j=D.map((W)=>new b$(W.ctx.common.issues));return h($,{code:S.invalid_union,unionErrors:j}),a}if($.common.async)return Promise.all(U.map(async(D)=>{let j={...$,common:{...$.common,issues:[]},parent:null};return{result:await D._parseAsync({data:$.data,path:$.path,parent:j}),ctx:j}})).then(J);else{let D=void 0,j=[];for(let G of U){let X={...$,common:{...$.common,issues:[]},parent:null},N=G._parseSync({data:$.data,path:$.path,parent:X});if(N.status==="valid")return N;else if(N.status==="dirty"&&!D)D={result:N,ctx:X};if(X.common.issues.length)j.push(X.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let W=j.map((G)=>new b$(G));return h($,{code:S.invalid_union,unionErrors:W}),a}}get options(){return this._def.options}}s1.create=(_,$)=>{return new s1({options:_,typeName:s.ZodUnion,...W_($)})};var y6=(_)=>{if(_ instanceof $U)return y6(_.schema);else if(_ instanceof f$)return y6(_.innerType());else if(_ instanceof UU)return[_.value];else if(_ instanceof H4)return _.options;else if(_ instanceof DU)return q_.objectValues(_.enum);else if(_ instanceof JU)return y6(_._def.innerType);else if(_ instanceof a1)return[void 0];else if(_ instanceof e1)return[null];else if(_ instanceof p$)return[void 0,...y6(_.unwrap())];else if(_ instanceof x6)return[null,...y6(_.unwrap())];else if(_ instanceof aW)return y6(_.unwrap());else if(_ instanceof WU)return y6(_.unwrap());else if(_ instanceof jU)return y6(_._def.innerType);else return[]};class tW extends O_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.object)return h($,{code:S.invalid_type,expected:u.object,received:$.parsedType}),a;let U=this.discriminator,J=$.data[U],D=this.optionsMap.get(J);if(!D)return h($,{code:S.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),a;if($.common.async)return D._parseAsync({data:$.data,path:$.path,parent:$});else return D._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(_,$,U){let J=new Map;for(let D of $){let j=y6(D.shape[_]);if(!j.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let W of j){if(J.has(W))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(W)}`);J.set(W,D)}}return new tW({typeName:s.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:J,...W_(U)})}}function Rz(_,$){let U=h6(_),J=h6($);if(_===$)return{valid:!0,data:_};else if(U===u.object&&J===u.object){let D=q_.objectKeys($),j=q_.objectKeys(_).filter((G)=>D.indexOf(G)!==-1),W={..._,...$};for(let G of j){let X=Rz(_[G],$[G]);if(!X.valid)return{valid:!1};W[G]=X.data}return{valid:!0,data:W}}else if(U===u.array&&J===u.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let j=0;j<_.length;j++){let W=_[j],G=$[j],X=Rz(W,G);if(!X.valid)return{valid:!1};D.push(X.data)}return{valid:!0,data:D}}else if(U===u.date&&J===u.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class _U extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),J=(D,j)=>{if(Ez(D)||Ez(j))return a;let W=Rz(D.value,j.value);if(!W.valid)return h(U,{code:S.invalid_intersection_types}),a;if(Bz(D)||Bz(j))$.dirty();return{status:$.value,value:W.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([D,j])=>J(D,j));else return J(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}_U.create=(_,$,U)=>{return new _U({left:_,right:$,typeName:s.ZodIntersection,...W_(U)})};class z6 extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==u.array)return h(U,{code:S.invalid_type,expected:u.array,received:U.parsedType}),a;if(U.data.lengththis._def.items.length)h(U,{code:S.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...U.data].map((j,W)=>{let G=this._def.items[W]||this._def.rest;if(!G)return null;return G._parse(new t$(U,j,U.path,W))}).filter((j)=>!!j);if(U.common.async)return Promise.all(D).then((j)=>{return D$.mergeArray($,j)});else return D$.mergeArray($,D)}get items(){return this._def.items}rest(_){return new z6({...this._def,rest:_})}}z6.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new z6({items:_,typeName:s.ZodTuple,rest:null,...W_($)})};class XD extends O_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==u.object)return h(U,{code:S.invalid_type,expected:u.object,received:U.parsedType}),a;let J=[],D=this._def.keyType,j=this._def.valueType;for(let W in U.data)J.push({key:D._parse(new t$(U,W,U.path,W)),value:j._parse(new t$(U,U.data[W],U.path,W)),alwaysSet:W in U.data});if(U.common.async)return D$.mergeObjectAsync($,J);else return D$.mergeObjectSync($,J)}get element(){return this._def.valueType}static create(_,$,U){if($ instanceof O_)return new XD({keyType:_,valueType:$,typeName:s.ZodRecord,...W_(U)});return new XD({keyType:l$.create(),valueType:_,typeName:s.ZodRecord,...W_($)})}}class ND extends O_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==u.map)return h(U,{code:S.invalid_type,expected:u.map,received:U.parsedType}),a;let J=this._def.keyType,D=this._def.valueType,j=[...U.data.entries()].map(([W,G],X)=>{return{key:J._parse(new t$(U,W,U.path,[X,"key"])),value:D._parse(new t$(U,G,U.path,[X,"value"]))}});if(U.common.async){let W=new Map;return Promise.resolve().then(async()=>{for(let G of j){let X=await G.key,N=await G.value;if(X.status==="aborted"||N.status==="aborted")return a;if(X.status==="dirty"||N.status==="dirty")$.dirty();W.set(X.value,N.value)}return{status:$.value,value:W}})}else{let W=new Map;for(let G of j){let{key:X,value:N}=G;if(X.status==="aborted"||N.status==="aborted")return a;if(X.status==="dirty"||N.status==="dirty")$.dirty();W.set(X.value,N.value)}return{status:$.value,value:W}}}}ND.create=(_,$,U)=>{return new ND({valueType:$,keyType:_,typeName:s.ZodMap,...W_(U)})};class I0 extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==u.set)return h(U,{code:S.invalid_type,expected:u.set,received:U.parsedType}),a;let J=this._def;if(J.minSize!==null){if(U.data.sizeJ.maxSize.value)h(U,{code:S.too_big,maximum:J.maxSize.value,type:"set",inclusive:!0,exact:!1,message:J.maxSize.message}),$.dirty()}let D=this._def.valueType;function j(G){let X=new Set;for(let N of G){if(N.status==="aborted")return a;if(N.status==="dirty")$.dirty();X.add(N.value)}return{status:$.value,value:X}}let W=[...U.data.values()].map((G,X)=>D._parse(new t$(U,G,U.path,X)));if(U.common.async)return Promise.all(W).then((G)=>j(G));else return j(W)}min(_,$){return new I0({...this._def,minSize:{value:_,message:l.toString($)}})}max(_,$){return new I0({...this._def,maxSize:{value:_,message:l.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}I0.create=(_,$)=>{return new I0({valueType:_,minSize:null,maxSize:null,typeName:s.ZodSet,...W_($)})};class o1 extends O_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.function)return h($,{code:S.invalid_type,expected:u.function,received:$.parsedType}),a;function U(W,G){return pW({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,oW(),p1].filter((X)=>!!X),issueData:{code:S.invalid_arguments,argumentsError:G}})}function J(W,G){return pW({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,oW(),p1].filter((X)=>!!X),issueData:{code:S.invalid_return_type,returnTypeError:G}})}let D={errorMap:$.common.contextualErrorMap},j=$.data;if(this._def.returns instanceof F0){let W=this;return N$(async function(...G){let X=new b$([]),N=await W._def.args.parseAsync(G,D).catch((E)=>{throw X.addIssue(U(G,E)),X}),z=await Reflect.apply(j,this,N);return await W._def.returns._def.type.parseAsync(z,D).catch((E)=>{throw X.addIssue(J(z,E)),X})})}else{let W=this;return N$(function(...G){let X=W._def.args.safeParse(G,D);if(!X.success)throw new b$([U(G,X.error)]);let N=Reflect.apply(j,this,X.data),z=W._def.returns.safeParse(N,D);if(!z.success)throw new b$([J(N,z.error)]);return z.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new o1({...this._def,args:z6.create(_).rest(E4.create())})}returns(_){return new o1({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new o1({args:_?_:z6.create([]).rest(E4.create()),returns:$||E4.create(),typeName:s.ZodFunction,...W_(U)})}}class $U extends O_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}$U.create=(_,$)=>{return new $U({getter:_,typeName:s.ZodLazy,...W_($)})};class UU extends O_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return h($,{received:$.data,code:S.invalid_literal,expected:this._def.value}),a}return{status:"valid",value:_.data}}get value(){return this._def.value}}UU.create=(_,$)=>{return new UU({value:_,typeName:s.ZodLiteral,...W_($)})};function Z3(_,$){return new H4({values:_,typeName:s.ZodEnum,...W_($)})}class H4 extends O_{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),U=this._def.values;return h($,{expected:q_.joinValues(U),received:$.parsedType,code:S.invalid_type}),a}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),U=this._def.values;return h($,{received:$.data,code:S.invalid_enum_value,options:U}),a}return N$(_.data)}get options(){return this._def.values}get enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Values(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}extract(_,$=this._def){return H4.create(_,{...this._def,...$})}exclude(_,$=this._def){return H4.create(this.options.filter((U)=>!_.includes(U)),{...this._def,...$})}}H4.create=Z3;class DU extends O_{_parse(_){let $=q_.getValidEnumValues(this._def.values),U=this._getOrReturnCtx(_);if(U.parsedType!==u.string&&U.parsedType!==u.number){let J=q_.objectValues($);return h(U,{expected:q_.joinValues(J),received:U.parsedType,code:S.invalid_type}),a}if(!this._cache)this._cache=new Set(q_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let J=q_.objectValues($);return h(U,{received:U.data,code:S.invalid_enum_value,options:J}),a}return N$(_.data)}get enum(){return this._def.values}}DU.create=(_,$)=>{return new DU({values:_,typeName:s.ZodNativeEnum,...W_($)})};class F0 extends O_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.promise&&$.common.async===!1)return h($,{code:S.invalid_type,expected:u.promise,received:$.parsedType}),a;let U=$.parsedType===u.promise?$.data:Promise.resolve($.data);return N$(U.then((J)=>{return this._def.type.parseAsync(J,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}F0.create=(_,$)=>{return new F0({type:_,typeName:s.ZodPromise,...W_($)})};class f$ extends O_{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===s.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:U}=this._processInputParams(_),J=this._def.effect||null,D={addIssue:(j)=>{if(h(U,j),j.fatal)$.abort();else $.dirty()},get path(){return U.path}};if(D.addIssue=D.addIssue.bind(D),J.type==="preprocess"){let j=J.transform(U.data,D);if(U.common.async)return Promise.resolve(j).then(async(W)=>{if($.value==="aborted")return a;let G=await this._def.schema._parseAsync({data:W,path:U.path,parent:U});if(G.status==="aborted")return a;if(G.status==="dirty")return l1(G.value);if($.value==="dirty")return l1(G.value);return G});else{if($.value==="aborted")return a;let W=this._def.schema._parseSync({data:j,path:U.path,parent:U});if(W.status==="aborted")return a;if(W.status==="dirty")return l1(W.value);if($.value==="dirty")return l1(W.value);return W}}if(J.type==="refinement"){let j=(W)=>{let G=J.refinement(W,D);if(U.common.async)return Promise.resolve(G);if(G instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return W};if(U.common.async===!1){let W=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return a;if(W.status==="dirty")$.dirty();return j(W.value),{status:$.value,value:W.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((W)=>{if(W.status==="aborted")return a;if(W.status==="dirty")$.dirty();return j(W.value).then(()=>{return{status:$.value,value:W.value}})})}if(J.type==="transform")if(U.common.async===!1){let j=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!V0(j))return a;let W=J.transform(j.value,D);if(W instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:W}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((j)=>{if(!V0(j))return a;return Promise.resolve(J.transform(j.value,D)).then((W)=>({status:$.value,value:W}))});q_.assertNever(J)}}f$.create=(_,$,U)=>{return new f$({schema:_,typeName:s.ZodEffects,effect:$,...W_(U)})};f$.createWithPreprocess=(_,$,U)=>{return new f$({schema:$,effect:{type:"preprocess",transform:_},typeName:s.ZodEffects,...W_(U)})};class p$ extends O_{_parse(_){if(this._getType(_)===u.undefined)return N$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}p$.create=(_,$)=>{return new p$({innerType:_,typeName:s.ZodOptional,...W_($)})};class x6 extends O_{_parse(_){if(this._getType(_)===u.null)return N$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}x6.create=(_,$)=>{return new x6({innerType:_,typeName:s.ZodNullable,...W_($)})};class JU extends O_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;if($.parsedType===u.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}JU.create=(_,$)=>{return new JU({innerType:_,typeName:s.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...W_($)})};class jU extends O_{_parse(_){let{ctx:$}=this._processInputParams(_),U={...$,common:{...$.common,issues:[]}},J=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(jD(J))return J.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new b$(U.common.issues)},input:U.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new b$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}jU.create=(_,$)=>{return new jU({innerType:_,typeName:s.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...W_($)})};class OD extends O_{_parse(_){if(this._getType(_)!==u.nan){let U=this._getOrReturnCtx(_);return h(U,{code:S.invalid_type,expected:u.nan,received:U.parsedType}),a}return{status:"valid",value:_.data}}}OD.create=(_)=>{return new OD({typeName:s.ZodNaN,...W_(_)})};var ET=Symbol("zod_brand");class aW extends O_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;return this._def.type._parse({data:U,path:$.path,parent:$})}unwrap(){return this._def.type}}class YD extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.common.async)return(async()=>{let D=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(D.status==="aborted")return a;if(D.status==="dirty")return $.dirty(),l1(D.value);else return this._def.out._parseAsync({data:D.value,path:U.path,parent:U})})();else{let J=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return a;if(J.status==="dirty")return $.dirty(),{status:"dirty",value:J.value};else return this._def.out._parseSync({data:J.value,path:U.path,parent:U})}}static create(_,$){return new YD({in:_,out:$,typeName:s.ZodPipeline})}}class WU extends O_{_parse(_){let $=this._def.innerType._parse(_),U=(J)=>{if(V0(J))J.value=Object.freeze(J.value);return J};return jD($)?$.then((J)=>U(J)):U($)}unwrap(){return this._def.innerType}}WU.create=(_,$)=>{return new WU({innerType:_,typeName:s.ZodReadonly,...W_($)})};function F3(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function v3(_,$={},U){if(_)return K0.create().superRefine((J,D)=>{let j=_(J);if(j instanceof Promise)return j.then((W)=>{if(!W){let G=F3($,J),X=G.fatal??U??!0;D.addIssue({code:"custom",...G,fatal:X})}});if(!j){let W=F3($,J),G=W.fatal??U??!0;D.addIssue({code:"custom",...W,fatal:G})}return});return K0.create()}var BT={object:r_.lazycreate},s;(function(_){_.ZodString="ZodString",_.ZodNumber="ZodNumber",_.ZodNaN="ZodNaN",_.ZodBigInt="ZodBigInt",_.ZodBoolean="ZodBoolean",_.ZodDate="ZodDate",_.ZodSymbol="ZodSymbol",_.ZodUndefined="ZodUndefined",_.ZodNull="ZodNull",_.ZodAny="ZodAny",_.ZodUnknown="ZodUnknown",_.ZodNever="ZodNever",_.ZodVoid="ZodVoid",_.ZodArray="ZodArray",_.ZodObject="ZodObject",_.ZodUnion="ZodUnion",_.ZodDiscriminatedUnion="ZodDiscriminatedUnion",_.ZodIntersection="ZodIntersection",_.ZodTuple="ZodTuple",_.ZodRecord="ZodRecord",_.ZodMap="ZodMap",_.ZodSet="ZodSet",_.ZodFunction="ZodFunction",_.ZodLazy="ZodLazy",_.ZodLiteral="ZodLiteral",_.ZodEnum="ZodEnum",_.ZodEffects="ZodEffects",_.ZodNativeEnum="ZodNativeEnum",_.ZodOptional="ZodOptional",_.ZodNullable="ZodNullable",_.ZodDefault="ZodDefault",_.ZodCatch="ZodCatch",_.ZodPromise="ZodPromise",_.ZodBranded="ZodBranded",_.ZodPipeline="ZodPipeline",_.ZodReadonly="ZodReadonly"})(s||(s={}));var RT=(_,$={message:`Input not instance of ${_.name}`})=>v3((U)=>U instanceof _,$),y3=l$.create,h3=B4.create,HT=OD.create,AT=R4.create,x3=t1.create,VT=b0.create,bT=WD.create,KT=a1.create,IT=e1.create,FT=K0.create,MT=E4.create,PT=Y6.create,kT=GD.create,wT=o$.create,ST=r_.create,fT=r_.strictCreate,TT=s1.create,CT=tW.create,ZT=_U.create,vT=z6.create,yT=XD.create,hT=ND.create,xT=I0.create,rT=o1.create,uT=$U.create,nT=UU.create,mT=H4.create,dT=DU.create,cT=F0.create,M3=f$.create,iT=p$.create,lT=x6.create,oT=f$.createWithPreprocess,pT=YD.create,tT=()=>y3().optional(),aT=()=>h3().optional(),eT=()=>x3().optional(),sT={string:(_)=>l$.create({..._,coerce:!0}),number:(_)=>B4.create({..._,coerce:!0}),boolean:(_)=>t1.create({..._,coerce:!0}),bigint:(_)=>R4.create({..._,coerce:!0}),date:(_)=>b0.create({..._,coerce:!0})},_C=a;var m={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},r3=Y.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),K$=Y.string().datetime(),U_=Y.string().trim().min(1),a$=U_.refine((_)=>_.startsWith("artifact://")||_.startsWith("repo://")||_.startsWith("project://")||_.startsWith("dashboard://")||_.startsWith("render://")||_.startsWith("integration://")||_.startsWith("task://")||_.startsWith("todo://")||_.startsWith("file://")||_.startsWith("files://")||_.startsWith("mailery://")||_.startsWith("conversation://")||_.startsWith("knowledge://")||_.startsWith("memento://")||_.startsWith("https://")||_.startsWith("http://")||_.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),u3=Y.string().regex(/^[a-fA-F0-9]{64}$/),n3=Y.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),r6=Y.record(Y.unknown()),NU=Y.array(Y.string().min(1)).default([]),M0=K$.nullable().optional(),$C=new Set(["succeeded","failed","cancelled","blocked","skipped"]),k0=Y.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function F_(_){return Y.object({schema:Y.literal(_),id:Y.string().min(1),createdAt:K$,updatedAt:M0,metadata:r6.optional()}).strict()}var _c=Y.object({schema:r3,id:Y.string().min(1),createdAt:K$,updatedAt:M0,metadata:r6.optional()}).strict(),m3=Y.enum(["agent","human","service","model","workflow","system"]),UC=F_(m.actorRef).extend({kind:m3,name:Y.string().min(1).optional(),provider:Y.string().min(1).optional(),accountId:Y.string().min(1).optional(),machineId:Y.string().min(1).optional(),capabilities:Y.array(Y.string().min(1)).default([])}).strict(),Q6=Y.object({kind:m3,id:Y.string().min(1),name:Y.string().min(1).optional(),provider:Y.string().min(1).optional(),accountId:Y.string().min(1).optional(),machineId:Y.string().min(1).optional()}).strict(),d3=Y.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),DC=F_(m.resourceRef).extend({kind:d3,name:Y.string().min(1).optional(),uri:a$.optional(),externalId:U_.optional(),sourcePackage:U_.optional(),tags:NU}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:Y.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),N_=Y.object({kind:d3,id:Y.string().min(1),name:Y.string().min(1).optional(),uri:a$.optional(),externalId:U_.optional(),sourcePackage:U_.optional(),tags:NU}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:Y.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),Hz=Y.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),JC=Y.enum(["none","partial","full","unknown"]),jC=F_(m.evidenceRef).extend({kind:Hz,uri:a$,sha256:u3.optional(),summary:Y.string().min(1).optional(),contentType:Y.string().min(1).optional(),sizeBytes:Y.number().int().nonnegative().optional(),redaction:JC.default("unknown"),producer:Q6.optional(),resourceRefs:Y.array(N_).default([]),tags:NU}).strict(),S_=Y.object({id:Y.string().min(1),kind:Hz.optional(),uri:a$.optional(),sha256:u3.optional(),summary:Y.string().min(1).optional()}).strict(),zD=F_(m.costEstimate).extend({currency:Y.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:Y.number().int().nonnegative(),provider:Y.string().min(1).optional(),model:Y.string().min(1).optional(),accountId:Y.string().min(1).optional(),promptTokens:Y.number().int().nonnegative().optional(),completionTokens:Y.number().int().nonnegative().optional(),totalTokens:Y.number().int().nonnegative().optional(),basis:Y.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:Y.array(N_).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:Y.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),WC=Y.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),c3=F_(m.decisionEnvelope).extend({decisionType:Y.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:WC,actor:Q6.optional(),traceId:Y.string().min(1).optional(),inputHash:n3.optional(),policyBundleId:Y.string().min(1).optional(),selected:Y.array(N_).default([]),skipped:Y.array(N_).default([]),reason:Y.string().min(1),obligations:Y.array(Y.string().min(1)).default([]),redactions:Y.array(Y.string().min(1)).default([]),costEstimate:zD.optional(),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),GC=F_(m.capabilityCard).extend({kind:Y.enum(["model","tool","machine","agent","lane","connector","service"]),name:Y.string().min(1),version:Y.string().min(1).optional(),status:Y.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:Y.array(Y.string().min(1)).default([]),limitations:Y.array(Y.string().min(1)).default([]),riskLevel:Y.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:zD.optional(),evidenceRefs:Y.array(S_).default([])}).strict(),GU=Y.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),XC=Y.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),NC=Y.object({refName:U_,requiredForModes:Y.array(GU).min(1),allowedSecretInputs:Y.array(Y.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:U_,revocationCheck:Y.boolean().default(!0)}).strict(),OC=Y.object({operation:U_,supportedModes:Y.array(GU).min(1),sideEffectClass:XC,requiresApproval:Y.boolean().default(!1),requiresIdempotencyKey:Y.boolean().default(!1),requiresSandboxEvidence:Y.boolean().default(!1),requiresRollbackOrRevocation:Y.boolean().default(!1),rollbackOrRevocation:U_.optional(),noSideEffectSmoke:U_.optional(),reconciliation:U_.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:Y.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:Y.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:Y.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:Y.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:Y.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:Y.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),YC=Y.object({providerId:U_,appId:U_,adapterId:U_,ownerPackage:U_,modes:Y.array(GU).min(1),defaultMode:GU,credentialRequirements:Y.array(NC).default([]),operations:Y.array(OC).min(1),rateLimitPosture:U_,costPosture:U_.optional(),auditEvents:Y.array(U_).default([]),redactionRules:Y.array(U_).default([]),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:Y.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set(_.operations.flatMap((J)=>J.supportedModes));for(let J of U)if(!_.modes.includes(J))$.addIssue({code:Y.ZodIssueCode.custom,message:`operation mode ${J} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!_.credentialRequirements.some((D)=>D.requiredForModes.includes("live_mutating")))$.addIssue({code:Y.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),zC=Y.object({appId:U_,repo:U_,priority:Y.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:Y.array(U_).min(1),firstOperations:Y.array(U_).min(1),blockedUntil:Y.array(U_).default([])}).strict(),QC=F_(m.providerLiveModeStandard).extend({name:U_,version:U_,modes:Y.array(GU).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:Y.array(U_).min(1),liveMutationGate:Y.object({requiredMode:Y.literal("live_mutating"),requiredChecks:Y.array(U_).min(1),forbiddenBypassSignals:Y.array(U_).min(1),disabledLiveSmoke:U_}).strict(),noSideEffectSmoke:Y.object({requiredForModes:Y.array(GU).min(1),commandEvidence:Y.array(U_).min(1),secretOutputScan:Y.boolean().default(!0)}).strict(),credentialPolicy:Y.object({acceptedInputs:Y.array(Y.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:Y.literal(!1),missingCredentialBehavior:Y.literal("fail_closed"),revocationCheckRequired:Y.boolean().default(!0)}).strict(),operationCards:Y.array(YC).min(1),firstAdoptionTargets:Y.array(zC).min(1),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{let U=new Set(_.firstAdoptionTargets.map((D)=>D.appId)),J=new Set(_.operationCards.map((D)=>D.appId));for(let D of U)if(!J.has(D))$.addIssue({code:Y.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),qC=Y.object({id:Y.string().min(1),title:Y.string().min(1).optional(),summary:Y.string().min(1),text:Y.string().optional(),tokens:Y.number().int().nonnegative().optional(),source:S_,resourceRefs:Y.array(N_).default([])}).strict(),i3=F_(m.contextPack).extend({objective:Y.string().min(1),budget:Y.object({maxTokens:Y.number().int().positive().optional(),maxBytes:Y.number().int().positive().optional()}).strict().optional(),items:Y.array(qC).default([]),citations:Y.array(S_).default([]),freshness:Y.enum(["fresh","stale","unknown"]).default("unknown"),permissions:Y.array(Y.string().min(1)).default([]),redactions:Y.array(Y.string().min(1)).default([]),conflicts:Y.array(Y.string().min(1)).default([]),uncertainty:Y.string().min(1).optional()}).strict(),i$=U_.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),P0=Y.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),LC=Y.enum(["public","internal","private","sensitive"]),gC=Y.enum(["draft","active","paused","archived"]),Az=Y.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),l3=F_(m.integrationRef).extend({kind:Az,name:Y.string().min(1),projectId:P0.optional(),sourcePackage:U_.optional(),externalId:U_.optional(),uri:a$.optional(),enabled:Y.boolean().default(!0),readOnly:Y.boolean().default(!0),capabilities:Y.array(Y.string().min(1)).default([]),freshness:Y.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:N_.optional(),evidenceRefs:Y.array(S_).default([]),config:r6.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:Y.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),EC=Y.object({schemaRoot:i$.default(".hasna/project"),dashboardManifest:i$.default(".hasna/project/dashboard.render.json"),snapshotsDir:i$.default(".hasna/project/snapshots"),documentsDir:i$.default("documents"),reportsDir:i$.default("reports"),evidenceDir:i$.default(".hasna/project/evidence"),privateDir:i$.default(".hasna/project/private")}).strict(),BC=F_(m.projectManifest).extend({projectId:P0,slug:P0,name:Y.string().min(1),summary:Y.string().min(1).optional(),status:gC.default("active"),classification:LC.default("private"),owner:Q6.optional(),layout:EC.default({}),integrations:Y.array(l3).default([]),renderManifests:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(S_).default([]),tags:NU}).strict().superRefine((_,$)=>{let U=new Set,J=new Set;if(_.projectId!==_.slug)$.addIssue({code:Y.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[D,j]of _.integrations.entries()){if(U.has(j.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",D,"id"]});if(U.add(j.id),j.projectId&&j.projectId!==_.projectId)$.addIssue({code:Y.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",D,"projectId"]})}for(let[D,j]of _.renderManifests.entries()){if(j.kind!=="render")$.addIssue({code:Y.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(J.has(j.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});J.add(j.id)}}),RC=Y.enum(["local","package","provider","url"]),Vz=Y.object({id:Y.string().min(1),kind:RC,specifier:Y.string().min(1),path:i$.optional(),packageName:Y.string().min(1).optional(),uri:a$.optional(),provider:Az.optional(),schemaId:r3.optional(),integrity:n3.optional(),resourceRef:N_.optional(),optional:Y.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:Y.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:Y.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:Y.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:Y.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),HC=Y.enum(["dashboard","canvas","panel","report","document","custom"]),AC=Y.object({id:Y.string().min(1),title:Y.string().min(1),kind:HC,default:Y.boolean().default(!1),entry:i$.optional(),imports:Y.array(Vz).default([]),panelRefs:Y.array(N_).default([]),dataRefs:Y.array(N_).default([]),layout:r6.optional()}).strict(),VC=F_(m.renderManifest).extend({projectId:P0,name:Y.string().min(1),version:Y.string().min(1),manifestPath:i$.default(".hasna/project/dashboard.render.json"),renderer:Y.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:Y.array(AC).min(1),imports:Y.array(Vz).default([]),theme:r6.optional(),compatibility:Y.object({minProjectsVersion:Y.string().min(1).optional(),minContractsVersion:Y.string().min(1).optional()}).strict().optional(),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{let U=_.views.filter((j)=>j.default),J=new Set,D=new Set;if(U.length>1)$.addIssue({code:Y.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[j,W]of _.imports.entries()){if(D.has(W.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",j,"id"]});D.add(W.id)}for(let[j,W]of _.views.entries()){if(J.has(W.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",j,"id"]});J.add(W.id);let G=new Set;for(let[X,N]of W.imports.entries()){if(G.has(N.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",j,"imports",X,"id"]});G.add(N.id)}for(let[X,N]of W.panelRefs.entries())if(N.kind!=="panel")$.addIssue({code:Y.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",j,"panelRefs",X,"kind"]})}}),bC=Y.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),KC=Y.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),IC=Y.object({id:Y.string().min(1),label:Y.string().min(1),value:Y.union([Y.string(),Y.number(),Y.boolean()]),unit:Y.string().min(1).optional(),status:Y.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:Y.array(N_).default([])}).strict(),FC=Y.object({id:Y.string().min(1),title:Y.string().min(1),summary:Y.string().min(1).optional(),status:Y.string().min(1).optional(),priority:Y.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:K$.optional(),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(S_).default([]),metadata:r6.optional()}).strict(),MC=Y.object({renderer:Y.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:Y.string().min(1).optional(),entry:i$.optional(),imports:Y.array(Vz).default([]),spec:r6.default({})}).strict(),o3=F_(m.projectPanel).extend({projectId:P0,provider:Y.object({kind:Az,id:Y.string().min(1),name:Y.string().min(1).optional(),sourcePackage:U_.optional(),externalId:U_.optional()}).strict(),kind:KC,title:Y.string().min(1),summary:Y.string().min(1).optional(),state:bC.default("ready"),stateReason:Y.string().min(1).optional(),generatedAt:K$,freshness:Y.enum(["fresh","stale","unknown"]).default("unknown"),metrics:Y.array(IC).default([]),items:Y.array(FC).default([]),actions:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(S_).default([]),renderFragment:MC.optional(),warnings:Y.array(Y.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set(["error","auth_required","unavailable","stale"]),J=new Set,D=new Set;if(U.has(_.state)&&!_.stateReason)$.addIssue({code:Y.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:Y.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[j,W]of _.metrics.entries()){if(J.has(W.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",j,"id"]});J.add(W.id)}for(let[j,W]of _.items.entries()){if(D.has(W.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",j,"id"]});D.add(W.id)}for(let[j,W]of _.actions.entries())if(W.kind!=="action")$.addIssue({code:Y.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",j,"kind"]})}),PC=F_(m.projectSnapshot).extend({projectId:P0,generatedAt:K$,status:k0.default("unknown"),manifestRef:N_,renderManifestRef:N_.optional(),panels:Y.array(o3).default([]),contextPacks:Y.array(i3).default([]),proofBundleRefs:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(S_).default([]),warnings:Y.array(Y.string().min(1)).default([]),freshness:Y.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let U=new Set,J=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:Y.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:Y.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[D,j]of _.proofBundleRefs.entries())if(j.kind!=="proof_bundle")$.addIssue({code:Y.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",D,"kind"]});for(let[D,j]of _.panels.entries()){if(j.projectId!==_.projectId)$.addIssue({code:Y.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(U.has(j.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",D,"id"]});U.add(j.id)}for(let[D,j]of _.contextPacks.entries()){if(J.has(j.id))$.addIssue({code:Y.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});J.add(j.id)}}),p3=Y.object({id:Y.string().min(1),kind:Y.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:Y.boolean().default(!0),command:Y.string().min(1).optional(),expected:Y.string().min(1).optional(),timeoutMs:Y.number().int().positive().optional(),resourceRefs:Y.array(N_).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:Y.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),kC=F_(m.validationPlan).extend({objective:Y.string().min(1),subject:N_.optional(),checks:Y.array(p3).min(1),verifier:Q6.optional(),requiredEvidenceKinds:Y.array(Hz).default([])}).strict(),wC=Y.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),SC=Y.enum(["draft","active","deprecated","archived"]),fC=Y.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),TC=Y.object({key:Y.string().regex(/^[A-Z][A-Z0-9_]*$/),description:Y.string().min(1),required:Y.boolean().default(!1),["secret"]:Y.boolean().default(!1),group:Y.string().min(1).optional(),default:Y.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),CC=Y.object({name:Y.string().min(1),command:Y.string().min(1),description:Y.string().min(1).optional(),required:Y.boolean().default(!1)}).strict(),ZC=Y.object({packageManager:Y.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:Y.array(Y.string().min(1)).default([]),requiredFiles:Y.array(Y.string().min(1)).default([]),requiredDirectories:Y.array(Y.string().min(1)).default([]),optionalDirectories:Y.array(Y.string().min(1)).default([])}).strict(),vC=F_(m.scaffoldManifest).extend({name:Y.string().min(1),version:Y.string().min(1),summary:Y.string().min(1),type:wC,status:SC.default("draft"),capabilities:Y.array(fC).default([]),techStack:Y.array(Y.string().min(1)).default([]),tags:NU,source:N_.optional(),output:ZC,env:Y.array(TC).default([]),scripts:Y.array(CC).default([]),validationChecks:Y.array(p3).default([]),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:Y.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),yC=Y.enum(["installed","failed","cancelled","partial","unknown"]),hC=F_(m.scaffoldInstallRecord).extend({scaffoldId:Y.string().min(1),scaffoldVersion:Y.string().min(1).optional(),manifestRef:N_.optional(),target:N_,status:yC,installedAt:K$.optional(),installer:Q6.optional(),packageManager:Y.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:r6.optional(),generatedFiles:Y.array(N_).default([]),evidenceRefs:Y.array(S_).default([]),proofBundleRefs:Y.array(N_).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:Y.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if((_.status==="failed"||_.status==="partial")&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),XU=Y.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),bz=Y.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),t3=Y.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),xC=Y.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),rC=U_.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),uC=Y.enum(["active","stub","deprecated","archived"]),nC=Y.enum(["stable","beta","canary","internal"]),mC=Y.object({transport:Y.enum(["http","stdio"]).default("http"),bin:Y.string().min(1).optional(),url:a$.optional()}).strict(),dC=Y.object({healthPath:Y.string().min(1).default("/health"),port:Y.number().int().positive().optional(),baseUrl:a$.optional()}).strict(),cC=Y.object({bins:Y.array(Y.string().min(1)).default([]),mcp:mC.optional(),http:dC.optional()}).strict(),iC=F_(m.app).extend({appId:XU,npmName:bz,repoFolder:XU,githubUrl:rC,projectSlug:P0,surfaces:cC.default({}),lifecycle:uC,releaseChannel:nC.default("stable"),summary:Y.string().min(1).optional(),tags:NU}).strict().superRefine((_,$)=>{let U=new Set;for(let[J,D]of _.surfaces.bins.entries()){if(U.has(D))$.addIssue({code:Y.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",J]});U.add(D)}}),lC=Y.enum(["skill","ci","backfilled"]),oC=F_(m.release).extend({appId:XU,package:bz,version:t3,gitSha:xC,publishedAt:K$,publishPath:lC,changelogRef:N_.optional(),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),pC=Y.enum(["install","update","rollback","freeze-blocked"]),tC=Y.object({cliVersion:Y.string().min(1).optional(),mcpHealth:Y.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),aC=F_(m.rolloutRecord).extend({appId:XU,package:bz,version:t3,machine:U_,action:pC,result:k0,verifiedBy:tC.optional(),at:K$,evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:Y.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean(_.verifiedBy?.cliVersion)||_.verifiedBy?.mcpHealth!==void 0&&_.verifiedBy.mcpHealth!=="not_checked",J=_.verifiedBy?Object.keys(_.verifiedBy).length>0:!1;if((_.action==="install"||_.action==="update")&&_.result==="succeeded"&&(!_.verifiedBy||J&&!U))$.addIssue({code:Y.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),eC=Y.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),sC=Y.enum(["pending","queued","sent","failed","skipped","suppressed"]),_Z=Y.object({channel:eC,status:sC,deliveredAt:K$.optional(),detail:Y.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:Y.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:Y.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),$Z=F_(m.announcement).extend({campaignId:U_,appId:XU.optional(),releaseRef:N_.optional(),channels:Y.array(_Z).min(1),audienceRef:N_,sentAt:K$}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:Y.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:Y.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),UZ=Y.enum(["tag","attribute","group"]),DZ=Y.enum(["eq","neq","in","not_in","exists","not_exists"]),P3=Y.union([Y.string(),Y.number(),Y.boolean()]),JZ=Y.object({kind:UZ,key:Y.string().min(1).optional(),op:DZ.default("eq"),value:P3.optional(),values:Y.array(P3).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:Y.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:Y.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),jZ=Y.object({match:Y.enum(["all","any"]).default("all"),predicates:Y.array(JZ).min(1)}).strict(),WZ=Y.enum(["opt_in","opt_out","transactional","none"]),GZ=F_(m.audience).extend({audienceId:XU,name:U_,definition:jZ,consentPolicy:WZ,suppressionSyncedAt:M0}).strict(),qz=["@hasna/cloud","open-cloud"],XZ=Y.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),NZ=Y.object({id:Y.string().min(1),provider:XZ,kind:Y.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:Y.string().min(1),region:Y.string().min(1).optional(),accountId:Y.string().min(1).optional(),uri:a$.optional(),machineScoped:Y.boolean().default(!1)}).strict(),a3=F_(m.appCloudManifest).extend({packageName:Y.string().min(1),packageVersion:Y.string().min(1).optional(),appId:Y.string().min(1),repository:N_.optional(),storageMode:Y.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:Y.enum(["none","app_owned","external_service","local_cache"]),cloudResources:Y.array(NZ).default([]),localCache:Y.object({path:Y.string().min(1).optional(),pullMode:Y.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:Y.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:Y.array(Y.string().min(1)).default([...qz]),dependencies:Y.array(Y.string().min(1)).default([]),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...qz,..._.forbiddenSharedRuntimes]);if(U.has(_.packageName))$.addIssue({code:Y.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let J of qz)if(!_.forbiddenSharedRuntimes.includes(J))$.addIssue({code:Y.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${J}`,path:["forbiddenSharedRuntimes"]});for(let J of U)if(_.dependencies.includes(J))$.addIssue({code:Y.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${J}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:Y.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:Y.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:Y.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:Y.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:Y.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:Y.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if((_.storageMode==="app_owned_cloud"||_.storageMode==="hybrid_local_cache")&&_.cloudResources.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:Y.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((J,D)=>{if(J.ownerPackage!==_.packageName)$.addIssue({code:Y.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),e3=Y.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),OZ=Y.enum(["low","medium","high","critical"]),s3=Y.object({id:Y.string().min(1),kind:e3,severity:OZ,path:Y.string().min(1).optional(),packageName:Y.string().min(1).optional(),pattern:Y.string().min(1),message:Y.string().min(1),evidenceRefs:Y.array(S_).default([])}).strict(),YZ=Y.object({id:Y.string().min(1),kind:e3,status:k0,target:Y.string().min(1),command:Y.string().min(1).optional(),evidenceRefs:Y.array(S_).default([]),findings:Y.array(s3).default([])}).strict(),zZ=F_(m.noCloudEvidencePack).extend({subject:N_,packageName:Y.string().min(1).optional(),packageVersion:Y.string().min(1).optional(),generatedBy:Q6.optional(),scanMode:Y.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:k0,verdict:Y.enum(["passed","failed","warning","not_run"]),appCloudManifest:a3.optional(),checks:Y.array(YZ).min(1),findings:Y.array(s3).default([]),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{let U=[..._.findings,..._.checks.flatMap((D)=>D.findings)],J=U.filter((D)=>D.severity==="high"||D.severity==="critical");if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:Y.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(J.length>0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:Y.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&U.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:Y.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,j)=>{let W=D.findings.filter((G)=>G.severity==="high"||G.severity==="critical");if(D.status==="succeeded"&&W.length>0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",j,"findings"]})})}),QZ=Y.object({checkId:Y.string().min(1),status:k0,summary:Y.string().min(1).optional(),startedAt:M0,finishedAt:M0,evidenceRefs:Y.array(S_).default([])}).strict(),qZ=F_(m.proofBundle).extend({subject:N_,validationPlanRef:N_.optional(),status:k0,verdict:Y.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:Y.array(QZ).default([]),verifier:Q6.optional(),evidenceRefs:Y.array(S_).default([]),residualRisks:Y.array(Y.string().min(1)).default([]),freshness:Y.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:Y.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if(_.checks.forEach((J,D)=>{if(J.status!=="succeeded")$.addIssue({code:Y.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",D,"status"]})}),!(_.evidenceRefs.length>0||_.checks.some((J)=>J.evidenceRefs.length>0)))$.addIssue({code:Y.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:Y.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if(_.verdict==="failed"&&!_.checks.some((U)=>U.status==="failed")&&_.evidenceRefs.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),LZ=F_(m.workRun).extend({objective:Y.string().min(1),status:k0,actor:Q6,traceId:Y.string().min(1).optional(),startedAt:M0,finishedAt:M0,constraints:Y.array(Y.string().min(1)).default([]),resourceRefs:Y.array(N_).default([]),decisions:Y.array(c3).default([]),costEstimates:Y.array(zD).default([]),evidenceRefs:Y.array(S_).default([]),validationPlanRefs:Y.array(N_).default([]),proofBundleRefs:Y.array(N_).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!U)$.addIssue({code:Y.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if((_.status==="failed"||_.status==="blocked")&&!U&&_.decisions.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),gZ=Y.object({id:Y.string().min(1),at:K$,kind:Y.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:Y.string().min(1),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(S_).default([]),costEstimate:zD.optional()}).strict(),EZ=F_(m.agentTrajectory).extend({actor:Q6,workRunRef:N_.optional(),events:Y.array(gZ).default([]),outcome:Y.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:N_.optional()}).strict(),BZ="v1",RZ=Y.enum(["library","cli-with-store","service","saas"]),HZ=["local","self-hosted","cloud"],_B=Y.enum(HZ),AZ=Y.enum(["supported","deferred","unsupported"]),VZ=Y.enum(["none","local-only","api-key","session","service-token","custom"]),Lz=Y.object({method:Y.enum(["GET","POST","PUT","PATCH","DELETE"]),path:Y.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:Y.boolean().default(!1),description:Y.string().min(1).optional()}).strict(),bZ=Y.object({id:Y.string().min(1),kind:Y.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:Y.boolean().default(!0),command:Y.string().min(1).optional(),evidenceRef:S_.optional(),status:Y.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:Y.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:Y.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),KZ=Y.object({name:Y.string().min(1),status:AZ,bin:Y.string().min(1).optional(),mcpBin:Y.string().min(1).optional(),authMode:VZ,deploymentModes:Y.array(_B).min(1),health:Lz.optional(),readiness:Lz.optional(),version:Lz.optional(),apiBasePath:Y.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:Y.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:Y.string().min(1).optional(),readinessGates:Y.array(bZ).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.bin)$.addIssue({code:Y.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:Y.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!_.version)$.addIssue({code:Y.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:Y.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:Y.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:Y.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:Y.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),IZ=["local","cloud"],$B=Y.enum(IZ);var FZ=Y.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),MZ=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function PZ(_){return MZ.map(($)=>`${_}${$}`)}function k3(_){return`hasna/oss/${_}/database-url`}var kZ=Y.object({mode:$B,envPrefix:Y.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:Y.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:Y.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:Y.string().min(1).optional()}).strict(),wZ=Y.object({$schema:Y.string().min(1).optional(),schema:Y.literal(m.serviceContract),name:FZ,class:RZ,contractVersion:Y.literal(BZ),kitVersion:Y.string().min(1),description:Y.string().min(1).optional(),bins:Y.array(Y.string().min(1)).default([]),storage:kZ.optional(),deploymentModes:Y.array(_B).default(["local"]),serviceSurfaces:Y.array(KZ).default([]),metadata:r6.optional()}).strict().superRefine((_,$)=>{let U=new Set(PZ(_.name)),J=new Set;for(let[j,W]of _.bins.entries()){if(J.has(W))$.addIssue({code:Y.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",j]});if(J.add(W),!U.has(W))$.addIssue({code:Y.ZodIssueCode.custom,message:`Bin "${W}" is not allowlisted for app "${_.name}"; allowed: ${[...U].join(", ")}`,path:["bins",j]})}let D=(j)=>J.has(`${_.name}${j}`);if(_.storage){let j=_.name.toUpperCase().replace(/-/g,"_");if(_.storage.envPrefix&&_.storage.envPrefix!==`HASNA_${j}_`)$.addIssue({code:Y.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${j}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==k3(_.name))$.addIssue({code:Y.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${k3(_.name)}`,path:["storage","databaseUrlSecretRef"]});if(_.storage.mode==="cloud"&&!_.storage.databaseUrlSecretRef)$.addIssue({code:Y.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:Y.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:Y.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:Y.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if(_.storage.mode==="local"&&!_.storage.sqlitePath)$.addIssue({code:Y.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(!J.has(_.name))$.addIssue({code:Y.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:Y.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!D("-serve"))$.addIssue({code:Y.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:Y.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if(_.storage.mode!=="cloud")$.addIssue({code:Y.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!D("-serve"))$.addIssue({code:Y.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[j,W]of _.serviceSurfaces.entries()){if(W.bin&&!J.has(W.bin))$.addIssue({code:Y.ZodIssueCode.custom,message:`Service surface bin "${W.bin}" must be declared in bins`,path:["serviceSurfaces",j,"bin"]});if(W.mcpBin&&!J.has(W.mcpBin))$.addIssue({code:Y.ZodIssueCode.custom,message:`Service surface MCP bin "${W.mcpBin}" must be declared in bins`,path:["serviceSurfaces",j,"mcpBin"]});for(let[G,X]of W.deploymentModes.entries())if(!_.deploymentModes.includes(X))$.addIssue({code:Y.ZodIssueCode.custom,message:`Service surface deployment mode "${X}" must be declared in deploymentModes`,path:["serviceSurfaces",j,"deploymentModes",G]})}}),$c=Y.object({status:Y.enum(["ok","degraded","unavailable"]),version:Y.string().min(1),mode:$B}).strict(),Uc=Y.object({ready:Y.boolean(),reason:Y.string().min(1).optional()}).strict(),Dc=Y.object({version:Y.string().min(1)}).strict(),SZ=Y.enum(["info","notice","breaking","critical"]),fZ=Y.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (..)"),TZ=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],CZ=Y.enum(TZ);var ZZ=Y.enum(["fleet","package","machine"]),UB=F_(m.commsEventEnvelope).extend({type:fZ,severity:SZ,scope:ZZ,summary:Y.string().min(1).optional(),source:Q6.optional(),affected_packages:Y.array(U_).default([]),affected_machines:Y.array(U_).default([]),action_required:Y.boolean().default(!1),ack_by:K$.optional(),dedupe_key:U_,resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(S_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:Y.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:Y.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if(_.type==="fleet.freeze"||_.type==="fleet.unfreeze"){if(_.severity!=="critical")$.addIssue({code:Y.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:Y.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:Y.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),vZ=Y.enum(["fleet","package","product","loop-lane","initiative","personal"]),yZ=Y.enum(["quiet","work","firehose"]),hZ=U_.refine((_)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(_),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:)"),xZ=F_(m.commsChannelMetadata).extend({class:vZ,noise:yZ.optional(),owner:U_.optional(),until:hZ.optional(),successor:U_.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:Y.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:Y.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),w3={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},rZ=F_(m.commsMessageMetadata).extend({tag:CZ,envelope:UB}).strict().superRefine((_,$)=>{let U=w3[_.tag];if(!U.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:Y.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&_.envelope.type!==U.requiredEventType)$.addIssue({code:Y.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[J,D]of Object.entries(w3))if(D.requiredEventType===_.envelope.type&&_.tag!==J)$.addIssue({code:Y.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${J}] tag`,path:["tag"]})});var uZ={[m.actorRef]:UC,[m.resourceRef]:DC,[m.evidenceRef]:jC,[m.workRun]:LZ,[m.decisionEnvelope]:c3,[m.costEstimate]:zD,[m.capabilityCard]:GC,[m.providerLiveModeStandard]:QC,[m.contextPack]:i3,[m.integrationRef]:l3,[m.projectManifest]:BC,[m.projectPanel]:o3,[m.projectSnapshot]:PC,[m.renderManifest]:VC,[m.agentTrajectory]:EZ,[m.validationPlan]:kC,[m.proofBundle]:qZ,[m.scaffoldManifest]:vC,[m.scaffoldInstallRecord]:hC,[m.appCloudManifest]:a3,[m.noCloudEvidencePack]:zZ,[m.serviceContract]:wZ,[m.commsEventEnvelope]:UB,[m.commsChannelMetadata]:xZ,[m.commsMessageMetadata]:rZ,[m.app]:iC,[m.release]:oC,[m.rolloutRecord]:aC,[m.announcement]:$Z,[m.audience]:GZ};class DB extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function JB(_,$){let J=uZ[_].safeParse($);if(!J.success)throw new DB(_,J.error.issues);return J.data}var Jc={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",title:"Hasna Service Contract v1",description:"Repo self-description (hasna.contract.json) for the Hasna Service Contract v1. Storage runtime enum is local|cloud ONLY per Amendment A1 (PURE REMOTE).",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:m.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: , -cli, -mcp, -serve, -worker, -runner, -daemon, -migrate, -doctor."},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},description:"Supported deployment modes. local = this machine, self-hosted = Hasna-owned AWS, cloud = multi-tenant SaaS for outside users."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode","deploymentModes"],properties:{name:{type:"string",minLength:1},status:{enum:["supported","deferred","unsupported"]},bin:{type:"string",minLength:1},mcpBin:{type:"string",minLength:1},authMode:{enum:["none","local-only","api-key","session","service-token","custom"]},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},minItems:1},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},readiness:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},version:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},apiBasePath:{type:"string",pattern:"^/v[0-9]+$"},openApiPath:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$"},deferReason:{type:"string",minLength:1},readinessGates:{type:"array",items:{type:"object",additionalProperties:!1,required:["id","kind"],properties:{id:{type:"string",minLength:1},kind:{enum:["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]},required:{type:"boolean"},command:{type:"string",minLength:1},evidenceRef:{type:"object"},status:{enum:["pending","passed","failed","blocked","deferred"]},summary:{type:"string",minLength:1}}}}}},description:"Declared HTTP/MCP service surfaces. Supported surfaces name lifecycle endpoints; unsafe or unfinished surfaces use deferred/unsupported with a reason."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["local","cloud"],description:"Runtime storage enum. local|cloud ONLY (Amendment A1: PURE REMOTE)."},envPrefix:{type:"string",pattern:"^HASNA_[A-Z][A-Z0-9]*_$",description:"Primary env prefix, e.g. HASNA_TODOS_."},aliasEnvPrefix:{type:"string",pattern:"^[A-Z][A-Z0-9]*_$",description:"Optional short alias env prefix, e.g. TODOS_."},databaseUrlSecretRef:{type:"string",pattern:"^hasna/oss/[a-z0-9-]+/database-url$",description:"Secret Manager ref for the cloud database URL."},sqlitePath:{type:"string",minLength:1,description:"Local sqlite path (~/.hasna//.db)."}}},metadata:{type:"object"}}};var jB="@hasna/knowledge";function nZ(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function mZ(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function QD(_,$=180){let U=String(_??"").replace(/\s+/g," ").trim();if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-3))}...`}function c_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function qD(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function OU(_){if(typeof _!=="string"||_.length===0)return;let $=_.includes("T")?_:`${_.replace(" ","T")}Z`,U=new Date($);return Number.isNaN(U.valueOf())?void 0:U.toISOString()}function eW(_){return a$.safeParse(_).success}function e$(_,$,U,J,D=[]){return{kind:_,id:$,name:U,uri:J&&eW(J)?J:void 0,externalId:$,sourcePackage:jB,tags:D}}function dZ(_){return[..._.items.flatMap((U)=>[U.updated_at,U.created_at]),..._.sources.flatMap((U)=>[U.updated_at,U.created_at]),..._.chunks.map((U)=>U.created_at),..._.wiki_pages.flatMap((U)=>[U.updated_at,U.created_at]),..._.storage_objects.flatMap((U)=>[U.updated_at,U.created_at]),..._.runs.flatMap((U)=>[U.updated_at,U.created_at]),..._.reindex_queue.flatMap((U)=>[U.updated_at,U.created_at]),..._.sync_conflicts.map((U)=>U.created_at),..._.approval_gates.flatMap((U)=>[U.updated_at,U.created_at])].map(OU).filter(Boolean).sort((U,J)=>J.localeCompare(U))[0]}function cZ(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function iZ(_){let $=(U)=>{let J=String(U??"").toLowerCase();return J!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(J)};return _.reindex_queue.filter((U)=>$(U.status)).length+_.sync_conflicts.filter((U)=>$(U.status)).length+_.approval_gates.filter((U)=>$(U.status)).length}function lZ(_,$){let U=[];for(let J of _.items.slice(0,$))U.push({id:`item_${J.id}`,title:J.title,summary:QD(J.content_preview),status:J.archived?"archived":"active",priority:"medium",timestamp:OU(J.updated_at??J.created_at),resourceRefs:[e$("knowledge",J.id,J.title,`knowledge://item/${encodeURIComponent(J.id)}`,J.tags)],evidenceRefs:J.url&&eW(J.url)?[{id:`url_${J.id}`,kind:"url",uri:J.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:J.archived,tags:J.tags,url:J.url||void 0}});for(let J of _.sources.slice(0,Math.max(0,$-U.length))){let D=c_(J.id,c_(J.uri,"source")),j=c_(J.title,c_(J.uri,D)),W=c_(J.uri,`knowledge://source/${encodeURIComponent(D)}`);U.push({id:`source_${D}`,title:j,summary:QD(`${qD(J.chunks)} chunk(s), ${qD(J.revisions)} revision(s)`),status:qD(J.chunks)>0?"indexed":"source",priority:"medium",timestamp:OU(J.updated_at??J.created_at),resourceRefs:[e$("document",D,j,W)],evidenceRefs:eW(W)?[{id:`source_${D}`,kind:"url",uri:W,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:J.kind,chunks:qD(J.chunks),revisions:qD(J.revisions)}})}for(let J of _.chunks.slice(0,Math.max(0,$-U.length))){let D=c_(J.id,"chunk"),j=c_(J.source_uri);U.push({id:`chunk_${D}`,title:c_(J.wiki_title,j?`Chunk from ${j}`:`Knowledge chunk ${D}`),summary:QD(J.text_preview),status:"chunk",priority:"low",timestamp:OU(J.created_at),resourceRefs:[e$("context_pack",D,c_(J.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:j&&eW(j)?[{id:`chunk_source_${D}`,kind:"url",uri:j,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:j||void 0,token_count:J.token_count,ordinal:J.ordinal}})}for(let J of _.sync_conflicts.slice(0,Math.max(0,$-U.length))){let D=c_(J.id,"sync_conflict");U.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${c_(J.entity_kind,"entity")}/${c_(J.entity_id,D)}`,summary:QD(`Status ${c_(J.status,"unknown")}; strategy ${c_(J.resolution_strategy,"none")}.`),status:c_(J.status,"unknown"),priority:"critical",timestamp:OU(J.created_at),resourceRefs:[e$("finding",D,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:J.local_machine_id,remote_machine_id:J.remote_machine_id}})}for(let J of _.reindex_queue.slice(0,Math.max(0,$-U.length))){let D=c_(J.id,"reindex");U.push({id:`reindex_${D}`,title:`Reindex ${c_(J.kind,"item")}: ${c_(J.target_id,D)}`,summary:QD(J.reason),status:c_(J.status,"unknown"),priority:c_(J.status).toLowerCase()==="failed"?"high":"medium",timestamp:OU(J.updated_at??J.created_at),resourceRefs:[e$("action",D,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:J.attempts,source_uri:J.source_uri}})}return U.slice(0,$)}async function WB(_,$={}){let U=nZ($.limit),J=new Date().toISOString(),D=mZ(_),W=await($.service??lW({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:U,storePath:$.storePath,includeArchived:$.includeArchived}),G=dZ(W),X=cZ(G),N=W.summary.active_items+W.summary.sources+W.summary.chunks+W.summary.wiki_pages+W.summary.storage_objects,z=iZ(W),L=N===0?"empty":X==="stale"?"stale":"ready",E=lZ(W,U),Q={schema:m.projectPanel,id:`knowledge_panel_${D}`,createdAt:J,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:jB,externalId:W.home},kind:"knowledge",title:"Knowledge",summary:L==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${W.summary.active_items} active note(s), ${W.summary.sources} source(s), ${W.summary.chunks} chunk(s), and ${W.summary.wiki_pages} wiki page(s).`,state:L,stateReason:L==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:J,freshness:X,metrics:[{id:"active_items",label:"Active notes",value:W.summary.active_items,status:W.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:W.summary.sources,status:W.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:W.summary.chunks,status:W.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:W.summary.wiki_pages,status:W.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:W.summary.storage_objects,status:W.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:W.summary.vector_entries,status:W.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:z,status:z>0?"warning":"good"}],items:E,actions:[e$("action","knowledge:inventory","Inspect knowledge inventory"),e$("action","knowledge:context-pack","Build cited context pack"),e$("action","knowledge:ingest","Ingest project source")],resourceRefs:[e$("project",D,_,`project://${D}`),e$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),e$("artifact",`db_${D}`,"Knowledge database",`knowledge://db/${encodeURIComponent(D)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:U}},metadata:{scope:W.scope,home:W.home,json_store_exists:W.paths.json_store_exists,latest_activity_at:G}};return JB(m.projectPanel,Q)}function GB(_){let $=[`${_.title}: ${_.state}`,_.summary??"",..._.metrics.map((U)=>`${U.label}: ${U.value}`)].filter(Boolean);if(_.items.length>0){$.push("Items:");for(let U of _.items.slice(0,10))if($.push(`- ${U.title}${U.status?` [${U.status}]`:""}`),U.summary)$.push(` ${U.summary}`)}return $.join(` -`)}var OB=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"];var oZ=["remote","hybrid","self_hosted"],YB="HASNA_KNOWLEDGE_STORAGE_MODE",zB="KNOWLEDGE_STORAGE_MODE";function XB(_){return process.env[_]?.trim()||void 0}function NB(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="local")return"local";if($==="cloud")return"cloud";if($&&oZ.includes($))return"cloud";return}function pZ(_={}){let $=C0(VD(_.scope,_.cwd).home);return o($.knowledgeDbPath),{db:x($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function QB(){let _=NB(XB(YB))??NB(XB(zB));if(_)return _;return"local"}function Kz(_={}){let $=pZ(_);try{tZ($.db);let U=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:QB(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:OB,sync:U}}finally{$.db.close()}}function tZ(_){_.exec(` + `,[U])),k={legacy_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,schema_version:Y.schema_version,sources:Y.sources,source_revisions:Y.source_revisions,chunks:Y.chunks,wiki_pages:Y.wiki_pages,citations:Y.citations,indexes:Y.indexes,runs:Y.runs,run_events:Y.run_events,storage_objects:Y.storage_objects,embeddings:Y.embeddings,vector_entries:Y.vector_entries,reindex_queue:Y.reindex_queue,redaction_findings:Y.redaction_findings,audit_events:Y.audit_events,approval_gates:Y.approval_gates,knowledge_machines:Y.knowledge_machines,sync_snapshots:Y.sync_snapshots,sync_changes:Y.sync_changes,sync_conflicts:Y.sync_conflicts,sync_table_clocks:Y.sync_table_clocks,sync_imports:Y.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:U,paths:{json_store_path:W,json_store_exists:J.exists,knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:!0,artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:k,legacy_store:{path:W,exists:J.exists,read_error:J.read_error,total_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,items_returned:Math.min(G.length,U)},items:G.slice(0,U).map(ZR),sources:O,source_revisions:B,chunks:V,wiki_pages:L,indexes:N,storage_objects:H,runs:R,vector_indexes:b,reindex_queue:A,machines:M,sync_conflicts:E,approval_gates:g,audit_events:Z,message:`${J.items.length} item(s), ${Y.sources} source(s), ${Y.chunks} chunk(s), ${Y.wiki_pages} wiki page(s), ${Y.storage_objects} artifact(s)`}}finally{j.close()}}assertAppWikiWrite($){oU({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:$})}async initAppWiki($={}){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return GB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async addAppWikiNote($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return QB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal,title:$.title,content:$.content,tags:$.tags,sourceRefs:$.sourceRefs,path:$.path,metadata:$.metadata})}listAppWikiNotes($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return YB({dbPath:_.knowledgeDbPath,limit:$.limit})}async getAppWikiNote($,_={}){let U=this.workspace;if(!x$(U.knowledgeDbPath))return null;return jB({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:$,includeContent:_.includeContent})}async addAppWikiSourceRef($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return DB({scope:this.scope,workspace:_,sourceRef:$.sourceRef,purpose:$.purpose,config:this.config(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async searchAppWiki($){return this.search($)}async queryAppWiki($){return this.retrieveContext($)}async initWiki(){let $=this.ensureWorkspace();$$($.knowledgeDbPath);let _=await HR(this.artifactStore()),U=d($.knowledgeDbPath);try{W4(U,_.artifacts),VR(U,_.artifacts)}finally{U.close()}return _}async compileWiki($={}){let _=this.ensureWorkspace();return OR({...$,dbPath:_.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer($){let _=this.ensureWorkspace(),U=await this.retrieveContext({query:$.prompt,limit:$.limit,semantic:$.semantic,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake});return LR({dbPath:_.knowledgeDbPath,store:this.artifactStore(),prompt:$.prompt,answer:$.answer,context:U,approveWrite:$.approveWrite})}lintWiki(){let $=this.ensureWorkspace();return NR({dbPath:$.knowledgeDbPath})}async ingestManifest($){let _=this.ensureWorkspace();return _B({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource($,_){let U=this.ensureWorkspace();return LX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance($={}){let _=$.dryRun!==!1,U=_?this.workspace:this.ensureWorkspace();return UR({root:$.root??this.options.cwd??process.cwd(),scope:this.scope,owner:$.owner,dryRun:_,deprecateLegacy:$.deprecateLegacy,includeLegacy:$.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:$.maxItems,limit:$.limit})}async resolveSource($,_={}){let U=this.ensureWorkspace();return zX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_.purpose,limit:_.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox($){let _=this.ensureWorkspace();return KV({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return Qh();return lV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}enqueueReindex($={}){let _=this.ensureWorkspace();return Pq({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async refreshEmbeddings($={}){let _=this.ensureWorkspace();return rV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}providerStatus($=process.env){return NB(this.config(),$)}modelRegistry(){return iG(this.config())}embeddingStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return Yh();return bB($.knowledgeDbPath)}async indexEmbeddings($={}){let _=this.ensureWorkspace();return HX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}isApiMode(){return C4()}async fetchCloudItems(){let $=pU();if(!$)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return WX($)}async semanticSearch($){let _=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems(),W=await C0(U,{...$},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:W.results}}if(!x$(_.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:[]};return VX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async search($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return C0(W,$)}let U=aq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U))return FX({...$,legacyStorePath:U,config:this.config()});return iR($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return bX({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return KX(W,$)}let U=aq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U)){let W=await FX({...$,legacyStorePath:U,config:this.config()});return R2(W,{contextChars:$.contextChars})}return Xh($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return A2({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack($){let _=this.workspace;if(this.isApiMode()){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"){let J=await this.fetchCloudItems(),X=await C0(J,{...$,query:W}),G=R2(X,{contextChars:$.contextChars});return hR($,G,this.safetyPolicy())}return xR($)}let U=aq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"&&x$(U)){let J=await FX({...$,query:W,legacyStorePath:U,config:this.config()}),X=R2(J,{contextChars:$.contextChars});return hR($,X,this.safetyPolicy())}return xR($)}return aB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt($){if(this.isApiMode()){let W=await this.fetchCloudItems();return dB(W,{...$,config:this.config()})}let _=this.ensureWorkspace(),U=$.legacyStorePath??_.jsonStorePath;if(!$.legacyStorePath)kU(U);return uB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch($){let _=this.ensureWorkspace();return GR({...$,dbPath:_.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology($={}){let _=this.workspace;return xV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}async machinePreflight($={}){let _=this.workspace;return dV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}syncStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return jh({scope:this.scope,workspaceHome:$.home});return A3({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home})}async syncDoctor($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.syncStatus(),W=this.storageContract(),J=this.validateStorage(),X=Dh(_.knowledgeDbPath,W),G=$.machine?.trim()||null,Q=$.peerWorkspace?.trim()||null,Y=[],j=null,O=null;if(G&&!nR(G)){let H=await fq({machineId:G,includeTailscale:$.includeTailscale});j=tq(H),Y.push(...H.warnings)}if(G||Q){let H=await D5({machineId:G??oq(_),peerWorkspace:Q,includeTailscale:$.includeTailscale});if(G&&!Q&&(j?.source==="raw"||!H.ok||!H.project_root)){let R=fR(_.knowledgeDbPath,G);if(R){if(j?.source==="raw"&&R.ssh_target)j=tq(PR(R,G,{target:j.target,route:j.route,targetKind:j.target_kind,confidence:j.confidence,source:j.source,adapter:j.adapter,evidence:j.evidence,cacheability:j.cacheability,warnings:[]}));if(!H.ok||!H.project_root){let b=CR(R,G,H);if(b)O=bW(b,b.project_root),Y.push(...b.warnings)}}}O=H.ok&&H.project_root?bW(H,H.project_root):O??{...bW(H,Q??""),project_root:H.project_root??Q??""},Y.push(...H.warnings)}if(!J.ok)Y.push(...J.errors.map((H)=>`storage:${H}`));let B=$h(_.knowledgeDbPath,O);if(!B.ok)Y.push("open_files_boundary_raw_payload_sentinels");if(!X.ok)Y.push(...X.warnings);let V=O?.diagnostics.filter((H)=>H.severity==="fail")??[],L=J.ok&&X.ok&&B.ok&&V.length===0&&(O?.project_root!==""||!O),N=qh({scope:this.scope,machine:G,peerWorkspace:Q,tables:$.tables,resolvedWorkspace:O,openConflicts:U.conflicts.open});return{ok:L,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:_.home,database:{sqlite_schema_version:U.sqlite_schema_version,table_counts:U.table_counts},storage:{contract:W,validation:J,artifact_manifest:X},sync:{machines:U.machines.total,snapshots:U.snapshots.total,clocks:U.clocks.total,imports:U.imports.total,open_conflicts:U.conflicts.open,table_clocks:U.clocks.rows},open_files:B,resolved_route:j,resolved_workspace:O,recommended_commands:N,warnings:[...new Set(Y)],message:L?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(Y)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.storageContract(),W=_O(U),J=zh(_.knowledgeDbPath,U),X=$.dryRun===!0||$.approveWrite!==!0;if(J.length===0)return{ok:!0,dry_run:X,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if($.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:`Would repair ${J.length} legacy S3 artifact manifest key(s)`};if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by "};let G=d(_.knowledgeDbPath);try{let Q=new Date().toISOString();G.transaction((O)=>{let B=G.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),V=G.query("SELECT id, metadata_json FROM storage_objects").all(),L=new Map(V.map((N)=>[N.id,UU(N.metadata_json)]));for(let N of O){let H=L.get(N.id)??{};H.key=N.repaired_key,B.run(JSON.stringify(H),Q,N.id)}})(J);let j=a$(G,{event_type:"artifact_manifest_key_repair",action:"storage.artifact_manifest.repair_keys",target_uri:`knowledge-storage://${_.home}/storage_objects`,decision:"allow",metadata:{approved_by:$.approvedBy,repaired:J.length,storage_type:U.storage_type,storage_prefix:W,artifact_uris:J.map((O)=>O.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:J.length,audit_event_id:j,message:`Repaired ${J.length} legacy S3 artifact manifest key(s)`}}finally{G.close()}}async createSyncSnapshot($={}){let _=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:$.includeTailscale!==!1});return R3({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),topology:U,machineId:$.machineId})}syncConflicts($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return b3(_.knowledgeDbPath,$)}syncConflict($){let _=this.ensureWorkspace(),U=SX(_.knowledgeDbPath,$);if(!U)throw Error(`Sync conflict not found: ${$}`);return U}proposeSyncConflictResolution($){let _=this.ensureWorkspace();return XJ(_.knowledgeDbPath,$)}async proposeSyncConflictResolutionWithAi($){let _=this.ensureWorkspace();return FV({dbPath:_.knowledgeDbPath,id:$.id,config:this.config(),modelRef:$.modelRef,fake:$.fake,env:$.env})}resolveSyncConflict($){let _=this.ensureWorkspace(),U=XJ(_.knowledgeDbPath,$.id);if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by "};let W=K3(_.knowledgeDbPath,{id:$.id,strategy:$.strategy??U.proposed_strategy,approvedBy:$.approvedBy,proposedPatchUri:$.proposedPatchUri}),J=d(_.knowledgeDbPath);try{let X=a$(J,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${$.id}`,decision:"allow",metadata:{conflict_id:$.id,entity_kind:W.entity_kind,entity_id:W.entity_id,strategy:W.resolution_strategy,approved_by:W.approved_by,proposed_patch_uri:W.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:W,audit_event_id:X,message:`Resolved sync conflict ${$.id}`}}finally{J.close()}}syncMachines(){let $=this.workspace;if(!x$($.knowledgeDbPath))return[];return qQ($.knowledgeDbPath)}exportSyncBundle($={}){let _=this.ensureWorkspace();return this.assertStorageValid("sync export"),$$(_.knowledgeDbPath),WJ({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.recordClocks!==!1})}async importSyncBundle($){let _=this.ensureWorkspace();return this.assertStorageValid("sync import"),$$(_.knowledgeDbPath),TX({targetDbPath:_.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:_.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:$.bundle,direction:$.direction??"import",dryRun:$.dryRun,localMachineId:$.machineId??null})}async syncRemotePeer($){let _=$.direction??"both",U=$.dryRun===!0,W=this.ensureWorkspace();$$(W.knowledgeDbPath);let J=$.tables?.length?["--tables",$.tables.join(",")]:[],X=$.includeArtifactContent===!1?["--no-artifact-content"]:[],G=["--scope",this.scope,"--json"],Q=await fq({machineId:$.machine,includeTailscale:$.includeTailscale}),Y=await D5({machineId:$.machine,peerWorkspace:$.peerWorkspace,includeTailscale:$.includeTailscale});if(!$.peerWorkspace&&Q.source==="raw"||!Y.ok||!Y.project_root){let L=fR(W.knowledgeDbPath,$.machine);if(L){if(!$.peerWorkspace&&Q.source==="raw"&&L.ssh_target)Q=PR(L,$.machine,Q);if(!Y.ok||!Y.project_root){let N=CR(L,$.machine,Y);if(N)Y=N}}}if(!Y.ok||!Y.project_root)throw Error([`Unable to resolve peer workspace for ${$.machine}.`,"Pass --peer-workspace or configure workspace path mapping in machines.",Y.warnings.length?`Warnings: ${Y.warnings.join(", ")}`:null].filter(Boolean).join(" "));let j=Y.project_root,O={ok:!0,dry_run:U,direction:_,transport:"ssh",machine:$.machine,resolved_machine:Q.target,resolved_route:tq(Q),resolved_workspace:bW(Y,Y.project_root),peer_workspace:j,message:""},B=!1,V=()=>{if(U||B)return;B3(W.knowledgeDbPath,{machineId:$.machine,route:Q,workspace:Y}),B=!0};if(_==="pull"||_==="both"){let L=kR(j,["sync","export",...G,...J,...X]),N=mR($.machine,L,void 0,Q),H=uR($.machine,"sync export",N);Lh($.machine,H),O.pull=await this.importSyncBundle({bundle:H,dryRun:U,direction:"pull",machineId:$.machineId??null})}if(_==="push"||_==="both"){V();let L=this.exportSyncBundle({machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:!U}),N=kR(j,["sync","import",...G,...U?["--dry-run"]:[]]),H=uR($.machine,"sync import",mR($.machine,N,JSON.stringify(L),Q));Nh($.machine,H),O.push=H}return O.ok=(O.pull?.ok??!0)&&(O.push?.ok??!0),V(),O.message=[TR(O.resolved_workspace),O.pull?`pull: ${O.pull.message}`:null,O.push?`push: ${O.push.message}`:null].filter(Boolean).join("; "),O}async syncPeer($){let _=$.direction??"both",U=this.ensureWorkspace();$$(U.knowledgeDbPath);let W=dR($.peerWorkspace),J=ry(W);$$(J.knowledgeDbPath);let X=m5(J.configPath),G=YX(X,J,this.scope),Q=TG(X,J),Y=$.machineId??oq(U),j=oq(J),O=await D5({machineId:$.machineId??j,peerWorkspace:W,includeTailscale:!1}),B=()=>WJ({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:Y,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),V=()=>WJ({dbPath:J.knowledgeDbPath,scope:this.scope,workspaceHome:J.home,storage:G,machineId:j,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),L={ok:!0,dry_run:$.dryRun===!0,direction:_,resolved_workspace:bW(O,O.project_root??W),message:""};if(_==="pull"||_==="both")L.pull=await TX({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:V(),targetBundle:B(),direction:"pull",dryRun:$.dryRun,localMachineId:Y});if(_==="push"||_==="both")L.push=await TX({targetDbPath:J.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:J.home,targetStorage:G,targetStore:Q,bundle:B(),targetBundle:V(),direction:"push",dryRun:$.dryRun,localMachineId:j});return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),L.message=[TR(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}}function A5($={}){return new pR($)}var Hh=Object.defineProperty,Vh=($)=>$;function Rh($,_){this[$]=Vh.bind(null,_)}var Ah=($,_)=>{for(var U in _)Hh($,U,{get:_[U],enumerable:!0,configurable:!0,set:Rh.bind(_,U)})},q={};Ah(q,{void:()=>Wx,util:()=>I$,unknown:()=>Ux,union:()=>Yx,undefined:()=>eh,tuple:()=>zx,transformer:()=>aR,symbol:()=>sh,string:()=>QA,strictObject:()=>Qx,setErrorMap:()=>Eh,set:()=>Lx,record:()=>qx,quotelessJson:()=>bh,promise:()=>Ax,preprocess:()=>Ex,pipeline:()=>Kx,ostring:()=>Mx,optional:()=>bx,onumber:()=>gx,oboolean:()=>Ix,objectUtil:()=>XO,object:()=>Gx,number:()=>YA,nullable:()=>Fx,null:()=>$x,never:()=>Jx,nativeEnum:()=>Rx,nan:()=>oh,map:()=>Ox,makeIssue:()=>F5,literal:()=>Hx,lazy:()=>Bx,late:()=>ih,isValid:()=>L1,isDirty:()=>QO,isAsync:()=>MW,isAborted:()=>GO,intersection:()=>Dx,instanceof:()=>ph,getParsedType:()=>V4,getErrorMap:()=>b5,function:()=>Nx,enum:()=>Vx,effect:()=>aR,discriminatedUnion:()=>jx,defaultErrorMap:()=>GU,datetimeRegex:()=>WA,date:()=>ah,custom:()=>GA,coerce:()=>wx,boolean:()=>jA,bigint:()=>th,array:()=>Xx,any:()=>_x,addIssueToContext:()=>u,ZodVoid:()=>IW,ZodUnknown:()=>_0,ZodUnion:()=>DU,ZodUndefined:()=>YU,ZodType:()=>F$,ZodTuple:()=>u6,ZodTransformer:()=>e_,ZodSymbol:()=>gW,ZodString:()=>R6,ZodSet:()=>H1,ZodSchema:()=>F$,ZodRecord:()=>wW,ZodReadonly:()=>HU,ZodPromise:()=>V1,ZodPipeline:()=>PW,ZodParsedType:()=>l,ZodOptional:()=>b6,ZodObject:()=>U_,ZodNumber:()=>U0,ZodNullable:()=>R4,ZodNull:()=>jU,ZodNever:()=>m6,ZodNativeEnum:()=>LU,ZodNaN:()=>fW,ZodMap:()=>kW,ZodLiteral:()=>OU,ZodLazy:()=>qU,ZodIssueCode:()=>T,ZodIntersection:()=>zU,ZodFunction:()=>XU,ZodFirstPartyTypeKind:()=>Q$,ZodError:()=>n_,ZodEnum:()=>W0,ZodEffects:()=>e_,ZodDiscriminatedUnion:()=>E5,ZodDefault:()=>NU,ZodDate:()=>N1,ZodCatch:()=>BU,ZodBranded:()=>K5,ZodBoolean:()=>QU,ZodBigInt:()=>J0,ZodArray:()=>A6,ZodAny:()=>B1,Schema:()=>F$,ParseStatus:()=>A_,OK:()=>I_,NEVER:()=>kx,INVALID:()=>W$,EMPTY_PATH:()=>Kh,DIRTY:()=>WU,BRAND:()=>rh});var I$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(I$||(I$={}));var XO;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(XO||(XO={}));var l=I$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),V4=($)=>{switch(typeof $){case"undefined":return l.undefined;case"string":return l.string;case"number":return Number.isNaN($)?l.nan:l.number;case"boolean":return l.boolean;case"function":return l.function;case"bigint":return l.bigint;case"symbol":return l.symbol;case"object":if(Array.isArray($))return l.array;if($===null)return l.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return l.promise;if(typeof Map<"u"&&$ instanceof Map)return l.map;if(typeof Set<"u"&&$ instanceof Set)return l.set;if(typeof Date<"u"&&$ instanceof Date)return l.date;return l.object;default:return l.unknown}},T=I$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),bh=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class n_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}n_.create=($)=>{return new n_($)};var Fh=($,_)=>{let U;switch($.code){case T.invalid_type:if($.received===l.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case T.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,I$.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:U=`Unrecognized key(s) in object: ${I$.joinValues($.keys,", ")}`;break;case T.invalid_union:U="Invalid input";break;case T.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${I$.joinValues($.options)}`;break;case T.invalid_enum_value:U=`Invalid enum value. Expected ${I$.joinValues($.options)}, received '${$.received}'`;break;case T.invalid_arguments:U="Invalid function arguments";break;case T.invalid_return_type:U="Invalid function return type";break;case T.invalid_date:U="Invalid date";break;case T.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else I$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case T.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case T.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case T.custom:U="Invalid input";break;case T.invalid_intersection_types:U="Intersection results could not be merged";break;case T.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case T.not_finite:U="Number must be finite";break;default:U=_.defaultError,I$.assertNever($)}return{message:U}},GU=Fh,_A=GU;function Eh($){_A=$}function b5(){return _A}var F5=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},Kh=[];function u($,_){let U=b5(),W=F5({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===GU?void 0:GU].filter((J)=>!!J)});$.common.issues.push(W)}class A_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return W$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return A_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return W$;if(X.status==="aborted")return W$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var W$=Object.freeze({status:"aborted"}),WU=($)=>({status:"dirty",value:$}),I_=($)=>({status:"valid",value:$}),GO=($)=>$.status==="aborted",QO=($)=>$.status==="dirty",L1=($)=>$.status==="valid",MW=($)=>typeof Promise<"u"&&$ instanceof Promise,e;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(e||(e={}));class F6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var oR=($,_)=>{if(L1(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new n_($.common.issues);return this._error=U,this._error}}}};function B$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class F${get description(){return this._def.description}_getType($){return V4($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new A_,ctx:{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(MW(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parseSync({data:$,path:U.path,parent:U});return oR(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return L1(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>L1(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(MW(W)?W:Promise.resolve(W));return oR(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:T.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new e_({schema:this,typeName:Q$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return b6.create(this,this._def)}nullable(){return R4.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return A6.create(this)}promise(){return V1.create(this,this._def)}or($){return DU.create([this,$],this._def)}and($){return zU.create(this,$,this._def)}transform($){return new e_({...B$(this._def),schema:this,typeName:Q$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new NU({...B$(this._def),innerType:this,defaultValue:_,typeName:Q$.ZodDefault})}brand(){return new K5({typeName:Q$.ZodBranded,type:this,...B$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new BU({...B$(this._def),innerType:this,catchValue:_,typeName:Q$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return PW.create(this,$)}readonly(){return HU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Mh=/^c[^\s-]{8,}$/i,gh=/^[0-9a-z]+$/,Ih=/^[0-9A-HJKMNP-TV-Z]{26}$/i,wh=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,kh=/^[a-z0-9_-]{21}$/i,fh=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ph=/^[-+]?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)?)??$/,Ch=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Th="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",UO,Sh=/^(?:(?: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])$/,Zh=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,vh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,yh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,hh=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,xh=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,UA="((\\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])))",mh=new RegExp(`^${UA}$`);function JA($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function uh($){return new RegExp(`^${JA($)}$`)}function WA($){let _=`${UA}T${JA($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function dh($,_){if((_==="v4"||!_)&&Sh.test($))return!0;if((_==="v6"||!_)&&vh.test($))return!0;return!1}function nh($,_){if(!fh.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function ch($,_){if((_==="v4"||!_)&&Zh.test($))return!0;if((_==="v6"||!_)&&yh.test($))return!0;return!1}class R6 extends F${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==l.string){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.string,received:J.parsedType}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.lengthJ.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length$.test(W),{validation:_,code:T.invalid_string,...e.errToObj(U)})}_addCheck($){return new R6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...e.errToObj($)})}url($){return this._addCheck({kind:"url",...e.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...e.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...e.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...e.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...e.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...e.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...e.errToObj($)})}base64($){return this._addCheck({kind:"base64",...e.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...e.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...e.errToObj($)})}ip($){return this._addCheck({kind:"ip",...e.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...e.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...e.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...e.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...e.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...e.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...e.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...e.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...e.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...e.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...e.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...e.errToObj(_)})}nonempty($){return this.min(1,e.errToObj($))}trim(){return new R6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}R6.create=($)=>{return new R6({checks:[],typeName:Q$.ZodString,coerce:$?.coerce??!1,...B$($)})};function lh($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class U0 extends F${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==l.number){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.number,received:J.parsedType}),W$}let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="int"){if(!I$.isInteger($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.dataJ.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(lh($.data,J.value)!==0)U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.not_finite,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new U0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new U0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:e.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}finite($){return this._addCheck({kind:"finite",message:e.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:e.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:e.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&I$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}U0.create=($)=>{return new U0({checks:[],typeName:Q$.ZodNumber,coerce:$?.coerce||!1,...B$($)})};class J0 extends F${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==l.bigint)return this._getInvalidInput($);let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.dataJ.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.bigint,received:_.parsedType}),W$}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new J0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new J0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}J0.create=($)=>{return new J0({checks:[],typeName:Q$.ZodBigInt,coerce:$?.coerce??!1,...B$($)})};class QU extends F${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==l.boolean){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.boolean,received:U.parsedType}),W$}return I_($.data)}}QU.create=($)=>{return new QU({typeName:Q$.ZodBoolean,coerce:$?.coerce||!1,...B$($)})};class N1 extends F${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==l.date){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.date,received:J.parsedType}),W$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_date}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new N1({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:e.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:e.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}N1.create=($)=>{return new N1({checks:[],coerce:$?.coerce||!1,typeName:Q$.ZodDate,...B$($)})};class gW extends F${_parse($){if(this._getType($)!==l.symbol){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.symbol,received:U.parsedType}),W$}return I_($.data)}}gW.create=($)=>{return new gW({typeName:Q$.ZodSymbol,...B$($)})};class YU extends F${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.undefined,received:U.parsedType}),W$}return I_($.data)}}YU.create=($)=>{return new YU({typeName:Q$.ZodUndefined,...B$($)})};class jU extends F${_parse($){if(this._getType($)!==l.null){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.null,received:U.parsedType}),W$}return I_($.data)}}jU.create=($)=>{return new jU({typeName:Q$.ZodNull,...B$($)})};class B1 extends F${constructor(){super(...arguments);this._any=!0}_parse($){return I_($.data)}}B1.create=($)=>{return new B1({typeName:Q$.ZodAny,...B$($)})};class _0 extends F${constructor(){super(...arguments);this._unknown=!0}_parse($){return I_($.data)}}_0.create=($)=>{return new _0({typeName:Q$.ZodUnknown,...B$($)})};class m6 extends F${_parse($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.never,received:_.parsedType}),W$}}m6.create=($)=>{return new m6({typeName:Q$.ZodNever,...B$($)})};class IW extends F${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.void,received:U.parsedType}),W$}return I_($.data)}}IW.create=($)=>{return new IW({typeName:Q$.ZodVoid,...B$($)})};class A6 extends F${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==l.array)return u(_,{code:T.invalid_type,expected:l.array,received:_.parsedType}),W$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.lengthW.maxLength.value)u(_,{code:T.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new F6(_,X,_.path,G))})).then((X)=>{return A_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new F6(_,X,_.path,G))});return A_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new A6({...this._def,minLength:{value:$,message:e.toString(_)}})}max($,_){return new A6({...this._def,maxLength:{value:$,message:e.toString(_)}})}length($,_){return new A6({...this._def,exactLength:{value:$,message:e.toString(_)}})}nonempty($){return this.min(1,$)}}A6.create=($,_)=>{return new A6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:Q$.ZodArray,...B$(_)})};function JU($){if($ instanceof U_){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=b6.create(JU(W))}return new U_({...$._def,shape:()=>_})}else if($ instanceof A6)return new A6({...$._def,type:JU($.element)});else if($ instanceof b6)return b6.create(JU($.unwrap()));else if($ instanceof R4)return R4.create(JU($.unwrap()));else if($ instanceof u6)return u6.create($.items.map((_)=>JU(_)));else return $}class U_ extends F${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=I$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==l.object){let Y=this._getOrReturnCtx($);return u(Y,{code:T.invalid_type,expected:l.object,received:Y.parsedType}),W$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof m6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new F6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof m6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)u(W,{code:T.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new F6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return A_.mergeObjectSync(U,Y)});else return A_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return e.errToObj,new U_({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:e.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new U_({...this._def,unknownKeys:"strip"})}passthrough(){return new U_({...this._def,unknownKeys:"passthrough"})}extend($){return new U_({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new U_({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:Q$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new U_({...this._def,catchall:$})}pick($){let _={};for(let U of I$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}omit($){let _={};for(let U of I$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}deepPartial(){return JU(this)}partial($){let _={};for(let U of I$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new U_({...this._def,shape:()=>_})}required($){let _={};for(let U of I$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof b6)J=J._def.innerType;_[U]=J}return new U_({...this._def,shape:()=>_})}keyof(){return XA(I$.objectKeys(this.shape))}}U_.create=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.strictCreate=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strict",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.lazycreate=($,_)=>{return new U_({shape:$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};class DU extends F${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new n_(G.ctx.common.issues));return u(_,{code:T.invalid_union,unionErrors:X}),W$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new n_(Q));return u(_,{code:T.invalid_union,unionErrors:G}),W$}}get options(){return this._def.options}}DU.create=($,_)=>{return new DU({options:$,typeName:Q$.ZodUnion,...B$(_)})};var H4=($)=>{if($ instanceof qU)return H4($.schema);else if($ instanceof e_)return H4($.innerType());else if($ instanceof OU)return[$.value];else if($ instanceof W0)return $.options;else if($ instanceof LU)return I$.objectValues($.enum);else if($ instanceof NU)return H4($._def.innerType);else if($ instanceof YU)return[void 0];else if($ instanceof jU)return[null];else if($ instanceof b6)return[void 0,...H4($.unwrap())];else if($ instanceof R4)return[null,...H4($.unwrap())];else if($ instanceof K5)return H4($.unwrap());else if($ instanceof HU)return H4($.unwrap());else if($ instanceof BU)return H4($._def.innerType);else return[]};class E5 extends F${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.object)return u(_,{code:T.invalid_type,expected:l.object,received:_.parsedType}),W$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return u(_,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),W$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=H4(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new E5({typeName:Q$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...B$(U)})}}function YO($,_){let U=V4($),W=V4(_);if($===_)return{valid:!0,data:$};else if(U===l.object&&W===l.object){let J=I$.objectKeys(_),X=I$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=YO($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===l.array&&W===l.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=YO(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===l.date&&W===l.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class zU extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(GO(J)||GO(X))return W$;let G=YO(J.value,X.value);if(!G.valid)return u(U,{code:T.invalid_intersection_types}),W$;if(QO(J)||QO(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}zU.create=($,_,U)=>{return new zU({left:$,right:_,typeName:Q$.ZodIntersection,...B$(U)})};class u6 extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.array)return u(U,{code:T.invalid_type,expected:l.array,received:U.parsedType}),W$;if(U.data.lengththis._def.items.length)u(U,{code:T.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new F6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return A_.mergeArray(_,X)});else return A_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new u6({...this._def,rest:$})}}u6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new u6({items:$,typeName:Q$.ZodTuple,rest:null,...B$(_)})};class wW extends F${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.object)return u(U,{code:T.invalid_type,expected:l.object,received:U.parsedType}),W$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new F6(U,G,U.path,G)),value:X._parse(new F6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return A_.mergeObjectAsync(_,W);else return A_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof F$)return new wW({keyType:$,valueType:_,typeName:Q$.ZodRecord,...B$(U)});return new wW({keyType:R6.create(),valueType:$,typeName:Q$.ZodRecord,...B$(_)})}}class kW extends F${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.map)return u(U,{code:T.invalid_type,expected:l.map,received:U.parsedType}),W$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new F6(U,G,U.path,[Y,"key"])),value:J._parse(new F6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}kW.create=($,_,U)=>{return new kW({valueType:_,keyType:$,typeName:Q$.ZodMap,...B$(U)})};class H1 extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.set)return u(U,{code:T.invalid_type,expected:l.set,received:U.parsedType}),W$;let W=this._def;if(W.minSize!==null){if(U.data.sizeW.maxSize.value)u(U,{code:T.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return W$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new F6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new H1({...this._def,minSize:{value:$,message:e.toString(_)}})}max($,_){return new H1({...this._def,maxSize:{value:$,message:e.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}H1.create=($,_)=>{return new H1({valueType:$,minSize:null,maxSize:null,typeName:Q$.ZodSet,...B$(_)})};class XU extends F${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.function)return u(_,{code:T.invalid_type,expected:l.function,received:_.parsedType}),W$;function U(G,Q){return F5({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,b5(),GU].filter((Y)=>!!Y),issueData:{code:T.invalid_arguments,argumentsError:Q}})}function W(G,Q){return F5({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,b5(),GU].filter((Y)=>!!Y),issueData:{code:T.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof V1){let G=this;return I_(async function(...Q){let Y=new n_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return I_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new n_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new n_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new XU({...this._def,args:u6.create($).rest(_0.create())})}returns($){return new XU({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new XU({args:$?$:u6.create([]).rest(_0.create()),returns:_||_0.create(),typeName:Q$.ZodFunction,...B$(U)})}}class qU extends F${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}qU.create=($,_)=>{return new qU({getter:$,typeName:Q$.ZodLazy,...B$(_)})};class OU extends F${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return u(_,{received:_.data,code:T.invalid_literal,expected:this._def.value}),W$}return{status:"valid",value:$.data}}get value(){return this._def.value}}OU.create=($,_)=>{return new OU({value:$,typeName:Q$.ZodLiteral,...B$(_)})};function XA($,_){return new W0({values:$,typeName:Q$.ZodEnum,...B$(_)})}class W0 extends F${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{expected:I$.joinValues(U),received:_.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{received:_.data,code:T.invalid_enum_value,options:U}),W$}return I_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return W0.create($,{...this._def,..._})}exclude($,_=this._def){return W0.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}W0.create=XA;class LU extends F${_parse($){let _=I$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==l.string&&U.parsedType!==l.number){let W=I$.objectValues(_);return u(U,{expected:I$.joinValues(W),received:U.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(I$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=I$.objectValues(_);return u(U,{received:U.data,code:T.invalid_enum_value,options:W}),W$}return I_($.data)}get enum(){return this._def.values}}LU.create=($,_)=>{return new LU({values:$,typeName:Q$.ZodNativeEnum,...B$(_)})};class V1 extends F${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.promise&&_.common.async===!1)return u(_,{code:T.invalid_type,expected:l.promise,received:_.parsedType}),W$;let U=_.parsedType===l.promise?_.data:Promise.resolve(_.data);return I_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}V1.create=($,_)=>{return new V1({type:$,typeName:Q$.ZodPromise,...B$(_)})};class e_ extends F${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(u(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return W$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return W$;if(Q.status==="dirty")return WU(Q.value);if(_.value==="dirty")return WU(Q.value);return Q});else{if(_.value==="aborted")return W$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")return WU(G.value);if(_.value==="dirty")return WU(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!L1(X))return W$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!L1(X))return W$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});I$.assertNever(W)}}e_.create=($,_,U)=>{return new e_({schema:$,typeName:Q$.ZodEffects,effect:_,...B$(U)})};e_.createWithPreprocess=($,_,U)=>{return new e_({schema:_,effect:{type:"preprocess",transform:$},typeName:Q$.ZodEffects,...B$(U)})};class b6 extends F${_parse($){if(this._getType($)===l.undefined)return I_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}b6.create=($,_)=>{return new b6({innerType:$,typeName:Q$.ZodOptional,...B$(_)})};class R4 extends F${_parse($){if(this._getType($)===l.null)return I_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}R4.create=($,_)=>{return new R4({innerType:$,typeName:Q$.ZodNullable,...B$(_)})};class NU extends F${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===l.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}NU.create=($,_)=>{return new NU({innerType:$,typeName:Q$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...B$(_)})};class BU extends F${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(MW(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new n_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new n_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}BU.create=($,_)=>{return new BU({innerType:$,typeName:Q$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...B$(_)})};class fW extends F${_parse($){if(this._getType($)!==l.nan){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.nan,received:U.parsedType}),W$}return{status:"valid",value:$.data}}}fW.create=($)=>{return new fW({typeName:Q$.ZodNaN,...B$($)})};var rh=Symbol("zod_brand");class K5 extends F${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class PW extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return W$;if(J.status==="dirty")return _.dirty(),WU(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return W$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new PW({in:$,out:_,typeName:Q$.ZodPipeline})}}class HU extends F${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(L1(W))W.value=Object.freeze(W.value);return W};return MW(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}HU.create=($,_)=>{return new HU({innerType:$,typeName:Q$.ZodReadonly,...B$(_)})};function tR($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function GA($,_={},U){if($)return B1.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=tR(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=tR(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return B1.create()}var ih={object:U_.lazycreate},Q$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(Q$||(Q$={}));var ph=($,_={message:`Input not instance of ${$.name}`})=>GA((U)=>U instanceof $,_),QA=R6.create,YA=U0.create,oh=fW.create,th=J0.create,jA=QU.create,ah=N1.create,sh=gW.create,eh=YU.create,$x=jU.create,_x=B1.create,Ux=_0.create,Jx=m6.create,Wx=IW.create,Xx=A6.create,Gx=U_.create,Qx=U_.strictCreate,Yx=DU.create,jx=E5.create,Dx=zU.create,zx=u6.create,qx=wW.create,Ox=kW.create,Lx=H1.create,Nx=XU.create,Bx=qU.create,Hx=OU.create,Vx=W0.create,Rx=LU.create,Ax=V1.create,aR=e_.create,bx=b6.create,Fx=R4.create,Ex=e_.createWithPreprocess,Kx=PW.create,Mx=()=>QA().optional(),gx=()=>YA().optional(),Ix=()=>jA().optional(),wx={string:($)=>R6.create({...$,coerce:!0}),number:($)=>U0.create({...$,coerce:!0}),boolean:($)=>QU.create({...$,coerce:!0}),bigint:($)=>J0.create({...$,coerce:!0}),date:($)=>N1.create({...$,coerce:!0})},kx=W$;var i={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},DA=q.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),c_=q.string().datetime(),z$=q.string().trim().min(1),E6=z$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),zA=q.string().regex(/^[a-fA-F0-9]{64}$/),qA=q.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),A4=q.record(q.unknown()),AU=q.array(q.string().min(1)).default([]),R1=c_.nullable().optional(),fx=new Set(["succeeded","failed","cancelled","blocked","skipped"]),b1=q.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function m$($){return q.object({schema:q.literal($),id:q.string().min(1),createdAt:c_,updatedAt:R1,metadata:A4.optional()}).strict()}var Ga=q.object({schema:DA,id:q.string().min(1),createdAt:c_,updatedAt:R1,metadata:A4.optional()}).strict(),OA=q.enum(["agent","human","service","model","workflow","system"]),Px=m$(i.actorRef).extend({kind:OA,name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional(),capabilities:q.array(q.string().min(1)).default([])}).strict(),d6=q.object({kind:OA,id:q.string().min(1),name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional()}).strict(),LA=q.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),Cx=m$(i.resourceRef).extend({kind:LA,name:q.string().min(1).optional(),uri:E6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:AU}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),b$=q.object({kind:LA,id:q.string().min(1),name:q.string().min(1).optional(),uri:E6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:AU}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),jO=q.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),Tx=q.enum(["none","partial","full","unknown"]),Sx=m$(i.evidenceRef).extend({kind:jO,uri:E6,sha256:zA.optional(),summary:q.string().min(1).optional(),contentType:q.string().min(1).optional(),sizeBytes:q.number().int().nonnegative().optional(),redaction:Tx.default("unknown"),producer:d6.optional(),resourceRefs:q.array(b$).default([]),tags:AU}).strict(),r$=q.object({id:q.string().min(1),kind:jO.optional(),uri:E6.optional(),sha256:zA.optional(),summary:q.string().min(1).optional()}).strict(),CW=m$(i.costEstimate).extend({currency:q.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:q.number().int().nonnegative(),provider:q.string().min(1).optional(),model:q.string().min(1).optional(),accountId:q.string().min(1).optional(),promptTokens:q.number().int().nonnegative().optional(),completionTokens:q.number().int().nonnegative().optional(),totalTokens:q.number().int().nonnegative().optional(),basis:q.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:q.array(b$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:q.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),Zx=q.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),NA=m$(i.decisionEnvelope).extend({decisionType:q.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:Zx,actor:d6.optional(),traceId:q.string().min(1).optional(),inputHash:qA.optional(),policyBundleId:q.string().min(1).optional(),selected:q.array(b$).default([]),skipped:q.array(b$).default([]),reason:q.string().min(1),obligations:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),costEstimate:CW.optional(),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),vx=m$(i.capabilityCard).extend({kind:q.enum(["model","tool","machine","agent","lane","connector","service"]),name:q.string().min(1),version:q.string().min(1).optional(),status:q.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:q.array(q.string().min(1)).default([]),limitations:q.array(q.string().min(1)).default([]),riskLevel:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:CW.optional(),evidenceRefs:q.array(r$).default([])}).strict(),VU=q.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),yx=q.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),hx=q.object({refName:z$,requiredForModes:q.array(VU).min(1),allowedSecretInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:z$,revocationCheck:q.boolean().default(!0)}).strict(),xx=q.object({operation:z$,supportedModes:q.array(VU).min(1),sideEffectClass:yx,requiresApproval:q.boolean().default(!1),requiresIdempotencyKey:q.boolean().default(!1),requiresSandboxEvidence:q.boolean().default(!1),requiresRollbackOrRevocation:q.boolean().default(!1),rollbackOrRevocation:z$.optional(),noSideEffectSmoke:z$.optional(),reconciliation:z$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),mx=q.object({providerId:z$,appId:z$,adapterId:z$,ownerPackage:z$,modes:q.array(VU).min(1),defaultMode:VU,credentialRequirements:q.array(hx).default([]),operations:q.array(xx).min(1),rateLimitPosture:z$,costPosture:z$.optional(),auditEvents:q.array(z$).default([]),redactionRules:q.array(z$).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:q.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),ux=q.object({appId:z$,repo:z$,priority:q.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:q.array(z$).min(1),firstOperations:q.array(z$).min(1),blockedUntil:q.array(z$).default([])}).strict(),dx=m$(i.providerLiveModeStandard).extend({name:z$,version:z$,modes:q.array(VU).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:q.array(z$).min(1),liveMutationGate:q.object({requiredMode:q.literal("live_mutating"),requiredChecks:q.array(z$).min(1),forbiddenBypassSignals:q.array(z$).min(1),disabledLiveSmoke:z$}).strict(),noSideEffectSmoke:q.object({requiredForModes:q.array(VU).min(1),commandEvidence:q.array(z$).min(1),secretOutputScan:q.boolean().default(!0)}).strict(),credentialPolicy:q.object({acceptedInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:q.literal(!1),missingCredentialBehavior:q.literal("fail_closed"),revocationCheckRequired:q.boolean().default(!0)}).strict(),operationCards:q.array(mx).min(1),firstAdoptionTargets:q.array(ux).min(1),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),nx=q.object({id:q.string().min(1),title:q.string().min(1).optional(),summary:q.string().min(1),text:q.string().optional(),tokens:q.number().int().nonnegative().optional(),source:r$,resourceRefs:q.array(b$).default([])}).strict(),BA=m$(i.contextPack).extend({objective:q.string().min(1),budget:q.object({maxTokens:q.number().int().positive().optional(),maxBytes:q.number().int().positive().optional()}).strict().optional(),items:q.array(nx).default([]),citations:q.array(r$).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),permissions:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),conflicts:q.array(q.string().min(1)).default([]),uncertainty:q.string().min(1).optional()}).strict(),V6=z$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),A1=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),cx=q.enum(["public","internal","private","sensitive"]),lx=q.enum(["draft","active","paused","archived"]),DO=q.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),HA=m$(i.integrationRef).extend({kind:DO,name:q.string().min(1),projectId:A1.optional(),sourcePackage:z$.optional(),externalId:z$.optional(),uri:E6.optional(),enabled:q.boolean().default(!0),readOnly:q.boolean().default(!0),capabilities:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:b$.optional(),evidenceRefs:q.array(r$).default([]),config:A4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),rx=q.object({schemaRoot:V6.default(".hasna/project"),dashboardManifest:V6.default(".hasna/project/dashboard.render.json"),snapshotsDir:V6.default(".hasna/project/snapshots"),documentsDir:V6.default("documents"),reportsDir:V6.default("reports"),evidenceDir:V6.default(".hasna/project/evidence"),privateDir:V6.default(".hasna/project/private")}).strict(),ix=m$(i.projectManifest).extend({projectId:A1,slug:A1,name:q.string().min(1),summary:q.string().min(1).optional(),status:lx.default("active"),classification:cx.default("private"),owner:d6.optional(),layout:rx.default({}),integrations:q.array(HA).default([]),renderManifests:q.array(b$).default([]),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),tags:AU}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:q.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),px=q.enum(["local","package","provider","url"]),zO=q.object({id:q.string().min(1),kind:px,specifier:q.string().min(1),path:V6.optional(),packageName:q.string().min(1).optional(),uri:E6.optional(),provider:DO.optional(),schemaId:DA.optional(),integrity:qA.optional(),resourceRef:b$.optional(),optional:q.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:q.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:q.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:q.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ox=q.enum(["dashboard","canvas","panel","report","document","custom"]),tx=q.object({id:q.string().min(1),title:q.string().min(1),kind:ox,default:q.boolean().default(!1),entry:V6.optional(),imports:q.array(zO).default([]),panelRefs:q.array(b$).default([]),dataRefs:q.array(b$).default([]),layout:A4.optional()}).strict(),ax=m$(i.renderManifest).extend({projectId:A1,name:q.string().min(1),version:q.string().min(1),manifestPath:V6.default(".hasna/project/dashboard.render.json"),renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:q.array(tx).min(1),imports:q.array(zO).default([]),theme:A4.optional(),compatibility:q.object({minProjectsVersion:q.string().min(1).optional(),minContractsVersion:q.string().min(1).optional()}).strict().optional(),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:q.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),sx=q.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),ex=q.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),$m=q.object({id:q.string().min(1),label:q.string().min(1),value:q.union([q.string(),q.number(),q.boolean()]),unit:q.string().min(1).optional(),status:q.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:q.array(b$).default([])}).strict(),_m=q.object({id:q.string().min(1),title:q.string().min(1),summary:q.string().min(1).optional(),status:q.string().min(1).optional(),priority:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:c_.optional(),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),metadata:A4.optional()}).strict(),Um=q.object({renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:q.string().min(1).optional(),entry:V6.optional(),imports:q.array(zO).default([]),spec:A4.default({})}).strict(),VA=m$(i.projectPanel).extend({projectId:A1,provider:q.object({kind:DO,id:q.string().min(1),name:q.string().min(1).optional(),sourcePackage:z$.optional(),externalId:z$.optional()}).strict(),kind:ex,title:q.string().min(1),summary:q.string().min(1).optional(),state:sx.default("ready"),stateReason:q.string().min(1).optional(),generatedAt:c_,freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),metrics:q.array($m).default([]),items:q.array(_m).default([]),actions:q.array(b$).default([]),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),renderFragment:Um.optional(),warnings:q.array(q.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:q.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),Jm=m$(i.projectSnapshot).extend({projectId:A1,generatedAt:c_,status:b1.default("unknown"),manifestRef:b$,renderManifestRef:b$.optional(),panels:q.array(VA).default([]),contextPacks:q.array(BA).default([]),proofBundleRefs:q.array(b$).default([]),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),warnings:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),RA=q.object({id:q.string().min(1),kind:q.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),expected:q.string().min(1).optional(),timeoutMs:q.number().int().positive().optional(),resourceRefs:q.array(b$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:q.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Wm=m$(i.validationPlan).extend({objective:q.string().min(1),subject:b$.optional(),checks:q.array(RA).min(1),verifier:d6.optional(),requiredEvidenceKinds:q.array(jO).default([])}).strict(),Xm=q.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Gm=q.enum(["draft","active","deprecated","archived"]),Qm=q.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Ym=q.object({key:q.string().regex(/^[A-Z][A-Z0-9_]*$/),description:q.string().min(1),required:q.boolean().default(!1),["secret"]:q.boolean().default(!1),group:q.string().min(1).optional(),default:q.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),jm=q.object({name:q.string().min(1),command:q.string().min(1),description:q.string().min(1).optional(),required:q.boolean().default(!1)}).strict(),Dm=q.object({packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:q.array(q.string().min(1)).default([]),requiredFiles:q.array(q.string().min(1)).default([]),requiredDirectories:q.array(q.string().min(1)).default([]),optionalDirectories:q.array(q.string().min(1)).default([])}).strict(),zm=m$(i.scaffoldManifest).extend({name:q.string().min(1),version:q.string().min(1),summary:q.string().min(1),type:Xm,status:Gm.default("draft"),capabilities:q.array(Qm).default([]),techStack:q.array(q.string().min(1)).default([]),tags:AU,source:b$.optional(),output:Dm,env:q.array(Ym).default([]),scripts:q.array(jm).default([]),validationChecks:q.array(RA).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:q.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),qm=q.enum(["installed","failed","cancelled","partial","unknown"]),Om=m$(i.scaffoldInstallRecord).extend({scaffoldId:q.string().min(1),scaffoldVersion:q.string().min(1).optional(),manifestRef:b$.optional(),target:b$,status:qm,installedAt:c_.optional(),installer:d6.optional(),packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:A4.optional(),generatedFiles:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),proofBundleRefs:q.array(b$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),RU=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),qO=q.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),AA=q.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Lm=q.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Nm=z$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Bm=q.enum(["active","stub","deprecated","archived"]),Hm=q.enum(["stable","beta","canary","internal"]),Vm=q.object({transport:q.enum(["http","stdio"]).default("http"),bin:q.string().min(1).optional(),url:E6.optional()}).strict(),Rm=q.object({healthPath:q.string().min(1).default("/health"),port:q.number().int().positive().optional(),baseUrl:E6.optional()}).strict(),Am=q.object({bins:q.array(q.string().min(1)).default([]),mcp:Vm.optional(),http:Rm.optional()}).strict(),bm=m$(i.app).extend({appId:RU,npmName:qO,repoFolder:RU,githubUrl:Nm,projectSlug:A1,surfaces:Am.default({}),lifecycle:Bm,releaseChannel:Hm.default("stable"),summary:q.string().min(1).optional(),tags:AU}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),Fm=q.enum(["skill","ci","backfilled"]),Em=m$(i.release).extend({appId:RU,package:qO,version:AA,gitSha:Lm,publishedAt:c_,publishPath:Fm,changelogRef:b$.optional(),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Km=q.enum(["install","update","rollback","freeze-blocked"]),Mm=q.object({cliVersion:q.string().min(1).optional(),mcpHealth:q.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),gm=m$(i.rolloutRecord).extend({appId:RU,package:qO,version:AA,machine:z$,action:Km,result:b1,verifiedBy:Mm.optional(),at:c_,evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:q.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Im=q.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),wm=q.enum(["pending","queued","sent","failed","skipped","suppressed"]),km=q.object({channel:Im,status:wm,deliveredAt:c_.optional(),detail:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),fm=m$(i.announcement).extend({campaignId:z$,appId:RU.optional(),releaseRef:b$.optional(),channels:q.array(km).min(1),audienceRef:b$,sentAt:c_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Pm=q.enum(["tag","attribute","group"]),Cm=q.enum(["eq","neq","in","not_in","exists","not_exists"]),sR=q.union([q.string(),q.number(),q.boolean()]),Tm=q.object({kind:Pm,key:q.string().min(1).optional(),op:Cm.default("eq"),value:sR.optional(),values:q.array(sR).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:q.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),Sm=q.object({match:q.enum(["all","any"]).default("all"),predicates:q.array(Tm).min(1)}).strict(),Zm=q.enum(["opt_in","opt_out","transactional","none"]),vm=m$(i.audience).extend({audienceId:RU,name:z$,definition:Sm,consentPolicy:Zm,suppressionSyncedAt:R1}).strict(),JO=["@hasna/cloud","open-cloud"],ym=q.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),hm=q.object({id:q.string().min(1),provider:ym,kind:q.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:q.string().min(1),region:q.string().min(1).optional(),accountId:q.string().min(1).optional(),uri:E6.optional(),machineScoped:q.boolean().default(!1)}).strict(),bA=m$(i.appCloudManifest).extend({packageName:q.string().min(1),packageVersion:q.string().min(1).optional(),appId:q.string().min(1),repository:b$.optional(),storageMode:q.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:q.enum(["none","app_owned","external_service","local_cache"]),cloudResources:q.array(hm).default([]),localCache:q.object({path:q.string().min(1).optional(),pullMode:q.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:q.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:q.array(q.string().min(1)).default([...JO]),dependencies:q.array(q.string().min(1)).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...JO,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:q.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of JO)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:q.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:q.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),FA=q.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),xm=q.enum(["low","medium","high","critical"]),EA=q.object({id:q.string().min(1),kind:FA,severity:xm,path:q.string().min(1).optional(),packageName:q.string().min(1).optional(),pattern:q.string().min(1),message:q.string().min(1),evidenceRefs:q.array(r$).default([])}).strict(),mm=q.object({id:q.string().min(1),kind:FA,status:b1,target:q.string().min(1),command:q.string().min(1).optional(),evidenceRefs:q.array(r$).default([]),findings:q.array(EA).default([])}).strict(),um=m$(i.noCloudEvidencePack).extend({subject:b$,packageName:q.string().min(1).optional(),packageVersion:q.string().min(1).optional(),generatedBy:d6.optional(),scanMode:q.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:b1,verdict:q.enum(["passed","failed","warning","not_run"]),appCloudManifest:bA.optional(),checks:q.array(mm).min(1),findings:q.array(EA).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),dm=q.object({checkId:q.string().min(1),status:b1,summary:q.string().min(1).optional(),startedAt:R1,finishedAt:R1,evidenceRefs:q.array(r$).default([])}).strict(),nm=m$(i.proofBundle).extend({subject:b$,validationPlanRef:b$.optional(),status:b1,verdict:q.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:q.array(dm).default([]),verifier:d6.optional(),evidenceRefs:q.array(r$).default([]),residualRisks:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),cm=m$(i.workRun).extend({objective:q.string().min(1),status:b1,actor:d6,traceId:q.string().min(1).optional(),startedAt:R1,finishedAt:R1,constraints:q.array(q.string().min(1)).default([]),resourceRefs:q.array(b$).default([]),decisions:q.array(NA).default([]),costEstimates:q.array(CW).default([]),evidenceRefs:q.array(r$).default([]),validationPlanRefs:q.array(b$).default([]),proofBundleRefs:q.array(b$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),lm=q.object({id:q.string().min(1),at:c_,kind:q.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:q.string().min(1),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),costEstimate:CW.optional()}).strict(),rm=m$(i.agentTrajectory).extend({actor:d6,workRunRef:b$.optional(),events:q.array(lm).default([]),outcome:q.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:b$.optional()}).strict(),im="v1",pm=q.enum(["library","cli-with-store","service","saas"]),om=["local","self-hosted","cloud"],KA=q.enum(om),tm=q.enum(["supported","deferred","unsupported"]),am=q.enum(["none","local-only","api-key","session","service-token","custom"]),WO=q.object({method:q.enum(["GET","POST","PUT","PATCH","DELETE"]),path:q.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:q.boolean().default(!1),description:q.string().min(1).optional()}).strict(),sm=q.object({id:q.string().min(1),kind:q.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),evidenceRef:r$.optional(),status:q.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),em=q.object({name:q.string().min(1),status:tm,bin:q.string().min(1).optional(),mcpBin:q.string().min(1).optional(),authMode:am,deploymentModes:q.array(KA).min(1),health:WO.optional(),readiness:WO.optional(),version:WO.optional(),apiBasePath:q.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:q.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:q.string().min(1).optional(),readinessGates:q.array(sm).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:q.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:q.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:q.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),$u=["local","cloud"],MA=q.enum($u);var _u=q.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Uu=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Ju($){return Uu.map((_)=>`${$}${_}`)}function eR($){return`hasna/oss/${$}/database-url`}var Wu=q.object({mode:MA,envPrefix:q.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:q.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:q.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:q.string().min(1).optional()}).strict(),Xu=q.object({$schema:q.string().min(1).optional(),schema:q.literal(i.serviceContract),name:_u,class:pm,contractVersion:q.literal(im),kitVersion:q.string().min(1),description:q.string().min(1).optional(),bins:q.array(q.string().min(1)).default([]),storage:Wu.optional(),deploymentModes:q.array(KA).default(["local"]),serviceSurfaces:q.array(em).default([]),metadata:A4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Ju($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:q.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==eR($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${eR($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:q.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:q.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),Qa=q.object({status:q.enum(["ok","degraded","unavailable"]),version:q.string().min(1),mode:MA}).strict(),Ya=q.object({ready:q.boolean(),reason:q.string().min(1).optional()}).strict(),ja=q.object({version:q.string().min(1)}).strict(),Gu=q.enum(["info","notice","breaking","critical"]),Qu=q.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (..)"),Yu=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],ju=q.enum(Yu);var Du=q.enum(["fleet","package","machine"]),gA=m$(i.commsEventEnvelope).extend({type:Qu,severity:Gu,scope:Du,summary:q.string().min(1).optional(),source:d6.optional(),affected_packages:q.array(z$).default([]),affected_machines:q.array(z$).default([]),action_required:q.boolean().default(!1),ack_by:c_.optional(),dedupe_key:z$,resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),zu=q.enum(["fleet","package","product","loop-lane","initiative","personal"]),qu=q.enum(["quiet","work","firehose"]),Ou=z$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:)"),Lu=m$(i.commsChannelMetadata).extend({class:zu,noise:qu.optional(),owner:z$.optional(),until:Ou.optional(),successor:z$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),$A={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Nu=m$(i.commsMessageMetadata).extend({tag:ju,envelope:gA}).strict().superRefine(($,_)=>{let U=$A[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries($A))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Bu={[i.actorRef]:Px,[i.resourceRef]:Cx,[i.evidenceRef]:Sx,[i.workRun]:cm,[i.decisionEnvelope]:NA,[i.costEstimate]:CW,[i.capabilityCard]:vx,[i.providerLiveModeStandard]:dx,[i.contextPack]:BA,[i.integrationRef]:HA,[i.projectManifest]:ix,[i.projectPanel]:VA,[i.projectSnapshot]:Jm,[i.renderManifest]:ax,[i.agentTrajectory]:rm,[i.validationPlan]:Wm,[i.proofBundle]:nm,[i.scaffoldManifest]:zm,[i.scaffoldInstallRecord]:Om,[i.appCloudManifest]:bA,[i.noCloudEvidencePack]:um,[i.serviceContract]:Xu,[i.commsEventEnvelope]:gA,[i.commsChannelMetadata]:Lu,[i.commsMessageMetadata]:Nu,[i.app]:bm,[i.release]:Em,[i.rolloutRecord]:gm,[i.announcement]:fm,[i.audience]:vm};class IA extends Error{schemaId;issues;constructor($,_){super(`Contract validation failed for ${$}`);this.name="ContractValidationError",this.schemaId=$,this.issues=_}}function wA($,_){let W=Bu[$].safeParse(_);if(!W.success)throw new IA($,W.error.issues);return W.data}var Da={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",title:"Hasna Service Contract v1",description:"Repo self-description (hasna.contract.json) for the Hasna Service Contract v1. Storage runtime enum is local|cloud ONLY per Amendment A1 (PURE REMOTE).",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:i.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: , -cli, -mcp, -serve, -worker, -runner, -daemon, -migrate, -doctor."},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},description:"Supported deployment modes. local = this machine, self-hosted = Hasna-owned AWS, cloud = multi-tenant SaaS for outside users."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode","deploymentModes"],properties:{name:{type:"string",minLength:1},status:{enum:["supported","deferred","unsupported"]},bin:{type:"string",minLength:1},mcpBin:{type:"string",minLength:1},authMode:{enum:["none","local-only","api-key","session","service-token","custom"]},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},minItems:1},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},readiness:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},version:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},apiBasePath:{type:"string",pattern:"^/v[0-9]+$"},openApiPath:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$"},deferReason:{type:"string",minLength:1},readinessGates:{type:"array",items:{type:"object",additionalProperties:!1,required:["id","kind"],properties:{id:{type:"string",minLength:1},kind:{enum:["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]},required:{type:"boolean"},command:{type:"string",minLength:1},evidenceRef:{type:"object"},status:{enum:["pending","passed","failed","blocked","deferred"]},summary:{type:"string",minLength:1}}}}}},description:"Declared HTTP/MCP service surfaces. Supported surfaces name lifecycle endpoints; unsafe or unfinished surfaces use deferred/unsupported with a reason."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["local","cloud"],description:"Runtime storage enum. local|cloud ONLY (Amendment A1: PURE REMOTE)."},envPrefix:{type:"string",pattern:"^HASNA_[A-Z][A-Z0-9]*_$",description:"Primary env prefix, e.g. HASNA_TODOS_."},aliasEnvPrefix:{type:"string",pattern:"^[A-Z][A-Z0-9]*_$",description:"Optional short alias env prefix, e.g. TODOS_."},databaseUrlSecretRef:{type:"string",pattern:"^hasna/oss/[a-z0-9-]+/database-url$",description:"Secret Manager ref for the cloud database URL."},sqlitePath:{type:"string",minLength:1,description:"Local sqlite path (~/.hasna//.db)."}}},metadata:{type:"object"}}};var kA="@hasna/knowledge";function Hu($){if(!Number.isFinite($??0))return 20;return Math.max(1,Math.min(100,Math.trunc($??20)))}function Vu($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function TW($,_=180){let U=String($??"").replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Q_($,_=""){return typeof $==="string"&&$.length>0?$:_}function SW($){return typeof $==="number"&&Number.isFinite($)?$:0}function bU($){if(typeof $!=="string"||$.length===0)return;let _=$.includes("T")?$:`${$.replace(" ","T")}Z`,U=new Date(_);return Number.isNaN(U.valueOf())?void 0:U.toISOString()}function M5($){return E6.safeParse($).success}function K6($,_,U,W,J=[]){return{kind:$,id:_,name:U,uri:W&&M5(W)?W:void 0,externalId:_,sourcePackage:kA,tags:J}}function Ru($){return[...$.items.flatMap((U)=>[U.updated_at,U.created_at]),...$.sources.flatMap((U)=>[U.updated_at,U.created_at]),...$.chunks.map((U)=>U.created_at),...$.wiki_pages.flatMap((U)=>[U.updated_at,U.created_at]),...$.storage_objects.flatMap((U)=>[U.updated_at,U.created_at]),...$.runs.flatMap((U)=>[U.updated_at,U.created_at]),...$.reindex_queue.flatMap((U)=>[U.updated_at,U.created_at]),...$.sync_conflicts.map((U)=>U.created_at),...$.approval_gates.flatMap((U)=>[U.updated_at,U.created_at])].map(bU).filter(Boolean).sort((U,W)=>W.localeCompare(U))[0]}function Au($){if(!$)return"unknown";let _=Date.now()-new Date($).valueOf();if(!Number.isFinite(_))return"unknown";return _>2592000000?"stale":"fresh"}function bu($){let _=(U)=>{let W=String(U??"").toLowerCase();return W!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(W)};return $.reindex_queue.filter((U)=>_(U.status)).length+$.sync_conflicts.filter((U)=>_(U.status)).length+$.approval_gates.filter((U)=>_(U.status)).length}function Fu($,_){let U=[];for(let W of $.items.slice(0,_))U.push({id:`item_${W.id}`,title:W.title,summary:TW(W.content_preview),status:W.archived?"archived":"active",priority:"medium",timestamp:bU(W.updated_at??W.created_at),resourceRefs:[K6("knowledge",W.id,W.title,`knowledge://item/${encodeURIComponent(W.id)}`,W.tags)],evidenceRefs:W.url&&M5(W.url)?[{id:`url_${W.id}`,kind:"url",uri:W.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:W.archived,tags:W.tags,url:W.url||void 0}});for(let W of $.sources.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,Q_(W.uri,"source")),X=Q_(W.title,Q_(W.uri,J)),G=Q_(W.uri,`knowledge://source/${encodeURIComponent(J)}`);U.push({id:`source_${J}`,title:X,summary:TW(`${SW(W.chunks)} chunk(s), ${SW(W.revisions)} revision(s)`),status:SW(W.chunks)>0?"indexed":"source",priority:"medium",timestamp:bU(W.updated_at??W.created_at),resourceRefs:[K6("document",J,X,G)],evidenceRefs:M5(G)?[{id:`source_${J}`,kind:"url",uri:G,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:W.kind,chunks:SW(W.chunks),revisions:SW(W.revisions)}})}for(let W of $.chunks.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"chunk"),X=Q_(W.source_uri);U.push({id:`chunk_${J}`,title:Q_(W.wiki_title,X?`Chunk from ${X}`:`Knowledge chunk ${J}`),summary:TW(W.text_preview),status:"chunk",priority:"low",timestamp:bU(W.created_at),resourceRefs:[K6("context_pack",J,Q_(W.wiki_title,J),`knowledge://chunk/${encodeURIComponent(J)}`)],evidenceRefs:X&&M5(X)?[{id:`chunk_source_${J}`,kind:"url",uri:X,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:X||void 0,token_count:W.token_count,ordinal:W.ordinal}})}for(let W of $.sync_conflicts.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"sync_conflict");U.push({id:`sync_conflict_${J}`,title:`Sync conflict: ${Q_(W.entity_kind,"entity")}/${Q_(W.entity_id,J)}`,summary:TW(`Status ${Q_(W.status,"unknown")}; strategy ${Q_(W.resolution_strategy,"none")}.`),status:Q_(W.status,"unknown"),priority:"critical",timestamp:bU(W.created_at),resourceRefs:[K6("finding",J,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:W.local_machine_id,remote_machine_id:W.remote_machine_id}})}for(let W of $.reindex_queue.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"reindex");U.push({id:`reindex_${J}`,title:`Reindex ${Q_(W.kind,"item")}: ${Q_(W.target_id,J)}`,summary:TW(W.reason),status:Q_(W.status,"unknown"),priority:Q_(W.status).toLowerCase()==="failed"?"high":"medium",timestamp:bU(W.updated_at??W.created_at),resourceRefs:[K6("action",J,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:W.attempts,source_uri:W.source_uri}})}return U.slice(0,_)}async function fA($,_={}){let U=Hu(_.limit),W=new Date().toISOString(),J=Vu($),G=await(_.service??A5({scope:_.scope??"project",cwd:_.cwd})).resolveInventory({limit:U,storePath:_.storePath,includeArchived:_.includeArchived}),Q=Ru(G),Y=Au(Q),j=G.summary.active_items+G.summary.sources+G.summary.chunks+G.summary.wiki_pages+G.summary.storage_objects,O=bu(G),B=j===0?"empty":Y==="stale"?"stale":"ready",V=Fu(G,U),L={schema:i.projectPanel,id:`knowledge_panel_${J}`,createdAt:W,projectId:J,provider:{kind:"knowledge",id:`knowledge_${J}`,name:"Knowledge",sourcePackage:kA,externalId:G.home},kind:"knowledge",title:"Knowledge",summary:B==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${G.summary.active_items} active note(s), ${G.summary.sources} source(s), ${G.summary.chunks} chunk(s), and ${G.summary.wiki_pages} wiki page(s).`,state:B,stateReason:B==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:W,freshness:Y,metrics:[{id:"active_items",label:"Active notes",value:G.summary.active_items,status:G.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:G.summary.sources,status:G.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:G.summary.chunks,status:G.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:G.summary.wiki_pages,status:G.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:G.summary.storage_objects,status:G.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:G.summary.vector_entries,status:G.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:O,status:O>0?"warning":"good"}],items:V,actions:[K6("action","knowledge:inventory","Inspect knowledge inventory"),K6("action","knowledge:context-pack","Build cited context pack"),K6("action","knowledge:ingest","Ingest project source")],resourceRefs:[K6("project",J,$,`project://${J}`),K6("knowledge",`home_${J}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(J)}`),K6("artifact",`db_${J}`,"Knowledge database",`knowledge://db/${encodeURIComponent(J)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:U}},metadata:{scope:G.scope,home:G.home,json_store_exists:G.paths.json_store_exists,latest_activity_at:Q}};return wA(i.projectPanel,L)}function PA($){let _=[`${$.title}: ${$.state}`,$.summary??"",...$.metrics.map((U)=>`${U.label}: ${U.value}`)].filter(Boolean);if($.items.length>0){_.push("Items:");for(let U of $.items.slice(0,10))if(_.push(`- ${U.title}${U.status?` [${U.status}]`:""}`),U.summary)_.push(` ${U.summary}`)}return _.join(` +`)}var SA=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"];var Eu=["remote","hybrid","self_hosted"],ZA="HASNA_KNOWLEDGE_STORAGE_MODE",vA="KNOWLEDGE_STORAGE_MODE";function CA($){return process.env[$]?.trim()||void 0}function TA($){let _=$?.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return"local";if(_==="cloud")return"cloud";if(_&&Eu.includes(_))return"cloud";return}function Ku($={}){let _=g1(dW($.scope,$.cwd).home);return $$(_.knowledgeDbPath),{db:d(_.knowledgeDbPath),path:_.knowledgeDbPath,scope:$.scope??"global"}}function yA(){let $=TA(CA(ZA))??TA(CA(vA));if($)return $;return"local"}function OO($={}){let _=Ku($);try{Mu(_.db);let U=_.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:yA(),service:"knowledge",scope:_.scope,databasePath:_.path,tables:SA,sync:U}}finally{_.db.close()}}function Mu($){$.exec(` CREATE TABLE IF NOT EXISTS _knowledge_sync_meta ( table_name TEXT NOT NULL, last_synced_at TEXT, direction TEXT NOT NULL CHECK(direction IN ('push', 'pull')), PRIMARY KEY (table_name, direction) ) - `)}import Ec from"pg";var wB=qR(kB(),1),{program:Yi,createCommand:zi,createArgument:Qi,createOption:qi,CommanderError:Li,InvalidArgumentError:gi,InvalidOptionArgumentError:Ei,Command:SB,Argument:Bi,Option:Ri,Help:Hi}=wB.default;import{chmod as Tz,mkdir as sv,readFile as _y,rename as $y,writeFile as ZB}from"fs/promises";import{Buffer as mB}from"buffer";import{existsSync as dB}from"fs";import{homedir as Uy}from"os";import{join as BD}from"path";import{createHmac as Xy,timingSafeEqual as Pi}from"crypto";import{randomUUID as Yy}from"crypto";import{spawn as zy}from"child_process";import{randomUUID as By}from"crypto";function cv(_,$){return $.split(".").reduce((U,J)=>{if(U&&typeof U==="object"&&J in U)return U[J];return},_)}function iv(_,$){let U=[],J=(j)=>{if(!U.some((W)=>Object.is(W,j)))U.push(j)};if($.includes(".")&&$ in _)J(_[$]);let D=cv(_,$);if(D!==void 0||!$.includes("."))J(D);return U}function lv(_,$={}){let U="";for(let J=0;J<_.length;J+=1){let D=_[J];if(D==="*")if(_[J+1]==="*")U+=".*",J+=1;else U+=$.segmentSafe?"[^/]*":".*";else U+=D.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function gD(_,$,U={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>lv(D,U).test(_))}function fB(_,$){if(!$)return!0;return Object.entries($).every(([U,J])=>{let D=iv(_,U);return ov(D,J,U)})}function ov(_,$,U){if(av($))return!_.some((J)=>TB(J,$.not,U));return _.some((J)=>TB(J,$,U))}function TB(_,$,U){if(typeof $==="string"||Array.isArray($))return pv(_).some((J)=>gD(J,$,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray(_))return _.some((J)=>J===$);return _===$}function pv(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>tv($)?[String($)]:[]);return[String(_)]}function tv(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function av(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function ev(_,$){return gD(_.source,$.source)&&gD(_.type,$.type)&&gD(_.subject,$.subject)&&gD(_.severity,$.severity)&&fB(_.data,$.data)&&fB(_.metadata,$.metadata)}function CB(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((U)=>ev($,U))}var UG="HASNA_EVENTS_DIR",DG="HASNA_EVENTS_HOME",yz="local-json-v1:",Dy=100,Jy=1000;function cB(_){return _||process.env[UG]||process.env[DG]||BD(Uy(),".hasna","events")}function jy(){if(process.env[UG])return UG;if(process.env[DG])return DG;return null}class JG{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=cB()){this.dataDir=_,this.runtime=Wy(_),this.channelsPath=BD(_,"channels.json"),this.eventsPath=BD(_,"events.json"),this.deliveriesPath=BD(_,"deliveries.json")}async init(){await sv(this.dataDir,{recursive:!0,mode:448}),await Tz(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),U=$.findIndex((J)=>J.id===_.id);if(U>=0)$[U]={..._,createdAt:$[U].createdAt,updatedAt:new Date().toISOString()};else $.push(_);return await this.writeJson(this.channelsPath,$),U>=0?$[U]:_}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel(_){return(await this.listChannels()).find((U)=>U.id===_)}async removeChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),U=$.filter((J)=>J.id!==_);return await this.writeJson(this.channelsPath,U),U.length!==$.length}async appendEvent(_){await this.init();let $=await this.readJson(this.eventsPath,[]);return $.push(_),await this.writeJson(this.eventsPath,$),_}async appendEventOnce(_,$={}){await this.init();let U=await this.readJson(this.eventsPath,[]);if($.dedupe!==!1){let D=yB(U,{id:_.id,dedupeKey:_.dedupeKey});if(D)return{event:D,stored:!1,deduped:!0,identity:{id:D.id,dedupeKey:D.dedupeKey}}}return U.push(_),await this.writeJson(this.eventsPath,U),{event:_,stored:!0,deduped:!1,identity:{id:_.id,dedupeKey:_.dedupeKey}}}async listEvents(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]);return vB($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),U=vB($,{eventId:_.eventId,source:_.source,type:_.type}),J=jG(_.cursor,_),D=WG(_.limit),j=U.slice(J,J+D),W=J+j.length,G=W{return})}async readJson(_,$){try{let U=await _y(_,"utf-8");if(!U.trim())return $;return JSON.parse(U)}catch(U){if(U.code==="ENOENT")return $;throw U}}async writeJson(_,$){let U=`${_}.${process.pid}.${Date.now()}.tmp`;await ZB(U,`${JSON.stringify($,null,2)} -`,{encoding:"utf-8",mode:384}),await $y(U,_),await Tz(_,384).catch(()=>{return})}}function Wy(_=cB()){return{mode:"local-files",name:"json-events-store",remote:!1,localFiles:!0,localSqlite:!1,postgres:!1,s3:!1,aws:!1,durable:!0,idempotency:"best-effort-local",replayCursors:!0,description:`Local JSON files in ${_}; no SQLite, Postgres, S3, or AWS runtime is configured by this store.`}}function iB(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let U={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${yz}${mB.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function jG(_,$={}){if(!_)return 0;if(!_.startsWith(yz))throw Error(`Invalid local JSON event cursor: ${_}`);let U=_.slice(yz.length),J;try{J=JSON.parse(mB.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${_}`)}let D=J.offset;if(!Number.isInteger(D)||D<0)throw Error(`Invalid local JSON event cursor: ${_}`);return Cz("eventId",J.eventId,$.eventId),Cz("source",J.source,$.source),Cz("type",J.type,$.type),D}function WG(_){if(_===void 0)return Dy;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,Jy)}function vB(_,$){let U=_;if($.eventId)U=U.filter((J)=>J.id===$.eventId);if($.source)U=U.filter((J)=>J.source===$.source);if($.type)U=U.filter((J)=>J.type===$.type);if($.cursor){let J=jG($.cursor,$);U=U.slice(J)}if($.limit!==void 0)U=U.slice(0,WG($.limit));return U}function Cz(_,$,U){if($!==U)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function yB(_,$){return _.find((U)=>$.id!==void 0&&U.id===$.id||$.dedupeKey!==void 0&&U.dedupeKey===$.dedupeKey)}async function Gy(_){let $=new JG(_);await $.init();let[U,J,D]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),j=U.reduce((W,G)=>{return W[G.transport]=(W[G.transport]??0)+1,W},{});return{service:"events",schemaVersion:"1.0",dataDir:$.dataDir,storage:$.runtime,env:{primary:UG,fallback:DG,active:jy()},files:{channels:Zz($.dataDir,"channels.json",U.length),events:Zz($.dataDir,"events.json",J.length),deliveries:Zz($.dataDir,"deliveries.json",D.length)},counts:{channels:U.length,enabledChannels:U.filter((W)=>W.enabled).length,disabledChannels:U.filter((W)=>!W.enabled).length,events:J.length,deliveries:D.length},transports:j,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function Zz(_,$,U){let J=BD(_,$);return{path:J,exists:dB(J),records:U}}function Ny(_,$){return`${_}.${$}`}function Oy(_,$,U){return`sha256=${Xy("sha256",_).update(Ny($,U)).digest("hex")}`}function q6(){return new Date().toISOString()}function ED(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Qy(_,$){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let U=JSON.stringify(_),J=_.time,D={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":_.id,"X-Hasna-Event-Type":_.type,"X-Hasna-Timestamp":J,...$.webhook.headers};if($.webhook.secret)D["X-Hasna-Signature"]=Oy($.webhook.secret,J,U);return{body:U,headers:D}}async function qy(_,$,U={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let J=q6(),{body:D,headers:j}=Qy(_,$),W=new AbortController,G=setTimeout(()=>W.abort(),$.webhook.timeoutMs??15000);try{let X=await(U.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:j,body:D,signal:W.signal}),N=ED(await X.text());return{attempt:1,status:X.ok?"success":"failed",startedAt:J,completedAt:q6(),responseStatus:X.status,responseBody:N,error:X.ok?void 0:`Webhook returned HTTP ${X.status}`}}catch(X){return{attempt:1,status:"failed",startedAt:J,completedAt:q6(),error:X instanceof Error?X.message:String(X)}}finally{clearTimeout(G)}}async function Ly(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let U=q6(),J=JSON.stringify(_),D={...process.env,...$.command.env,HASNA_CHANNEL_ID:$.id,HASNA_EVENT_ID:_.id,HASNA_EVENT_TYPE:_.type,HASNA_EVENT_SOURCE:_.source,HASNA_EVENT_SUBJECT:_.subject??"",HASNA_EVENT_SEVERITY:_.severity,HASNA_EVENT_TIME:_.time,HASNA_EVENT_DEDUPE_KEY:_.dedupeKey??"",HASNA_EVENT_SCHEMA_VERSION:_.schemaVersion,HASNA_EVENT_JSON:J};return new Promise((j)=>{let W=zy($.command.command,$.command.args??[],{cwd:$.command.cwd,env:D,stdio:["pipe","pipe","pipe"]}),G="",X="",N=setTimeout(()=>W.kill("SIGTERM"),$.command.timeoutMs??15000);W.stdin.end(J),W.stdout.on("data",(z)=>{G+=z.toString()}),W.stderr.on("data",(z)=>{X+=z.toString()}),W.on("error",(z)=>{clearTimeout(N),j({attempt:1,status:"failed",startedAt:U,completedAt:q6(),stdout:ED(G),stderr:ED(X),error:z.message})}),W.on("close",(z,L)=>{clearTimeout(N);let E=z===0;j({attempt:1,status:E?"success":"failed",startedAt:U,completedAt:q6(),stdout:ED(G),stderr:ED(X),error:E?void 0:`Command exited with ${L?`signal ${L}`:`code ${z}`}`})})})}async function gy(_,$,U={}){if($.transport==="webhook")return qy(_,$,U);if($.transport==="command")return Ly(_,$);return{attempt:1,status:"skipped",startedAt:q6(),completedAt:q6(),error:`Unsupported transport: ${$.transport}`}}function hB(_,$,U){let J=U.some((D)=>D.status==="success")?"success":U.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:Yy(),eventId:_.id,channelId:$.id,transport:$.transport,status:J,attempts:U,createdAt:U[0]?.startedAt??q6(),completedAt:U.at(-1)?.completedAt??q6()}}class lB extends Error{eventType;issues;constructor(_,$){let U=$.map((J)=>`${J.path||""}: ${J.message}`).join("; ");super(`Event validation failed for type "${_}": ${U}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class oB{definitions=new Map;register(_){return this.definitions.set(_.type,_),this}unregister(_){return this.definitions.delete(_)}has(_){return this.definitions.has(_)}get(_){return this.definitions.get(_)}list(){return[...this.definitions.values()]}validateEvent(_){let $=this.definitions.get(_.type);if(!$)return{ok:!0};return $.validate(_.data,_)}assertEventValid(_){let $=this.validateEvent(_);if(!$.ok)throw new lB(_.type,$.issues)}}var Ey=new oB;function vz(_){return{id:_.id??By(),source:_.source,type:_.type,time:by(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class pB{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new JG(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??Ey,this.validateCatalogTypes=_.validateCatalogTypes??!1}async addChannel(_){let $=new Date().toISOString();return this.store.addChannel({..._,createdAt:_.createdAt??$,updatedAt:_.updatedAt??$})}async listChannels(){return this.store.listChannels()}async removeChannel(_){return this.store.removeChannel(_)}async emit(_,$={}){let U=$.redactSensitiveData===!1?vz(_):Ay(vz(_));if($.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let J=await this.appendEvent(U,{dedupe:$.dedupe!==!1});if(J.deduped)return{event:J.event,deliveries:[],deduped:!0};let D=$.deliver===!1?[]:await this.deliver(J.event);return{event:J.event,deliveries:D,deduped:!1}}async listEvents(_={}){if(Object.keys(_).length===0)return this.store.listEvents();return xB(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=xB(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),U=jG(_.cursor,_),J=WG(_.limit),D=$.slice(U,U+J),j=U+D.length,W=j<$.length;return{events:D,cursor:_.cursor,nextCursor:W?iB(j,_):void 0,hasMore:W}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let U=(await this.store.listChannels()).filter((D)=>CB(D,_)),J=[];for(let D of U){let j=await this.applyRedaction(_,D),W=await this.deliverWithRetry(j,D);await this.store.appendDelivery(W),J.push(W)}return J}async matchChannel(_,$={}){let U=await this.store.getChannel(_);if(!U)throw Error(`Channel not found: ${_}`);let J=vz({source:$.source??"hasna.events",type:$.type??"events.test",subject:$.subject??_,severity:$.severity??"info",data:$.data??{test:!0},message:$.message??"Hasna events test delivery",dedupeKey:$.dedupeKey,schemaVersion:$.schemaVersion,metadata:$.metadata,time:$.time,id:$.id}),D=CB(U,J);return{channelId:U.id,matched:D,event:J,filters:U.filters,reason:D?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel(_,$={},U={}){let J=await this.store.getChannel(_);if(!J)throw Error(`Channel not found: ${_}`);let D=await this.matchChannel(_,$),j=D.event;if(U.honorFilters&&!D.matched){let X=new Date().toISOString(),N=hB(j,J,[{attempt:1,status:"skipped",startedAt:X,completedAt:X,error:D.reason}]);return N.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(N),N}let W=await this.applyRedaction(j,J),G=await this.deliverWithRetry(W,J);return await this.store.appendDelivery(G),G}async replay(_={}){let $=_.cursor||_.limit!==void 0?await this.listEventsPage(_):{events:await this.listEvents(_),hasMore:!1};if(_.dryRun)return{events:$.events,deliveries:[],cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore};let U=[];for(let J of $.events)U.push(...await this.deliver(J));return{events:$.events,deliveries:U,cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore}}async appendEvent(_,$){if(this.store.appendEventOnce)return this.store.appendEventOnce(_,{dedupe:$.dedupe});if($.dedupe){let J=await this.store.findEventByIdentity({id:_.id,dedupeKey:_.dedupeKey});if(J)return{event:J,stored:!1,deduped:!0,identity:{id:J.id,dedupeKey:J.dedupeKey}}}let U=await this.store.appendEvent(_);return{event:U,stored:!0,deduped:!1,identity:{id:U.id,dedupeKey:U.dedupeKey}}}async applyRedaction(_,$){let U=Ry(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let J of this.redactors)U=await J(U,$);return U}async deliverWithRetry(_,$){let U=Ky($.retry),J=[];for(let D=0;D[U,aB(U)?"[REDACTED]":J]));return $}function Hy(_){return _.map(tB)}function Ay(_,$="[REDACTED]"){return hz(_,$)}function aB(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function hz(_,$){if(Array.isArray(_))return _.map((U)=>hz(U,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([U,J])=>[U,aB(U)?$:hz(J,$)]))}function Vy(_,$,U){let J=$.split("."),D=_;for(let W of J.slice(0,-1)){let G=D[W];if(!G||typeof G!=="object")return;D=G}let j=J.at(-1);if(j&&j in D)D[j]=U}function xB(_,$){let U=_;if($.eventId)U=U.filter((J)=>J.id===$.eventId);if($.source)U=U.filter((J)=>J.source===$.source);if($.type)U=U.filter((J)=>J.type===$.type);if($.cursor)U=U.slice(jG($.cursor,$));if($.limit!==void 0)U=U.slice(0,WG($.limit));return U}function by(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function Ky(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function $G(_,$,U=!1){if(!_?.length)return;let J={};for(let D of _){let j=My(D,$),W=j.path;if(W in J)throw Error(`Duplicate ${$} filter path: ${W}`);let G=U?Fy(j.rawValue,$):j.rawValue;J[W]=j.negated?{not:G}:G}return J}function Iy(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let U=rB($G(_.data,"data"),$G(_.dataJson,"data-json",!0)),J=rB($G(_.metadata,"metadata"),$G(_.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)$.data=U;if(Object.keys(J).length>0)$.metadata=J;return Object.keys($).length>0?[$]:void 0}function rB(..._){let $={};for(let U of _){if(!U)continue;for(let[J,D]of Object.entries(U)){if(J in $)throw Error(`Duplicate filter path: ${J}`);$[J]=D}}return $}function Fy(_,$){let U=JSON.parse(_);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((J)=>typeof J==="string"))return U;throw Error(`${$} filter JSON values must be string, string[], number, boolean, or null`)}function My(_,$){let U=_.indexOf("!=");if(U>0)return{path:_.slice(0,U),rawValue:_.slice(U+2),negated:!0};let J=_.indexOf("=");if(J<=0)throw Error(`Invalid ${$} filter, expected path=value or path!=value: ${_}`);return{path:_.slice(0,J),rawValue:_.slice(J+1),negated:!1}}var Py=100;function YU(_,$){if(!_)return $;let U=JSON.parse(_);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function ky(_){if(!_?.length)return;let $={};for(let U of _){let J=U.indexOf("=");if(J===-1)throw Error(`Invalid header, expected name=value: ${U}`);$[U.slice(0,J)]=U.slice(J+1)}return $}function A4(_){if(_.createClient)return _.createClient();return new pB({store:new JG(_.dataDir)})}function S0(_,$,U){if($)console.log(JSON.stringify(_,null,2));else console.log(U)}function uB(_,$){let U=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function nB(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function n6(_,$){return nB(_)||nB($)}function wy(_,$){let U=_.command($.channelsCommandName??"channels").description("Manage Hasna event channels");return U.command("add").description("Add or replace a channel").argument("","Webhook URL or command binary").requiredOption("--id ","Channel identifier").option("--transport ","Transport kind: webhook or command","webhook").option("--name ","Display name").option("--type ","Event type filter, e.g. todos.task.*").option("--source ","Event source filter").option("--subject ","Event subject filter").option("--severity ","Event severity filter").option("--data ","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",w0,[]).option("--metadata ","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",w0,[]).option("--data-json ","Event data field filter with typed JSON value; path!=json negatives supported",w0,[]).option("--metadata-json ","Event metadata field filter with typed JSON value; path!=json negatives supported",w0,[]).option("--secret ","Webhook HMAC secret").option("--header ","Webhook header",w0,[]).option("--arg ","Command argument",w0,[]).option("--timeout-ms ","Transport timeout in milliseconds",RD).option("--retry-attempts ","Maximum delivery attempts",RD).option("--retry-backoff-ms ","Initial retry backoff in milliseconds",RD).option("--redact ","Event field path to redact before delivery",w0,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(J,D,j)=>{let W=new Date().toISOString(),G={id:D.id,name:D.name,enabled:!D.disabled,transport:D.transport,filters:Iy(D),retry:D.retryAttempts||D.retryBackoffMs?{maxAttempts:D.retryAttempts,backoffMs:D.retryBackoffMs}:void 0,redact:D.redact?.length?{paths:D.redact}:void 0,createdAt:W,updatedAt:W};if(D.transport==="webhook")G.webhook={url:J,secret:D.secret,headers:ky(D.header),timeoutMs:D.timeoutMs};else if(D.transport==="command")G.command={command:J,args:D.arg??[],timeoutMs:D.timeoutMs};else throw Error(`Transport ${D.transport} is reserved for future use and cannot be added yet`);let X=await A4($).addChannel(G);S0(tB(X),n6(D,j),`Added ${X.transport} channel ${X.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(J,D)=>{let j=await A4($).listChannels();if(n6(J,D)){console.log(JSON.stringify(Hy(j),null,2));return}if(!j.length){console.log("No channels configured.");return}for(let W of j)console.log(`${W.id} ${W.enabled?"enabled":"disabled"} ${W.transport} ${W.webhook?.url??W.command?.command??W.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(J,D)=>{let j=await Gy($.dataDir);S0(j,n6(J,D),`events dataDir: ${j.dataDir}`)}),U.command("remove").description("Remove a channel").argument("","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(J,D,j)=>{let W=await A4($).removeChannel(J);S0({removed:W},n6(D,j),W?`Removed ${J}`:`Channel not found: ${J}`)}),U.command("test").description("Send a test event to one channel").argument("","Channel identifier").option("--source ","Event source override").option("--type ","Event type","events.test").option("--subject ","Event subject").option("--message ","Event message","Hasna events test delivery").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(J,D,j)=>{let W=n6(D,j);try{let G=await A4($).testChannel(J,{source:D.source??$.source,type:D.type,subject:D.subject??J,message:D.message,data:YU(D.data,{test:!0}),metadata:YU(D.metadata,{})},{honorFilters:D.honorFilters});S0(G,W,`${G.status}: ${G.channelId}`)}catch(G){uB(G,W)}}),U.command("match").description("Check whether a sample event matches one channel without delivering").argument("","Channel identifier").option("--source ","Event source override").option("--type ","Event type","events.test").option("--subject ","Event subject").option("--message ","Event message","Hasna events match preview").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(J,D,j)=>{let W=n6(D,j);try{let G=await A4($).matchChannel(J,{source:D.source??$.source,type:D.type,subject:D.subject??J,message:D.message,data:YU(D.data,{test:!0}),metadata:YU(D.metadata,{})});S0(G,W,`${G.matched?"matched":"skipped"}: ${G.channelId}`)}catch(G){uB(G,W)}}),U}function Sy(_,$){let U=_.command($.eventsCommandName??"events").description("Emit, list, and replay Hasna events");U.command("emit").description("Emit an event from this app").argument("","Event type").option("--source ","Event source override").option("--subject ","Event subject").option("--severity ","Event severity","info").option("--message ","Event message").option("--dedupe-key ","Dedupe key").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(D,j,W)=>{let G=await A4($).emit({source:j.source??$.source,type:D,subject:j.subject,severity:j.severity,message:j.message,dedupeKey:j.dedupeKey,data:YU(j.data,{}),metadata:YU(j.metadata,{})},{deliver:j.deliver,dedupe:j.dedupe});S0(G,n6(j,W),`${G.deduped?"Deduped":"Emitted"} ${G.event.id} to ${G.deliveries.length} channel(s)`)});let J=$.defaultEventListLimit??Py;return U.command("list").description("List recorded events").option("--source ","Filter by source").option("--type ","Filter by type").option("--limit ",`Limit to the most recent events (default ${J}; use 0 for all)`,RD,J).option("-j, --json","Print JSON output",!1).action(async(D,j)=>{let W=await A4($).listEvents();if(D.source)W=W.filter((G)=>G.source===D.source);if(D.type)W=W.filter((G)=>G.type===D.type);if(D.limit)W=W.slice(-D.limit);if(n6(D,j)){console.log(JSON.stringify(W,null,2));return}if(!W.length){console.log("No events recorded.");return}for(let G of W)console.log(`${G.time} ${G.id} ${G.source} ${G.type} ${G.severity}`)}),U.command("replay").description("Replay recorded events").option("--id ","Replay one event id").option("--source ","Filter by source").option("--type ","Filter by type").option("--cursor ","Opaque replay cursor from a previous page").option("--limit ","Maximum events to replay",RD).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(D,j)=>{let W=await A4($).replay({eventId:D.id,source:D.source,type:D.type,cursor:D.cursor,limit:D.limit,dryRun:D.dryRun});S0(W,n6(D,j),fy(W.events.length,W.deliveries.length,W.nextCursor))}),U}function eB(_,$){wy(_,$),Sy(_,$)}function RD(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function w0(_,$){return $.push(_),$}function fy(_,$,U){let J=U?`, next cursor: ${U}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${J}`}import{basename as Cy}from"path";var s$={name:"@hasna/knowledge",version:"0.2.91",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs",build:"rm -rf dist && bun build --target=bun --outfile=bin/knowledge.js --minify --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/cli.ts && bun build --target=bun --outfile=bin/knowledge-mcp.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @modelcontextprotocol/sdk --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/mcp.js && bun build --target=bun --outfile=bin/knowledge-serve.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/serve-entry.ts && bun build ./src/index.ts ./src/storage.ts ./src/serve.ts --outdir ./dist --target bun --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek && bun scripts/strip-generated-trailing-whitespace.mjs && bunx tsc -p tsconfig.build.json",prepublishOnly:"bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. ",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.5.2","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};var sB={debug:0,info:1,warn:2,error:3},Zy=()=>{if(process.env.DEBUG)return"debug";if(process.env.LOG_LEVEL==="debug")return"debug";if(process.env.LOG_LEVEL==="warn")return"warn";if(process.env.LOG_LEVEL==="error")return"error";return"info"};function f0(_,$,U){if(sB[_]J.toLowerCase()));return $.filter((J)=>!U.has(J.toLowerCase()))}function xz(_,$,U){if(U===void 0)return{..._,message:$};return{..._,added:U.length,message:`${$} (added ${U.length} tag${U.length===1?"":"s"})`}}function yy(_,$){if($===void 0)throw Error("Missing value for --tag. Example: knowledge add <content> -t <tag> -t <tag>");let U=$.split(",").map((J)=>J.trim()).filter((J)=>J.length>0);if(U.length===0)throw Error(`Invalid --tag value ${JSON.stringify($)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return vy([..._??[],...U])}function hy(_){let $=[],U={};for(let J=0;J<_.length;J+=1){let D=_[J];if(!D.startsWith("-")){$.push(D);continue}switch(D){case"--json":U.json=!0;break;case"--verbose":U.verbose=!0;break;case"--yes":case"-y":U.yes=!0;break;case"--help":case"-h":U.help=!0;break;case"--version":case"-v":U.version=!0;break;case"--desc":U.desc=!0;break;case"--page":case"-p":U.page=Number(_[J+1]),J+=1;break;case"--limit":case"-l":U.limit=Number(_[J+1]),J+=1;break;case"--search":case"-s":U.search=_[J+1],J+=1;break;case"--sort":U.sort=_[J+1],J+=1;break;case"--id":U.id=_[J+1],J+=1;break;case"--store":U.store=_[J+1],J+=1;break;case"--title":U.title=_[J+1],J+=1;break;case"--content":U.content=_[J+1],J+=1;break;case"--url":U.url=_[J+1],J+=1;break;case"--tag":case"-t":U.tag=yy(U.tag,_[J+1]),U.tagRaw=[...U.tagRaw??[],_[J+1]],J+=1;break;case"--format":U.format=_[J+1],J+=1;break;case"--completions":U.completions=_[J+1],J+=1;break;case"--purpose":U.purpose=_[J+1],J+=1;break;case"--model":U.model=_[J+1],J+=1;break;case"--strategy":U.strategy=_[J+1],J+=1;break;case"--dimensions":U.dimensions=Number(_[J+1]),J+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number(_[J+1]),J+=1;break;case"--max-items":U.maxItems=Number(_[J+1]),J+=1;break;case"--from":U.from=_[J+1],J+=1;break;case"--since":U.since=_[J+1],J+=1;break;case"--topic":U.topic=_[J+1],J+=1;break;case"--dedupe":U.dedupe=!0;break;case"--generate":U.generate=!0;break;case"--approve-write":U.approveWrite=!0;break;case"--provider":U.provider=_[J+1],J+=1;break;case"--mode":U.mode=_[J+1],J+=1;break;case"--machine":U.machine=_[J+1],J+=1;break;case"--workspace":U.workspace=_[J+1],J+=1;break;case"--api-url":U.apiUrl=_[J+1],J+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=_[J+1],J+=1;break;case"--email":U.email=_[J+1],J+=1;break;case"--org":U.org=_[J+1],J+=1;break;case"--org-id":U.orgId=_[J+1],J+=1;break;case"--user-id":U.userId=_[J+1],J+=1;break;case"--owner":U.owner=_[J+1],J+=1;break;case"--approved-by":U.approvedBy=_[J+1],J+=1;break;case"--patch-uri":U.patchUri=_[J+1],J+=1;break;case"--domain":U.domain=[...U.domain??[],_[J+1]],J+=1;break;case"--file-results":U.fileResults=!0;break;case"--full":U.full=!0;break;case"--dry-run":U.dryRun=!0;break;case"--fake":U.fake=!0;break;case"--no-tailscale":U.tailscale=!1;break;case"--no-artifact-content":U.artifactContent=!1;break;case"--no-color":U.noColor=!0;break;case"--scope":U.scope=_[J+1],J+=1;break;case"--tables":U.tables=_[J+1],J+=1;break;case"--peer-workspace":U.peerWorkspace=_[J+1],J+=1;break;case"--older-than":U.olderThan=Number(_[J+1]),J+=1;break;case"--empty":U.empty=!0;break;case"--archived":U.archived=!0;break;case"--include-archived":U.includeArchived=!0;break;case"--project":U.project=_[J+1],J+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],_[J+1]],J+=1;break;case"--allow-global":U.allowGlobal=!0;break;default:throw Error(`Unknown flag: ${D}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:U}}function xy(_){if(!_)return"";return WR[_]??_}function ry(_,$){let U=Array.from({length:_.length+1},()=>Array($.length+1).fill(0));for(let J=0;J<=_.length;J+=1)U[J][0]=J;for(let J=0;J<=$.length;J+=1)U[0][J]=J;for(let J=1;J<=_.length;J+=1)for(let D=1;D<=$.length;D+=1){let j=_[J-1]===$[D-1]?0:1;U[J][D]=Math.min(U[J-1][D]+1,U[J][D-1]+1,U[J-1][D-1]+j)}return U[_.length][$.length]}function uy(_){if(!_)return"";let $=[...jR,...Object.keys(WR)],U="",J=Number.POSITIVE_INFINITY;for(let D of $){let j=ry(_,D);if(j<J)J=j,U=D}return J<=3?U:""}function ny(){return Cy(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function my(_){if(!JR.includes(_[0]??""))return!1;let $=new SB;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),eB($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function dy(){console.log(`knowledge - local agent knowledge store + `)}var $b=hb(eA(),1),{program:ta,createCommand:aa,createArgument:sa,createOption:ea,CommanderError:$s,InvalidArgumentError:_s,InvalidOptionArgumentError:Us,Command:_b,Argument:Js,Option:Ws,Help:Xs}=$b.default;import{chmod as FO,mkdir as Kd,readFile as Md,rename as gd,writeFile as Xb}from"fs/promises";import{Buffer as Ob}from"buffer";import{existsSync as Lb}from"fs";import{homedir as Id}from"os";import{join as hW}from"path";import{createHmac as Td,timingSafeEqual as Os}from"crypto";import{randomUUID as vd}from"crypto";import{spawn as yd}from"child_process";import{randomUUID as nd}from"crypto";function Bd($,_){return _.split(".").reduce((U,W)=>{if(U&&typeof U==="object"&&W in U)return U[W];return},$)}function Hd($,_){let U=[],W=(X)=>{if(!U.some((G)=>Object.is(G,X)))U.push(X)};if(_.includes(".")&&_ in $)W($[_]);let J=Bd($,_);if(J!==void 0||!_.includes("."))W(J);return U}function Vd($,_={}){let U="";for(let W=0;W<$.length;W+=1){let J=$[W];if(J==="*")if($[W+1]==="*")U+=".*",W+=1;else U+=_.segmentSafe?"[^/]*":".*";else U+=J.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function vW($,_,U={}){if(_===void 0)return!0;if($===void 0)return!1;return(Array.isArray(_)?_:[_]).some((J)=>Vd(J,U).test($))}function Ub($,_){if(!_)return!0;return Object.entries(_).every(([U,W])=>{let J=Hd($,U);return Rd(J,W,U)})}function Rd($,_,U){if(Fd(_))return!$.some((W)=>Jb(W,_.not,U));return $.some((W)=>Jb(W,_,U))}function Jb($,_,U){if(typeof _==="string"||Array.isArray(_))return Ad($).some((W)=>vW(W,_,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray($))return $.some((W)=>W===_);return $===_}function Ad($){if($===void 0)return[];if(Array.isArray($))return $.flatMap((_)=>bd(_)?[String(_)]:[]);return[String($)]}function bd($){return $===null||typeof $==="string"||typeof $==="number"||typeof $==="boolean"}function Fd($){return Boolean($&&typeof $==="object"&&!Array.isArray($)&&"not"in $)}function Ed($,_){return vW($.source,_.source)&&vW($.type,_.type)&&vW($.subject,_.subject)&&vW($.severity,_.severity)&&Ub($.data,_.data)&&Ub($.metadata,_.metadata)}function Wb($,_){if(!$.enabled)return!1;if(!$.filters||$.filters.length===0)return!0;return $.filters.some((U)=>Ed(_,U))}var k5="HASNA_EVENTS_DIR",f5="HASNA_EVENTS_HOME",gO="local-json-v1:",wd=100,kd=1000;function Nb($){return $||process.env[k5]||process.env[f5]||hW(Id(),".hasna","events")}function fd(){if(process.env[k5])return k5;if(process.env[f5])return f5;return null}class P5{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor($=Nb()){this.dataDir=$,this.runtime=Pd($),this.channelsPath=hW($,"channels.json"),this.eventsPath=hW($,"events.json"),this.deliveriesPath=hW($,"deliveries.json")}async init(){await Kd(this.dataDir,{recursive:!0,mode:448}),await FO(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.findIndex((W)=>W.id===$.id);if(U>=0)_[U]={...$,createdAt:_[U].createdAt,updatedAt:new Date().toISOString()};else _.push($);return await this.writeJson(this.channelsPath,_),U>=0?_[U]:$}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel($){return(await this.listChannels()).find((U)=>U.id===$)}async removeChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.filter((W)=>W.id!==$);return await this.writeJson(this.channelsPath,U),U.length!==_.length}async appendEvent($){await this.init();let _=await this.readJson(this.eventsPath,[]);return _.push($),await this.writeJson(this.eventsPath,_),$}async appendEventOnce($,_={}){await this.init();let U=await this.readJson(this.eventsPath,[]);if(_.dedupe!==!1){let J=Qb(U,{id:$.id,dedupeKey:$.dedupeKey});if(J)return{event:J,stored:!1,deduped:!0,identity:{id:J.id,dedupeKey:J.dedupeKey}}}return U.push($),await this.writeJson(this.eventsPath,U),{event:$,stored:!0,deduped:!1,identity:{id:$.id,dedupeKey:$.dedupeKey}}}async listEvents($={}){await this.init();let _=await this.readJson(this.eventsPath,[]);return Gb(_,$)}async listEventsPage($={}){await this.init();let _=await this.readJson(this.eventsPath,[]),U=Gb(_,{eventId:$.eventId,source:$.source,type:$.type}),W=C5($.cursor,$),J=T5($.limit),X=U.slice(W,W+J),G=W+X.length,Q=G<U.length;return{events:X,cursor:$.cursor,nextCursor:Q?Bb(G,$):void 0,hasMore:Q}}async findEventByIdentity($){let _=await this.listEvents();return Qb(_,$)}async appendDelivery($){await this.init();let _=await this.readJson(this.deliveriesPath,[]);return _.push($),await this.writeJson(this.deliveriesPath,_),$}async listDeliveries(){return await this.init(),this.readJson(this.deliveriesPath,[])}async exportData(){return{channels:await this.listChannels(),events:await this.listEvents(),deliveries:await this.listDeliveries()}}async ensureArrayFile($){if(!Lb($))await Xb($,`[] +`,{encoding:"utf-8",mode:384});await FO($,384).catch(()=>{return})}async readJson($,_){try{let U=await Md($,"utf-8");if(!U.trim())return _;return JSON.parse(U)}catch(U){if(U.code==="ENOENT")return _;throw U}}async writeJson($,_){let U=`${$}.${process.pid}.${Date.now()}.tmp`;await Xb(U,`${JSON.stringify(_,null,2)} +`,{encoding:"utf-8",mode:384}),await gd(U,$),await FO($,384).catch(()=>{return})}}function Pd($=Nb()){return{mode:"local-files",name:"json-events-store",remote:!1,localFiles:!0,localSqlite:!1,postgres:!1,s3:!1,aws:!1,durable:!0,idempotency:"best-effort-local",replayCursors:!0,description:`Local JSON files in ${$}; no SQLite, Postgres, S3, or AWS runtime is configured by this store.`}}function Bb($,_={}){if(!Number.isInteger($)||$<0)throw Error(`Invalid event cursor offset: ${$}`);let U={offset:$,eventId:_.eventId,source:_.source,type:_.type};return`${gO}${Ob.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function C5($,_={}){if(!$)return 0;if(!$.startsWith(gO))throw Error(`Invalid local JSON event cursor: ${$}`);let U=$.slice(gO.length),W;try{W=JSON.parse(Ob.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${$}`)}let J=W.offset;if(!Number.isInteger(J)||J<0)throw Error(`Invalid local JSON event cursor: ${$}`);return EO("eventId",W.eventId,_.eventId),EO("source",W.source,_.source),EO("type",W.type,_.type),J}function T5($){if($===void 0)return wd;if(!Number.isInteger($)||$<1)throw Error(`Event page limit must be a positive integer, got ${$}`);return Math.min($,kd)}function Gb($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor){let W=C5(_.cursor,_);U=U.slice(W)}if(_.limit!==void 0)U=U.slice(0,T5(_.limit));return U}function EO($,_,U){if(_!==U)throw Error(`Local JSON event cursor ${$} filter mismatch`)}function Qb($,_){return $.find((U)=>_.id!==void 0&&U.id===_.id||_.dedupeKey!==void 0&&U.dedupeKey===_.dedupeKey)}async function Cd($){let _=new P5($);await _.init();let[U,W,J]=await Promise.all([_.listChannels(),_.listEvents(),_.listDeliveries()]),X=U.reduce((G,Q)=>{return G[Q.transport]=(G[Q.transport]??0)+1,G},{});return{service:"events",schemaVersion:"1.0",dataDir:_.dataDir,storage:_.runtime,env:{primary:k5,fallback:f5,active:fd()},files:{channels:KO(_.dataDir,"channels.json",U.length),events:KO(_.dataDir,"events.json",W.length),deliveries:KO(_.dataDir,"deliveries.json",J.length)},counts:{channels:U.length,enabledChannels:U.filter((G)=>G.enabled).length,disabledChannels:U.filter((G)=>!G.enabled).length,events:W.length,deliveries:J.length},transports:X,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function KO($,_,U){let W=hW($,_);return{path:W,exists:Lb(W),records:U}}function Sd($,_){return`${$}.${_}`}function Zd($,_,U){return`sha256=${Td("sha256",$).update(Sd(_,U)).digest("hex")}`}function n6(){return new Date().toISOString()}function yW($,_=4096){return $.length>_?`${$.slice(0,_)}...`:$}function hd($,_){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let U=JSON.stringify($),W=$.time,J={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":$.id,"X-Hasna-Event-Type":$.type,"X-Hasna-Timestamp":W,..._.webhook.headers};if(_.webhook.secret)J["X-Hasna-Signature"]=Zd(_.webhook.secret,W,U);return{body:U,headers:J}}async function xd($,_,U={}){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let W=n6(),{body:J,headers:X}=hd($,_),G=new AbortController,Q=setTimeout(()=>G.abort(),_.webhook.timeoutMs??15000);try{let Y=await(U.fetchImpl??fetch)(_.webhook.url,{method:"POST",headers:X,body:J,signal:G.signal}),j=yW(await Y.text());return{attempt:1,status:Y.ok?"success":"failed",startedAt:W,completedAt:n6(),responseStatus:Y.status,responseBody:j,error:Y.ok?void 0:`Webhook returned HTTP ${Y.status}`}}catch(Y){return{attempt:1,status:"failed",startedAt:W,completedAt:n6(),error:Y instanceof Error?Y.message:String(Y)}}finally{clearTimeout(Q)}}async function md($,_){if(!_.command)throw Error(`Channel ${_.id} has no command config`);let U=n6(),W=JSON.stringify($),J={...process.env,..._.command.env,HASNA_CHANNEL_ID:_.id,HASNA_EVENT_ID:$.id,HASNA_EVENT_TYPE:$.type,HASNA_EVENT_SOURCE:$.source,HASNA_EVENT_SUBJECT:$.subject??"",HASNA_EVENT_SEVERITY:$.severity,HASNA_EVENT_TIME:$.time,HASNA_EVENT_DEDUPE_KEY:$.dedupeKey??"",HASNA_EVENT_SCHEMA_VERSION:$.schemaVersion,HASNA_EVENT_JSON:W};return new Promise((X)=>{let G=yd(_.command.command,_.command.args??[],{cwd:_.command.cwd,env:J,stdio:["pipe","pipe","pipe"]}),Q="",Y="",j=setTimeout(()=>G.kill("SIGTERM"),_.command.timeoutMs??15000);G.stdin.end(W),G.stdout.on("data",(O)=>{Q+=O.toString()}),G.stderr.on("data",(O)=>{Y+=O.toString()}),G.on("error",(O)=>{clearTimeout(j),X({attempt:1,status:"failed",startedAt:U,completedAt:n6(),stdout:yW(Q),stderr:yW(Y),error:O.message})}),G.on("close",(O,B)=>{clearTimeout(j);let V=O===0;X({attempt:1,status:V?"success":"failed",startedAt:U,completedAt:n6(),stdout:yW(Q),stderr:yW(Y),error:V?void 0:`Command exited with ${B?`signal ${B}`:`code ${O}`}`})})})}async function ud($,_,U={}){if(_.transport==="webhook")return xd($,_,U);if(_.transport==="command")return md($,_);return{attempt:1,status:"skipped",startedAt:n6(),completedAt:n6(),error:`Unsupported transport: ${_.transport}`}}function Yb($,_,U){let W=U.some((J)=>J.status==="success")?"success":U.every((J)=>J.status==="skipped")?"skipped":"failed";return{id:vd(),eventId:$.id,channelId:_.id,transport:_.transport,status:W,attempts:U,createdAt:U[0]?.startedAt??n6(),completedAt:U.at(-1)?.completedAt??n6()}}class Hb extends Error{eventType;issues;constructor($,_){let U=_.map((W)=>`${W.path||"<root>"}: ${W.message}`).join("; ");super(`Event validation failed for type "${$}": ${U}`);this.name="EventValidationError",this.eventType=$,this.issues=_}}class Vb{definitions=new Map;register($){return this.definitions.set($.type,$),this}unregister($){return this.definitions.delete($)}has($){return this.definitions.has($)}get($){return this.definitions.get($)}list(){return[...this.definitions.values()]}validateEvent($){let _=this.definitions.get($.type);if(!_)return{ok:!0};return _.validate($.data,$)}assertEventValid($){let _=this.validateEvent($);if(!_.ok)throw new Hb($.type,_.issues)}}var dd=new Vb;function MO($){return{id:$.id??nd(),source:$.source,type:$.type,time:pd($.time),subject:$.subject,severity:$.severity??"info",data:$.data??{},message:$.message,dedupeKey:$.dedupeKey,schemaVersion:$.schemaVersion??"1.0",metadata:$.metadata??{}}}class Rb{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor($={}){this.store=$.store??new P5($.dataDir),this.redactors=$.redactors??[],this.transportOptions={fetchImpl:$.fetchImpl},this.catalog=$.catalog??dd,this.validateCatalogTypes=$.validateCatalogTypes??!1}async addChannel($){let _=new Date().toISOString();return this.store.addChannel({...$,createdAt:$.createdAt??_,updatedAt:$.updatedAt??_})}async listChannels(){return this.store.listChannels()}async removeChannel($){return this.store.removeChannel($)}async emit($,_={}){let U=_.redactSensitiveData===!1?MO($):rd(MO($));if(_.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let W=await this.appendEvent(U,{dedupe:_.dedupe!==!1});if(W.deduped)return{event:W.event,deliveries:[],deduped:!0};let J=_.deliver===!1?[]:await this.deliver(W.event);return{event:W.event,deliveries:J,deduped:!1}}async listEvents($={}){if(Object.keys($).length===0)return this.store.listEvents();return jb(await this.store.listEvents(),$)}async listEventsPage($={}){if(this.store.listEventsPage)return this.store.listEventsPage($);let _=jb(await this.store.listEvents(),{eventId:$.eventId,source:$.source,type:$.type}),U=C5($.cursor,$),W=T5($.limit),J=_.slice(U,U+W),X=U+J.length,G=X<_.length;return{events:J,cursor:$.cursor,nextCursor:G?Bb(X,$):void 0,hasMore:G}}async listDeliveries(){return this.store.listDeliveries()}async deliver($){let U=(await this.store.listChannels()).filter((J)=>Wb(J,$)),W=[];for(let J of U){let X=await this.applyRedaction($,J),G=await this.deliverWithRetry(X,J);await this.store.appendDelivery(G),W.push(G)}return W}async matchChannel($,_={}){let U=await this.store.getChannel($);if(!U)throw Error(`Channel not found: ${$}`);let W=MO({source:_.source??"hasna.events",type:_.type??"events.test",subject:_.subject??$,severity:_.severity??"info",data:_.data??{test:!0},message:_.message??"Hasna events test delivery",dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion,metadata:_.metadata,time:_.time,id:_.id}),J=Wb(U,W);return{channelId:U.id,matched:J,event:W,filters:U.filters,reason:J?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel($,_={},U={}){let W=await this.store.getChannel($);if(!W)throw Error(`Channel not found: ${$}`);let J=await this.matchChannel($,_),X=J.event;if(U.honorFilters&&!J.matched){let Y=new Date().toISOString(),j=Yb(X,W,[{attempt:1,status:"skipped",startedAt:Y,completedAt:Y,error:J.reason}]);return j.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(j),j}let G=await this.applyRedaction(X,W),Q=await this.deliverWithRetry(G,W);return await this.store.appendDelivery(Q),Q}async replay($={}){let _=$.cursor||$.limit!==void 0?await this.listEventsPage($):{events:await this.listEvents($),hasMore:!1};if($.dryRun)return{events:_.events,deliveries:[],cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore};let U=[];for(let W of _.events)U.push(...await this.deliver(W));return{events:_.events,deliveries:U,cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore}}async appendEvent($,_){if(this.store.appendEventOnce)return this.store.appendEventOnce($,{dedupe:_.dedupe});if(_.dedupe){let W=await this.store.findEventByIdentity({id:$.id,dedupeKey:$.dedupeKey});if(W)return{event:W,stored:!1,deduped:!0,identity:{id:W.id,dedupeKey:W.dedupeKey}}}let U=await this.store.appendEvent($);return{event:U,stored:!0,deduped:!1,identity:{id:U.id,dedupeKey:U.dedupeKey}}}async applyRedaction($,_){let U=cd($,_.redact?.paths??[],_.redact?.replacement??"[REDACTED]");for(let W of this.redactors)U=await W(U,_);return U}async deliverWithRetry($,_){let U=od(_.retry),W=[];for(let J=0;J<U.maxAttempts;J+=1){let X=await ud($,_,this.transportOptions);if(X.attempt=J+1,X.status==="failed"&&J+1<U.maxAttempts)X.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**J);if(W.push(X),X.status!=="failed")break;if(X.nextBackoffMs)await Bun.sleep(X.nextBackoffMs)}return Yb($,_,W)}}function cd($,_,U="[REDACTED]"){if(_.length===0)return $;let W=structuredClone($);for(let J of _)id(W,J,U);return W}function Ab($){let _=structuredClone($);if(_.webhook?.secret)_.webhook.secret="[REDACTED]";if(_.command?.env)_.command.env=Object.fromEntries(Object.entries(_.command.env).map(([U,W])=>[U,bb(U)?"[REDACTED]":W]));return _}function ld($){return $.map(Ab)}function rd($,_="[REDACTED]"){return IO($,_)}function bb($){return/secret|token|password|api[_-]?key|authorization/i.test($)}function IO($,_){if(Array.isArray($))return $.map((U)=>IO(U,_));if(!$||typeof $!=="object")return $;return Object.fromEntries(Object.entries($).map(([U,W])=>[U,bb(U)?_:IO(W,_)]))}function id($,_,U){let W=_.split("."),J=$;for(let G of W.slice(0,-1)){let Q=J[G];if(!Q||typeof Q!=="object")return;J=Q}let X=W.at(-1);if(X&&X in J)J[X]=U}function jb($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor)U=U.slice(C5(_.cursor,_));if(_.limit!==void 0)U=U.slice(0,T5(_.limit));return U}function pd($){if(!$)return new Date().toISOString();return $ instanceof Date?$.toISOString():$}function od($){return{maxAttempts:Math.max(1,$?.maxAttempts??1),backoffMs:Math.max(0,$?.backoffMs??250),multiplier:Math.max(1,$?.multiplier??2)}}function w5($,_,U=!1){if(!$?.length)return;let W={};for(let J of $){let X=sd(J,_),G=X.path;if(G in W)throw Error(`Duplicate ${_} filter path: ${G}`);let Q=U?ad(X.rawValue,_):X.rawValue;W[G]=X.negated?{not:Q}:Q}return W}function td($){let _={};if($.source)_.source=$.source;if($.type)_.type=$.type;if($.subject)_.subject=$.subject;if($.severity)_.severity=$.severity;let U=Db(w5($.data,"data"),w5($.dataJson,"data-json",!0)),W=Db(w5($.metadata,"metadata"),w5($.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)_.data=U;if(Object.keys(W).length>0)_.metadata=W;return Object.keys(_).length>0?[_]:void 0}function Db(...$){let _={};for(let U of $){if(!U)continue;for(let[W,J]of Object.entries(U)){if(W in _)throw Error(`Duplicate filter path: ${W}`);_[W]=J}}return _}function ad($,_){let U=JSON.parse($);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((W)=>typeof W==="string"))return U;throw Error(`${_} filter JSON values must be string, string[], number, boolean, or null`)}function sd($,_){let U=$.indexOf("!=");if(U>0)return{path:$.slice(0,U),rawValue:$.slice(U+2),negated:!0};let W=$.indexOf("=");if(W<=0)throw Error(`Invalid ${_} filter, expected path=value or path!=value: ${$}`);return{path:$.slice(0,W),rawValue:$.slice(W+1),negated:!1}}var ed=100;function FU($,_){if(!$)return _;let U=JSON.parse($);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function $n($){if(!$?.length)return;let _={};for(let U of $){let W=U.indexOf("=");if(W===-1)throw Error(`Invalid header, expected name=value: ${U}`);_[U.slice(0,W)]=U.slice(W+1)}return _}function X0($){if($.createClient)return $.createClient();return new Rb({store:new P5($.dataDir)})}function E1($,_,U){if(_)console.log(JSON.stringify($,null,2));else console.log(U)}function zb($,_){let U=$ instanceof Error?$.message:String($);if(_)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function qb($){return Boolean($?.json||$?.opts?.().json||$?.optsWithGlobals?.().json||$?.parent?.opts?.().json||$?.parent?.optsWithGlobals?.().json)}function F4($,_){return qb($)||qb(_)}function _n($,_){let U=$.command(_.channelsCommandName??"channels").description("Manage Hasna event channels");return U.command("add").description("Add or replace a channel").argument("<target>","Webhook URL or command binary").requiredOption("--id <id>","Channel identifier").option("--transport <kind>","Transport kind: webhook or command","webhook").option("--name <name>","Display name").option("--type <pattern>","Event type filter, e.g. todos.task.*").option("--source <pattern>","Event source filter").option("--subject <pattern>","Event subject filter").option("--severity <pattern>","Event severity filter").option("--data <path=value...>","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",F1,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",F1,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",F1,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",F1,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",F1,[]).option("--arg <arg...>","Command argument",F1,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",xW).option("--retry-attempts <n>","Maximum delivery attempts",xW).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",xW).option("--redact <path...>","Event field path to redact before delivery",F1,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=new Date().toISOString(),Q={id:J.id,name:J.name,enabled:!J.disabled,transport:J.transport,filters:td(J),retry:J.retryAttempts||J.retryBackoffMs?{maxAttempts:J.retryAttempts,backoffMs:J.retryBackoffMs}:void 0,redact:J.redact?.length?{paths:J.redact}:void 0,createdAt:G,updatedAt:G};if(J.transport==="webhook")Q.webhook={url:W,secret:J.secret,headers:$n(J.header),timeoutMs:J.timeoutMs};else if(J.transport==="command")Q.command={command:W,args:J.arg??[],timeoutMs:J.timeoutMs};else throw Error(`Transport ${J.transport} is reserved for future use and cannot be added yet`);let Y=await X0(_).addChannel(Q);E1(Ab(Y),F4(J,X),`Added ${Y.transport} channel ${Y.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await X0(_).listChannels();if(F4(W,J)){console.log(JSON.stringify(ld(X),null,2));return}if(!X.length){console.log("No channels configured.");return}for(let G of X)console.log(`${G.id} ${G.enabled?"enabled":"disabled"} ${G.transport} ${G.webhook?.url??G.command?.command??G.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await Cd(_.dataDir);E1(X,F4(W,J),`events dataDir: ${X.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=await X0(_).removeChannel(W);E1({removed:G},F4(J,X),G?`Removed ${W}`:`Channel not found: ${W}`)}),U.command("test").description("Send a test event to one channel").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events test delivery").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=F4(J,X);try{let Q=await X0(_).testChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:FU(J.data,{test:!0}),metadata:FU(J.metadata,{})},{honorFilters:J.honorFilters});E1(Q,G,`${Q.status}: ${Q.channelId}`)}catch(Q){zb(Q,G)}}),U.command("match").description("Check whether a sample event matches one channel without delivering").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events match preview").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=F4(J,X);try{let Q=await X0(_).matchChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:FU(J.data,{test:!0}),metadata:FU(J.metadata,{})});E1(Q,G,`${Q.matched?"matched":"skipped"}: ${Q.channelId}`)}catch(Q){zb(Q,G)}}),U}function Un($,_){let U=$.command(_.eventsCommandName??"events").description("Emit, list, and replay Hasna events");U.command("emit").description("Emit an event from this app").argument("<type>","Event type").option("--source <source>","Event source override").option("--subject <subject>","Event subject").option("--severity <severity>","Event severity","info").option("--message <message>","Event message").option("--dedupe-key <key>","Dedupe key").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(J,X,G)=>{let Q=await X0(_).emit({source:X.source??_.source,type:J,subject:X.subject,severity:X.severity,message:X.message,dedupeKey:X.dedupeKey,data:FU(X.data,{}),metadata:FU(X.metadata,{})},{deliver:X.deliver,dedupe:X.dedupe});E1(Q,F4(X,G),`${Q.deduped?"Deduped":"Emitted"} ${Q.event.id} to ${Q.deliveries.length} channel(s)`)});let W=_.defaultEventListLimit??ed;return U.command("list").description("List recorded events").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--limit <n>",`Limit to the most recent <n> events (default ${W}; use 0 for all)`,xW,W).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await X0(_).listEvents();if(J.source)G=G.filter((Q)=>Q.source===J.source);if(J.type)G=G.filter((Q)=>Q.type===J.type);if(J.limit)G=G.slice(-J.limit);if(F4(J,X)){console.log(JSON.stringify(G,null,2));return}if(!G.length){console.log("No events recorded.");return}for(let Q of G)console.log(`${Q.time} ${Q.id} ${Q.source} ${Q.type} ${Q.severity}`)}),U.command("replay").description("Replay recorded events").option("--id <id>","Replay one event id").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--cursor <cursor>","Opaque replay cursor from a previous page").option("--limit <n>","Maximum events to replay",xW).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await X0(_).replay({eventId:J.id,source:J.source,type:J.type,cursor:J.cursor,limit:J.limit,dryRun:J.dryRun});E1(G,F4(J,X),Jn(G.events.length,G.deliveries.length,G.nextCursor))}),U}function Fb($,_){_n($,_),Un($,_)}function xW($){let _=Number($);if(!Number.isFinite(_))throw Error(`Expected a number, got ${$}`);return _}function F1($,_){return _.push($),_}function Jn($,_,U){let W=U?`, next cursor: ${U}`:"";return`Replayed ${$} event(s), ${_} delivery result(s)${W}`}import{basename as Xn}from"path";var M6={name:"@hasna/knowledge",version:"0.2.91",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs",build:"rm -rf dist && bun build --target=bun --outfile=bin/knowledge.js --minify --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/cli.ts && bun build --target=bun --outfile=bin/knowledge-mcp.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @modelcontextprotocol/sdk --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/mcp.js && bun build --target=bun --outfile=bin/knowledge-serve.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/serve-entry.ts && bun build ./src/index.ts ./src/storage.ts ./src/serve.ts --outdir ./dist --target bun --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek && bun scripts/strip-generated-trailing-whitespace.mjs && bunx tsc -p tsconfig.build.json",prepublishOnly:"bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. <hasna@example.com>",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.5.2","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};var Eb={debug:0,info:1,warn:2,error:3},Gn=()=>{if(process.env.DEBUG)return"debug";if(process.env.LOG_LEVEL==="debug")return"debug";if(process.env.LOG_LEVEL==="warn")return"warn";if(process.env.LOG_LEVEL==="error")return"error";return"info"};function K1($,_,U){if(Eb[$]<Eb[Gn()])return;let W={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[$],J=U?`${W} ${_} ${JSON.stringify(U)}`:`${W} ${_}`;if($==="error")console.error(J);else console.error(J)}var wb=["events","webhooks"],kb=["add","list","get","delete","update","archive","restore","upsert","untag","export","prune","dedupe","stats","inventory","project-panel","paths","mode","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...wb],fb={ls:"list",rm:"delete",edit:"update",unarchive:"restore"};function Qn($){let _=new Set,U=[];for(let W of $){let J=W.toLowerCase();if(_.has(J))continue;_.add(J),U.push(W)}return U}function Kb($,_){let U=new Set(($??[]).map((W)=>W.toLowerCase()));return _.filter((W)=>!U.has(W.toLowerCase()))}function wO($,_,U){if(U===void 0)return{...$,message:_};return{...$,added:U.length,message:`${_} (added ${U.length} tag${U.length===1?"":"s"})`}}function Yn($,_){if(_===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>");let U=_.split(",").map((W)=>W.trim()).filter((W)=>W.length>0);if(U.length===0)throw Error(`Invalid --tag value ${JSON.stringify(_)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return Qn([...$??[],...U])}function jn($){let _=[],U={};for(let W=0;W<$.length;W+=1){let J=$[W];if(!J.startsWith("-")){_.push(J);continue}switch(J){case"--json":U.json=!0;break;case"--verbose":U.verbose=!0;break;case"--yes":case"-y":U.yes=!0;break;case"--help":case"-h":U.help=!0;break;case"--version":case"-v":U.version=!0;break;case"--desc":U.desc=!0;break;case"--page":case"-p":U.page=Number($[W+1]),W+=1;break;case"--limit":case"-l":U.limit=Number($[W+1]),W+=1;break;case"--search":case"-s":U.search=$[W+1],W+=1;break;case"--sort":U.sort=$[W+1],W+=1;break;case"--id":U.id=$[W+1],W+=1;break;case"--store":U.store=$[W+1],W+=1;break;case"--title":U.title=$[W+1],W+=1;break;case"--content":U.content=$[W+1],W+=1;break;case"--url":U.url=$[W+1],W+=1;break;case"--tag":case"-t":U.tag=Yn(U.tag,$[W+1]),U.tagRaw=[...U.tagRaw??[],$[W+1]],W+=1;break;case"--format":U.format=$[W+1],W+=1;break;case"--completions":U.completions=$[W+1],W+=1;break;case"--purpose":U.purpose=$[W+1],W+=1;break;case"--model":U.model=$[W+1],W+=1;break;case"--strategy":U.strategy=$[W+1],W+=1;break;case"--dimensions":U.dimensions=Number($[W+1]),W+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number($[W+1]),W+=1;break;case"--max-items":U.maxItems=Number($[W+1]),W+=1;break;case"--from":U.from=$[W+1],W+=1;break;case"--since":U.since=$[W+1],W+=1;break;case"--topic":U.topic=$[W+1],W+=1;break;case"--dedupe":U.dedupe=!0;break;case"--generate":U.generate=!0;break;case"--approve-write":U.approveWrite=!0;break;case"--provider":U.provider=$[W+1],W+=1;break;case"--mode":U.mode=$[W+1],W+=1;break;case"--machine":U.machine=$[W+1],W+=1;break;case"--workspace":U.workspace=$[W+1],W+=1;break;case"--api-url":U.apiUrl=$[W+1],W+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=$[W+1],W+=1;break;case"--email":U.email=$[W+1],W+=1;break;case"--org":U.org=$[W+1],W+=1;break;case"--org-id":U.orgId=$[W+1],W+=1;break;case"--user-id":U.userId=$[W+1],W+=1;break;case"--owner":U.owner=$[W+1],W+=1;break;case"--approved-by":U.approvedBy=$[W+1],W+=1;break;case"--patch-uri":U.patchUri=$[W+1],W+=1;break;case"--domain":U.domain=[...U.domain??[],$[W+1]],W+=1;break;case"--file-results":U.fileResults=!0;break;case"--full":U.full=!0;break;case"--dry-run":U.dryRun=!0;break;case"--fake":U.fake=!0;break;case"--no-tailscale":U.tailscale=!1;break;case"--no-artifact-content":U.artifactContent=!1;break;case"--no-color":U.noColor=!0;break;case"--scope":U.scope=$[W+1],W+=1;break;case"--tables":U.tables=$[W+1],W+=1;break;case"--peer-workspace":U.peerWorkspace=$[W+1],W+=1;break;case"--older-than":U.olderThan=Number($[W+1]),W+=1;break;case"--empty":U.empty=!0;break;case"--archived":U.archived=!0;break;case"--include-archived":U.includeArchived=!0;break;case"--project":U.project=$[W+1],W+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],$[W+1]],W+=1;break;case"--allow-global":U.allowGlobal=!0;break;default:throw Error(`Unknown flag: ${J}. Run 'knowledge --help' for valid options.`)}}return{positional:_,flags:U}}function Dn($){if(!$)return"";return fb[$]??$}function zn($,_){let U=Array.from({length:$.length+1},()=>Array(_.length+1).fill(0));for(let W=0;W<=$.length;W+=1)U[W][0]=W;for(let W=0;W<=_.length;W+=1)U[0][W]=W;for(let W=1;W<=$.length;W+=1)for(let J=1;J<=_.length;J+=1){let X=$[W-1]===_[J-1]?0:1;U[W][J]=Math.min(U[W-1][J]+1,U[W][J-1]+1,U[W-1][J-1]+X)}return U[$.length][_.length]}function qn($){if(!$)return"";let _=[...kb,...Object.keys(fb)],U="",W=Number.POSITIVE_INFINITY;for(let J of _){let X=zn($,J);if(X<W)W=X,U=J}return W<=3?U:""}function On(){return Xn(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Ln($){if(!wb.includes($[0]??""))return!1;let _=new _b;return _.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),Fb(_,{source:"knowledge"}),await _.parseAsync($,{from:"user"}),!0}function Nn(){console.log(`knowledge - local agent knowledge store Usage: knowledge <command> [options] @@ -1226,6 +1226,7 @@ Commands: inventory Show all local knowledge layers and previews project-panel Emit Projects dashboard project-panel contract paths Show resolved workspace/store paths + mode Report the resolved backend (local or cloud) and why setup Configure local, hosted, or canonical example S3 mode auth login|whoami|logout Manage hosted API credentials storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path|import-legacy @@ -1335,43 +1336,50 @@ Export Options: Prune Options: --older-than <days> Remove items older than N days - --empty Remove items with empty content`)}function cy(_){if(_==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] - -t/--tag is repeatable and accepts comma-separated values: -t a -t b == -t "a,b"`);return}if(_==="list"||_==="ls"){console.log(`Usage: knowledge list|ls [--format table|json] [-p <page>] [-l <limit>] [-s <search>] [-t <tag>]... [--sort created|title] [--desc] [--archived] [--include-archived] [--verbose] [--json] + --empty Remove items with empty content`)}function Bn($){if($==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] + -t/--tag is repeatable and accepts comma-separated values: -t a -t b == -t "a,b"`);return}if($==="list"||$==="ls"){console.log(`Usage: knowledge list|ls [--format table|json] [-p <page>] [-l <limit>] [-s <search>] [-t <tag>]... [--sort created|title] [--desc] [--archived] [--include-archived] [--verbose] [--json] -t/--tag is repeatable and accepts comma-separated values; repeated -t narrows (an item must carry every tag). Each value matches an item carrying the whole value OR all of its comma-split names \u2014 a union, so \`-t "a,b,c"\` finds items carrying a legacy literal "a,b,c" tag as well as items carrying the three names separately. (\`untag\` differs on purpose: it stops at the whole-value match.) Use --json to tell those two shapes apart; the table renders them near-identically. Archived items are excluded by default; add --include-archived to sweep both. - If both --archived and --include-archived are passed, --archived wins (archived items only).`);return}if(_==="get"){console.log("Usage: knowledge get --id <id> [--json]");return}if(_==="update"||_==="edit"){console.log(`Usage: knowledge update|edit --id <id> [--title <title>] [--content <content>] [--url <url>] [-t <tag>]... [--json] + If both --archived and --include-archived are passed, --archived wins (archived items only).`);return}if($==="get"){console.log("Usage: knowledge get --id <id> [--json]");return}if($==="update"||$==="edit"){console.log(`Usage: knowledge update|edit --id <id> [--title <title>] [--content <content>] [--url <url>] [-t <tag>]... [--json] -t/--tag is repeatable and accepts comma-separated values; tags are added, never replaced. - With -t the output reports how many tags were actually added, so 0 added is not read as 3.`);return}if(_==="archive"){console.log("Usage: knowledge archive --id <id> [--json]");return}if(_==="restore"||_==="unarchive"){console.log("Usage: knowledge restore|unarchive --id <id> [--json]");return}if(_==="upsert"){console.log(`Usage: knowledge upsert [title] [content] [--id <id>] [--title <title>] [--content <content>] [--url <url>] [-t <tag>]... [--json] + With -t the output reports how many tags were actually added, so 0 added is not read as 3.`);return}if($==="archive"){console.log("Usage: knowledge archive --id <id> [--json]");return}if($==="restore"||$==="unarchive"){console.log("Usage: knowledge restore|unarchive --id <id> [--json]");return}if($==="upsert"){console.log(`Usage: knowledge upsert [title] [content] [--id <id>] [--title <title>] [--content <content>] [--url <url>] [-t <tag>]... [--json] -t/--tag is repeatable and accepts comma-separated values; tags are added, never replaced. - With -t the output reports how many tags were actually added, on both the create and update paths.`);return}if(_==="untag"){console.log(`Usage: knowledge untag --id <id> -t <tag>... [--json] + With -t the output reports how many tags were actually added, on both the create and update paths.`);return}if($==="untag"){console.log(`Usage: knowledge untag --id <id> -t <tag>... [--json] -t/--tag is repeatable and accepts comma-separated values. Each value is matched whole first, and only split on commas if no stored tag equals it, so a legacy literal "a,b,c" tag can still be removed. - Removing nothing exits 1; unmatched names are reported in not_found.`);return}if(_==="delete"||_==="rm"){console.log("Usage: knowledge delete|rm --id <id> -y [--json]");return}if(_==="export"){console.log("Usage: knowledge export [--verbose] [--json] [--format json|jsonl]");return}if(_==="prune"){console.log("Usage: knowledge prune --yes [--older-than <days>] [--empty] [--json]");return}if(_==="dedupe"){console.log("Usage: knowledge dedupe --yes [--json]");return}if(_==="stats"){console.log("Usage: knowledge stats [--json]");return}if(_==="inventory"){console.log("Usage: knowledge inventory [--scope local|global|project] [--limit <n>] [--include-archived] [--verbose] [--json]");return}if(_==="project-panel"){console.log("Usage: knowledge project-panel --project <id|name|slug> [--scope project|local|global] [--limit <n>] [--include-archived] [--json|--contract]");return}if(_==="paths"){console.log("Usage: knowledge paths [--scope local|global|project] [--verbose] [--json]");return}if(_==="setup"){console.log("Usage: knowledge setup --mode local|hosted [--api-url https://...] [--canonical-example] [--scope local|global|project] [--json]");return}if(_==="auth"){console.log("Usage: knowledge auth login|whoami|logout [--api-key <key>] [--email <email>] [--org <slug>] [--api-url https://...] [--scope local|global|project] [--json]");return}if(_==="storage"){console.log(`Usage: knowledge storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path [--approve-write --approved-by <name>] [--scope local|global|project] [--json] - knowledge storage import-legacy [--dry-run] [--scope global] [--json]`);return}if(_==="machines"){console.log("Usage: knowledge machines topology [--no-tailscale] | preflight [machine] [--workspace <repo>] [--scope local|global|project] [--verbose] [--json]");return}if(_==="sync"){console.log(`Usage: knowledge sync status|doctor|readiness|snapshot|machines|conflicts [show|propose|resolve] [id] | dry-run|pull|push|sync|export|import [--peer-workspace <path>] [--machine <ssh-alias>] [--tables <names>] [--dry-run] [--limit <n>] [--approve-write] [--approved-by <name>] [--strategy <name>] [--mode deterministic|ai] [--model <alias|provider:model>] [--fake] [--no-tailscale] [--scope local|global|project] [--verbose] [--json] - -Remote machine sync resolves peer paths through @hasna/machines when --peer-workspace is omitted.`);return}if(_==="db"){console.log("Usage: knowledge db init|stats|storage status [--scope local|global|project] [--json]");return}if(_==="wiki"){console.log("Usage: knowledge wiki init|compile|file-answer|lint [query|prompt] [--title <title>] [--content <answer>] [--approve-write] [--limit <n>] [--scope local|global|project] [--json]");return}if(_==="app-wiki"){console.log("Usage: knowledge app-wiki init | note add|get|list | source add <source-ref> | search <query> | query <query> [--title <title>] [--content <text>] [--tag <tag>] [--source-ref <uri>] [--scope project|local|global] [--allow-global] [--json]");return}if(_==="source"){console.log("Usage: knowledge source resolve <source-ref> [--purpose knowledge_answer|knowledge_index] [--limit <n>] [--scope local|global|project] [--json]");return}if(_==="ingest"){console.log("Usage: knowledge ingest manifest <file|s3://bucket/key> | source <source-ref> | rules [--workspace <path>] [--owner <name>] [--dry-run] [--max-items <n>] [--limit <n>] [--purpose knowledge_index] [--scope local|global|project] [--json]");return}if(_==="reindex"){console.log("Usage: knowledge reindex status|enqueue|embeddings|outbox [file|s3://bucket/key] [--full] [--fake] [--scope local|global|project] [--json]");return}if(_==="search"){console.log("Usage: knowledge search <query> [--context] [--semantic] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if(_==="context"){console.log("Usage: knowledge context pack <query> [--from search|runs|loops] [--max-tokens <n>] [--max-items <n>] [--limit <n>] [--semantic] [--model openai:text-embedding-3-small] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if(_==="proposals"){console.log("Usage: knowledge proposals context --from loops --topic <text> [--since <duration|ISO>] [--dedupe] [--max-tokens <n>] [--max-items <n>] [--scope local|global|project] [--json]");return}if(_==="web"){console.log("Usage: knowledge web search <query> [--provider openai|anthropic] [--model provider:model] [--domain <domain>] [--file-results] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if(_==="ask"||_==="build"){console.log("Usage: knowledge ask|build <prompt> [--generate] [--semantic] [--model default|provider:model] [--approve-write] [--scope local|global|project] [--verbose] [--json]");return}if(_==="embeddings"){console.log("Usage: knowledge embeddings status|index|search [query] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if(_==="providers"){console.log("Usage: knowledge providers status|models|check [provider|model-alias] [--scope local|global|project] [--json]");return}if(_==="safety"){console.log("Usage: knowledge safety status|check|approve|audit|redact [args] [--scope local|global|project] [--json]");return}if(_==="events"){console.log("Usage: knowledge events emit|list|replay [args] [--json]");return}if(_==="webhooks"){console.log("Usage: knowledge webhooks add|list|remove|test [args] [--json]");return}dy()}function iy(_){if(_.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function C(_,$,U){if($){console.log(JSON.stringify(_,null,2));return}if(typeof _==="string"){console.log(_);return}if(U?.verbose){console.log(JSON.stringify(_,null,2));return}let J=_.message;console.log(J?`${J} -${J$()}`:ly(_))}function J$(_="full details"){return`Hint: use --verbose for ${_}, or --json for machine-readable output.`}function z_(_,$=120){let U=_===null||_===void 0?"":String(_).replace(/\s+/g," ").trim();if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-3))}...`}function ly(_){if(!_||typeof _!=="object")return String(_);let $=_,U=[$.ok===!1?"Result: not ok":"Result: ok"];for(let[J,D]of Object.entries($).slice(0,8)){if(J==="ok"||J==="message")continue;if(Array.isArray(D))U.push(`${J}: ${D.length} item(s)`);else if(D&&typeof D==="object")U.push(`${J}: ${Object.keys(D).length} field(s)`);else U.push(`${J}: ${z_(D,100)}`)}return U.push(J$()),U.join(` -`)}function oy(_){return[`Knowledge paths (${_.scope})`,`Home: ${_.home}`,`SQLite: ${_.knowledge_db_path}`,`JSON store: ${_.json_store_path}`,`Wiki: ${_.wiki_dir}`,J$("config and all paths")].join(` -`)}function $R(_){console.log(JSON.stringify(_))}function py(_){let $=_.summary,U=[`Knowledge inventory (${_.scope})`,`Home: ${_.home}`,`JSON store: ${_.paths.json_store_path}${_.paths.json_store_exists?"":" (missing)"}`,`SQLite catalog: ${_.paths.knowledge_db_path}`,`Summary: ${$.legacy_items} item(s), ${$.sources} source(s), ${$.chunks} chunk(s), ${$.wiki_pages} wiki page(s), ${$.indexes} index(es), ${$.storage_objects} artifact(s), ${$.runs} run(s)`],J=(D,j,W)=>{if(j.length===0)return;U.push("",`${D}:`);for(let G of j.slice(0,_.limit))U.push(`- ${W(G)}`)};return J("Items",_.items,(D)=>`${D.id}: ${D.title}`),J("Sources",_.sources,(D)=>`${D.kind??"source"} ${D.uri} (${D.chunks??0} chunk(s))`),J("Chunks",_.chunks,(D)=>`${D.kind??"chunk"} ${D.id}: ${D.text_preview??""}`),J("Wiki pages",_.wiki_pages,(D)=>`${D.path}: ${D.title}`),J("Indexes",_.indexes,(D)=>`${D.kind??"index"} ${D.name}${D.shard_key?` (${D.shard_key})`:""}`),J("Artifacts",_.storage_objects,(D)=>`${D.kind??"artifact"} ${D.artifact_uri}`),J("Runs",_.runs,(D)=>`${D.type??"run"} ${D.id}: ${D.status??"unknown"}`),J("Machines",_.machines,(D)=>`${D.machine_id}${D.workspace_home?` ${D.workspace_home}`:""}`),J("Sync conflicts",_.sync_conflicts,(D)=>`${D.id}: ${D.entity_kind}/${D.entity_id} ${D.status}`),U.join(` -`)}function ty(_){let $=Array.isArray(_.results)?_.results:[],U=[`${$.length} search result(s) for "${z_(_.query,80)}"${_.mode?.semantic?" (semantic enabled)":""}`];for(let J of $.slice(0,_.limit??10)){let D=J.source?.uri??J.provenance?.source_uri??J.artifact?.path??J.artifact?.uri??J.id,j=typeof J.score==="number"?` score=${J.score.toFixed(3)}`:"";if(U.push(`- ${J.kind??"result"} ${z_(J.title??J.id,80)}${j}`),D)U.push(` source: ${z_(D,120)}`);if(J.text)U.push(` text: ${z_(J.text,180)}`)}if($.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(J$("scores, provenance, and full result objects")),!_.context)U.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return U.join(` -`)}function ay(_){let $=Array.isArray(_.excerpts)?_.excerpts:[],U=Array.isArray(_.citations)?_.citations:[],J=[`${$.length} context excerpt(s) for "${z_(_.query??_.normalized_query,80)}"`];for(let D of $.slice(0,10)){let j=U.find((X)=>X.id===D.citation_id||X.result_id===D.result_id),W=j?.source_uri??j?.artifact_path??D.result_id,G=typeof D.score==="number"?` score=${D.score.toFixed(3)}`:"";if(J.push(`- ${D.kind??"excerpt"} ${z_(D.id,44)}${G}`),W)J.push(` source: ${z_(W,120)}`);J.push(` text: ${z_(D.text,220)}`)}return J.push(`Citations: ${U.length}`),J.push(J$("citations, graph, notes, and full excerpts")),J.join(` -`)}function ey(_){let $=Array.isArray(_.results)?_.results:[],U=[`${$.length} semantic result(s) for "${z_(_.query,80)}"`,`Index: ${_.provider??"unknown"}:${_.model??"unknown"} (${_.dimensions??"?"} dimensions)`];for(let J of $.slice(0,_.limit??10)){let D=typeof J.score==="number"?` score=${J.score.toFixed(3)}`:"";if(U.push(`- ${z_(J.chunk_id,44)}${D}`),J.source_uri)U.push(` source: ${z_(J.source_uri,120)}`);if(J.text)U.push(` text: ${z_(J.text,180)}`)}return U.push(J$("provenance and full vector result objects")),U.join(` -`)}function sy(_){let $=Array.isArray(_.sources)?_.sources:[],U=[`${$.length} web source(s) for "${z_(_.query,80)}"`,`Provider: ${_.provider??"unknown"}${_.model?` (${_.model})`:""}`];for(let J of $.slice(0,_.limit??10)){U.push(`- ${z_(J.title??J.url??J.uri??"source",100)}`);let D=J.url??J.uri??J.source_ref;if(D)U.push(` url: ${z_(D,140)}`);if(J.snippet)U.push(` snippet: ${z_(J.snippet,180)}`)}return U.push(J$("provider payloads and filed source refs")),U.join(` -`)}function _h(_){let $=Array.isArray(_.machines)?_.machines:[],U=[`${$.length} machine(s) discovered via ${_.source??"unknown"}`,`Adapter: ${_.adapter?.package??"@hasna/machines"} ${_.adapter?.available?"available":"unavailable"}`];for(let J of $.slice(0,10)){let D=J.local?" local":"",j=J.tailscale_dns??J.ssh_target??J.hostname??"";U.push(`- ${z_(J.machine_id??J.id??"unknown",48)}${D}${j?` -> ${z_(j,80)}`:""}`)}if($.length>10)U.push(`... ${$.length-10} more machine(s).`);if(Array.isArray(_.warnings)&&_.warnings.length>0)U.push(`Warnings: ${_.warnings.slice(0,3).join("; ")}`);return U.push(J$("full topology, route hints, and adapter evidence")),U.join(` -`)}function $h(_){let $=Array.isArray(_.checks)?_.checks:[],U=$.filter((j)=>j.status==="fail"||j.severity==="fail"),J=$.filter((j)=>j.status==="warn"||j.severity==="warn"),D=[`Machine preflight ${_.ok?"passed":"needs attention"} for ${_.machine_id??_.requested_machine_id??"local"}`,`Checks: ${$.length} total, ${U.length} failed, ${J.length} warning(s)`];for(let j of[...U,...J].slice(0,8))D.push(`- ${j.status??j.severity??"check"} ${z_(j.id??j.kind??"check",72)}: ${z_(j.message??j.detail??"",140)}`);return D.push(J$("all checks and repair hints")),D.join(` -`)}function Uh(_){return[`Sync status (${_.scope??"scope"})`,`Schema: v${_.sqlite_schema_version??"unknown"}`,`Machines: ${_.machines?.total??0}; snapshots: ${_.snapshots?.total??0}; open conflicts: ${_.conflicts?.open??0}`,`Tables: ${Object.entries(_.table_counts??{}).slice(0,8).map(([U,J])=>`${U}=${J}`).join(", ")||"none"}`,J$("registry rows, clocks, snapshots, imports, and conflicts")].join(` -`)}function Dh(_){let $=Array.isArray(_.warnings)?_.warnings:[],U=Array.isArray(_.recommended_commands)?_.recommended_commands:[],J=[_.message??`Sync readiness ${_.ok?"ok":"needs attention"}`,`Storage: ${_.storage?.validation?.ok?"ok":"needs attention"}; open-files: ${_.open_files?.ok?"ok":"needs attention"}; open conflicts: ${_.sync?.open_conflicts??0}`];if($.length>0)J.push(`Warnings: ${$.slice(0,5).join("; ")}`);for(let D of U.slice(0,5))J.push(`- next: ${z_(D.shell_command??D.command?.join(" ")??D.id,160)}`);return J.push(J$("diagnostics, route evidence, and all recommended commands")),J.join(` -`)}function Jh(_){let $=_.snapshot??{};return[`Sync snapshot ${_.ok?"recorded":"failed"}`,`Snapshot: ${z_($.id??$.snapshot_id??"unknown",80)} ${$.content_hash?`(${z_($.content_hash,80)})`:""}`,`Machines upserted: ${_.machines_upserted??0}; machine: ${_.machine_id??$.machine_id??"unknown"}`,J$("snapshot payload and topology evidence")].join(` -`)}function jh(_){let $=Array.isArray(_.conflicts)?_.conflicts:[],U=[`${$.length} sync conflict(s)`];for(let J of $.slice(0,10))U.push(`- ${z_(J.id,48)} ${J.status??"unknown"} ${J.entity_kind??""}/${z_(J.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(J$("full conflict objects")),U.join(` -`)}function Wh(_){let $=Array.isArray(_.machines)?_.machines:[],U=[`${$.length} registered sync machine(s)`];for(let J of $.slice(0,10))U.push(`- ${z_(J.machine_id,48)} ${z_(J.hostname??J.workspace_home??"",100)}`);return U.push(J$("machine registry rows")),U.join(` -`)}function UR(_,$){let U=[`Sync ${$} ${_.ok===!1?"needs attention":"completed"}${_.dry_run?" (dry run)":""}`],J=(D,j)=>{if(!j)return;let G=(Array.isArray(j.tables)?j.tables:[]).reduce((z,L)=>z+(L.inserted??0)+(L.updated??0)+(L.deleted??0),0),X=j.artifacts?.copied??0,N=Array.isArray(j.errors)?j.errors.length:0;U.push(`${D}: ${G} table row change(s), ${X} artifact(s), ${N} error(s)`)};if(J("pull",_.pull),J("push",_.push),Array.isArray(_.errors)&&_.errors.length>0)U.push(`Errors: ${_.errors.slice(0,3).map((D)=>z_(D,120)).join("; ")}`);return U.push(J$("per-table rows, artifacts, clocks, and errors")),U.join(` -`)}function Gh(_){let $=Array.isArray(_.citations)?_.citations:[],U=Array.isArray(_.context?.excerpts)?_.context.excerpts:Array.isArray(_.excerpts)?_.excerpts:[],J=[_.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${$.length}; excerpts: ${U.length}`];if(_.answer)J.push(`Answer: ${z_(_.answer,500)}`);for(let D of $.slice(0,5))J.push(`- ${z_(D.source_uri??D.ref??D.id,120)}`);return J.push(J$("full answer payload, context, citations, and run ledger")),J.join(` -`)}function Xh(_,$){return[`Export preview: ${_.length} item(s) available`,"Default output is compact to avoid terminal/context bloat.","Use --verbose or --json for a JSON object, or --format jsonl for newline-delimited records.",$!=="json"?`Requested format: ${$}`:""].filter(Boolean).join(` -`)}function DR(_){return!_||_==="local"||_==="localhost"}function HD(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Nh(_,$){let U=$.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let J=[..._].sort((D,j)=>{if(U==="title")return D.title.localeCompare(j.title);return D.created_at.localeCompare(j.created_at)});if($.desc)J.reverse();return{sorted:J,sort:U,direction:$.desc?"desc":"asc"}}async function Oh(_){if(await my(_))return;let{positional:$,flags:U}=hy(_);if(f0("debug","CLI invoked",{command:$[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:s$.name,version:s$.version},null,2):`${s$.name} ${s$.version}`);return}if(U.completions){let Q=U.completions;if(Q==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(Q==="zsh")console.log(`#compdef knowledge -_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"{local,hosted}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"{local,global,project}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`);else if(Q==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables');else throw Error("Invalid --completions value. Use 'bash', 'zsh', or 'fish'.");return}let J=xy($[0]),D=1,j=$.length>1||/\s/.test(J);if(ny()&&J&&!jR.includes(J)&&j)J="ask",D=0;if(!J||U.help||J==="help"){let Q=J==="help"?$[1]:J||$[1];cy(Q);return}let W=J==="project-panel"||J==="app-wiki"?U.scope??"project":U.scope,G=lW({scope:W});if(J==="storage"){let Q=$[1]??"status";if(Q==="import-legacy"){if(U.scope&&U.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let q=VG({dryRun:U.dryRun});if(C(q,U.json),!q.ok)process.exitCode=1;return}if(Q==="migrate-legacy-path"||Q==="migrate-legacy"||Q==="migrate-path"){let q=G.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(q,U.json),!q.ok&&!U.json)process.exitCode=1;return}if(Q==="merge-legacy-path"||Q==="merge-legacy"||Q==="merge-path"){let q=G.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(q,U.json),!q.ok&&!U.json)process.exitCode=1;return}}let X=Boolean(U.store),N=U.store;if(!N)if(W==="project"||W==="local")N=G.workspace.jsonStorePath;else N=KD();if(!X&&(J==="ask"||J==="build")&&!o6())BU(N);let z=fD({storePath:N,storePathOverridden:X});if(J==="inventory"){let Q=await G.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:o6()?void 0:N});C(U.json||U.verbose?Q:py(Q),U.json,U);return}if(J==="project-panel"){let Q=U.project??$[1];if(!Q)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let q=await WB(Q,{service:G,limit:U.limit,storePath:o6()?void 0:N,includeArchived:U.includeArchived||U.archived});C(U.json||U.contract?q:GB(q),U.json||U.contract);return}if(J==="paths"){let Q=G.paths();C(U.json||U.verbose?Q:oy(Q),U.json,U);return}if(J==="setup"){let Q=G.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});C(Q,U.json,U);return}if(J==="auth"){let Q=$[1]??"whoami";if(Q==="whoami"||Q==="status"){let q=G.authStatus(process.env);C({ok:!0,...q,message:q.authenticated?`Authenticated via ${q.source}`:"Not authenticated"},U.json,U);return}if(Q==="login"){let q=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!q)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let g=G.saveAuth({apiKey:q,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);C({ok:!0,authenticated:!0,email:g.email??null,org_slug:g.org_slug??null,api_url:g.api_url??G.authStatus(process.env).api_url,auth_path:G.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${g.email??"API key"}`},U.json,U);return}if(Q==="logout"){let q=G.clearAuth(process.env);C({ok:!0,removed:q,message:q?"Removed hosted credentials":"No hosted credentials found"},U.json,U);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(J==="storage"){let Q=$[1]??"status";if(Q==="status"){let q=G.storageContract(),g=G.validateStorage();C({ok:g.ok,...q,validation:g,message:`${q.storage_type} artifact storage at ${q.artifact_store.uri_prefix}`},U.json,U);return}if(Q==="validate"){let q=G.validateStorage();if(C({ok:q.ok,validation:q,message:q.ok?"Storage contract valid":`Storage contract invalid: ${q.errors.join("; ")}`},U.json,U),!q.ok)process.exitCode=1;return}if(Q==="repair-artifact-keys"||Q==="repair-keys"){let q=G.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});C(q,U.json,U);return}if(Q==="migrate-legacy-path"||Q==="migrate-legacy"||Q==="migrate-path"){let q=G.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(q,U.json),!q.ok&&!U.json)process.exitCode=1;return}if(Q==="merge-legacy-path"||Q==="merge-legacy"||Q==="merge-path"){let q=G.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(q,U.json),!q.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid storage action. Use 'status', 'validate', 'repair-artifact-keys', 'migrate-legacy-path', 'merge-legacy-path', or 'import-legacy'.")}if(J==="machines"){let Q=$[1]??"topology";if(Q==="topology"||Q==="status"){let q=await G.machineTopology({includeTailscale:U.tailscale!==!1});C(U.json||U.verbose?q:_h(q),U.json,U);return}if(Q==="preflight"||Q==="check"){let q=$[2]??U.machine??"local",g=U.workspace??process.cwd(),B=await G.machinePreflight({machineId:q,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:s$.name,command:"knowledge",expectedVersion:s$.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:g,expectedPackageName:s$.name,expectedVersion:s$.version,required:!0}]});if(C(U.json||U.verbose?B:$h(B),U.json,U),!B.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(J==="sync"){let Q=$[1]??"status",q=U.tables?U.tables.split(",").map((g)=>g.trim()).filter(Boolean):void 0;if(Q==="status"){let g=G.syncStatus();C(U.json||U.verbose?g:Uh(g),U.json,U);return}if(Q==="doctor"||Q==="readiness"||Q==="preflight"){let g=await G.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:q}),B={package:{name:s$.name,version:s$.version},...g};if(C(U.json||U.verbose?B:Dh(B),U.json,U),!g.ok&&!U.json)process.exitCode=1;return}if(Q==="snapshot"||Q==="record"){let g=await G.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});C(U.json||U.verbose?g:Jh(g),U.json,U);return}if(Q==="conflicts"||Q==="conflict"){let g=$[2];if(g==="show"||g==="get"){let R=$[3]??U.id;if(!R)throw Error("Usage: knowledge sync conflicts show <id>");let K=G.syncConflict(R);C({ok:!0,conflict:K,message:`Sync conflict ${R}`},U.json,U);return}if(g==="propose"||g==="proposal"){let R=$[3]??U.id;if(!R)throw Error("Usage: knowledge sync conflicts propose <id>");C(U.mode==="ai"?await G.proposeSyncConflictResolutionWithAi({id:R,modelRef:U.model,fake:U.fake}):G.proposeSyncConflictResolution(R),U.json,U);return}if(g==="resolve"){let R=$[3]??U.id;if(!R)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let K=G.resolveSyncConflict({id:R,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(C(K,U.json,U),!K.ok&&!U.json)process.exitCode=1;return}let B=G.syncConflicts({status:g,limit:U.limit}),H={ok:!0,conflicts:B,message:`${B.length} sync conflict(s)`};C(U.json||U.verbose?H:jh(H),U.json,U);return}if(Q==="machines"||Q==="registry"){let g=G.syncMachines(),B={ok:!0,machines:g,message:`${g.length} registered sync machine(s)`};C(U.json||U.verbose?B:Wh(B),U.json,U);return}if(Q==="export"){let g=G.exportSyncBundle({machineId:U.machine??null,tables:q,includeArtifactContent:U.artifactContent!==!1});C(g,!0);return}if(Q==="import"){let g=await Bun.stdin.text();if(!g.trim())throw Error("Usage: knowledge sync import < bundle.json");let B=await G.importSyncBundle({bundle:JSON.parse(g),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});C(U.json||U.verbose?B:UR(B,Q),U.json,U);return}if(Q==="dry-run"||Q==="pull"||Q==="push"||Q==="sync"){if(!U.peerWorkspace&&DR(U.machine))throw Error(`Usage: knowledge sync ${Q} --peer-workspace <repo-or-knowledge-home> [--scope project] -Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let g=Q==="dry-run"?"both":Q==="sync"?"both":Q,B=!DR(U.machine)?await G.syncRemotePeer({direction:g,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:q,dryRun:U.dryRun===!0||Q==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await G.syncPeer({peerWorkspace:U.peerWorkspace,direction:g,dryRun:U.dryRun===!0||Q==="dry-run",tables:q,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(C(U.json||U.verbose?B:UR(B,Q),U.json,U),!B.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid sync action. Use 'status', 'doctor', 'snapshot', 'conflicts', 'machines', 'dry-run', 'pull', 'push', 'sync', 'export', or 'import'.")}if(J==="db"){let Q=$[1]??"init";if(Q==="init"){let q=G.initDb();C({ok:!0,...q,message:`Initialized ${q.path}`},U.json,U);return}if(Q==="stats"){let q=G.dbStats();C({ok:!0,path:G.workspace.knowledgeDbPath,...q,message:`knowledge.db schema v${q.schema_version}`},U.json,U);return}if(Q==="storage"){if(($[2]??"status")==="status"){let g=Kz({scope:U.scope});C({ok:!0,...g,message:`knowledge.db storage mode ${g.mode}${g.activeEnv?` via ${g.activeEnv}`:""}`},U.json,U);return}throw Error("Invalid db storage action. Only 'status' is supported. The 'push'/'pull'/'sync' Postgres sync commands were removed (DSN-on-client is forbidden); use the cloud API flip instead.")}throw Error("Invalid db action. Use 'init', 'stats', or 'storage'.")}if(J==="app-wiki"){let Q=$[1]??"init";if(Q==="paths"||Q==="status"){C({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...G.paths()},U.json);return}if(Q==="init"||Q==="open"){let q=await G.initAppWiki({allowGlobal:U.allowGlobal});C(q,U.json);return}if(Q==="note"||Q==="notes"){let q=$[2]??"list";if(q==="add"||q==="create"){let g=U.title??$[3],B=U.content??$.slice(4).join(" ");if(!g||!B)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let H=await G.addAppWikiNote({title:g,content:B,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});C(H,U.json);return}if(q==="list"||q==="ls"){let g=G.listAppWikiNotes({limit:U.limit});C({ok:!0,scope:G.scope,home:G.workspace.home,notes:g,message:`${g.length} app wiki note(s)`},U.json);return}if(q==="get"||q==="show"){let g=$[3]??U.id;if(!g)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let B=await G.getAppWikiNote(g,{includeContent:!0});if(!B)throw Error(`App wiki note not found: ${g}`);C(B,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(Q==="source"||Q==="sources"){let q=$[2]??"add";if(q!=="add"&&q!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let g=$[3]??U.sourceRef?.[0];if(!g)throw Error("Usage: knowledge app-wiki source add <source-ref>");let B=await G.addAppWikiSourceRef({sourceRef:g,purpose:U.purpose,allowGlobal:U.allowGlobal});C({ok:!0,...B,message:`Added app wiki source ${B.source_ref}`},U.json);return}if(Q==="search"){let q=$.slice(2).join(" ");if(!q)throw Error("Usage: knowledge app-wiki search <query>");let g=await G.searchAppWiki({query:q,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...g,message:`${g.results.length} app wiki result(s)`},U.json);return}if(Q==="query"||Q==="context"){let q=$.slice(2).join(" ");if(!q)throw Error("Usage: knowledge app-wiki query <query>");let g=await G.queryAppWiki({query:q,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...g,message:`${g.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(J==="wiki"){let Q=$[1]??"init";if(Q==="init"){let q=await G.initWiki();C({ok:!0,...q,message:`Initialized wiki layout in ${G.workspace.home}`},U.json,U);return}if(Q==="compile"){let q=$.slice(2),g=q.filter((R)=>/^(open-files|file|s3|https?):\/\//.test(R)),B=q.filter((R)=>!/^(open-files|file|s3|https?):\/\//.test(R)).join(" "),H=await G.compileWiki({title:U.title,query:B||U.search,sourceRefs:g.length>0?g:void 0,limit:U.limit});C({ok:!0,...H,message:`Compiled wiki page ${H.path}`},U.json,U);return}if(Q==="file-answer"||Q==="answer"){let q=$.slice(2).join(" ");if(!q)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!U.content)throw Error("Missing --content <answer> for wiki file-answer.");let g=await G.fileAnswer({prompt:q,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...g},U.json,U);return}if(Q==="lint"){let q=G.lintWiki();C({ok:q.ok,...q,message:q.ok?"Wiki lint passed":`Wiki lint found ${q.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(J==="safety"){let Q=$[1]??"status",q=G.ensureWorkspace(),g=G.safetyPolicy();G.initDb();let B=x(q.knowledgeDbPath);try{if(Q==="status"){C({ok:!0,mode:g.mode,workspace:q.home,allow_write_roots:g.allowWriteRoots,read_only_source_access:g.readOnlySourceAccess,network:g.network,redaction:g.redaction,approvals:g.approvals,message:`Safety policy: ${g.mode}`},U.json,U);return}if(Q==="check"){let H=$[2]??"generated_write",R=$[3]??null,K;try{if(H==="web_search")D1(g),K={action:H,target_uri:R,approval_required:!1,approved:!0,decision:"allow"};else if(H==="s3_read"){if(!R)throw Error("safety check s3_read requires an s3:// target.");a6(R,g),K={action:H,target_uri:R,approval_required:!1,approved:!0,decision:"allow"}}else K=H7(B,g,H,R);v_(B,{event_type:"safety_check",action:H,target_uri:R,decision:K.decision==="allow"?"allow":"requires_approval",metadata:K}),C({ok:!0,...K,message:`Safety check ${K.decision}`},U.json,U);return}catch(V){throw v_(B,{event_type:"safety_check",action:H,target_uri:R,decision:"deny",metadata:{error:V instanceof Error?V.message:String(V)}}),V}}if(Q==="approve"){let H=$[2]??"generated_write",R=$[3]??null,K=R7(B,{action:H,target_uri:R,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});v_(B,{event_type:"approval",action:H,target_uri:R,decision:"allow",metadata:{approval_id:K.id}}),C({ok:!0,...K,action:H,target_uri:R,message:`Approved ${H}`},U.json,U);return}if(Q==="audit"){let H=B.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((R)=>({id:R.id,event_type:R.event_type,action:R.action,target_uri:R.target_uri,decision:R.decision,metadata:JSON.parse(R.metadata_json),created_at:R.created_at}));C({ok:!0,events:H,message:`${H.length} audit event(s)`},U.json,U);return}if(Q==="redact"){let H=$.slice(2).join(" ");if(!H)throw Error("Usage: knowledge safety redact <text>");let R=O$(H,g);if(R.findings.length>0)vD(B,{source_uri:"safety://redact",findings:R.findings,metadata:{command:"safety redact"}});v_(B,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:R.findings.length>0?"redacted":"allow",metadata:{findings:R.findings.length}}),C({ok:!0,text:R.text,findings:R.findings,message:`Redacted ${R.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{B.close()}}if(J==="source"){if(($[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let q=$[2];if(!q)throw Error("Usage: knowledge source resolve <source-ref>");let g=await G.resolveSource(q,{purpose:U.purpose,limit:U.limit});C({ok:!0,...g,message:g.resolved?`Resolved ${g.source_ref} (${g.content.chunks_returned}/${g.content.chunks_total} chunks)`:`Source not indexed: ${q}`},U.json,U);return}if(J==="ingest"){let Q=$[1]??"";if(Q==="rules"||Q==="global-rules"||Q==="agent-rules"){let q=await G.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});C({ok:!0,...q},U.json);return}if(Q==="manifest"){let q=$[2];if(!q)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let g=await G.ingestManifest(q);C({ok:!0,...g,message:`Ingested ${g.items_seen} manifest item(s)`},U.json,U);return}if(Q==="source"){let q=$[2];if(!q)throw Error("Usage: knowledge ingest source <source-ref>");let g=await G.ingestSource(q,U.purpose);C({ok:!0,...g,message:`Ingested source ${g.source_ref} (${g.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(J==="reindex"){let Q=$[1]??"status";if(Q==="status"){let q=G.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...q,message:`${q.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(Q==="enqueue"){let q=G.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...q,message:`Queued ${q.enqueued} embedding refresh item(s)`},U.json,U);return}if(Q==="embeddings"){let q=await G.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...q,message:`Embedded ${q.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(Q==="outbox"){let q=$[2];if(!q)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let g=await G.consumeOutbox(q);C({ok:!0,...g,message:`Consumed ${g.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(J==="embeddings"){let Q=$[1]??"status";if(Q==="status"){let q=G.embeddingStatus();C({ok:!0,...q,message:`${q.total_vector_entries} vector index entries`},U.json,U);return}if(Q==="index"){let q=await G.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...q,message:`Embedded ${q.chunks_embedded} chunk(s)`},U.json,U);return}if(Q==="search"){let q=$.slice(2).join(" ");if(!q)throw Error("Usage: knowledge embeddings search <query>");let g=await G.semanticSearch({query:q,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),B={ok:!0,...g,message:`${g.results.length} semantic result(s)`};C(U.json||U.verbose?B:ey(B),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(J==="context"){if(($[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let q=U.from??"search";if(!["search","loops","runs"].includes(q))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let g=$.slice(2).join(" ")||U.topic||"",B=await G.contextPack({source:q,purpose:q==="loops"||q==="runs"?"proposal":"agent_context",query:g,topic:U.topic,since:U.since,dedupe:U.dedupe,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:N});$R({ok:!0,...B,message:B.message});return}if(J==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let q=U.from??"loops";if(!["loops","runs"].includes(q))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let g=U.topic??$.slice(2).join(" ");if(!g.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let B=await G.contextPack({source:q,purpose:"proposal",query:g,topic:g,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});$R({ok:!0,...B,message:B.message});return}if(J==="search"){let Q=$.slice(1).join(" ");if(!Q)throw Error("Usage: knowledge search <query>");if(U.context){let B=await G.retrieveContext({query:Q,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:N}),H={ok:!0,...B,message:`${B.excerpts.length} context excerpt(s)`};C(U.json||U.verbose?H:ay(H),U.json,U);return}let q=await G.search({query:Q,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:N}),g={ok:!0,...q,message:`${q.results.length} search result(s)`};C(U.json||U.verbose?g:ty(g),U.json,U);return}if(J==="web"){if(($[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let q=$.slice(2).join(" ");if(!q)throw Error("Usage: knowledge web search <query>");let g=await G.webSearch({query:q,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),B={ok:!0,...g,message:`${g.sources.length} web source(s)`};C(U.json||U.verbose?B:sy(B),U.json,U);return}if(J==="ask"||J==="build"){let Q=$.slice(D).join(" ");if(!Q)throw Error("Usage: knowledge ask <prompt>");let q=await G.runPrompt({prompt:Q,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:N}),g={ok:!0,...q,message:q.generated?"Generated answer with citations":"Prepared citation context draft"};C(U.json||U.verbose?g:Gh(g),U.json,U);return}if(J==="providers"){let Q=$[1]??"status";if(Q==="status"){let q=G.providerStatus(),g=q.providers.filter((B)=>B.configured).length;C({ok:!0,...q,message:`${g}/${q.providers.length} provider credential(s) configured`},U.json,U);return}if(Q==="models"){let q=G.modelRegistry();C({ok:!0,models:q,message:`${q.length} model alias(es)`},U.json,U);return}if(Q==="check"){let q=$[2]??"default",g=x$(q,G.config()),B=l_(g),H=y4(B.provider,G.config());C({ok:!0,target:q,model_ref:g,provider:B.provider,model:B.model,credential:H,message:`${B.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(J==="add"){let Q=$[1],q=$[2];if(!Q||!q)throw Error("Usage: knowledge add <title> <content>");let g=await z.create({title:Q,content:q,url:U.url??null,tags:U.tag??[]});f0("info","Item added",{id:g.id,title:g.title,tags:g.tags?.length??0,transport:z.kind}),C({ok:!0,item:g,message:`Added ${g.id}`},U.json,U);return}if(J==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");let Q=await z.listAll(),q=Number.isFinite(U.page)&&U.page>0?U.page:1,g=Number.isFinite(U.limit)&&U.limit>0?U.limit:20,B=U.search?String(U.search).toLowerCase():"",H=(U.tagRaw??U.tag??[]).map((J_)=>({whole:J_.trim().toLowerCase(),parts:J_.split(",").map((i_)=>i_.trim().toLowerCase()).filter((i_)=>i_.length>0)})),R=U.tag?.length?U.tag.map((J_)=>J_.toLowerCase()).join(","):"none",K=U.format==="table"||!U.json&&!U.format&&iy(U),V=U.json||U.format==="json",I=Q.items;if(U.archived)I=I.filter((J_)=>J_.archived===!0);else if(!U.includeArchived)I=I.filter((J_)=>!J_.archived);if(B)I=I.filter((J_)=>J_.title.toLowerCase().includes(B)||J_.content.toLowerCase().includes(B));if(H.length>0)I=I.filter((J_)=>{let i_=new Set((J_.tags??[]).map((Z_)=>Z_.toLowerCase()));return H.every(({whole:Z_,parts:P_})=>Z_.length>0&&i_.has(Z_)||P_.every((n_)=>i_.has(n_)))});let{sorted:T,sort:P,direction:n}=Nh(I,U),f_=(q-1)*g,B_=T.slice(f_,f_+g),T_=Math.max(1,Math.ceil(T.length/g)),u_={ok:!0,page:q,limit:g,total:T.length,total_pages:T_,sort:P,direction:n,items:B_,store_exists:Q.exists};if(V){C(u_,!0);return}if(U.verbose){C(u_,!1,U);return}if(B_.length===0){C(`No items found (search=${B||"none"}, tag=${R})`,!1);return}if(K){let J_=(Z_)=>Z_,i_=`${J_("ID")} ${J_("TITLE")} ${J_("CREATED")} ${J_("URL")} ${J_("TAGS")}`;console.log(i_);for(let Z_ of B_)console.log(`${Z_.id} ${J_(z_(Z_.title,80))} ${Z_.created_at} ${Z_.url?J_(z_(Z_.url,90)):""} ${Z_.tags?.length?J_(z_(`[${Z_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${q}/${T_} | showing ${B_.length} of ${T.length} | sort=${P} ${n} | search=${B||"none"} | tag=${R}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let J_ of B_)console.log(`${J_.id} ${z_(J_.title,80)} ${J_.created_at}${J_.url?` ${z_(J_.url,90)}`:""}${J_.tags?.length?` ${z_(`[${J_.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${q}/${T_} | showing ${B_.length} of ${T.length} | sort=${P} ${n} | search=${B||"none"} | tag=${R}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(J==="get"){HD(U);let Q=await z.get(U.id);if(!Q)throw Error(`Item not found: ${U.id}`);C({ok:!0,item:Q,store_exists:z.exists,message:`${Q.id}: ${Q.title}`},U.json,U);return}if(J==="update"){HD(U);let Q=await z.get(U.id);if(!Q)throw Error(`Item not found: ${U.id}`);let q={};if(U.title!==void 0)q.title=U.title;if(U.content!==void 0)q.content=U.content;if(U.url!==void 0)q.url=U.url;let g;if(U.tag!==void 0){if(g=_R(Q.tags,U.tag),g.length>0)q.tags=[...Q.tags??[],...g]}let B=await z.update(Q.id,q);C(xz({ok:!0,item:B},`Updated ${B?.id??Q.id}`,g),U.json,U);return}if(J==="archive"||J==="restore"){HD(U);let Q=await z.get(U.id);if(!Q)throw Error(`Item not found: ${U.id}`);let q=await z.update(Q.id,{archived:J==="archive"});C({ok:!0,item:q,message:`${J==="archive"?"Archived":"Restored"} ${q?.id??Q.id}`},U.json,U);return}if(J==="untag"){if(HD(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let Q=await z.get(U.id);if(!Q)throw Error(`Item not found: ${U.id}`);let q=Q.tags??[],g=new Set(q.map((P)=>P.toLowerCase())),B=new Set;for(let P of U.tagRaw??U.tag){let n=P.trim().toLowerCase();if(n.length>0&&g.has(n)){B.add(n);continue}for(let f_ of P.split(",").map((B_)=>B_.trim().toLowerCase()).filter((B_)=>B_.length>0))B.add(f_)}let H=q.filter((P)=>!B.has(P.toLowerCase())),R=q.length-H.length,K=[...B].filter((P)=>!g.has(P));if(R===0)throw Error(`No matching tag on ${Q.id}: ${K.map((P)=>JSON.stringify(P)).join(", ")} not in [${q.map((P)=>JSON.stringify(P)).join(", ")}]`);let V=await z.update(Q.id,{tags:H}),I=K.length>0?` (not found: ${K.map((P)=>JSON.stringify(P)).join(", ")})`:"",T={ok:!0,item:V,removed:R,message:`Removed ${R} tag${R===1?"":"s"} from ${V?.id??Q.id}${I}`};if(K.length>0)T.not_found=K;C(T,U.json,U);return}if(J==="upsert"){let Q=U.title??$[1],q=U.content??$[2],g=U.id?await z.get(U.id):null;if(!g){if(!Q||!q)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let K=await z.create({id:U.id,title:Q,content:q,url:U.url??null,tags:U.tag??[]});C(xz({ok:!0,created:!0,item:K},`Upserted ${K.id}`,U.tag),U.json,U);return}let B={};if(Q!==void 0)B.title=Q;if(q!==void 0)B.content=q;if(U.url!==void 0)B.url=U.url;let H;if(U.tag!==void 0){if(H=_R(g.tags,U.tag),H.length>0)B.tags=[...g.tags??[],...H]}let R=await z.update(g.id,B);C(xz({ok:!0,created:!1,item:R},`Upserted ${R?.id??g.id}`,H),U.json,U);return}if(J==="delete"){if(HD(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await z.delete(U.id))throw Error(`Item not found: ${U.id}`);f0("info","Item deleted",{id:U.id,transport:z.kind}),C({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(J==="export"){let Q=U.format??"json";if(Q!=="json"&&Q!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let q=await z.listAll();if(Q==="jsonl")for(let g of q.items)console.log(JSON.stringify(g));else if(U.json||U.format==="json"||U.verbose)C({ok:!0,items:q.items,store_exists:q.exists},U.json||U.format==="json",U);else C(Xh(q.items,Q),!1);return}if(J==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:Q}=await z.listAll(),q=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,g=Q.filter((R)=>q!==null&&new Date(R.created_at)<q||U.empty&&R.content.trim().length===0),B=await z.deleteMany(g.map((R)=>R.id)),H=Q.length-B;f0("info","Prune completed",{pruned:B,remaining:H,transport:z.kind}),C({ok:!0,pruned:B,remaining:H,message:`Pruned ${B} item(s)`},U.json,U);return}if(J==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:Q}=await z.listAll(),q=new Set,g=[];for(let R of Q){let K=`${R.title}\x00${R.content}`;if(q.has(K))g.push(R);else q.add(K)}let B=await z.deleteMany(g.map((R)=>R.id)),H=Q.length-B;f0("info","Dedupe completed",{removed:B,remaining:H,transport:z.kind}),C({ok:!0,removed:B,remaining:H,message:`Dedupe removed ${B} duplicate(s)`},U.json,U);return}if(J==="stats"){let Q=await z.listAll(),q=Q.items.filter((P)=>!P.archived),g=q.length,B=Q.items.length-g,H=q.filter((P)=>P.url).length,R=q.filter((P)=>P.tags&&P.tags.length>0).length,K=g>0?q.map((P)=>P.created_at).sort()[0]:null,V=g>0?q.map((P)=>P.created_at).sort()[g-1]:null,I={};for(let P of q)for(let n of P.tags||[])I[n]=(I[n]||0)+1;let T=Object.entries(I).sort((P,n)=>n[1]-P[1]).slice(0,5).map(([P,n])=>({tag:P,count:n}));C({ok:!0,total:g,archived:B,with_url:H,with_tags:R,oldest:K,newest:V,top_tags:T,store_exists:Q.exists,message:`${g} items | ${H} with URL | ${R} with tags`},U.json,U);return}let L=uy($[0]),E=L?` Did you mean '${L}'?`:"";throw f0("warn","Unknown command",{input:$[0],suggestion:L}),Error(`Unknown command: ${$[0]}.${E} Run 'knowledge --help' for available commands.`)}function Yh(_,$){let U=_ instanceof Error?_.message:String(_);if(f0("debug","CLI error",{message:U,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${U}`),$.includes("--json"))C({ok:!1,error:U,message:U},!0);process.exitCode=1}if(import.meta.main){let _=process.argv.slice(2);Oh(_).catch(($)=>Yh($,_))}export{uy as suggestCommand,Nh as sortItems,Oh as run,hy as parseArgs,Yh as emitCliError}; + Removing nothing exits 1; unmatched names are reported in not_found.`);return}if($==="delete"||$==="rm"){console.log("Usage: knowledge delete|rm --id <id> -y [--json]");return}if($==="export"){console.log("Usage: knowledge export [--verbose] [--json] [--format json|jsonl]");return}if($==="prune"){console.log("Usage: knowledge prune --yes [--older-than <days>] [--empty] [--json]");return}if($==="dedupe"){console.log("Usage: knowledge dedupe --yes [--json]");return}if($==="stats"){console.log("Usage: knowledge stats [--json]");return}if($==="inventory"){console.log("Usage: knowledge inventory [--scope local|global|project] [--limit <n>] [--include-archived] [--verbose] [--json]");return}if($==="project-panel"){console.log("Usage: knowledge project-panel --project <id|name|slug> [--scope project|local|global] [--limit <n>] [--include-archived] [--json|--contract]");return}if($==="paths"){console.log("Usage: knowledge paths [--scope local|global|project] [--verbose] [--json]");return}if($==="mode"){console.log(`Usage: knowledge mode [--json] + Reports which backend this process would use \u2014 local (on-box store) or cloud (HTTP /v1) \u2014 and + which env var selected it. Reads the environment only: no store is opened, no config file is read, + and no request is made, so it is safe on a machine with no config and no network. + Selection is EXPLICIT-ONLY: set ${z2[0]}=local|cloud. Setting only + ${gG[0]} / ${UX[0]} does NOT switch backends; + those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`);return}if($==="setup"){console.log("Usage: knowledge setup --mode local|hosted [--api-url https://...] [--canonical-example] [--scope local|global|project] [--json]");return}if($==="auth"){console.log("Usage: knowledge auth login|whoami|logout [--api-key <key>] [--email <email>] [--org <slug>] [--api-url https://...] [--scope local|global|project] [--json]");return}if($==="storage"){console.log(`Usage: knowledge storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path [--approve-write --approved-by <name>] [--scope local|global|project] [--json] + knowledge storage import-legacy [--dry-run] [--scope global] [--json]`);return}if($==="machines"){console.log("Usage: knowledge machines topology [--no-tailscale] | preflight [machine] [--workspace <repo>] [--scope local|global|project] [--verbose] [--json]");return}if($==="sync"){console.log(`Usage: knowledge sync status|doctor|readiness|snapshot|machines|conflicts [show|propose|resolve] [id] | dry-run|pull|push|sync|export|import [--peer-workspace <path>] [--machine <ssh-alias>] [--tables <names>] [--dry-run] [--limit <n>] [--approve-write] [--approved-by <name>] [--strategy <name>] [--mode deterministic|ai] [--model <alias|provider:model>] [--fake] [--no-tailscale] [--scope local|global|project] [--verbose] [--json] + +Remote machine sync resolves peer paths through @hasna/machines when --peer-workspace is omitted.`);return}if($==="db"){console.log("Usage: knowledge db init|stats|storage status [--scope local|global|project] [--json]");return}if($==="wiki"){console.log("Usage: knowledge wiki init|compile|file-answer|lint [query|prompt] [--title <title>] [--content <answer>] [--approve-write] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="app-wiki"){console.log("Usage: knowledge app-wiki init | note add|get|list | source add <source-ref> | search <query> | query <query> [--title <title>] [--content <text>] [--tag <tag>] [--source-ref <uri>] [--scope project|local|global] [--allow-global] [--json]");return}if($==="source"){console.log("Usage: knowledge source resolve <source-ref> [--purpose knowledge_answer|knowledge_index] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="ingest"){console.log("Usage: knowledge ingest manifest <file|s3://bucket/key> | source <source-ref> | rules [--workspace <path>] [--owner <name>] [--dry-run] [--max-items <n>] [--limit <n>] [--purpose knowledge_index] [--scope local|global|project] [--json]");return}if($==="reindex"){console.log("Usage: knowledge reindex status|enqueue|embeddings|outbox [file|s3://bucket/key] [--full] [--fake] [--scope local|global|project] [--json]");return}if($==="search"){console.log("Usage: knowledge search <query> [--context] [--semantic] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="context"){console.log("Usage: knowledge context pack <query> [--from search|runs|loops] [--max-tokens <n>] [--max-items <n>] [--limit <n>] [--semantic] [--model openai:text-embedding-3-small] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="proposals"){console.log("Usage: knowledge proposals context --from loops --topic <text> [--since <duration|ISO>] [--dedupe] [--max-tokens <n>] [--max-items <n>] [--scope local|global|project] [--json]");return}if($==="web"){console.log("Usage: knowledge web search <query> [--provider openai|anthropic] [--model provider:model] [--domain <domain>] [--file-results] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="ask"||$==="build"){console.log("Usage: knowledge ask|build <prompt> [--generate] [--semantic] [--model default|provider:model] [--approve-write] [--scope local|global|project] [--verbose] [--json]");return}if($==="embeddings"){console.log("Usage: knowledge embeddings status|index|search [query] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="providers"){console.log("Usage: knowledge providers status|models|check [provider|model-alias] [--scope local|global|project] [--json]");return}if($==="safety"){console.log("Usage: knowledge safety status|check|approve|audit|redact [args] [--scope local|global|project] [--json]");return}if($==="events"){console.log("Usage: knowledge events emit|list|replay [args] [--json]");return}if($==="webhooks"){console.log("Usage: knowledge webhooks add|list|remove|test [args] [--json]");return}Nn()}function Hn($){if($.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function v($,_,U){if(_){console.log(JSON.stringify($,null,2));return}if(typeof $==="string"){console.log($);return}if(U?.verbose){console.log(JSON.stringify($,null,2));return}let W=$.message;console.log(W?`${W} +${b_()}`:Vn($))}function b_($="full details"){return`Hint: use --verbose for ${$}, or --json for machine-readable output.`}function K$($,_=120){let U=$===null||$===void 0?"":String($).replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Vn($){if(!$||typeof $!=="object")return String($);let _=$,U=[_.ok===!1?"Result: not ok":"Result: ok"];for(let[W,J]of Object.entries(_).slice(0,8)){if(W==="ok"||W==="message")continue;if(Array.isArray(J))U.push(`${W}: ${J.length} item(s)`);else if(J&&typeof J==="object")U.push(`${W}: ${Object.keys(J).length} field(s)`);else U.push(`${W}: ${K$(J,100)}`)}return U.push(b_()),U.join(` +`)}function Rn($){let _=$.mode==="cloud"?"cloud (HTTP /v1 API)":"local (on-box store)",U=$.source.kind==="env"?`selected by ${$.source.name}=${$.source.value}`:`default (no mode var set; set ${z2[0]}=cloud to use the API)`,W=[`Knowledge mode: ${_}`,` ${U}`];if($.pointer_env_present.length>0){let J=$.pointer_ignored?"present but IGNORED for mode selection":"present";W.push(` Pointer env ${J}: ${$.pointer_env_present.join(", ")}`)}if($.network_guard_active)W.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if($.warning)W.push(` Note: ${$.warning}`);return W.join(` +`)}function An($){return[`Knowledge paths (${$.scope})`,`Home: ${$.home}`,`SQLite: ${$.knowledge_db_path}`,`JSON store: ${$.json_store_path}`,`Wiki: ${$.wiki_dir}`,b_("config and all paths")].join(` +`)}function Mb($){console.log(JSON.stringify($))}function bn($){let _=$.summary,U=[`Knowledge inventory (${$.scope})`,`Home: ${$.home}`,`JSON store: ${$.paths.json_store_path}${$.paths.json_store_exists?"":" (missing)"}`,`SQLite catalog: ${$.paths.knowledge_db_path}`,`Summary: ${_.legacy_items} item(s), ${_.sources} source(s), ${_.chunks} chunk(s), ${_.wiki_pages} wiki page(s), ${_.indexes} index(es), ${_.storage_objects} artifact(s), ${_.runs} run(s)`],W=(J,X,G)=>{if(X.length===0)return;U.push("",`${J}:`);for(let Q of X.slice(0,$.limit))U.push(`- ${G(Q)}`)};return W("Items",$.items,(J)=>`${J.id}: ${J.title}`),W("Sources",$.sources,(J)=>`${J.kind??"source"} ${J.uri} (${J.chunks??0} chunk(s))`),W("Chunks",$.chunks,(J)=>`${J.kind??"chunk"} ${J.id}: ${J.text_preview??""}`),W("Wiki pages",$.wiki_pages,(J)=>`${J.path}: ${J.title}`),W("Indexes",$.indexes,(J)=>`${J.kind??"index"} ${J.name}${J.shard_key?` (${J.shard_key})`:""}`),W("Artifacts",$.storage_objects,(J)=>`${J.kind??"artifact"} ${J.artifact_uri}`),W("Runs",$.runs,(J)=>`${J.type??"run"} ${J.id}: ${J.status??"unknown"}`),W("Machines",$.machines,(J)=>`${J.machine_id}${J.workspace_home?` ${J.workspace_home}`:""}`),W("Sync conflicts",$.sync_conflicts,(J)=>`${J.id}: ${J.entity_kind}/${J.entity_id} ${J.status}`),U.join(` +`)}function Fn($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} search result(s) for "${K$($.query,80)}"${$.mode?.semantic?" (semantic enabled)":""}`];for(let W of _.slice(0,$.limit??10)){let J=W.source?.uri??W.provenance?.source_uri??W.artifact?.path??W.artifact?.uri??W.id,X=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${W.kind??"result"} ${K$(W.title??W.id,80)}${X}`),J)U.push(` source: ${K$(J,120)}`);if(W.text)U.push(` text: ${K$(W.text,180)}`)}if(_.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(b_("scores, provenance, and full result objects")),!$.context)U.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return U.join(` +`)}function En($){let _=Array.isArray($.excerpts)?$.excerpts:[],U=Array.isArray($.citations)?$.citations:[],W=[`${_.length} context excerpt(s) for "${K$($.query??$.normalized_query,80)}"`];for(let J of _.slice(0,10)){let X=U.find((Y)=>Y.id===J.citation_id||Y.result_id===J.result_id),G=X?.source_uri??X?.artifact_path??J.result_id,Q=typeof J.score==="number"?` score=${J.score.toFixed(3)}`:"";if(W.push(`- ${J.kind??"excerpt"} ${K$(J.id,44)}${Q}`),G)W.push(` source: ${K$(G,120)}`);W.push(` text: ${K$(J.text,220)}`)}return W.push(`Citations: ${U.length}`),W.push(b_("citations, graph, notes, and full excerpts")),W.join(` +`)}function Kn($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} semantic result(s) for "${K$($.query,80)}"`,`Index: ${$.provider??"unknown"}:${$.model??"unknown"} (${$.dimensions??"?"} dimensions)`];for(let W of _.slice(0,$.limit??10)){let J=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${K$(W.chunk_id,44)}${J}`),W.source_uri)U.push(` source: ${K$(W.source_uri,120)}`);if(W.text)U.push(` text: ${K$(W.text,180)}`)}return U.push(b_("provenance and full vector result objects")),U.join(` +`)}function Mn($){let _=Array.isArray($.sources)?$.sources:[],U=[`${_.length} web source(s) for "${K$($.query,80)}"`,`Provider: ${$.provider??"unknown"}${$.model?` (${$.model})`:""}`];for(let W of _.slice(0,$.limit??10)){U.push(`- ${K$(W.title??W.url??W.uri??"source",100)}`);let J=W.url??W.uri??W.source_ref;if(J)U.push(` url: ${K$(J,140)}`);if(W.snippet)U.push(` snippet: ${K$(W.snippet,180)}`)}return U.push(b_("provider payloads and filed source refs")),U.join(` +`)}function gn($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} machine(s) discovered via ${$.source??"unknown"}`,`Adapter: ${$.adapter?.package??"@hasna/machines"} ${$.adapter?.available?"available":"unavailable"}`];for(let W of _.slice(0,10)){let J=W.local?" local":"",X=W.tailscale_dns??W.ssh_target??W.hostname??"";U.push(`- ${K$(W.machine_id??W.id??"unknown",48)}${J}${X?` -> ${K$(X,80)}`:""}`)}if(_.length>10)U.push(`... ${_.length-10} more machine(s).`);if(Array.isArray($.warnings)&&$.warnings.length>0)U.push(`Warnings: ${$.warnings.slice(0,3).join("; ")}`);return U.push(b_("full topology, route hints, and adapter evidence")),U.join(` +`)}function In($){let _=Array.isArray($.checks)?$.checks:[],U=_.filter((X)=>X.status==="fail"||X.severity==="fail"),W=_.filter((X)=>X.status==="warn"||X.severity==="warn"),J=[`Machine preflight ${$.ok?"passed":"needs attention"} for ${$.machine_id??$.requested_machine_id??"local"}`,`Checks: ${_.length} total, ${U.length} failed, ${W.length} warning(s)`];for(let X of[...U,...W].slice(0,8))J.push(`- ${X.status??X.severity??"check"} ${K$(X.id??X.kind??"check",72)}: ${K$(X.message??X.detail??"",140)}`);return J.push(b_("all checks and repair hints")),J.join(` +`)}function wn($){return[`Sync status (${$.scope??"scope"})`,`Schema: v${$.sqlite_schema_version??"unknown"}`,`Machines: ${$.machines?.total??0}; snapshots: ${$.snapshots?.total??0}; open conflicts: ${$.conflicts?.open??0}`,`Tables: ${Object.entries($.table_counts??{}).slice(0,8).map(([U,W])=>`${U}=${W}`).join(", ")||"none"}`,b_("registry rows, clocks, snapshots, imports, and conflicts")].join(` +`)}function kn($){let _=Array.isArray($.warnings)?$.warnings:[],U=Array.isArray($.recommended_commands)?$.recommended_commands:[],W=[$.message??`Sync readiness ${$.ok?"ok":"needs attention"}`,`Storage: ${$.storage?.validation?.ok?"ok":"needs attention"}; open-files: ${$.open_files?.ok?"ok":"needs attention"}; open conflicts: ${$.sync?.open_conflicts??0}`];if(_.length>0)W.push(`Warnings: ${_.slice(0,5).join("; ")}`);for(let J of U.slice(0,5))W.push(`- next: ${K$(J.shell_command??J.command?.join(" ")??J.id,160)}`);return W.push(b_("diagnostics, route evidence, and all recommended commands")),W.join(` +`)}function fn($){let _=$.snapshot??{};return[`Sync snapshot ${$.ok?"recorded":"failed"}`,`Snapshot: ${K$(_.id??_.snapshot_id??"unknown",80)} ${_.content_hash?`(${K$(_.content_hash,80)})`:""}`,`Machines upserted: ${$.machines_upserted??0}; machine: ${$.machine_id??_.machine_id??"unknown"}`,b_("snapshot payload and topology evidence")].join(` +`)}function Pn($){let _=Array.isArray($.conflicts)?$.conflicts:[],U=[`${_.length} sync conflict(s)`];for(let W of _.slice(0,10))U.push(`- ${K$(W.id,48)} ${W.status??"unknown"} ${W.entity_kind??""}/${K$(W.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(b_("full conflict objects")),U.join(` +`)}function Cn($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} registered sync machine(s)`];for(let W of _.slice(0,10))U.push(`- ${K$(W.machine_id,48)} ${K$(W.hostname??W.workspace_home??"",100)}`);return U.push(b_("machine registry rows")),U.join(` +`)}function gb($,_){let U=[`Sync ${_} ${$.ok===!1?"needs attention":"completed"}${$.dry_run?" (dry run)":""}`],W=(J,X)=>{if(!X)return;let Q=(Array.isArray(X.tables)?X.tables:[]).reduce((O,B)=>O+(B.inserted??0)+(B.updated??0)+(B.deleted??0),0),Y=X.artifacts?.copied??0,j=Array.isArray(X.errors)?X.errors.length:0;U.push(`${J}: ${Q} table row change(s), ${Y} artifact(s), ${j} error(s)`)};if(W("pull",$.pull),W("push",$.push),Array.isArray($.errors)&&$.errors.length>0)U.push(`Errors: ${$.errors.slice(0,3).map((J)=>K$(J,120)).join("; ")}`);return U.push(b_("per-table rows, artifacts, clocks, and errors")),U.join(` +`)}function Tn($){let _=Array.isArray($.citations)?$.citations:[],U=Array.isArray($.context?.excerpts)?$.context.excerpts:Array.isArray($.excerpts)?$.excerpts:[],W=[$.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${_.length}; excerpts: ${U.length}`];if($.answer)W.push(`Answer: ${K$($.answer,500)}`);for(let J of _.slice(0,5))W.push(`- ${K$(J.source_uri??J.ref??J.id,120)}`);return W.push(b_("full answer payload, context, citations, and run ledger")),W.join(` +`)}function Sn($,_){return[`Export preview: ${$.length} item(s) available`,"Default output is compact to avoid terminal/context bloat.","Use --verbose or --json for a JSON object, or --format jsonl for newline-delimited records.",_!=="json"?`Requested format: ${_}`:""].filter(Boolean).join(` +`)}function Ib($){return!$||$==="local"||$==="localhost"}function mW($){if(!$.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Zn($,_){let U=_.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let W=[...$].sort((J,X)=>{if(U==="title")return J.title.localeCompare(X.title);return J.created_at.localeCompare(X.created_at)});if(_.desc)W.reverse();return{sorted:W,sort:U,direction:_.desc?"desc":"asc"}}async function vn($){if(await Ln($))return;let{positional:_,flags:U}=jn($);if(K1("debug","CLI invoked",{command:_[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:M6.name,version:M6.version},null,2):`${M6.name} ${M6.version}`);return}if(U.completions){let L=U.completions;if(L==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(L==="zsh")console.log(`#compdef knowledge +_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"{local,hosted}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"{local,global,project}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`);else if(L==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables');else throw Error("Invalid --completions value. Use 'bash', 'zsh', or 'fish'.");return}let W=Dn(_[0]),J=1,X=_.length>1||/\s/.test(W);if(On()&&W&&!kb.includes(W)&&X)W="ask",J=0;if(!W||U.help||W==="help"){let L=W==="help"?_[1]:W||_[1];Bn(L);return}if(W==="mode"){let L=qN(process.env);v(U.json||U.verbose?{ok:!0,...L}:Rn(L),U.json,U);return}let G=W==="project-panel"||W==="app-wiki"?U.scope??"project":U.scope,Q=A5({scope:G});if(W==="storage"){let L=_[1]??"status";if(L==="import-legacy"){if(U.scope&&U.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let N=o5({dryRun:U.dryRun});if(v(N,U.json),!N.ok)process.exitCode=1;return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}}let Y=Boolean(U.store),j=U.store;if(!j)if(G==="project"||G==="local")j=Q.workspace.jsonStorePath;else j=cW();if(!Y&&(W==="ask"||W==="build")&&!C4())kU(j);let O=XX({storePath:j,storePathOverridden:Y});if(W==="inventory"){let L=await Q.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:C4()?void 0:j});v(U.json||U.verbose?L:bn(L),U.json,U);return}if(W==="project-panel"){let L=U.project??_[1];if(!L)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let N=await fA(L,{service:Q,limit:U.limit,storePath:C4()?void 0:j,includeArchived:U.includeArchived||U.archived});v(U.json||U.contract?N:PA(N),U.json||U.contract);return}if(W==="paths"){let L=Q.paths();v(U.json||U.verbose?L:An(L),U.json,U);return}if(W==="setup"){let L=Q.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});v(L,U.json,U);return}if(W==="auth"){let L=_[1]??"whoami";if(L==="whoami"||L==="status"){let N=Q.authStatus(process.env);v({ok:!0,...N,message:N.authenticated?`Authenticated via ${N.source}`:"Not authenticated"},U.json,U);return}if(L==="login"){let N=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!N)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let H=Q.saveAuth({apiKey:N,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);v({ok:!0,authenticated:!0,email:H.email??null,org_slug:H.org_slug??null,api_url:H.api_url??Q.authStatus(process.env).api_url,auth_path:Q.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${H.email??"API key"}`},U.json,U);return}if(L==="logout"){let N=Q.clearAuth(process.env);v({ok:!0,removed:N,message:N?"Removed hosted credentials":"No hosted credentials found"},U.json,U);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(W==="storage"){let L=_[1]??"status";if(L==="status"){let N=Q.storageContract(),H=Q.validateStorage();v({ok:H.ok,...N,validation:H,message:`${N.storage_type} artifact storage at ${N.artifact_store.uri_prefix}`},U.json,U);return}if(L==="validate"){let N=Q.validateStorage();if(v({ok:N.ok,validation:N,message:N.ok?"Storage contract valid":`Storage contract invalid: ${N.errors.join("; ")}`},U.json,U),!N.ok)process.exitCode=1;return}if(L==="repair-artifact-keys"||L==="repair-keys"){let N=Q.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});v(N,U.json,U);return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid storage action. Use 'status', 'validate', 'repair-artifact-keys', 'migrate-legacy-path', 'merge-legacy-path', or 'import-legacy'.")}if(W==="machines"){let L=_[1]??"topology";if(L==="topology"||L==="status"){let N=await Q.machineTopology({includeTailscale:U.tailscale!==!1});v(U.json||U.verbose?N:gn(N),U.json,U);return}if(L==="preflight"||L==="check"){let N=_[2]??U.machine??"local",H=U.workspace??process.cwd(),R=await Q.machinePreflight({machineId:N,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:M6.name,command:"knowledge",expectedVersion:M6.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:H,expectedPackageName:M6.name,expectedVersion:M6.version,required:!0}]});if(v(U.json||U.verbose?R:In(R),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(W==="sync"){let L=_[1]??"status",N=U.tables?U.tables.split(",").map((H)=>H.trim()).filter(Boolean):void 0;if(L==="status"){let H=Q.syncStatus();v(U.json||U.verbose?H:wn(H),U.json,U);return}if(L==="doctor"||L==="readiness"||L==="preflight"){let H=await Q.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:N}),R={package:{name:M6.name,version:M6.version},...H};if(v(U.json||U.verbose?R:kn(R),U.json,U),!H.ok&&!U.json)process.exitCode=1;return}if(L==="snapshot"||L==="record"){let H=await Q.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});v(U.json||U.verbose?H:fn(H),U.json,U);return}if(L==="conflicts"||L==="conflict"){let H=_[2];if(H==="show"||H==="get"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts show <id>");let M=Q.syncConflict(A);v({ok:!0,conflict:M,message:`Sync conflict ${A}`},U.json,U);return}if(H==="propose"||H==="proposal"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts propose <id>");v(U.mode==="ai"?await Q.proposeSyncConflictResolutionWithAi({id:A,modelRef:U.model,fake:U.fake}):Q.proposeSyncConflictResolution(A),U.json,U);return}if(H==="resolve"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let M=Q.resolveSyncConflict({id:A,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(v(M,U.json,U),!M.ok&&!U.json)process.exitCode=1;return}let R=Q.syncConflicts({status:H,limit:U.limit}),b={ok:!0,conflicts:R,message:`${R.length} sync conflict(s)`};v(U.json||U.verbose?b:Pn(b),U.json,U);return}if(L==="machines"||L==="registry"){let H=Q.syncMachines(),R={ok:!0,machines:H,message:`${H.length} registered sync machine(s)`};v(U.json||U.verbose?R:Cn(R),U.json,U);return}if(L==="export"){let H=Q.exportSyncBundle({machineId:U.machine??null,tables:N,includeArtifactContent:U.artifactContent!==!1});v(H,!0);return}if(L==="import"){let H=await Bun.stdin.text();if(!H.trim())throw Error("Usage: knowledge sync import < bundle.json");let R=await Q.importSyncBundle({bundle:JSON.parse(H),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});v(U.json||U.verbose?R:gb(R,L),U.json,U);return}if(L==="dry-run"||L==="pull"||L==="push"||L==="sync"){if(!U.peerWorkspace&&Ib(U.machine))throw Error(`Usage: knowledge sync ${L} --peer-workspace <repo-or-knowledge-home> [--scope project] +Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let H=L==="dry-run"?"both":L==="sync"?"both":L,R=!Ib(U.machine)?await Q.syncRemotePeer({direction:H,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:N,dryRun:U.dryRun===!0||L==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await Q.syncPeer({peerWorkspace:U.peerWorkspace,direction:H,dryRun:U.dryRun===!0||L==="dry-run",tables:N,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(v(U.json||U.verbose?R:gb(R,L),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid sync action. Use 'status', 'doctor', 'snapshot', 'conflicts', 'machines', 'dry-run', 'pull', 'push', 'sync', 'export', or 'import'.")}if(W==="db"){let L=_[1]??"init";if(L==="init"){let N=Q.initDb();v({ok:!0,...N,message:`Initialized ${N.path}`},U.json,U);return}if(L==="stats"){let N=Q.dbStats();v({ok:!0,path:Q.workspace.knowledgeDbPath,...N,message:`knowledge.db schema v${N.schema_version}`},U.json,U);return}if(L==="storage"){if((_[2]??"status")==="status"){let H=OO({scope:U.scope});v({ok:!0,...H,message:`knowledge.db storage mode ${H.mode}${H.activeEnv?` via ${H.activeEnv}`:""}`},U.json,U);return}throw Error("Invalid db storage action. Only 'status' is supported. The 'push'/'pull'/'sync' Postgres sync commands were removed (DSN-on-client is forbidden); use the cloud API flip instead.")}throw Error("Invalid db action. Use 'init', 'stats', or 'storage'.")}if(W==="app-wiki"){let L=_[1]??"init";if(L==="paths"||L==="status"){v({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...Q.paths()},U.json);return}if(L==="init"||L==="open"){let N=await Q.initAppWiki({allowGlobal:U.allowGlobal});v(N,U.json);return}if(L==="note"||L==="notes"){let N=_[2]??"list";if(N==="add"||N==="create"){let H=U.title??_[3],R=U.content??_.slice(4).join(" ");if(!H||!R)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let b=await Q.addAppWikiNote({title:H,content:R,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});v(b,U.json);return}if(N==="list"||N==="ls"){let H=Q.listAppWikiNotes({limit:U.limit});v({ok:!0,scope:Q.scope,home:Q.workspace.home,notes:H,message:`${H.length} app wiki note(s)`},U.json);return}if(N==="get"||N==="show"){let H=_[3]??U.id;if(!H)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let R=await Q.getAppWikiNote(H,{includeContent:!0});if(!R)throw Error(`App wiki note not found: ${H}`);v(R,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(L==="source"||L==="sources"){let N=_[2]??"add";if(N!=="add"&&N!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let H=_[3]??U.sourceRef?.[0];if(!H)throw Error("Usage: knowledge app-wiki source add <source-ref>");let R=await Q.addAppWikiSourceRef({sourceRef:H,purpose:U.purpose,allowGlobal:U.allowGlobal});v({ok:!0,...R,message:`Added app wiki source ${R.source_ref}`},U.json);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki search <query>");let H=await Q.searchAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.results.length} app wiki result(s)`},U.json);return}if(L==="query"||L==="context"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki query <query>");let H=await Q.queryAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(W==="wiki"){let L=_[1]??"init";if(L==="init"){let N=await Q.initWiki();v({ok:!0,...N,message:`Initialized wiki layout in ${Q.workspace.home}`},U.json,U);return}if(L==="compile"){let N=_.slice(2),H=N.filter((A)=>/^(open-files|file|s3|https?):\/\//.test(A)),R=N.filter((A)=>!/^(open-files|file|s3|https?):\/\//.test(A)).join(" "),b=await Q.compileWiki({title:U.title,query:R||U.search,sourceRefs:H.length>0?H:void 0,limit:U.limit});v({ok:!0,...b,message:`Compiled wiki page ${b.path}`},U.json,U);return}if(L==="file-answer"||L==="answer"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!U.content)throw Error("Missing --content <answer> for wiki file-answer.");let H=await Q.fileAnswer({prompt:N,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H},U.json,U);return}if(L==="lint"){let N=Q.lintWiki();v({ok:N.ok,...N,message:N.ok?"Wiki lint passed":`Wiki lint found ${N.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(W==="safety"){let L=_[1]??"status",N=Q.ensureWorkspace(),H=Q.safetyPolicy();Q.initDb();let R=d(N.knowledgeDbPath);try{if(L==="status"){v({ok:!0,mode:H.mode,workspace:N.home,allow_write_roots:H.allowWriteRoots,read_only_source_access:H.readOnlySourceAccess,network:H.network,redaction:H.redaction,approvals:H.approvals,message:`Safety policy: ${H.mode}`},U.json,U);return}if(L==="check"){let b=_[2]??"generated_write",A=_[3]??null,M;try{if(b==="web_search")L2(H),M={action:b,target_uri:A,approval_required:!1,approved:!0,decision:"allow"};else if(b==="s3_read"){if(!A)throw Error("safety check s3_read requires an s3:// target.");Z4(A,H),M={action:b,target_uri:A,approval_required:!1,approved:!0,decision:"allow"}}else M=cN(R,H,b,A);a$(R,{event_type:"safety_check",action:b,target_uri:A,decision:M.decision==="allow"?"allow":"requires_approval",metadata:M}),v({ok:!0,...M,message:`Safety check ${M.decision}`},U.json,U);return}catch(E){throw a$(R,{event_type:"safety_check",action:b,target_uri:A,decision:"deny",metadata:{error:E instanceof Error?E.message:String(E)}}),E}}if(L==="approve"){let b=_[2]??"generated_write",A=_[3]??null,M=nN(R,{action:b,target_uri:A,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});a$(R,{event_type:"approval",action:b,target_uri:A,decision:"allow",metadata:{approval_id:M.id}}),v({ok:!0,...M,action:b,target_uri:A,message:`Approved ${b}`},U.json,U);return}if(L==="audit"){let b=R.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((A)=>({id:A.id,event_type:A.event_type,action:A.action,target_uri:A.target_uri,decision:A.decision,metadata:JSON.parse(A.metadata_json),created_at:A.created_at}));v({ok:!0,events:b,message:`${b.length} audit event(s)`},U.json,U);return}if(L==="redact"){let b=_.slice(2).join(" ");if(!b)throw Error("Usage: knowledge safety redact <text>");let A=w_(b,H);if(A.findings.length>0)jX(R,{source_uri:"safety://redact",findings:A.findings,metadata:{command:"safety redact"}});a$(R,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:A.findings.length>0?"redacted":"allow",metadata:{findings:A.findings.length}}),v({ok:!0,text:A.text,findings:A.findings,message:`Redacted ${A.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{R.close()}}if(W==="source"){if((_[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let N=_[2];if(!N)throw Error("Usage: knowledge source resolve <source-ref>");let H=await Q.resolveSource(N,{purpose:U.purpose,limit:U.limit});v({ok:!0,...H,message:H.resolved?`Resolved ${H.source_ref} (${H.content.chunks_returned}/${H.content.chunks_total} chunks)`:`Source not indexed: ${N}`},U.json,U);return}if(W==="ingest"){let L=_[1]??"";if(L==="rules"||L==="global-rules"||L==="agent-rules"){let N=await Q.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});v({ok:!0,...N},U.json);return}if(L==="manifest"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let H=await Q.ingestManifest(N);v({ok:!0,...H,message:`Ingested ${H.items_seen} manifest item(s)`},U.json,U);return}if(L==="source"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest source <source-ref>");let H=await Q.ingestSource(N,U.purpose);v({ok:!0,...H,message:`Ingested source ${H.source_ref} (${H.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(W==="reindex"){let L=_[1]??"status";if(L==="status"){let N=Q.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`${N.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(L==="enqueue"){let N=Q.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Queued ${N.enqueued} embedding refresh item(s)`},U.json,U);return}if(L==="embeddings"){let N=await Q.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="outbox"){let N=_[2];if(!N)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let H=await Q.consumeOutbox(N);v({ok:!0,...H,message:`Consumed ${H.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(W==="embeddings"){let L=_[1]??"status";if(L==="status"){let N=Q.embeddingStatus();v({ok:!0,...N,message:`${N.total_vector_entries} vector index entries`},U.json,U);return}if(L==="index"){let N=await Q.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge embeddings search <query>");let H=await Q.semanticSearch({query:N,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),R={ok:!0,...H,message:`${H.results.length} semantic result(s)`};v(U.json||U.verbose?R:Kn(R),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(W==="context"){if((_[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let N=U.from??"search";if(!["search","loops","runs"].includes(N))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let H=_.slice(2).join(" ")||U.topic||"",R=await Q.contextPack({source:N,purpose:N==="loops"||N==="runs"?"proposal":"agent_context",query:H,topic:U.topic,since:U.since,dedupe:U.dedupe,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j});Mb({ok:!0,...R,message:R.message});return}if(W==="proposals"){if((_[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let N=U.from??"loops";if(!["loops","runs"].includes(N))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let H=U.topic??_.slice(2).join(" ");if(!H.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let R=await Q.contextPack({source:N,purpose:"proposal",query:H,topic:H,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});Mb({ok:!0,...R,message:R.message});return}if(W==="search"){let L=_.slice(1).join(" ");if(!L)throw Error("Usage: knowledge search <query>");if(U.context){let R=await Q.retrieveContext({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),b={ok:!0,...R,message:`${R.excerpts.length} context excerpt(s)`};v(U.json||U.verbose?b:En(b),U.json,U);return}let N=await Q.search({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),H={ok:!0,...N,message:`${N.results.length} search result(s)`};v(U.json||U.verbose?H:Fn(H),U.json,U);return}if(W==="web"){if((_[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge web search <query>");let H=await Q.webSearch({query:N,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),R={ok:!0,...H,message:`${H.sources.length} web source(s)`};v(U.json||U.verbose?R:Mn(R),U.json,U);return}if(W==="ask"||W==="build"){let L=_.slice(J).join(" ");if(!L)throw Error("Usage: knowledge ask <prompt>");let N=await Q.runPrompt({prompt:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:j}),H={ok:!0,...N,message:N.generated?"Generated answer with citations":"Prepared citation context draft"};v(U.json||U.verbose?H:Tn(H),U.json,U);return}if(W==="providers"){let L=_[1]??"status";if(L==="status"){let N=Q.providerStatus(),H=N.providers.filter((R)=>R.configured).length;v({ok:!0,...N,message:`${H}/${N.providers.length} provider credential(s) configured`},U.json,U);return}if(L==="models"){let N=Q.modelRegistry();v({ok:!0,models:N,message:`${N.length} model alias(es)`},U.json,U);return}if(L==="check"){let N=_[2]??"default",H=z6(N,Q.config()),R=j_(H),b=k0(R.provider,Q.config());v({ok:!0,target:N,model_ref:H,provider:R.provider,model:R.model,credential:b,message:`${R.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(W==="add"){let L=_[1],N=_[2];if(!L||!N)throw Error("Usage: knowledge add <title> <content>");let H=await O.create({title:L,content:N,url:U.url??null,tags:U.tag??[]});K1("info","Item added",{id:H.id,title:H.title,tags:H.tags?.length??0,transport:O.kind}),v({ok:!0,item:H,message:`Added ${H.id}`},U.json,U);return}if(W==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");let L=await O.listAll(),N=Number.isFinite(U.page)&&U.page>0?U.page:1,H=Number.isFinite(U.limit)&&U.limit>0?U.limit:20,R=U.search?String(U.search).toLowerCase():"",b=(U.tagRaw??U.tag??[]).map((O$)=>({whole:O$.trim().toLowerCase(),parts:O$.split(",").map((Y_)=>Y_.trim().toLowerCase()).filter((Y_)=>Y_.length>0)})),A=U.tag?.length?U.tag.map((O$)=>O$.toLowerCase()).join(","):"none",M=U.format==="table"||!U.json&&!U.format&&Hn(U),E=U.json||U.format==="json",g=L.items;if(U.archived)g=g.filter((O$)=>O$.archived===!0);else if(!U.includeArchived)g=g.filter((O$)=>!O$.archived);if(R)g=g.filter((O$)=>O$.title.toLowerCase().includes(R)||O$.content.toLowerCase().includes(R));if(b.length>0)g=g.filter((O$)=>{let Y_=new Set((O$.tags??[]).map((t$)=>t$.toLowerCase()));return b.every(({whole:t$,parts:d$})=>t$.length>0&&Y_.has(t$)||d$.every((W_)=>Y_.has(W_)))});let{sorted:Z,sort:k,direction:r}=Zn(g,U),i$=(N-1)*H,P$=Z.slice(i$,i$+H),p$=Math.max(1,Math.ceil(Z.length/H)),J_={ok:!0,page:N,limit:H,total:Z.length,total_pages:p$,sort:k,direction:r,items:P$,store_exists:L.exists};if(E){v(J_,!0);return}if(U.verbose){v(J_,!1,U);return}if(P$.length===0){v(`No items found (search=${R||"none"}, tag=${A})`,!1);return}if(M){let O$=(t$)=>t$,Y_=`${O$("ID")} ${O$("TITLE")} ${O$("CREATED")} ${O$("URL")} ${O$("TAGS")}`;console.log(Y_);for(let t$ of P$)console.log(`${t$.id} ${O$(K$(t$.title,80))} ${t$.created_at} ${t$.url?O$(K$(t$.url,90)):""} ${t$.tags?.length?O$(K$(`[${t$.tags.join(", ")}]`,80)):""}`);console.log(`Page ${N}/${p$} | showing ${P$.length} of ${Z.length} | sort=${k} ${r} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let O$ of P$)console.log(`${O$.id} ${K$(O$.title,80)} ${O$.created_at}${O$.url?` ${K$(O$.url,90)}`:""}${O$.tags?.length?` ${K$(`[${O$.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${N}/${p$} | showing ${P$.length} of ${Z.length} | sort=${k} ${r} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(W==="get"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);v({ok:!0,item:L,store_exists:O.exists,message:`${L.id}: ${L.title}`},U.json,U);return}if(W==="update"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N={};if(U.title!==void 0)N.title=U.title;if(U.content!==void 0)N.content=U.content;if(U.url!==void 0)N.url=U.url;let H;if(U.tag!==void 0){if(H=Kb(L.tags,U.tag),H.length>0)N.tags=[...L.tags??[],...H]}let R=await O.update(L.id,N);v(wO({ok:!0,item:R},`Updated ${R?.id??L.id}`,H),U.json,U);return}if(W==="archive"||W==="restore"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=await O.update(L.id,{archived:W==="archive"});v({ok:!0,item:N,message:`${W==="archive"?"Archived":"Restored"} ${N?.id??L.id}`},U.json,U);return}if(W==="untag"){if(mW(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=L.tags??[],H=new Set(N.map((k)=>k.toLowerCase())),R=new Set;for(let k of U.tagRaw??U.tag){let r=k.trim().toLowerCase();if(r.length>0&&H.has(r)){R.add(r);continue}for(let i$ of k.split(",").map((P$)=>P$.trim().toLowerCase()).filter((P$)=>P$.length>0))R.add(i$)}let b=N.filter((k)=>!R.has(k.toLowerCase())),A=N.length-b.length,M=[...R].filter((k)=>!H.has(k));if(A===0)throw Error(`No matching tag on ${L.id}: ${M.map((k)=>JSON.stringify(k)).join(", ")} not in [${N.map((k)=>JSON.stringify(k)).join(", ")}]`);let E=await O.update(L.id,{tags:b}),g=M.length>0?` (not found: ${M.map((k)=>JSON.stringify(k)).join(", ")})`:"",Z={ok:!0,item:E,removed:A,message:`Removed ${A} tag${A===1?"":"s"} from ${E?.id??L.id}${g}`};if(M.length>0)Z.not_found=M;v(Z,U.json,U);return}if(W==="upsert"){let L=U.title??_[1],N=U.content??_[2],H=U.id?await O.get(U.id):null;if(!H){if(!L||!N)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let M=await O.create({id:U.id,title:L,content:N,url:U.url??null,tags:U.tag??[]});v(wO({ok:!0,created:!0,item:M},`Upserted ${M.id}`,U.tag),U.json,U);return}let R={};if(L!==void 0)R.title=L;if(N!==void 0)R.content=N;if(U.url!==void 0)R.url=U.url;let b;if(U.tag!==void 0){if(b=Kb(H.tags,U.tag),b.length>0)R.tags=[...H.tags??[],...b]}let A=await O.update(H.id,R);v(wO({ok:!0,created:!1,item:A},`Upserted ${A?.id??H.id}`,b),U.json,U);return}if(W==="delete"){if(mW(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await O.delete(U.id))throw Error(`Item not found: ${U.id}`);K1("info","Item deleted",{id:U.id,transport:O.kind}),v({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(W==="export"){let L=U.format??"json";if(L!=="json"&&L!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let N=await O.listAll();if(L==="jsonl")for(let H of N.items)console.log(JSON.stringify(H));else if(U.json||U.format==="json"||U.verbose)v({ok:!0,items:N.items,store_exists:N.exists},U.json||U.format==="json",U);else v(Sn(N.items,L),!1);return}if(W==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:L}=await O.listAll(),N=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,H=L.filter((A)=>N!==null&&new Date(A.created_at)<N||U.empty&&A.content.trim().length===0),R=await O.deleteMany(H.map((A)=>A.id)),b=L.length-R;K1("info","Prune completed",{pruned:R,remaining:b,transport:O.kind}),v({ok:!0,pruned:R,remaining:b,message:`Pruned ${R} item(s)`},U.json,U);return}if(W==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:L}=await O.listAll(),N=new Set,H=[];for(let A of L){let M=`${A.title}\x00${A.content}`;if(N.has(M))H.push(A);else N.add(M)}let R=await O.deleteMany(H.map((A)=>A.id)),b=L.length-R;K1("info","Dedupe completed",{removed:R,remaining:b,transport:O.kind}),v({ok:!0,removed:R,remaining:b,message:`Dedupe removed ${R} duplicate(s)`},U.json,U);return}if(W==="stats"){let L=await O.listAll(),N=L.items.filter((k)=>!k.archived),H=N.length,R=L.items.length-H,b=N.filter((k)=>k.url).length,A=N.filter((k)=>k.tags&&k.tags.length>0).length,M=H>0?N.map((k)=>k.created_at).sort()[0]:null,E=H>0?N.map((k)=>k.created_at).sort()[H-1]:null,g={};for(let k of N)for(let r of k.tags||[])g[r]=(g[r]||0)+1;let Z=Object.entries(g).sort((k,r)=>r[1]-k[1]).slice(0,5).map(([k,r])=>({tag:k,count:r}));v({ok:!0,total:H,archived:R,with_url:b,with_tags:A,oldest:M,newest:E,top_tags:Z,store_exists:L.exists,message:`${H} items | ${b} with URL | ${A} with tags`},U.json,U);return}let B=qn(_[0]),V=B?` Did you mean '${B}'?`:"";throw K1("warn","Unknown command",{input:_[0],suggestion:B}),Error(`Unknown command: ${_[0]}.${V} Run 'knowledge --help' for available commands.`)}function yn($,_){let U=$ instanceof Error?$.message:String($);if(K1("debug","CLI error",{message:U,stack:$ instanceof Error?$.stack:void 0}),console.error(`Error: ${U}`),_.includes("--json"))v({ok:!1,error:U,message:U},!0);process.exitCode=1}if(import.meta.main){let $=process.argv.slice(2);vn($).catch((_)=>yn(_,$))}export{qn as suggestCommand,Zn as sortItems,vn as run,jn as parseArgs,yn as emitCliError}; diff --git a/dist/cloud-store.d.ts b/dist/cloud-store.d.ts index 4d81809..4cda4e0 100644 --- a/dist/cloud-store.d.ts +++ b/dist/cloud-store.d.ts @@ -1,6 +1,6 @@ import type { KnowledgeItem } from './store'; -/** App slug used for the client-flip env keys (HASNA_KNOWLEDGE_*). */ -export declare const KNOWLEDGE_APP_SLUG = "knowledge"; +import { KNOWLEDGE_APP_SLUG } from './knowledge-mode.js'; +export { KNOWLEDGE_APP_SLUG }; /** Cloud resource path served under /v1 by knowledge-serve. */ export declare const KNOWLEDGE_RESOURCE = "notes"; export interface KnowledgeCloudListOptions { @@ -47,17 +47,21 @@ export interface KnowledgeCloudStore { } /** * Resolve the cloud knowledge store from the environment. Returns a ready - * {@link KnowledgeCloudStore} when the client-flip resolves to cloud-http, else - * `null` so the caller uses the local db.json store. Throws if cloud was - * requested but misconfigured (never silent local drift). + * {@link KnowledgeCloudStore} when the mode is explicitly cloud, else `null` so + * the caller uses the local db.json store. Throws if cloud was requested but + * misconfigured (never silent local drift). + * + * On the local path the contracts resolver is not called at all: no transport is + * built, no key is read, and there is nothing for a second layer to infer from. */ export declare function resolveKnowledgeCloudStore(env?: NodeJS.ProcessEnv): KnowledgeCloudStore | null; /** - * True when the client-flip resolves to the cloud HTTP transport (self_hosted / - * cloud). This is the single mode signal the whole client uses: item commands - * route to the ApiStore, and the local sqlite catalog is refused (never a silent - * split-brain write). Local mode (default) returns false. Throws only when cloud - * was requested but misconfigured — matching the item Store, never silent drift. + * True when this process routes knowledge items to the cloud HTTP transport. + * The single mode signal the whole client uses: item commands route to the + * ApiStore, and the local sqlite catalog is refused (never a silent split-brain + * write). Local — the default, and the answer whenever no mode var says + * otherwise — returns false. Throws only when cloud was explicitly requested + * but misconfigured, matching the item Store: never silent drift. */ export declare function isKnowledgeApiMode(env?: NodeJS.ProcessEnv): boolean; /** diff --git a/dist/index.d.ts b/dist/index.d.ts index 68e374e..711fc04 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -2,6 +2,8 @@ export { createAppWikiScope, createKnowledgeClient, createKnowledgeSdk, openGlob export { resolveItemStore, type ItemStore, type ItemCreateInput, type ItemPatch, type ItemListResult, type ResolveItemStoreOptions, } from './item-store.js'; export { type KnowledgeItem, type Store as KnowledgeItemStoreFile, } from './store.js'; export { KNOWLEDGE_APP_SLUG, KNOWLEDGE_RESOURCE, isKnowledgeApiMode, resolveKnowledgeCloudStore, type KnowledgeCloudStore, type KnowledgeCloudCreateInput, type KnowledgeCloudListOptions, type KnowledgeCloudPatch, } from './cloud-store.js'; +export { KNOWLEDGE_API_KEY_ENV_KEYS, KNOWLEDGE_API_URL_ENV_KEYS, KNOWLEDGE_MODE_ENV_KEYS, knowledgeModeReport, pinnedTransportEnv, resolveKnowledgeModeSelection, type KnowledgeMode, type KnowledgeModeReport, type KnowledgeModeResolution, type KnowledgeModeSource, } from './knowledge-mode.js'; +export { NETWORK_GUARD_ENV, KnowledgeNetworkGuardError, assertOutboundRequestAllowed, guardedFetch, isLoopbackHostname, isNetworkGuardActive, } from './net-guard.js'; export { buildKnowledgeAgentContextPack, type KnowledgeAgentContextCitation, type KnowledgeAgentContextEvidence, type KnowledgeAgentContextPack, type KnowledgeAgentDuplicateCandidate, type KnowledgeContextPackPurpose, type KnowledgeContextPackSource, } from './context-pack.js'; export { createKnowledgeService, KnowledgeService, type KnowledgeAppWikiInitResult, type KnowledgeAppWikiNote, type KnowledgeAppWikiNoteReadResult, type KnowledgeAppWikiNoteResult, type KnowledgeAppWikiNoteInput as KnowledgeServiceAppWikiNoteInput, type KnowledgeAppWikiSourceInput as KnowledgeServiceAppWikiSourceInput, type KnowledgeArtifactManifestKeyRepairCandidate, type KnowledgeArtifactManifestKeyRepairResult, type KnowledgeArtifactManifestStatus, type KnowledgeInventoryLegacyItem, type KnowledgeInventoryOptions as KnowledgeServiceInventoryOptions, type KnowledgeInventoryResult, type KnowledgeLegacyPathMergeResult, type KnowledgeLegacyPathMigrationResult, type KnowledgeOpenFilesBoundaryStatus, type KnowledgePathsResult, type KnowledgePeerSyncOptions, type KnowledgeRulesProvenanceImportOptions, type KnowledgeRulesProvenanceImportResult, type KnowledgeSyncConflictAiProposalServiceOptions, type KnowledgeSyncDoctorResult, type KnowledgeSyncRecommendedCommand, type KnowledgeServiceOptions, type KnowledgeSetupResult, type KnowledgeSyncBundleOptions, type KnowledgeSyncImportOptions, type KnowledgeSyncSnapshotOptions, } from './service.js'; export { createKnowledgeProjectPanel, formatKnowledgeProjectPanel, type KnowledgeProjectPanelOptions, } from './project-panel.js'; diff --git a/dist/index.js b/dist/index.js index f5edc15..5df48f7 100644 --- a/dist/index.js +++ b/dist/index.js @@ -74,9 +74,9 @@ function config(newConfig) { Object.assign(globalConfig, newConfig); return globalConfig; } -var _a, NEVER2, $brand, $ZodAsyncError, $ZodEncodeError, globalConfig; +var _a, NEVER3, $brand, $ZodAsyncError, $ZodEncodeError, globalConfig; var init_core = __esm(() => { - NEVER2 = /* @__PURE__ */ Object.freeze({ + NEVER3 = /* @__PURE__ */ Object.freeze({ status: "aborted" }); $brand = Symbol("zod_brand"); @@ -130,11 +130,11 @@ __export(exports_util, { isObject: () => isObject, hexToUint8Array: () => hexToUint8Array, getSizableOrigin: () => getSizableOrigin, - getParsedType: () => getParsedType2, + getParsedType: () => getParsedType3, getLengthableOrigin: () => getLengthableOrigin, getEnumValues: () => getEnumValues, getElementAtPath: () => getElementAtPath, - floatSafeRemainder: () => floatSafeRemainder2, + floatSafeRemainder: () => floatSafeRemainder3, finalizeIssue: () => finalizeIssue, extend: () => extend, explicitlyAborted: () => explicitlyAborted, @@ -207,7 +207,7 @@ function cleanRegex(source) { const end = source.endsWith("$") ? source.length - 1 : source.length; return source.slice(start, end); } -function floatSafeRemainder2(val, step) { +function floatSafeRemainder3(val, step) { const ratio = val / step; const roundedRatio = Math.round(ratio); const tolerance = Number.EPSILON * Math.max(Math.abs(ratio), 1); @@ -705,7 +705,7 @@ function uint8ArrayToHex(bytes) { class Class { constructor(..._args) {} } -var EVALUATING, captureStackTrace, allowsEval, getParsedType2 = (data) => { +var EVALUATING, captureStackTrace, allowsEval, getParsedType3 = (data) => { const t = typeof data; switch (t) { case "undefined": @@ -1097,8 +1097,8 @@ function datetime(args) { opts.push(""); if (args.offset) opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`); - const timeRegex2 = `${time2}(?:${opts.join("|")})`; - return new RegExp(`^${dateSource}T(?:${timeRegex2})$`); + const timeRegex3 = `${time2}(?:${opts.join("|")})`; + return new RegExp(`^${dateSource}T(?:${timeRegex3})$`); } function fixedBase64(bodyLength, padding) { return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`); @@ -1261,7 +1261,7 @@ var init_checks = __esm(() => { inst._zod.check = (payload) => { if (typeof payload.value !== typeof def.value) throw new Error("Cannot mix number and bigint in multiple_of check."); - const isMultiple = typeof payload.value === "bigint" ? payload.value % def.value === BigInt(0) : floatSafeRemainder2(payload.value, def.value) === 0; + const isMultiple = typeof payload.value === "bigint" ? payload.value % def.value === BigInt(0) : floatSafeRemainder3(payload.value, def.value) === 0; if (isMultiple) return; payload.issues.push({ @@ -1797,7 +1797,7 @@ function isValidBase64URL(data) { const padded = base642.padEnd(Math.ceil(base642.length / 4) * 4, "="); return isValidBase64(padded); } -function isValidJWT2(token, algorithm = null) { +function isValidJWT3(token, algorithm = null) { try { const tokensParts = token.split("."); if (tokensParts.length !== 3) @@ -1947,7 +1947,7 @@ function handleExclusiveUnionResults(results, final, inst, ctx) { } return final; } -function mergeValues2(a, b) { +function mergeValues3(a, b) { if (a === b) { return { valid: true, data: a }; } @@ -1959,7 +1959,7 @@ function mergeValues2(a, b) { const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1); const newObj = { ...a, ...b }; for (const key of sharedKeys) { - const sharedValue = mergeValues2(a[key], b[key]); + const sharedValue = mergeValues3(a[key], b[key]); if (!sharedValue.valid) { return { valid: false, @@ -1978,7 +1978,7 @@ function mergeValues2(a, b) { for (let index = 0;index < a.length; index++) { const itemA = a[index]; const itemB = b[index]; - const sharedValue = mergeValues2(itemA, itemB); + const sharedValue = mergeValues3(itemA, itemB); if (!sharedValue.valid) { return { valid: false, @@ -2023,7 +2023,7 @@ function handleIntersectionResults(result, left, right) { } if (aborted(result)) return result; - const merged = mergeValues2(left.value, right.value); + const merged = mergeValues3(left.value, right.value); if (!merged.valid) { throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`); } @@ -2207,7 +2207,7 @@ var init_schemas = __esm(() => { }); } else { const runChecks = (payload, checks2, ctx) => { - let isAborted2 = aborted(payload); + let isAborted3 = aborted(payload); let asyncResult; for (const ch of checks2) { if (ch._zod.def.when) { @@ -2216,7 +2216,7 @@ var init_schemas = __esm(() => { const shouldRun = ch._zod.def.when(payload); if (!shouldRun) continue; - } else if (isAborted2) { + } else if (isAborted3) { continue; } const currLen = payload.issues.length; @@ -2230,15 +2230,15 @@ var init_schemas = __esm(() => { const nextLen = payload.issues.length; if (nextLen === currLen) return; - if (!isAborted2) - isAborted2 = aborted(payload, currLen); + if (!isAborted3) + isAborted3 = aborted(payload, currLen); }); } else { const nextLen = payload.issues.length; if (nextLen === currLen) continue; - if (!isAborted2) - isAborted2 = aborted(payload, currLen); + if (!isAborted3) + isAborted3 = aborted(payload, currLen); } } if (asyncResult) { @@ -2554,7 +2554,7 @@ var init_schemas = __esm(() => { $ZodJWT = /* @__PURE__ */ $constructor("$ZodJWT", (inst, def) => { $ZodStringFormat.init(inst, def); inst._zod.check = (payload) => { - if (isValidJWT2(payload.value, def.alg)) + if (isValidJWT3(payload.value, def.alg)) return; payload.issues.push({ code: "invalid_format", @@ -4944,7 +4944,7 @@ var init_el = __esm(() => { }); // node_modules/zod/v4/locales/en.js -function en_default2() { +function en_default3() { return { localeError: error10() }; @@ -9964,7 +9964,7 @@ __export(exports_locales, { fa: () => fa_default, es: () => es_default, eo: () => eo_default, - en: () => en_default2, + en: () => en_default3, el: () => el_default, de: () => de_default, da: () => da_default, @@ -11960,7 +11960,7 @@ __export(exports_core2, { parse: () => parse, meta: () => meta, locales: () => exports_locales, - isValidJWT: () => isValidJWT2, + isValidJWT: () => isValidJWT3, isValidBase64URL: () => isValidBase64URL, isValidBase64: () => isValidBase64, initializeContext: () => initializeContext, @@ -12106,7 +12106,7 @@ __export(exports_core2, { _array: () => _array, _any: () => _any, TimePrecision: () => TimePrecision, - NEVER: () => NEVER2, + NEVER: () => NEVER3, JSONSchemaGenerator: () => JSONSchemaGenerator, JSONSchema: () => exports_json_schema, Doc: () => Doc, @@ -12346,12 +12346,12 @@ var initializer2 = (inst, issues) => { } } }); -}, ZodError2, ZodRealError; +}, ZodError3, ZodRealError; var init_errors2 = __esm(() => { init_core2(); init_core2(); init_util(); - ZodError2 = /* @__PURE__ */ $constructor("ZodError", initializer2); + ZodError3 = /* @__PURE__ */ $constructor("ZodError", initializer2); ZodRealError = /* @__PURE__ */ $constructor("ZodError", initializer2, { Parent: Error }); @@ -12459,7 +12459,7 @@ __export(exports_schemas2, { discriminatedUnion: () => discriminatedUnion, describe: () => describe2, date: () => date3, - custom: () => custom2, + custom: () => custom3, cuid2: () => cuid22, cuid: () => cuid3, codec: () => codec, @@ -12478,73 +12478,73 @@ __export(exports_schemas2, { _ZodString: () => _ZodString, ZodXor: () => ZodXor, ZodXID: () => ZodXID, - ZodVoid: () => ZodVoid2, - ZodUnknown: () => ZodUnknown2, - ZodUnion: () => ZodUnion2, - ZodUndefined: () => ZodUndefined2, + ZodVoid: () => ZodVoid3, + ZodUnknown: () => ZodUnknown3, + ZodUnion: () => ZodUnion3, + ZodUndefined: () => ZodUndefined3, ZodUUID: () => ZodUUID, ZodURL: () => ZodURL, ZodULID: () => ZodULID, - ZodType: () => ZodType2, - ZodTuple: () => ZodTuple2, + ZodType: () => ZodType3, + ZodTuple: () => ZodTuple3, ZodTransform: () => ZodTransform, ZodTemplateLiteral: () => ZodTemplateLiteral, - ZodSymbol: () => ZodSymbol2, + ZodSymbol: () => ZodSymbol3, ZodSuccess: () => ZodSuccess, ZodStringFormat: () => ZodStringFormat, - ZodString: () => ZodString2, - ZodSet: () => ZodSet2, - ZodRecord: () => ZodRecord2, - ZodReadonly: () => ZodReadonly2, - ZodPromise: () => ZodPromise2, + ZodString: () => ZodString3, + ZodSet: () => ZodSet3, + ZodRecord: () => ZodRecord3, + ZodReadonly: () => ZodReadonly3, + ZodPromise: () => ZodPromise3, ZodPreprocess: () => ZodPreprocess, ZodPrefault: () => ZodPrefault, ZodPipe: () => ZodPipe, - ZodOptional: () => ZodOptional2, - ZodObject: () => ZodObject2, + ZodOptional: () => ZodOptional3, + ZodObject: () => ZodObject3, ZodNumberFormat: () => ZodNumberFormat, - ZodNumber: () => ZodNumber2, - ZodNullable: () => ZodNullable2, - ZodNull: () => ZodNull2, + ZodNumber: () => ZodNumber3, + ZodNullable: () => ZodNullable3, + ZodNull: () => ZodNull3, ZodNonOptional: () => ZodNonOptional, - ZodNever: () => ZodNever2, + ZodNever: () => ZodNever3, ZodNanoID: () => ZodNanoID, - ZodNaN: () => ZodNaN2, - ZodMap: () => ZodMap2, + ZodNaN: () => ZodNaN3, + ZodMap: () => ZodMap3, ZodMAC: () => ZodMAC, - ZodLiteral: () => ZodLiteral2, - ZodLazy: () => ZodLazy2, + ZodLiteral: () => ZodLiteral3, + ZodLazy: () => ZodLazy3, ZodKSUID: () => ZodKSUID, ZodJWT: () => ZodJWT, - ZodIntersection: () => ZodIntersection2, + ZodIntersection: () => ZodIntersection3, ZodIPv6: () => ZodIPv6, ZodIPv4: () => ZodIPv4, ZodGUID: () => ZodGUID, - ZodFunction: () => ZodFunction2, + ZodFunction: () => ZodFunction3, ZodFile: () => ZodFile, ZodExactOptional: () => ZodExactOptional, - ZodEnum: () => ZodEnum2, + ZodEnum: () => ZodEnum3, ZodEmoji: () => ZodEmoji, ZodEmail: () => ZodEmail, ZodE164: () => ZodE164, - ZodDiscriminatedUnion: () => ZodDiscriminatedUnion2, - ZodDefault: () => ZodDefault2, - ZodDate: () => ZodDate2, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion3, + ZodDefault: () => ZodDefault3, + ZodDate: () => ZodDate3, ZodCustomStringFormat: () => ZodCustomStringFormat, ZodCustom: () => ZodCustom, ZodCodec: () => ZodCodec, - ZodCatch: () => ZodCatch2, + ZodCatch: () => ZodCatch3, ZodCUID2: () => ZodCUID2, ZodCUID: () => ZodCUID, ZodCIDRv6: () => ZodCIDRv6, ZodCIDRv4: () => ZodCIDRv4, - ZodBoolean: () => ZodBoolean2, + ZodBoolean: () => ZodBoolean3, ZodBigIntFormat: () => ZodBigIntFormat, - ZodBigInt: () => ZodBigInt2, + ZodBigInt: () => ZodBigInt3, ZodBase64URL: () => ZodBase64URL, ZodBase64: () => ZodBase64, - ZodArray: () => ZodArray2, - ZodAny: () => ZodAny2 + ZodArray: () => ZodArray3, + ZodAny: () => ZodAny3 }); function _installLazyMethods(inst, group, methods) { const proto = Object.getPrototypeOf(inst); @@ -12583,7 +12583,7 @@ function _installLazyMethods(inst, group, methods) { } } function string2(params) { - return _string(ZodString2, params); + return _string(ZodString3, params); } function email2(params) { return _email(ZodEmail, params); @@ -12679,7 +12679,7 @@ function hash(alg, params) { return _stringFormat(ZodCustomStringFormat, format, regex, params); } function number2(params) { - return _number(ZodNumber2, params); + return _number(ZodNumber3, params); } function int(params) { return _int(ZodNumberFormat, params); @@ -12697,10 +12697,10 @@ function uint32(params) { return _uint32(ZodNumberFormat, params); } function boolean2(params) { - return _boolean(ZodBoolean2, params); + return _boolean(ZodBoolean3, params); } function bigint2(params) { - return _bigint(ZodBigInt2, params); + return _bigint(ZodBigInt3, params); } function int64(params) { return _int64(ZodBigIntFormat, params); @@ -12709,31 +12709,31 @@ function uint64(params) { return _uint64(ZodBigIntFormat, params); } function symbol(params) { - return _symbol(ZodSymbol2, params); + return _symbol(ZodSymbol3, params); } function _undefined3(params) { - return _undefined2(ZodUndefined2, params); + return _undefined2(ZodUndefined3, params); } function _null3(params) { - return _null2(ZodNull2, params); + return _null2(ZodNull3, params); } function any() { - return _any(ZodAny2); + return _any(ZodAny3); } function unknown() { - return _unknown(ZodUnknown2); + return _unknown(ZodUnknown3); } function never(params) { - return _never(ZodNever2, params); + return _never(ZodNever3, params); } function _void2(params) { - return _void(ZodVoid2, params); + return _void(ZodVoid3, params); } function date3(params) { - return _date(ZodDate2, params); + return _date(ZodDate3, params); } function array(element, params) { - return _array(ZodArray2, element, params); + return _array(ZodArray3, element, params); } function keyof(schema) { const shape = schema._zod.def.shape; @@ -12745,10 +12745,10 @@ function object(shape, params) { shape: shape ?? {}, ...exports_util.normalizeParams(params) }; - return new ZodObject2(def); + return new ZodObject3(def); } function strictObject(shape, params) { - return new ZodObject2({ + return new ZodObject3({ type: "object", shape, catchall: never(), @@ -12756,7 +12756,7 @@ function strictObject(shape, params) { }); } function looseObject(shape, params) { - return new ZodObject2({ + return new ZodObject3({ type: "object", shape, catchall: unknown(), @@ -12764,7 +12764,7 @@ function looseObject(shape, params) { }); } function union(options, params) { - return new ZodUnion2({ + return new ZodUnion3({ type: "union", options, ...exports_util.normalizeParams(params) @@ -12779,7 +12779,7 @@ function xor(options, params) { }); } function discriminatedUnion(discriminator, options, params) { - return new ZodDiscriminatedUnion2({ + return new ZodDiscriminatedUnion3({ type: "union", options, discriminator, @@ -12787,7 +12787,7 @@ function discriminatedUnion(discriminator, options, params) { }); } function intersection(left, right) { - return new ZodIntersection2({ + return new ZodIntersection3({ type: "intersection", left, right @@ -12797,7 +12797,7 @@ function tuple(items, _paramsOrRest, _params) { const hasRest = _paramsOrRest instanceof $ZodType; const params = hasRest ? _params : _paramsOrRest; const rest = hasRest ? _paramsOrRest : null; - return new ZodTuple2({ + return new ZodTuple3({ type: "tuple", items, rest, @@ -12806,14 +12806,14 @@ function tuple(items, _paramsOrRest, _params) { } function record(keyType, valueType, params) { if (!valueType || !valueType._zod) { - return new ZodRecord2({ + return new ZodRecord3({ type: "record", keyType: string2(), valueType: keyType, ...exports_util.normalizeParams(valueType) }); } - return new ZodRecord2({ + return new ZodRecord3({ type: "record", keyType, valueType, @@ -12823,7 +12823,7 @@ function record(keyType, valueType, params) { function partialRecord(keyType, valueType, params) { const k = clone(keyType); k._zod.values = undefined; - return new ZodRecord2({ + return new ZodRecord3({ type: "record", keyType: k, valueType, @@ -12831,7 +12831,7 @@ function partialRecord(keyType, valueType, params) { }); } function looseRecord(keyType, valueType, params) { - return new ZodRecord2({ + return new ZodRecord3({ type: "record", keyType, valueType, @@ -12840,7 +12840,7 @@ function looseRecord(keyType, valueType, params) { }); } function map(keyType, valueType, params) { - return new ZodMap2({ + return new ZodMap3({ type: "map", keyType, valueType, @@ -12848,7 +12848,7 @@ function map(keyType, valueType, params) { }); } function set(valueType, params) { - return new ZodSet2({ + return new ZodSet3({ type: "set", valueType, ...exports_util.normalizeParams(params) @@ -12856,21 +12856,21 @@ function set(valueType, params) { } function _enum2(values, params) { const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values; - return new ZodEnum2({ + return new ZodEnum3({ type: "enum", entries, ...exports_util.normalizeParams(params) }); } function nativeEnum(entries, params) { - return new ZodEnum2({ + return new ZodEnum3({ type: "enum", entries, ...exports_util.normalizeParams(params) }); } function literal(value, params) { - return new ZodLiteral2({ + return new ZodLiteral3({ type: "literal", values: Array.isArray(value) ? value : [value], ...exports_util.normalizeParams(params) @@ -12886,7 +12886,7 @@ function transform(fn) { }); } function optional(innerType) { - return new ZodOptional2({ + return new ZodOptional3({ type: "optional", innerType }); @@ -12898,7 +12898,7 @@ function exactOptional(innerType) { }); } function nullable(innerType) { - return new ZodNullable2({ + return new ZodNullable3({ type: "nullable", innerType }); @@ -12907,7 +12907,7 @@ function nullish2(innerType) { return optional(nullable(innerType)); } function _default2(innerType, defaultValue) { - return new ZodDefault2({ + return new ZodDefault3({ type: "default", innerType, get defaultValue() { @@ -12938,14 +12938,14 @@ function success(innerType) { }); } function _catch2(innerType, catchValue) { - return new ZodCatch2({ + return new ZodCatch3({ type: "catch", innerType, catchValue: typeof catchValue === "function" ? catchValue : () => catchValue }); } function nan(params) { - return _nan(ZodNaN2, params); + return _nan(ZodNaN3, params); } function pipe(in_, out) { return new ZodPipe({ @@ -12974,7 +12974,7 @@ function invertCodec(codec2) { }); } function readonly(innerType) { - return new ZodReadonly2({ + return new ZodReadonly3({ type: "readonly", innerType }); @@ -12987,19 +12987,19 @@ function templateLiteral(parts, params) { }); } function lazy(getter) { - return new ZodLazy2({ + return new ZodLazy3({ type: "lazy", getter }); } function promise(innerType) { - return new ZodPromise2({ + return new ZodPromise3({ type: "promise", innerType }); } function _function(params) { - return new ZodFunction2({ + return new ZodFunction3({ type: "function", input: Array.isArray(params?.input) ? tuple(params?.input) : params?.input ?? array(unknown()), output: params?.output ?? unknown() @@ -13012,7 +13012,7 @@ function check(fn) { ch._zod.check = fn; return ch; } -function custom2(fn, _params) { +function custom3(fn, _params) { return _custom(ZodCustom, fn ?? (() => true), _params); } function refine(fn, _params = {}) { @@ -13056,10 +13056,10 @@ function preprocess(fn, schema) { out: schema }); } -var _installedGroups, ZodType2, _ZodString, ZodString2, ZodStringFormat, ZodEmail, ZodGUID, ZodUUID, ZodURL, ZodEmoji, ZodNanoID, ZodCUID, ZodCUID2, ZodULID, ZodXID, ZodKSUID, ZodIPv4, ZodMAC, ZodIPv6, ZodCIDRv4, ZodCIDRv6, ZodBase64, ZodBase64URL, ZodE164, ZodJWT, ZodCustomStringFormat, ZodNumber2, ZodNumberFormat, ZodBoolean2, ZodBigInt2, ZodBigIntFormat, ZodSymbol2, ZodUndefined2, ZodNull2, ZodAny2, ZodUnknown2, ZodNever2, ZodVoid2, ZodDate2, ZodArray2, ZodObject2, ZodUnion2, ZodXor, ZodDiscriminatedUnion2, ZodIntersection2, ZodTuple2, ZodRecord2, ZodMap2, ZodSet2, ZodEnum2, ZodLiteral2, ZodFile, ZodTransform, ZodOptional2, ZodExactOptional, ZodNullable2, ZodDefault2, ZodPrefault, ZodNonOptional, ZodSuccess, ZodCatch2, ZodNaN2, ZodPipe, ZodCodec, ZodPreprocess, ZodReadonly2, ZodTemplateLiteral, ZodLazy2, ZodPromise2, ZodFunction2, ZodCustom, describe2, meta2, stringbool = (...args) => _stringbool({ +var _installedGroups, ZodType3, _ZodString, ZodString3, ZodStringFormat, ZodEmail, ZodGUID, ZodUUID, ZodURL, ZodEmoji, ZodNanoID, ZodCUID, ZodCUID2, ZodULID, ZodXID, ZodKSUID, ZodIPv4, ZodMAC, ZodIPv6, ZodCIDRv4, ZodCIDRv6, ZodBase64, ZodBase64URL, ZodE164, ZodJWT, ZodCustomStringFormat, ZodNumber3, ZodNumberFormat, ZodBoolean3, ZodBigInt3, ZodBigIntFormat, ZodSymbol3, ZodUndefined3, ZodNull3, ZodAny3, ZodUnknown3, ZodNever3, ZodVoid3, ZodDate3, ZodArray3, ZodObject3, ZodUnion3, ZodXor, ZodDiscriminatedUnion3, ZodIntersection3, ZodTuple3, ZodRecord3, ZodMap3, ZodSet3, ZodEnum3, ZodLiteral3, ZodFile, ZodTransform, ZodOptional3, ZodExactOptional, ZodNullable3, ZodDefault3, ZodPrefault, ZodNonOptional, ZodSuccess, ZodCatch3, ZodNaN3, ZodPipe, ZodCodec, ZodPreprocess, ZodReadonly3, ZodTemplateLiteral, ZodLazy3, ZodPromise3, ZodFunction3, ZodCustom, describe2, meta2, stringbool = (...args) => _stringbool({ Codec: ZodCodec, - Boolean: ZodBoolean2, - String: ZodString2 + Boolean: ZodBoolean3, + String: ZodString3 }, ...args); var init_schemas2 = __esm(() => { init_core2(); @@ -13070,7 +13070,7 @@ var init_schemas2 = __esm(() => { init_iso(); init_parse2(); _installedGroups = /* @__PURE__ */ new WeakMap; - ZodType2 = /* @__PURE__ */ $constructor("ZodType", (inst, def) => { + ZodType3 = /* @__PURE__ */ $constructor("ZodType", (inst, def) => { $ZodType.init(inst, def); Object.assign(inst["~standard"], { jsonSchema: { @@ -13201,7 +13201,7 @@ var init_schemas2 = __esm(() => { }); _ZodString = /* @__PURE__ */ $constructor("_ZodString", (inst, def) => { $ZodString.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => stringProcessor(inst, ctx, json2, params); const bag = inst._zod.bag; inst.format = bag.format ?? null; @@ -13255,7 +13255,7 @@ var init_schemas2 = __esm(() => { } }); }); - ZodString2 = /* @__PURE__ */ $constructor("ZodString", (inst, def) => { + ZodString3 = /* @__PURE__ */ $constructor("ZodString", (inst, def) => { $ZodString.init(inst, def); _ZodString.init(inst, def); inst.email = (params) => inst.check(_email(ZodEmail, params)); @@ -13374,9 +13374,9 @@ var init_schemas2 = __esm(() => { $ZodCustomStringFormat.init(inst, def); ZodStringFormat.init(inst, def); }); - ZodNumber2 = /* @__PURE__ */ $constructor("ZodNumber", (inst, def) => { + ZodNumber3 = /* @__PURE__ */ $constructor("ZodNumber", (inst, def) => { $ZodNumber.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => numberProcessor(inst, ctx, json2, params); _installLazyMethods(inst, "ZodNumber", { gt(value, params) { @@ -13434,16 +13434,16 @@ var init_schemas2 = __esm(() => { }); ZodNumberFormat = /* @__PURE__ */ $constructor("ZodNumberFormat", (inst, def) => { $ZodNumberFormat.init(inst, def); - ZodNumber2.init(inst, def); + ZodNumber3.init(inst, def); }); - ZodBoolean2 = /* @__PURE__ */ $constructor("ZodBoolean", (inst, def) => { + ZodBoolean3 = /* @__PURE__ */ $constructor("ZodBoolean", (inst, def) => { $ZodBoolean.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => booleanProcessor(inst, ctx, json2, params); }); - ZodBigInt2 = /* @__PURE__ */ $constructor("ZodBigInt", (inst, def) => { + ZodBigInt3 = /* @__PURE__ */ $constructor("ZodBigInt", (inst, def) => { $ZodBigInt.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => bigintProcessor(inst, ctx, json2, params); inst.gte = (value, params) => inst.check(_gte(value, params)); inst.min = (value, params) => inst.check(_gte(value, params)); @@ -13465,46 +13465,46 @@ var init_schemas2 = __esm(() => { }); ZodBigIntFormat = /* @__PURE__ */ $constructor("ZodBigIntFormat", (inst, def) => { $ZodBigIntFormat.init(inst, def); - ZodBigInt2.init(inst, def); + ZodBigInt3.init(inst, def); }); - ZodSymbol2 = /* @__PURE__ */ $constructor("ZodSymbol", (inst, def) => { + ZodSymbol3 = /* @__PURE__ */ $constructor("ZodSymbol", (inst, def) => { $ZodSymbol.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => symbolProcessor(inst, ctx, json2, params); }); - ZodUndefined2 = /* @__PURE__ */ $constructor("ZodUndefined", (inst, def) => { + ZodUndefined3 = /* @__PURE__ */ $constructor("ZodUndefined", (inst, def) => { $ZodUndefined.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => undefinedProcessor(inst, ctx, json2, params); }); - ZodNull2 = /* @__PURE__ */ $constructor("ZodNull", (inst, def) => { + ZodNull3 = /* @__PURE__ */ $constructor("ZodNull", (inst, def) => { $ZodNull.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => nullProcessor(inst, ctx, json2, params); }); - ZodAny2 = /* @__PURE__ */ $constructor("ZodAny", (inst, def) => { + ZodAny3 = /* @__PURE__ */ $constructor("ZodAny", (inst, def) => { $ZodAny.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => anyProcessor(inst, ctx, json2, params); }); - ZodUnknown2 = /* @__PURE__ */ $constructor("ZodUnknown", (inst, def) => { + ZodUnknown3 = /* @__PURE__ */ $constructor("ZodUnknown", (inst, def) => { $ZodUnknown.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => unknownProcessor(inst, ctx, json2, params); }); - ZodNever2 = /* @__PURE__ */ $constructor("ZodNever", (inst, def) => { + ZodNever3 = /* @__PURE__ */ $constructor("ZodNever", (inst, def) => { $ZodNever.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => neverProcessor(inst, ctx, json2, params); }); - ZodVoid2 = /* @__PURE__ */ $constructor("ZodVoid", (inst, def) => { + ZodVoid3 = /* @__PURE__ */ $constructor("ZodVoid", (inst, def) => { $ZodVoid.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => voidProcessor(inst, ctx, json2, params); }); - ZodDate2 = /* @__PURE__ */ $constructor("ZodDate", (inst, def) => { + ZodDate3 = /* @__PURE__ */ $constructor("ZodDate", (inst, def) => { $ZodDate.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => dateProcessor(inst, ctx, json2, params); inst.min = (value, params) => inst.check(_gte(value, params)); inst.max = (value, params) => inst.check(_lte(value, params)); @@ -13512,9 +13512,9 @@ var init_schemas2 = __esm(() => { inst.minDate = c.minimum ? new Date(c.minimum) : null; inst.maxDate = c.maximum ? new Date(c.maximum) : null; }); - ZodArray2 = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => { + ZodArray3 = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => { $ZodArray.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => arrayProcessor(inst, ctx, json2, params); inst.element = def.element; _installLazyMethods(inst, "ZodArray", { @@ -13535,9 +13535,9 @@ var init_schemas2 = __esm(() => { } }); }); - ZodObject2 = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => { + ZodObject3 = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => { $ZodObjectJIT.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => objectProcessor(inst, ctx, json2, params); exports_util.defineLazy(inst, "shape", () => { return def.shape; @@ -13577,53 +13577,53 @@ var init_schemas2 = __esm(() => { return exports_util.omit(this, mask); }, partial(...args) { - return exports_util.partial(ZodOptional2, this, args[0]); + return exports_util.partial(ZodOptional3, this, args[0]); }, required(...args) { return exports_util.required(ZodNonOptional, this, args[0]); } }); }); - ZodUnion2 = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => { + ZodUnion3 = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => { $ZodUnion.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => unionProcessor(inst, ctx, json2, params); inst.options = def.options; }); ZodXor = /* @__PURE__ */ $constructor("ZodXor", (inst, def) => { - ZodUnion2.init(inst, def); + ZodUnion3.init(inst, def); $ZodXor.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => unionProcessor(inst, ctx, json2, params); inst.options = def.options; }); - ZodDiscriminatedUnion2 = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => { - ZodUnion2.init(inst, def); + ZodDiscriminatedUnion3 = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => { + ZodUnion3.init(inst, def); $ZodDiscriminatedUnion.init(inst, def); }); - ZodIntersection2 = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => { + ZodIntersection3 = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => { $ZodIntersection.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => intersectionProcessor(inst, ctx, json2, params); }); - ZodTuple2 = /* @__PURE__ */ $constructor("ZodTuple", (inst, def) => { + ZodTuple3 = /* @__PURE__ */ $constructor("ZodTuple", (inst, def) => { $ZodTuple.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => tupleProcessor(inst, ctx, json2, params); inst.rest = (rest) => inst.clone({ ...inst._zod.def, rest }); }); - ZodRecord2 = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => { + ZodRecord3 = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => { $ZodRecord.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => recordProcessor(inst, ctx, json2, params); inst.keyType = def.keyType; inst.valueType = def.valueType; }); - ZodMap2 = /* @__PURE__ */ $constructor("ZodMap", (inst, def) => { + ZodMap3 = /* @__PURE__ */ $constructor("ZodMap", (inst, def) => { $ZodMap.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => mapProcessor(inst, ctx, json2, params); inst.keyType = def.keyType; inst.valueType = def.valueType; @@ -13632,18 +13632,18 @@ var init_schemas2 = __esm(() => { inst.max = (...args) => inst.check(_maxSize(...args)); inst.size = (...args) => inst.check(_size(...args)); }); - ZodSet2 = /* @__PURE__ */ $constructor("ZodSet", (inst, def) => { + ZodSet3 = /* @__PURE__ */ $constructor("ZodSet", (inst, def) => { $ZodSet.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => setProcessor(inst, ctx, json2, params); inst.min = (...args) => inst.check(_minSize(...args)); inst.nonempty = (params) => inst.check(_minSize(1, params)); inst.max = (...args) => inst.check(_maxSize(...args)); inst.size = (...args) => inst.check(_size(...args)); }); - ZodEnum2 = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => { + ZodEnum3 = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => { $ZodEnum.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => enumProcessor(inst, ctx, json2, params); inst.enum = def.entries; inst.options = Object.values(def.entries); @@ -13656,7 +13656,7 @@ var init_schemas2 = __esm(() => { } else throw new Error(`Key ${value} not found in enum`); } - return new ZodEnum2({ + return new ZodEnum3({ ...def, checks: [], ...exports_util.normalizeParams(params), @@ -13671,7 +13671,7 @@ var init_schemas2 = __esm(() => { } else throw new Error(`Key ${value} not found in enum`); } - return new ZodEnum2({ + return new ZodEnum3({ ...def, checks: [], ...exports_util.normalizeParams(params), @@ -13679,9 +13679,9 @@ var init_schemas2 = __esm(() => { }); }; }); - ZodLiteral2 = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => { + ZodLiteral3 = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => { $ZodLiteral.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => literalProcessor(inst, ctx, json2, params); inst.values = new Set(def.values); Object.defineProperty(inst, "value", { @@ -13695,7 +13695,7 @@ var init_schemas2 = __esm(() => { }); ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => { $ZodFile.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => fileProcessor(inst, ctx, json2, params); inst.min = (size, params) => inst.check(_minSize(size, params)); inst.max = (size, params) => inst.check(_maxSize(size, params)); @@ -13703,7 +13703,7 @@ var init_schemas2 = __esm(() => { }); ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => { $ZodTransform.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => transformProcessor(inst, ctx, json2, params); inst._zod.parse = (payload, _ctx) => { if (_ctx.direction === "backward") { @@ -13735,64 +13735,64 @@ var init_schemas2 = __esm(() => { return payload; }; }); - ZodOptional2 = /* @__PURE__ */ $constructor("ZodOptional", (inst, def) => { + ZodOptional3 = /* @__PURE__ */ $constructor("ZodOptional", (inst, def) => { $ZodOptional.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => optionalProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; }); ZodExactOptional = /* @__PURE__ */ $constructor("ZodExactOptional", (inst, def) => { $ZodExactOptional.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => optionalProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; }); - ZodNullable2 = /* @__PURE__ */ $constructor("ZodNullable", (inst, def) => { + ZodNullable3 = /* @__PURE__ */ $constructor("ZodNullable", (inst, def) => { $ZodNullable.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => nullableProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; }); - ZodDefault2 = /* @__PURE__ */ $constructor("ZodDefault", (inst, def) => { + ZodDefault3 = /* @__PURE__ */ $constructor("ZodDefault", (inst, def) => { $ZodDefault.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => defaultProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; inst.removeDefault = inst.unwrap; }); ZodPrefault = /* @__PURE__ */ $constructor("ZodPrefault", (inst, def) => { $ZodPrefault.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => prefaultProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; }); ZodNonOptional = /* @__PURE__ */ $constructor("ZodNonOptional", (inst, def) => { $ZodNonOptional.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => nonoptionalProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; }); ZodSuccess = /* @__PURE__ */ $constructor("ZodSuccess", (inst, def) => { $ZodSuccess.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => successProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; }); - ZodCatch2 = /* @__PURE__ */ $constructor("ZodCatch", (inst, def) => { + ZodCatch3 = /* @__PURE__ */ $constructor("ZodCatch", (inst, def) => { $ZodCatch.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => catchProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; inst.removeCatch = inst.unwrap; }); - ZodNaN2 = /* @__PURE__ */ $constructor("ZodNaN", (inst, def) => { + ZodNaN3 = /* @__PURE__ */ $constructor("ZodNaN", (inst, def) => { $ZodNaN.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => nanProcessor(inst, ctx, json2, params); }); ZodPipe = /* @__PURE__ */ $constructor("ZodPipe", (inst, def) => { $ZodPipe.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => pipeProcessor(inst, ctx, json2, params); inst.in = def.in; inst.out = def.out; @@ -13805,37 +13805,37 @@ var init_schemas2 = __esm(() => { ZodPipe.init(inst, def); $ZodPreprocess.init(inst, def); }); - ZodReadonly2 = /* @__PURE__ */ $constructor("ZodReadonly", (inst, def) => { + ZodReadonly3 = /* @__PURE__ */ $constructor("ZodReadonly", (inst, def) => { $ZodReadonly.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => readonlyProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; }); ZodTemplateLiteral = /* @__PURE__ */ $constructor("ZodTemplateLiteral", (inst, def) => { $ZodTemplateLiteral.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => templateLiteralProcessor(inst, ctx, json2, params); }); - ZodLazy2 = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => { + ZodLazy3 = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => { $ZodLazy.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => lazyProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.getter(); }); - ZodPromise2 = /* @__PURE__ */ $constructor("ZodPromise", (inst, def) => { + ZodPromise3 = /* @__PURE__ */ $constructor("ZodPromise", (inst, def) => { $ZodPromise.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => promiseProcessor(inst, ctx, json2, params); inst.unwrap = () => inst._zod.def.innerType; }); - ZodFunction2 = /* @__PURE__ */ $constructor("ZodFunction", (inst, def) => { + ZodFunction3 = /* @__PURE__ */ $constructor("ZodFunction", (inst, def) => { $ZodFunction.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => functionProcessor(inst, ctx, json2, params); }); ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => { $ZodCustom.init(inst, def); - ZodType2.init(inst, def); + ZodType3.init(inst, def); inst._zod.processJSONSchema = (ctx, json2, params) => customProcessor(inst, ctx, json2, params); }); describe2 = describe; @@ -13843,18 +13843,18 @@ var init_schemas2 = __esm(() => { }); // node_modules/zod/v4/classic/compat.js -function setErrorMap2(map2) { +function setErrorMap3(map2) { config({ customError: map2 }); } -function getErrorMap2() { +function getErrorMap3() { return config().customError; } -var ZodIssueCode2, ZodFirstPartyTypeKind2; +var ZodIssueCode3, ZodFirstPartyTypeKind3; var init_compat = __esm(() => { init_core2(); - ZodIssueCode2 = { + ZodIssueCode3 = { invalid_type: "invalid_type", too_big: "too_big", too_small: "too_small", @@ -13867,7 +13867,7 @@ var init_compat = __esm(() => { invalid_value: "invalid_value", custom: "custom" }; - (function(ZodFirstPartyTypeKind3) {})(ZodFirstPartyTypeKind2 || (ZodFirstPartyTypeKind2 = {})); + (function(ZodFirstPartyTypeKind4) {})(ZodFirstPartyTypeKind3 || (ZodFirstPartyTypeKind3 = {})); }); // node_modules/zod/v4/classic/from-json-schema.js @@ -14355,19 +14355,19 @@ __export(exports_coerce, { bigint: () => bigint3 }); function string3(params) { - return _coercedString(ZodString2, params); + return _coercedString(ZodString3, params); } function number3(params) { - return _coercedNumber(ZodNumber2, params); + return _coercedNumber(ZodNumber3, params); } function boolean3(params) { - return _coercedBoolean(ZodBoolean2, params); + return _coercedBoolean(ZodBoolean3, params); } function bigint3(params) { - return _coercedBigint(ZodBigInt2, params); + return _coercedBigint(ZodBigInt3, params); } function date4(params) { - return _coercedDate(ZodDate2, params); + return _coercedDate(ZodDate3, params); } var init_coerce = __esm(() => { init_core2(); @@ -14375,8 +14375,8 @@ var init_coerce = __esm(() => { }); // node_modules/zod/v4/classic/external.js -var exports_external2 = {}; -__export(exports_external2, { +var exports_external3 = {}; +__export(exports_external3, { xor: () => xor, xid: () => xid2, void: () => _void2, @@ -14411,7 +14411,7 @@ __export(exports_external2, { startsWith: () => _startsWith, slugify: () => _slugify, size: () => _size, - setErrorMap: () => setErrorMap2, + setErrorMap: () => setErrorMap3, set: () => set, safeParseAsync: () => safeParseAsync2, safeParse: () => safeParse2, @@ -14491,7 +14491,7 @@ __export(exports_external2, { gte: () => _gte, gt: () => _gt, globalRegistry: () => globalRegistry, - getErrorMap: () => getErrorMap2, + getErrorMap: () => getErrorMap3, function: () => _function, fromJSONSchema: () => fromJSONSchema, formatError: () => formatError, @@ -14512,7 +14512,7 @@ __export(exports_external2, { decodeAsync: () => decodeAsync2, decode: () => decode2, date: () => date3, - custom: () => custom2, + custom: () => custom3, cuid2: () => cuid22, cuid: () => cuid3, core: () => exports_core2, @@ -14535,47 +14535,47 @@ __export(exports_external2, { _ZodString: () => _ZodString, ZodXor: () => ZodXor, ZodXID: () => ZodXID, - ZodVoid: () => ZodVoid2, - ZodUnknown: () => ZodUnknown2, - ZodUnion: () => ZodUnion2, - ZodUndefined: () => ZodUndefined2, + ZodVoid: () => ZodVoid3, + ZodUnknown: () => ZodUnknown3, + ZodUnion: () => ZodUnion3, + ZodUndefined: () => ZodUndefined3, ZodUUID: () => ZodUUID, ZodURL: () => ZodURL, ZodULID: () => ZodULID, - ZodType: () => ZodType2, - ZodTuple: () => ZodTuple2, + ZodType: () => ZodType3, + ZodTuple: () => ZodTuple3, ZodTransform: () => ZodTransform, ZodTemplateLiteral: () => ZodTemplateLiteral, - ZodSymbol: () => ZodSymbol2, + ZodSymbol: () => ZodSymbol3, ZodSuccess: () => ZodSuccess, ZodStringFormat: () => ZodStringFormat, - ZodString: () => ZodString2, - ZodSet: () => ZodSet2, - ZodRecord: () => ZodRecord2, + ZodString: () => ZodString3, + ZodSet: () => ZodSet3, + ZodRecord: () => ZodRecord3, ZodRealError: () => ZodRealError, - ZodReadonly: () => ZodReadonly2, - ZodPromise: () => ZodPromise2, + ZodReadonly: () => ZodReadonly3, + ZodPromise: () => ZodPromise3, ZodPreprocess: () => ZodPreprocess, ZodPrefault: () => ZodPrefault, ZodPipe: () => ZodPipe, - ZodOptional: () => ZodOptional2, - ZodObject: () => ZodObject2, + ZodOptional: () => ZodOptional3, + ZodObject: () => ZodObject3, ZodNumberFormat: () => ZodNumberFormat, - ZodNumber: () => ZodNumber2, - ZodNullable: () => ZodNullable2, - ZodNull: () => ZodNull2, + ZodNumber: () => ZodNumber3, + ZodNullable: () => ZodNullable3, + ZodNull: () => ZodNull3, ZodNonOptional: () => ZodNonOptional, - ZodNever: () => ZodNever2, + ZodNever: () => ZodNever3, ZodNanoID: () => ZodNanoID, - ZodNaN: () => ZodNaN2, - ZodMap: () => ZodMap2, + ZodNaN: () => ZodNaN3, + ZodMap: () => ZodMap3, ZodMAC: () => ZodMAC, - ZodLiteral: () => ZodLiteral2, - ZodLazy: () => ZodLazy2, + ZodLiteral: () => ZodLiteral3, + ZodLazy: () => ZodLazy3, ZodKSUID: () => ZodKSUID, ZodJWT: () => ZodJWT, - ZodIssueCode: () => ZodIssueCode2, - ZodIntersection: () => ZodIntersection2, + ZodIssueCode: () => ZodIssueCode3, + ZodIntersection: () => ZodIntersection3, ZodISOTime: () => ZodISOTime, ZodISODuration: () => ZodISODuration, ZodISODateTime: () => ZodISODateTime, @@ -14583,35 +14583,35 @@ __export(exports_external2, { ZodIPv6: () => ZodIPv6, ZodIPv4: () => ZodIPv4, ZodGUID: () => ZodGUID, - ZodFunction: () => ZodFunction2, - ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind2, + ZodFunction: () => ZodFunction3, + ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind3, ZodFile: () => ZodFile, ZodExactOptional: () => ZodExactOptional, - ZodError: () => ZodError2, - ZodEnum: () => ZodEnum2, + ZodError: () => ZodError3, + ZodEnum: () => ZodEnum3, ZodEmoji: () => ZodEmoji, ZodEmail: () => ZodEmail, ZodE164: () => ZodE164, - ZodDiscriminatedUnion: () => ZodDiscriminatedUnion2, - ZodDefault: () => ZodDefault2, - ZodDate: () => ZodDate2, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion3, + ZodDefault: () => ZodDefault3, + ZodDate: () => ZodDate3, ZodCustomStringFormat: () => ZodCustomStringFormat, ZodCustom: () => ZodCustom, ZodCodec: () => ZodCodec, - ZodCatch: () => ZodCatch2, + ZodCatch: () => ZodCatch3, ZodCUID2: () => ZodCUID2, ZodCUID: () => ZodCUID, ZodCIDRv6: () => ZodCIDRv6, ZodCIDRv4: () => ZodCIDRv4, - ZodBoolean: () => ZodBoolean2, + ZodBoolean: () => ZodBoolean3, ZodBigIntFormat: () => ZodBigIntFormat, - ZodBigInt: () => ZodBigInt2, + ZodBigInt: () => ZodBigInt3, ZodBase64URL: () => ZodBase64URL, ZodBase64: () => ZodBase64, - ZodArray: () => ZodArray2, - ZodAny: () => ZodAny2, + ZodArray: () => ZodArray3, + ZodAny: () => ZodAny3, TimePrecision: () => TimePrecision, - NEVER: () => NEVER2, + NEVER: () => NEVER3, $output: () => $output, $input: () => $input, $brand: () => $brand @@ -14632,13 +14632,13 @@ var init_external = __esm(() => { init_errors2(); init_parse2(); init_compat(); - config(en_default2()); + config(en_default3()); }); // node_modules/zod/index.js var exports_zod = {}; __export(exports_zod, { - z: () => exports_external2, + z: () => exports_external3, xor: () => xor, xid: () => xid2, void: () => _void2, @@ -14673,7 +14673,7 @@ __export(exports_zod, { startsWith: () => _startsWith, slugify: () => _slugify, size: () => _size, - setErrorMap: () => setErrorMap2, + setErrorMap: () => setErrorMap3, set: () => set, safeParseAsync: () => safeParseAsync2, safeParse: () => safeParse2, @@ -14753,7 +14753,7 @@ __export(exports_zod, { gte: () => _gte, gt: () => _gt, globalRegistry: () => globalRegistry, - getErrorMap: () => getErrorMap2, + getErrorMap: () => getErrorMap3, function: () => _function, fromJSONSchema: () => fromJSONSchema, formatError: () => formatError, @@ -14775,7 +14775,7 @@ __export(exports_zod, { decodeAsync: () => decodeAsync2, decode: () => decode2, date: () => date3, - custom: () => custom2, + custom: () => custom3, cuid2: () => cuid22, cuid: () => cuid3, core: () => exports_core2, @@ -14798,47 +14798,47 @@ __export(exports_zod, { _ZodString: () => _ZodString, ZodXor: () => ZodXor, ZodXID: () => ZodXID, - ZodVoid: () => ZodVoid2, - ZodUnknown: () => ZodUnknown2, - ZodUnion: () => ZodUnion2, - ZodUndefined: () => ZodUndefined2, + ZodVoid: () => ZodVoid3, + ZodUnknown: () => ZodUnknown3, + ZodUnion: () => ZodUnion3, + ZodUndefined: () => ZodUndefined3, ZodUUID: () => ZodUUID, ZodURL: () => ZodURL, ZodULID: () => ZodULID, - ZodType: () => ZodType2, - ZodTuple: () => ZodTuple2, + ZodType: () => ZodType3, + ZodTuple: () => ZodTuple3, ZodTransform: () => ZodTransform, ZodTemplateLiteral: () => ZodTemplateLiteral, - ZodSymbol: () => ZodSymbol2, + ZodSymbol: () => ZodSymbol3, ZodSuccess: () => ZodSuccess, ZodStringFormat: () => ZodStringFormat, - ZodString: () => ZodString2, - ZodSet: () => ZodSet2, - ZodRecord: () => ZodRecord2, + ZodString: () => ZodString3, + ZodSet: () => ZodSet3, + ZodRecord: () => ZodRecord3, ZodRealError: () => ZodRealError, - ZodReadonly: () => ZodReadonly2, - ZodPromise: () => ZodPromise2, + ZodReadonly: () => ZodReadonly3, + ZodPromise: () => ZodPromise3, ZodPreprocess: () => ZodPreprocess, ZodPrefault: () => ZodPrefault, ZodPipe: () => ZodPipe, - ZodOptional: () => ZodOptional2, - ZodObject: () => ZodObject2, + ZodOptional: () => ZodOptional3, + ZodObject: () => ZodObject3, ZodNumberFormat: () => ZodNumberFormat, - ZodNumber: () => ZodNumber2, - ZodNullable: () => ZodNullable2, - ZodNull: () => ZodNull2, + ZodNumber: () => ZodNumber3, + ZodNullable: () => ZodNullable3, + ZodNull: () => ZodNull3, ZodNonOptional: () => ZodNonOptional, - ZodNever: () => ZodNever2, + ZodNever: () => ZodNever3, ZodNanoID: () => ZodNanoID, - ZodNaN: () => ZodNaN2, - ZodMap: () => ZodMap2, + ZodNaN: () => ZodNaN3, + ZodMap: () => ZodMap3, ZodMAC: () => ZodMAC, - ZodLiteral: () => ZodLiteral2, - ZodLazy: () => ZodLazy2, + ZodLiteral: () => ZodLiteral3, + ZodLazy: () => ZodLazy3, ZodKSUID: () => ZodKSUID, ZodJWT: () => ZodJWT, - ZodIssueCode: () => ZodIssueCode2, - ZodIntersection: () => ZodIntersection2, + ZodIssueCode: () => ZodIssueCode3, + ZodIntersection: () => ZodIntersection3, ZodISOTime: () => ZodISOTime, ZodISODuration: () => ZodISODuration, ZodISODateTime: () => ZodISODateTime, @@ -14846,35 +14846,35 @@ __export(exports_zod, { ZodIPv6: () => ZodIPv6, ZodIPv4: () => ZodIPv4, ZodGUID: () => ZodGUID, - ZodFunction: () => ZodFunction2, - ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind2, + ZodFunction: () => ZodFunction3, + ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind3, ZodFile: () => ZodFile, ZodExactOptional: () => ZodExactOptional, - ZodError: () => ZodError2, - ZodEnum: () => ZodEnum2, + ZodError: () => ZodError3, + ZodEnum: () => ZodEnum3, ZodEmoji: () => ZodEmoji, ZodEmail: () => ZodEmail, ZodE164: () => ZodE164, - ZodDiscriminatedUnion: () => ZodDiscriminatedUnion2, - ZodDefault: () => ZodDefault2, - ZodDate: () => ZodDate2, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion3, + ZodDefault: () => ZodDefault3, + ZodDate: () => ZodDate3, ZodCustomStringFormat: () => ZodCustomStringFormat, ZodCustom: () => ZodCustom, ZodCodec: () => ZodCodec, - ZodCatch: () => ZodCatch2, + ZodCatch: () => ZodCatch3, ZodCUID2: () => ZodCUID2, ZodCUID: () => ZodCUID, ZodCIDRv6: () => ZodCIDRv6, ZodCIDRv4: () => ZodCIDRv4, - ZodBoolean: () => ZodBoolean2, + ZodBoolean: () => ZodBoolean3, ZodBigIntFormat: () => ZodBigIntFormat, - ZodBigInt: () => ZodBigInt2, + ZodBigInt: () => ZodBigInt3, ZodBase64URL: () => ZodBase64URL, ZodBase64: () => ZodBase64, - ZodArray: () => ZodArray2, - ZodAny: () => ZodAny2, + ZodArray: () => ZodArray3, + ZodAny: () => ZodAny3, TimePrecision: () => TimePrecision, - NEVER: () => NEVER2, + NEVER: () => NEVER3, $output: () => $output, $input: () => $input, $brand: () => $brand @@ -14883,7 +14883,7 @@ var zod_default; var init_zod = __esm(() => { init_external(); init_external(); - zod_default = exports_external2; + zod_default = exports_external3; }); // src/knowledge-db.ts @@ -21481,26 +21481,6528 @@ function resolveStorageClient(name, env = process.env, overrides) { return { transport: "local", client: null }; } -// src/cloud-store.ts -var KNOWLEDGE_APP_SLUG = "knowledge"; -var MODE_ENV_KEYS = [ - "HASNA_KNOWLEDGE_STORAGE_MODE", - "HASNA_KNOWLEDGE_MODE", - "KNOWLEDGE_STORAGE_MODE", - "KNOWLEDGE_MODE" +// node_modules/@hasna/contracts/dist/client/transport.js +var __defProp3 = Object.defineProperty; +var __returnValue3 = (v) => v; +function __exportSetter3(name, newValue) { + this[name] = __returnValue3.bind(null, newValue); +} +var __export3 = (target, all) => { + for (var name in all) + __defProp3(target, name, { + get: all[name], + enumerable: true, + configurable: true, + set: __exportSetter3.bind(all, name) + }); +}; +var exports_external2 = {}; +__export3(exports_external2, { + void: () => voidType2, + util: () => util2, + unknown: () => unknownType2, + union: () => unionType2, + undefined: () => undefinedType2, + tuple: () => tupleType2, + transformer: () => effectsType2, + symbol: () => symbolType2, + string: () => stringType2, + strictObject: () => strictObjectType2, + setErrorMap: () => setErrorMap2, + set: () => setType2, + record: () => recordType2, + quotelessJson: () => quotelessJson2, + promise: () => promiseType2, + preprocess: () => preprocessType2, + pipeline: () => pipelineType2, + ostring: () => ostring2, + optional: () => optionalType2, + onumber: () => onumber2, + oboolean: () => oboolean2, + objectUtil: () => objectUtil2, + object: () => objectType2, + number: () => numberType2, + nullable: () => nullableType2, + null: () => nullType2, + never: () => neverType2, + nativeEnum: () => nativeEnumType2, + nan: () => nanType2, + map: () => mapType2, + makeIssue: () => makeIssue2, + literal: () => literalType2, + lazy: () => lazyType2, + late: () => late2, + isValid: () => isValid2, + isDirty: () => isDirty2, + isAsync: () => isAsync2, + isAborted: () => isAborted2, + intersection: () => intersectionType2, + instanceof: () => instanceOfType2, + getParsedType: () => getParsedType2, + getErrorMap: () => getErrorMap2, + function: () => functionType2, + enum: () => enumType2, + effect: () => effectsType2, + discriminatedUnion: () => discriminatedUnionType2, + defaultErrorMap: () => en_default2, + datetimeRegex: () => datetimeRegex2, + date: () => dateType2, + custom: () => custom2, + coerce: () => coerce2, + boolean: () => booleanType2, + bigint: () => bigIntType2, + array: () => arrayType2, + any: () => anyType2, + addIssueToContext: () => addIssueToContext2, + ZodVoid: () => ZodVoid2, + ZodUnknown: () => ZodUnknown2, + ZodUnion: () => ZodUnion2, + ZodUndefined: () => ZodUndefined2, + ZodType: () => ZodType2, + ZodTuple: () => ZodTuple2, + ZodTransformer: () => ZodEffects2, + ZodSymbol: () => ZodSymbol2, + ZodString: () => ZodString2, + ZodSet: () => ZodSet2, + ZodSchema: () => ZodType2, + ZodRecord: () => ZodRecord2, + ZodReadonly: () => ZodReadonly2, + ZodPromise: () => ZodPromise2, + ZodPipeline: () => ZodPipeline2, + ZodParsedType: () => ZodParsedType2, + ZodOptional: () => ZodOptional2, + ZodObject: () => ZodObject2, + ZodNumber: () => ZodNumber2, + ZodNullable: () => ZodNullable2, + ZodNull: () => ZodNull2, + ZodNever: () => ZodNever2, + ZodNativeEnum: () => ZodNativeEnum2, + ZodNaN: () => ZodNaN2, + ZodMap: () => ZodMap2, + ZodLiteral: () => ZodLiteral2, + ZodLazy: () => ZodLazy2, + ZodIssueCode: () => ZodIssueCode2, + ZodIntersection: () => ZodIntersection2, + ZodFunction: () => ZodFunction2, + ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind2, + ZodError: () => ZodError2, + ZodEnum: () => ZodEnum2, + ZodEffects: () => ZodEffects2, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion2, + ZodDefault: () => ZodDefault2, + ZodDate: () => ZodDate2, + ZodCatch: () => ZodCatch2, + ZodBranded: () => ZodBranded2, + ZodBoolean: () => ZodBoolean2, + ZodBigInt: () => ZodBigInt2, + ZodArray: () => ZodArray2, + ZodAny: () => ZodAny2, + Schema: () => ZodType2, + ParseStatus: () => ParseStatus2, + OK: () => OK2, + NEVER: () => NEVER2, + INVALID: () => INVALID2, + EMPTY_PATH: () => EMPTY_PATH2, + DIRTY: () => DIRTY2, + BRAND: () => BRAND2 +}); +var util2; +(function(util22) { + util22.assertEqual = (_) => {}; + function assertIs(_arg) {} + util22.assertIs = assertIs; + function assertNever(_x) { + throw new Error; + } + util22.assertNever = assertNever; + util22.arrayToEnum = (items) => { + const obj = {}; + for (const item of items) { + obj[item] = item; + } + return obj; + }; + util22.getValidEnumValues = (obj) => { + const validKeys = util22.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number"); + const filtered = {}; + for (const k of validKeys) { + filtered[k] = obj[k]; + } + return util22.objectValues(filtered); + }; + util22.objectValues = (obj) => { + return util22.objectKeys(obj).map(function(e) { + return obj[e]; + }); + }; + util22.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => { + const keys = []; + for (const key in object) { + if (Object.prototype.hasOwnProperty.call(object, key)) { + keys.push(key); + } + } + return keys; + }; + util22.find = (arr, checker) => { + for (const item of arr) { + if (checker(item)) + return item; + } + return; + }; + util22.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val; + function joinValues(array, separator = " | ") { + return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); + } + util22.joinValues = joinValues; + util22.jsonStringifyReplacer = (_, value) => { + if (typeof value === "bigint") { + return value.toString(); + } + return value; + }; +})(util2 || (util2 = {})); +var objectUtil2; +(function(objectUtil22) { + objectUtil22.mergeShapes = (first, second) => { + return { + ...first, + ...second + }; + }; +})(objectUtil2 || (objectUtil2 = {})); +var ZodParsedType2 = util2.arrayToEnum([ + "string", + "nan", + "number", + "integer", + "float", + "boolean", + "date", + "bigint", + "symbol", + "function", + "undefined", + "null", + "array", + "object", + "unknown", + "promise", + "void", + "never", + "map", + "set" +]); +var getParsedType2 = (data) => { + const t = typeof data; + switch (t) { + case "undefined": + return ZodParsedType2.undefined; + case "string": + return ZodParsedType2.string; + case "number": + return Number.isNaN(data) ? ZodParsedType2.nan : ZodParsedType2.number; + case "boolean": + return ZodParsedType2.boolean; + case "function": + return ZodParsedType2.function; + case "bigint": + return ZodParsedType2.bigint; + case "symbol": + return ZodParsedType2.symbol; + case "object": + if (Array.isArray(data)) { + return ZodParsedType2.array; + } + if (data === null) { + return ZodParsedType2.null; + } + if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { + return ZodParsedType2.promise; + } + if (typeof Map !== "undefined" && data instanceof Map) { + return ZodParsedType2.map; + } + if (typeof Set !== "undefined" && data instanceof Set) { + return ZodParsedType2.set; + } + if (typeof Date !== "undefined" && data instanceof Date) { + return ZodParsedType2.date; + } + return ZodParsedType2.object; + default: + return ZodParsedType2.unknown; + } +}; +var ZodIssueCode2 = util2.arrayToEnum([ + "invalid_type", + "invalid_literal", + "custom", + "invalid_union", + "invalid_union_discriminator", + "invalid_enum_value", + "unrecognized_keys", + "invalid_arguments", + "invalid_return_type", + "invalid_date", + "invalid_string", + "too_small", + "too_big", + "invalid_intersection_types", + "not_multiple_of", + "not_finite" +]); +var quotelessJson2 = (obj) => { + const json = JSON.stringify(obj, null, 2); + return json.replace(/"([^"]+)":/g, "$1:"); +}; + +class ZodError2 extends Error { + get errors() { + return this.issues; + } + constructor(issues) { + super(); + this.issues = []; + this.addIssue = (sub) => { + this.issues = [...this.issues, sub]; + }; + this.addIssues = (subs = []) => { + this.issues = [...this.issues, ...subs]; + }; + const actualProto = new.target.prototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } else { + this.__proto__ = actualProto; + } + this.name = "ZodError"; + this.issues = issues; + } + format(_mapper) { + const mapper = _mapper || function(issue) { + return issue.message; + }; + const fieldErrors = { _errors: [] }; + const processError = (error) => { + for (const issue of error.issues) { + if (issue.code === "invalid_union") { + issue.unionErrors.map(processError); + } else if (issue.code === "invalid_return_type") { + processError(issue.returnTypeError); + } else if (issue.code === "invalid_arguments") { + processError(issue.argumentsError); + } else if (issue.path.length === 0) { + fieldErrors._errors.push(mapper(issue)); + } else { + let curr = fieldErrors; + let i = 0; + while (i < issue.path.length) { + const el = issue.path[i]; + const terminal = i === issue.path.length - 1; + if (!terminal) { + curr[el] = curr[el] || { _errors: [] }; + } else { + curr[el] = curr[el] || { _errors: [] }; + curr[el]._errors.push(mapper(issue)); + } + curr = curr[el]; + i++; + } + } + } + }; + processError(this); + return fieldErrors; + } + static assert(value) { + if (!(value instanceof ZodError2)) { + throw new Error(`Not a ZodError: ${value}`); + } + } + toString() { + return this.message; + } + get message() { + return JSON.stringify(this.issues, util2.jsonStringifyReplacer, 2); + } + get isEmpty() { + return this.issues.length === 0; + } + flatten(mapper = (issue) => issue.message) { + const fieldErrors = {}; + const formErrors = []; + for (const sub of this.issues) { + if (sub.path.length > 0) { + const firstEl = sub.path[0]; + fieldErrors[firstEl] = fieldErrors[firstEl] || []; + fieldErrors[firstEl].push(mapper(sub)); + } else { + formErrors.push(mapper(sub)); + } + } + return { formErrors, fieldErrors }; + } + get formErrors() { + return this.flatten(); + } +} +ZodError2.create = (issues) => { + const error = new ZodError2(issues); + return error; +}; +var errorMap2 = (issue, _ctx) => { + let message; + switch (issue.code) { + case ZodIssueCode2.invalid_type: + if (issue.received === ZodParsedType2.undefined) { + message = "Required"; + } else { + message = `Expected ${issue.expected}, received ${issue.received}`; + } + break; + case ZodIssueCode2.invalid_literal: + message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util2.jsonStringifyReplacer)}`; + break; + case ZodIssueCode2.unrecognized_keys: + message = `Unrecognized key(s) in object: ${util2.joinValues(issue.keys, ", ")}`; + break; + case ZodIssueCode2.invalid_union: + message = `Invalid input`; + break; + case ZodIssueCode2.invalid_union_discriminator: + message = `Invalid discriminator value. Expected ${util2.joinValues(issue.options)}`; + break; + case ZodIssueCode2.invalid_enum_value: + message = `Invalid enum value. Expected ${util2.joinValues(issue.options)}, received '${issue.received}'`; + break; + case ZodIssueCode2.invalid_arguments: + message = `Invalid function arguments`; + break; + case ZodIssueCode2.invalid_return_type: + message = `Invalid function return type`; + break; + case ZodIssueCode2.invalid_date: + message = `Invalid date`; + break; + case ZodIssueCode2.invalid_string: + if (typeof issue.validation === "object") { + if ("includes" in issue.validation) { + message = `Invalid input: must include "${issue.validation.includes}"`; + if (typeof issue.validation.position === "number") { + message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`; + } + } else if ("startsWith" in issue.validation) { + message = `Invalid input: must start with "${issue.validation.startsWith}"`; + } else if ("endsWith" in issue.validation) { + message = `Invalid input: must end with "${issue.validation.endsWith}"`; + } else { + util2.assertNever(issue.validation); + } + } else if (issue.validation !== "regex") { + message = `Invalid ${issue.validation}`; + } else { + message = "Invalid"; + } + break; + case ZodIssueCode2.too_small: + if (issue.type === "array") + message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`; + else if (issue.type === "string") + message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`; + else if (issue.type === "number") + message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; + else if (issue.type === "bigint") + message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; + else if (issue.type === "date") + message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode2.too_big: + if (issue.type === "array") + message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`; + else if (issue.type === "string") + message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`; + else if (issue.type === "number") + message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; + else if (issue.type === "bigint") + message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; + else if (issue.type === "date") + message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode2.custom: + message = `Invalid input`; + break; + case ZodIssueCode2.invalid_intersection_types: + message = `Intersection results could not be merged`; + break; + case ZodIssueCode2.not_multiple_of: + message = `Number must be a multiple of ${issue.multipleOf}`; + break; + case ZodIssueCode2.not_finite: + message = "Number must be finite"; + break; + default: + message = _ctx.defaultError; + util2.assertNever(issue); + } + return { message }; +}; +var en_default2 = errorMap2; +var overrideErrorMap2 = en_default2; +function setErrorMap2(map) { + overrideErrorMap2 = map; +} +function getErrorMap2() { + return overrideErrorMap2; +} +var makeIssue2 = (params) => { + const { data, path, errorMaps, issueData } = params; + const fullPath = [...path, ...issueData.path || []]; + const fullIssue = { + ...issueData, + path: fullPath + }; + if (issueData.message !== undefined) { + return { + ...issueData, + path: fullPath, + message: issueData.message + }; + } + let errorMessage = ""; + const maps = errorMaps.filter((m) => !!m).slice().reverse(); + for (const map of maps) { + errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message; + } + return { + ...issueData, + path: fullPath, + message: errorMessage + }; +}; +var EMPTY_PATH2 = []; +function addIssueToContext2(ctx, issueData) { + const overrideMap = getErrorMap2(); + const issue = makeIssue2({ + issueData, + data: ctx.data, + path: ctx.path, + errorMaps: [ + ctx.common.contextualErrorMap, + ctx.schemaErrorMap, + overrideMap, + overrideMap === en_default2 ? undefined : en_default2 + ].filter((x) => !!x) + }); + ctx.common.issues.push(issue); +} + +class ParseStatus2 { + constructor() { + this.value = "valid"; + } + dirty() { + if (this.value === "valid") + this.value = "dirty"; + } + abort() { + if (this.value !== "aborted") + this.value = "aborted"; + } + static mergeArray(status, results) { + const arrayValue = []; + for (const s of results) { + if (s.status === "aborted") + return INVALID2; + if (s.status === "dirty") + status.dirty(); + arrayValue.push(s.value); + } + return { status: status.value, value: arrayValue }; + } + static async mergeObjectAsync(status, pairs) { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value + }); + } + return ParseStatus2.mergeObjectSync(status, syncPairs); + } + static mergeObjectSync(status, pairs) { + const finalObject = {}; + for (const pair of pairs) { + const { key, value } = pair; + if (key.status === "aborted") + return INVALID2; + if (value.status === "aborted") + return INVALID2; + if (key.status === "dirty") + status.dirty(); + if (value.status === "dirty") + status.dirty(); + if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) { + finalObject[key.value] = value.value; + } + } + return { status: status.value, value: finalObject }; + } +} +var INVALID2 = Object.freeze({ + status: "aborted" +}); +var DIRTY2 = (value) => ({ status: "dirty", value }); +var OK2 = (value) => ({ status: "valid", value }); +var isAborted2 = (x) => x.status === "aborted"; +var isDirty2 = (x) => x.status === "dirty"; +var isValid2 = (x) => x.status === "valid"; +var isAsync2 = (x) => typeof Promise !== "undefined" && x instanceof Promise; +var errorUtil2; +(function(errorUtil22) { + errorUtil22.errToObj = (message) => typeof message === "string" ? { message } : message || {}; + errorUtil22.toString = (message) => typeof message === "string" ? message : message?.message; +})(errorUtil2 || (errorUtil2 = {})); + +class ParseInputLazyPath2 { + constructor(parent, value, path, key) { + this._cachedPath = []; + this.parent = parent; + this.data = value; + this._path = path; + this._key = key; + } + get path() { + if (!this._cachedPath.length) { + if (Array.isArray(this._key)) { + this._cachedPath.push(...this._path, ...this._key); + } else { + this._cachedPath.push(...this._path, this._key); + } + } + return this._cachedPath; + } +} +var handleResult2 = (ctx, result) => { + if (isValid2(result)) { + return { success: true, data: result.value }; + } else { + if (!ctx.common.issues.length) { + throw new Error("Validation failed but no issues detected."); + } + return { + success: false, + get error() { + if (this._error) + return this._error; + const error = new ZodError2(ctx.common.issues); + this._error = error; + return this._error; + } + }; + } +}; +function processCreateParams2(params) { + if (!params) + return {}; + const { errorMap: errorMap22, invalid_type_error, required_error, description } = params; + if (errorMap22 && (invalid_type_error || required_error)) { + throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); + } + if (errorMap22) + return { errorMap: errorMap22, description }; + const customMap = (iss, ctx) => { + const { message } = params; + if (iss.code === "invalid_enum_value") { + return { message: message ?? ctx.defaultError }; + } + if (typeof ctx.data === "undefined") { + return { message: message ?? required_error ?? ctx.defaultError }; + } + if (iss.code !== "invalid_type") + return { message: ctx.defaultError }; + return { message: message ?? invalid_type_error ?? ctx.defaultError }; + }; + return { errorMap: customMap, description }; +} + +class ZodType2 { + get description() { + return this._def.description; + } + _getType(input) { + return getParsedType2(input.data); + } + _getOrReturnCtx(input, ctx) { + return ctx || { + common: input.parent.common, + data: input.data, + parsedType: getParsedType2(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + }; + } + _processInputParams(input) { + return { + status: new ParseStatus2, + ctx: { + common: input.parent.common, + data: input.data, + parsedType: getParsedType2(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + } + }; + } + _parseSync(input) { + const result = this._parse(input); + if (isAsync2(result)) { + throw new Error("Synchronous parse encountered promise."); + } + return result; + } + _parseAsync(input) { + const result = this._parse(input); + return Promise.resolve(result); + } + parse(data, params) { + const result = this.safeParse(data, params); + if (result.success) + return result.data; + throw result.error; + } + safeParse(data, params) { + const ctx = { + common: { + issues: [], + async: params?.async ?? false, + contextualErrorMap: params?.errorMap + }, + path: params?.path || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + const result = this._parseSync({ data, path: ctx.path, parent: ctx }); + return handleResult2(ctx, result); + } + "~validate"(data) { + const ctx = { + common: { + issues: [], + async: !!this["~standard"].async + }, + path: [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + if (!this["~standard"].async) { + try { + const result = this._parseSync({ data, path: [], parent: ctx }); + return isValid2(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }; + } catch (err) { + if (err?.message?.toLowerCase()?.includes("encountered")) { + this["~standard"].async = true; + } + ctx.common = { + issues: [], + async: true + }; + } + } + return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid2(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }); + } + async parseAsync(data, params) { + const result = await this.safeParseAsync(data, params); + if (result.success) + return result.data; + throw result.error; + } + async safeParseAsync(data, params) { + const ctx = { + common: { + issues: [], + contextualErrorMap: params?.errorMap, + async: true + }, + path: params?.path || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx }); + const result = await (isAsync2(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); + return handleResult2(ctx, result); + } + refine(check, message) { + const getIssueProperties = (val) => { + if (typeof message === "string" || typeof message === "undefined") { + return { message }; + } else if (typeof message === "function") { + return message(val); + } else { + return message; + } + }; + return this._refinement((val, ctx) => { + const result = check(val); + const setError = () => ctx.addIssue({ + code: ZodIssueCode2.custom, + ...getIssueProperties(val) + }); + if (typeof Promise !== "undefined" && result instanceof Promise) { + return result.then((data) => { + if (!data) { + setError(); + return false; + } else { + return true; + } + }); + } + if (!result) { + setError(); + return false; + } else { + return true; + } + }); + } + refinement(check, refinementData) { + return this._refinement((val, ctx) => { + if (!check(val)) { + ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData); + return false; + } else { + return true; + } + }); + } + _refinement(refinement) { + return new ZodEffects2({ + schema: this, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect: { type: "refinement", refinement } + }); + } + superRefine(refinement) { + return this._refinement(refinement); + } + constructor(def) { + this.spa = this.safeParseAsync; + this._def = def; + this.parse = this.parse.bind(this); + this.safeParse = this.safeParse.bind(this); + this.parseAsync = this.parseAsync.bind(this); + this.safeParseAsync = this.safeParseAsync.bind(this); + this.spa = this.spa.bind(this); + this.refine = this.refine.bind(this); + this.refinement = this.refinement.bind(this); + this.superRefine = this.superRefine.bind(this); + this.optional = this.optional.bind(this); + this.nullable = this.nullable.bind(this); + this.nullish = this.nullish.bind(this); + this.array = this.array.bind(this); + this.promise = this.promise.bind(this); + this.or = this.or.bind(this); + this.and = this.and.bind(this); + this.transform = this.transform.bind(this); + this.brand = this.brand.bind(this); + this.default = this.default.bind(this); + this.catch = this.catch.bind(this); + this.describe = this.describe.bind(this); + this.pipe = this.pipe.bind(this); + this.readonly = this.readonly.bind(this); + this.isNullable = this.isNullable.bind(this); + this.isOptional = this.isOptional.bind(this); + this["~standard"] = { + version: 1, + vendor: "zod", + validate: (data) => this["~validate"](data) + }; + } + optional() { + return ZodOptional2.create(this, this._def); + } + nullable() { + return ZodNullable2.create(this, this._def); + } + nullish() { + return this.nullable().optional(); + } + array() { + return ZodArray2.create(this); + } + promise() { + return ZodPromise2.create(this, this._def); + } + or(option) { + return ZodUnion2.create([this, option], this._def); + } + and(incoming) { + return ZodIntersection2.create(this, incoming, this._def); + } + transform(transform) { + return new ZodEffects2({ + ...processCreateParams2(this._def), + schema: this, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect: { type: "transform", transform } + }); + } + default(def) { + const defaultValueFunc = typeof def === "function" ? def : () => def; + return new ZodDefault2({ + ...processCreateParams2(this._def), + innerType: this, + defaultValue: defaultValueFunc, + typeName: ZodFirstPartyTypeKind2.ZodDefault + }); + } + brand() { + return new ZodBranded2({ + typeName: ZodFirstPartyTypeKind2.ZodBranded, + type: this, + ...processCreateParams2(this._def) + }); + } + catch(def) { + const catchValueFunc = typeof def === "function" ? def : () => def; + return new ZodCatch2({ + ...processCreateParams2(this._def), + innerType: this, + catchValue: catchValueFunc, + typeName: ZodFirstPartyTypeKind2.ZodCatch + }); + } + describe(description) { + const This = this.constructor; + return new This({ + ...this._def, + description + }); + } + pipe(target) { + return ZodPipeline2.create(this, target); + } + readonly() { + return ZodReadonly2.create(this); + } + isOptional() { + return this.safeParse(undefined).success; + } + isNullable() { + return this.safeParse(null).success; + } +} +var cuidRegex2 = /^c[^\s-]{8,}$/i; +var cuid2Regex2 = /^[0-9a-z]+$/; +var ulidRegex2 = /^[0-9A-HJKMNP-TV-Z]{26}$/i; +var uuidRegex2 = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; +var nanoidRegex2 = /^[a-z0-9_-]{21}$/i; +var jwtRegex2 = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/; +var durationRegex2 = /^[-+]?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)?)??$/; +var emailRegex2 = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; +var _emojiRegex2 = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; +var emojiRegex2; +var ipv4Regex2 = /^(?:(?: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])$/; +var ipv4CidrRegex2 = /^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/; +var ipv6Regex2 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/; +var ipv6CidrRegex2 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; +var base64Regex2 = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; +var base64urlRegex2 = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/; +var dateRegexSource2 = `((\\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])))`; +var dateRegex2 = new RegExp(`^${dateRegexSource2}$`); +function timeRegexSource2(args) { + let secondsRegexSource = `[0-5]\\d`; + if (args.precision) { + secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`; + } else if (args.precision == null) { + secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`; + } + const secondsQuantifier = args.precision ? "+" : "?"; + return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`; +} +function timeRegex2(args) { + return new RegExp(`^${timeRegexSource2(args)}$`); +} +function datetimeRegex2(args) { + let regex = `${dateRegexSource2}T${timeRegexSource2(args)}`; + const opts = []; + opts.push(args.local ? `Z?` : `Z`); + if (args.offset) + opts.push(`([+-]\\d{2}:?\\d{2})`); + regex = `${regex}(${opts.join("|")})`; + return new RegExp(`^${regex}$`); +} +function isValidIP2(ip, version) { + if ((version === "v4" || !version) && ipv4Regex2.test(ip)) { + return true; + } + if ((version === "v6" || !version) && ipv6Regex2.test(ip)) { + return true; + } + return false; +} +function isValidJWT2(jwt, alg) { + if (!jwtRegex2.test(jwt)) + return false; + try { + const [header] = jwt.split("."); + if (!header) + return false; + const base64 = header.replace(/-/g, "+").replace(/_/g, "/").padEnd(header.length + (4 - header.length % 4) % 4, "="); + const decoded = JSON.parse(atob(base64)); + if (typeof decoded !== "object" || decoded === null) + return false; + if ("typ" in decoded && decoded?.typ !== "JWT") + return false; + if (!decoded.alg) + return false; + if (alg && decoded.alg !== alg) + return false; + return true; + } catch { + return false; + } +} +function isValidCidr2(ip, version) { + if ((version === "v4" || !version) && ipv4CidrRegex2.test(ip)) { + return true; + } + if ((version === "v6" || !version) && ipv6CidrRegex2.test(ip)) { + return true; + } + return false; +} + +class ZodString2 extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = String(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.string) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.string, + received: ctx2.parsedType + }); + return INVALID2; + } + const status = new ParseStatus2; + let ctx = undefined; + for (const check of this._def.checks) { + if (check.kind === "min") { + if (input.data.length < check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "string", + inclusive: true, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + if (input.data.length > check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "string", + inclusive: true, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "length") { + const tooBig = input.data.length > check.value; + const tooSmall = input.data.length < check.value; + if (tooBig || tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + if (tooBig) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "string", + inclusive: true, + exact: true, + message: check.message + }); + } else if (tooSmall) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "string", + inclusive: true, + exact: true, + message: check.message + }); + } + status.dirty(); + } + } else if (check.kind === "email") { + if (!emailRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "email", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "emoji") { + if (!emojiRegex2) { + emojiRegex2 = new RegExp(_emojiRegex2, "u"); + } + if (!emojiRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "emoji", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "uuid") { + if (!uuidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "uuid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "nanoid") { + if (!nanoidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "nanoid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cuid") { + if (!cuidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cuid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cuid2") { + if (!cuid2Regex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cuid2", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "ulid") { + if (!ulidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "ulid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "url") { + try { + new URL(input.data); + } catch { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "url", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "regex") { + check.regex.lastIndex = 0; + const testResult = check.regex.test(input.data); + if (!testResult) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "regex", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "trim") { + input.data = input.data.trim(); + } else if (check.kind === "includes") { + if (!input.data.includes(check.value, check.position)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { includes: check.value, position: check.position }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "toLowerCase") { + input.data = input.data.toLowerCase(); + } else if (check.kind === "toUpperCase") { + input.data = input.data.toUpperCase(); + } else if (check.kind === "startsWith") { + if (!input.data.startsWith(check.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { startsWith: check.value }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "endsWith") { + if (!input.data.endsWith(check.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { endsWith: check.value }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "datetime") { + const regex = datetimeRegex2(check); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "datetime", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "date") { + const regex = dateRegex2; + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "date", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "time") { + const regex = timeRegex2(check); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "time", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "duration") { + if (!durationRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "duration", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "ip") { + if (!isValidIP2(input.data, check.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "ip", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "jwt") { + if (!isValidJWT2(input.data, check.alg)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "jwt", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cidr") { + if (!isValidCidr2(input.data, check.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cidr", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "base64") { + if (!base64Regex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "base64", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "base64url") { + if (!base64urlRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "base64url", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + _regex(regex, validation, message) { + return this.refinement((data) => regex.test(data), { + validation, + code: ZodIssueCode2.invalid_string, + ...errorUtil2.errToObj(message) + }); + } + _addCheck(check) { + return new ZodString2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + email(message) { + return this._addCheck({ kind: "email", ...errorUtil2.errToObj(message) }); + } + url(message) { + return this._addCheck({ kind: "url", ...errorUtil2.errToObj(message) }); + } + emoji(message) { + return this._addCheck({ kind: "emoji", ...errorUtil2.errToObj(message) }); + } + uuid(message) { + return this._addCheck({ kind: "uuid", ...errorUtil2.errToObj(message) }); + } + nanoid(message) { + return this._addCheck({ kind: "nanoid", ...errorUtil2.errToObj(message) }); + } + cuid(message) { + return this._addCheck({ kind: "cuid", ...errorUtil2.errToObj(message) }); + } + cuid2(message) { + return this._addCheck({ kind: "cuid2", ...errorUtil2.errToObj(message) }); + } + ulid(message) { + return this._addCheck({ kind: "ulid", ...errorUtil2.errToObj(message) }); + } + base64(message) { + return this._addCheck({ kind: "base64", ...errorUtil2.errToObj(message) }); + } + base64url(message) { + return this._addCheck({ + kind: "base64url", + ...errorUtil2.errToObj(message) + }); + } + jwt(options) { + return this._addCheck({ kind: "jwt", ...errorUtil2.errToObj(options) }); + } + ip(options) { + return this._addCheck({ kind: "ip", ...errorUtil2.errToObj(options) }); + } + cidr(options) { + return this._addCheck({ kind: "cidr", ...errorUtil2.errToObj(options) }); + } + datetime(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "datetime", + precision: null, + offset: false, + local: false, + message: options + }); + } + return this._addCheck({ + kind: "datetime", + precision: typeof options?.precision === "undefined" ? null : options?.precision, + offset: options?.offset ?? false, + local: options?.local ?? false, + ...errorUtil2.errToObj(options?.message) + }); + } + date(message) { + return this._addCheck({ kind: "date", message }); + } + time(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "time", + precision: null, + message: options + }); + } + return this._addCheck({ + kind: "time", + precision: typeof options?.precision === "undefined" ? null : options?.precision, + ...errorUtil2.errToObj(options?.message) + }); + } + duration(message) { + return this._addCheck({ kind: "duration", ...errorUtil2.errToObj(message) }); + } + regex(regex, message) { + return this._addCheck({ + kind: "regex", + regex, + ...errorUtil2.errToObj(message) + }); + } + includes(value, options) { + return this._addCheck({ + kind: "includes", + value, + position: options?.position, + ...errorUtil2.errToObj(options?.message) + }); + } + startsWith(value, message) { + return this._addCheck({ + kind: "startsWith", + value, + ...errorUtil2.errToObj(message) + }); + } + endsWith(value, message) { + return this._addCheck({ + kind: "endsWith", + value, + ...errorUtil2.errToObj(message) + }); + } + min(minLength, message) { + return this._addCheck({ + kind: "min", + value: minLength, + ...errorUtil2.errToObj(message) + }); + } + max(maxLength, message) { + return this._addCheck({ + kind: "max", + value: maxLength, + ...errorUtil2.errToObj(message) + }); + } + length(len, message) { + return this._addCheck({ + kind: "length", + value: len, + ...errorUtil2.errToObj(message) + }); + } + nonempty(message) { + return this.min(1, errorUtil2.errToObj(message)); + } + trim() { + return new ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "trim" }] + }); + } + toLowerCase() { + return new ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "toLowerCase" }] + }); + } + toUpperCase() { + return new ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "toUpperCase" }] + }); + } + get isDatetime() { + return !!this._def.checks.find((ch) => ch.kind === "datetime"); + } + get isDate() { + return !!this._def.checks.find((ch) => ch.kind === "date"); + } + get isTime() { + return !!this._def.checks.find((ch) => ch.kind === "time"); + } + get isDuration() { + return !!this._def.checks.find((ch) => ch.kind === "duration"); + } + get isEmail() { + return !!this._def.checks.find((ch) => ch.kind === "email"); + } + get isURL() { + return !!this._def.checks.find((ch) => ch.kind === "url"); + } + get isEmoji() { + return !!this._def.checks.find((ch) => ch.kind === "emoji"); + } + get isUUID() { + return !!this._def.checks.find((ch) => ch.kind === "uuid"); + } + get isNANOID() { + return !!this._def.checks.find((ch) => ch.kind === "nanoid"); + } + get isCUID() { + return !!this._def.checks.find((ch) => ch.kind === "cuid"); + } + get isCUID2() { + return !!this._def.checks.find((ch) => ch.kind === "cuid2"); + } + get isULID() { + return !!this._def.checks.find((ch) => ch.kind === "ulid"); + } + get isIP() { + return !!this._def.checks.find((ch) => ch.kind === "ip"); + } + get isCIDR() { + return !!this._def.checks.find((ch) => ch.kind === "cidr"); + } + get isBase64() { + return !!this._def.checks.find((ch) => ch.kind === "base64"); + } + get isBase64url() { + return !!this._def.checks.find((ch) => ch.kind === "base64url"); + } + get minLength() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxLength() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } +} +ZodString2.create = (params) => { + return new ZodString2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodString, + coerce: params?.coerce ?? false, + ...processCreateParams2(params) + }); +}; +function floatSafeRemainder2(val, step) { + const valDecCount = (val.toString().split(".")[1] || "").length; + const stepDecCount = (step.toString().split(".")[1] || "").length; + const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; + const valInt = Number.parseInt(val.toFixed(decCount).replace(".", "")); + const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", "")); + return valInt % stepInt / 10 ** decCount; +} + +class ZodNumber2 extends ZodType2 { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + this.step = this.multipleOf; + } + _parse(input) { + if (this._def.coerce) { + input.data = Number(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.number) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.number, + received: ctx2.parsedType + }); + return INVALID2; + } + let ctx = undefined; + const status = new ParseStatus2; + for (const check of this._def.checks) { + if (check.kind === "int") { + if (!util2.isInteger(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: "integer", + received: "float", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "min") { + const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "number", + inclusive: check.inclusive, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "number", + inclusive: check.inclusive, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "multipleOf") { + if (floatSafeRemainder2(input.data, check.value) !== 0) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_multiple_of, + multipleOf: check.value, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "finite") { + if (!Number.isFinite(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_finite, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil2.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil2.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil2.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil2.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new ZodNumber2({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil2.toString(message) + } + ] + }); + } + _addCheck(check) { + return new ZodNumber2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + int(message) { + return this._addCheck({ + kind: "int", + message: errorUtil2.toString(message) + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: false, + message: errorUtil2.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: false, + message: errorUtil2.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: true, + message: errorUtil2.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: true, + message: errorUtil2.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil2.toString(message) + }); + } + finite(message) { + return this._addCheck({ + kind: "finite", + message: errorUtil2.toString(message) + }); + } + safe(message) { + return this._addCheck({ + kind: "min", + inclusive: true, + value: Number.MIN_SAFE_INTEGER, + message: errorUtil2.toString(message) + })._addCheck({ + kind: "max", + inclusive: true, + value: Number.MAX_SAFE_INTEGER, + message: errorUtil2.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } + get isInt() { + return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util2.isInteger(ch.value)); + } + get isFinite() { + let max = null; + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") { + return true; + } else if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } else if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return Number.isFinite(min) && Number.isFinite(max); + } +} +ZodNumber2.create = (params) => { + return new ZodNumber2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodNumber, + coerce: params?.coerce || false, + ...processCreateParams2(params) + }); +}; + +class ZodBigInt2 extends ZodType2 { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + } + _parse(input) { + if (this._def.coerce) { + try { + input.data = BigInt(input.data); + } catch { + return this._getInvalidInput(input); + } + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.bigint) { + return this._getInvalidInput(input); + } + let ctx = undefined; + const status = new ParseStatus2; + for (const check of this._def.checks) { + if (check.kind === "min") { + const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + type: "bigint", + minimum: check.value, + inclusive: check.inclusive, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + type: "bigint", + maximum: check.value, + inclusive: check.inclusive, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "multipleOf") { + if (input.data % check.value !== BigInt(0)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_multiple_of, + multipleOf: check.value, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + _getInvalidInput(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.bigint, + received: ctx.parsedType + }); + return INVALID2; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil2.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil2.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil2.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil2.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new ZodBigInt2({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil2.toString(message) + } + ] + }); + } + _addCheck(check) { + return new ZodBigInt2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: false, + message: errorUtil2.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: false, + message: errorUtil2.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: true, + message: errorUtil2.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: true, + message: errorUtil2.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil2.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } +} +ZodBigInt2.create = (params) => { + return new ZodBigInt2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodBigInt, + coerce: params?.coerce ?? false, + ...processCreateParams2(params) + }); +}; + +class ZodBoolean2 extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = Boolean(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.boolean) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.boolean, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodBoolean2.create = (params) => { + return new ZodBoolean2({ + typeName: ZodFirstPartyTypeKind2.ZodBoolean, + coerce: params?.coerce || false, + ...processCreateParams2(params) + }); +}; + +class ZodDate2 extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = new Date(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.date) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.date, + received: ctx2.parsedType + }); + return INVALID2; + } + if (Number.isNaN(input.data.getTime())) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_date + }); + return INVALID2; + } + const status = new ParseStatus2; + let ctx = undefined; + for (const check of this._def.checks) { + if (check.kind === "min") { + if (input.data.getTime() < check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + message: check.message, + inclusive: true, + exact: false, + minimum: check.value, + type: "date" + }); + status.dirty(); + } + } else if (check.kind === "max") { + if (input.data.getTime() > check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + message: check.message, + inclusive: true, + exact: false, + maximum: check.value, + type: "date" + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { + status: status.value, + value: new Date(input.data.getTime()) + }; + } + _addCheck(check) { + return new ZodDate2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + min(minDate, message) { + return this._addCheck({ + kind: "min", + value: minDate.getTime(), + message: errorUtil2.toString(message) + }); + } + max(maxDate, message) { + return this._addCheck({ + kind: "max", + value: maxDate.getTime(), + message: errorUtil2.toString(message) + }); + } + get minDate() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min != null ? new Date(min) : null; + } + get maxDate() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max != null ? new Date(max) : null; + } +} +ZodDate2.create = (params) => { + return new ZodDate2({ + checks: [], + coerce: params?.coerce || false, + typeName: ZodFirstPartyTypeKind2.ZodDate, + ...processCreateParams2(params) + }); +}; + +class ZodSymbol2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.symbol) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.symbol, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodSymbol2.create = (params) => { + return new ZodSymbol2({ + typeName: ZodFirstPartyTypeKind2.ZodSymbol, + ...processCreateParams2(params) + }); +}; + +class ZodUndefined2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.undefined, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodUndefined2.create = (params) => { + return new ZodUndefined2({ + typeName: ZodFirstPartyTypeKind2.ZodUndefined, + ...processCreateParams2(params) + }); +}; + +class ZodNull2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.null) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.null, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodNull2.create = (params) => { + return new ZodNull2({ + typeName: ZodFirstPartyTypeKind2.ZodNull, + ...processCreateParams2(params) + }); +}; + +class ZodAny2 extends ZodType2 { + constructor() { + super(...arguments); + this._any = true; + } + _parse(input) { + return OK2(input.data); + } +} +ZodAny2.create = (params) => { + return new ZodAny2({ + typeName: ZodFirstPartyTypeKind2.ZodAny, + ...processCreateParams2(params) + }); +}; + +class ZodUnknown2 extends ZodType2 { + constructor() { + super(...arguments); + this._unknown = true; + } + _parse(input) { + return OK2(input.data); + } +} +ZodUnknown2.create = (params) => { + return new ZodUnknown2({ + typeName: ZodFirstPartyTypeKind2.ZodUnknown, + ...processCreateParams2(params) + }); +}; + +class ZodNever2 extends ZodType2 { + _parse(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.never, + received: ctx.parsedType + }); + return INVALID2; + } +} +ZodNever2.create = (params) => { + return new ZodNever2({ + typeName: ZodFirstPartyTypeKind2.ZodNever, + ...processCreateParams2(params) + }); +}; + +class ZodVoid2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.void, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodVoid2.create = (params) => { + return new ZodVoid2({ + typeName: ZodFirstPartyTypeKind2.ZodVoid, + ...processCreateParams2(params) + }); +}; + +class ZodArray2 extends ZodType2 { + _parse(input) { + const { ctx, status } = this._processInputParams(input); + const def = this._def; + if (ctx.parsedType !== ZodParsedType2.array) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.array, + received: ctx.parsedType + }); + return INVALID2; + } + if (def.exactLength !== null) { + const tooBig = ctx.data.length > def.exactLength.value; + const tooSmall = ctx.data.length < def.exactLength.value; + if (tooBig || tooSmall) { + addIssueToContext2(ctx, { + code: tooBig ? ZodIssueCode2.too_big : ZodIssueCode2.too_small, + minimum: tooSmall ? def.exactLength.value : undefined, + maximum: tooBig ? def.exactLength.value : undefined, + type: "array", + inclusive: true, + exact: true, + message: def.exactLength.message + }); + status.dirty(); + } + } + if (def.minLength !== null) { + if (ctx.data.length < def.minLength.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: def.minLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.minLength.message + }); + status.dirty(); + } + } + if (def.maxLength !== null) { + if (ctx.data.length > def.maxLength.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: def.maxLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.maxLength.message + }); + status.dirty(); + } + } + if (ctx.common.async) { + return Promise.all([...ctx.data].map((item, i) => { + return def.type._parseAsync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + })).then((result2) => { + return ParseStatus2.mergeArray(status, result2); + }); + } + const result = [...ctx.data].map((item, i) => { + return def.type._parseSync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + }); + return ParseStatus2.mergeArray(status, result); + } + get element() { + return this._def.type; + } + min(minLength, message) { + return new ZodArray2({ + ...this._def, + minLength: { value: minLength, message: errorUtil2.toString(message) } + }); + } + max(maxLength, message) { + return new ZodArray2({ + ...this._def, + maxLength: { value: maxLength, message: errorUtil2.toString(message) } + }); + } + length(len, message) { + return new ZodArray2({ + ...this._def, + exactLength: { value: len, message: errorUtil2.toString(message) } + }); + } + nonempty(message) { + return this.min(1, message); + } +} +ZodArray2.create = (schema, params) => { + return new ZodArray2({ + type: schema, + minLength: null, + maxLength: null, + exactLength: null, + typeName: ZodFirstPartyTypeKind2.ZodArray, + ...processCreateParams2(params) + }); +}; +function deepPartialify2(schema) { + if (schema instanceof ZodObject2) { + const newShape = {}; + for (const key in schema.shape) { + const fieldSchema = schema.shape[key]; + newShape[key] = ZodOptional2.create(deepPartialify2(fieldSchema)); + } + return new ZodObject2({ + ...schema._def, + shape: () => newShape + }); + } else if (schema instanceof ZodArray2) { + return new ZodArray2({ + ...schema._def, + type: deepPartialify2(schema.element) + }); + } else if (schema instanceof ZodOptional2) { + return ZodOptional2.create(deepPartialify2(schema.unwrap())); + } else if (schema instanceof ZodNullable2) { + return ZodNullable2.create(deepPartialify2(schema.unwrap())); + } else if (schema instanceof ZodTuple2) { + return ZodTuple2.create(schema.items.map((item) => deepPartialify2(item))); + } else { + return schema; + } +} + +class ZodObject2 extends ZodType2 { + constructor() { + super(...arguments); + this._cached = null; + this.nonstrict = this.passthrough; + this.augment = this.extend; + } + _getCached() { + if (this._cached !== null) + return this._cached; + const shape = this._def.shape(); + const keys = util2.objectKeys(shape); + this._cached = { shape, keys }; + return this._cached; + } + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.object) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx2.parsedType + }); + return INVALID2; + } + const { status, ctx } = this._processInputParams(input); + const { shape, keys: shapeKeys } = this._getCached(); + const extraKeys = []; + if (!(this._def.catchall instanceof ZodNever2 && this._def.unknownKeys === "strip")) { + for (const key in ctx.data) { + if (!shapeKeys.includes(key)) { + extraKeys.push(key); + } + } + } + const pairs = []; + for (const key of shapeKeys) { + const keyValidator = shape[key]; + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: keyValidator._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (this._def.catchall instanceof ZodNever2) { + const unknownKeys = this._def.unknownKeys; + if (unknownKeys === "passthrough") { + for (const key of extraKeys) { + pairs.push({ + key: { status: "valid", value: key }, + value: { status: "valid", value: ctx.data[key] } + }); + } + } else if (unknownKeys === "strict") { + if (extraKeys.length > 0) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.unrecognized_keys, + keys: extraKeys + }); + status.dirty(); + } + } else if (unknownKeys === "strip") {} else { + throw new Error(`Internal ZodObject error: invalid unknownKeys value.`); + } + } else { + const catchall = this._def.catchall; + for (const key of extraKeys) { + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: catchall._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + } + if (ctx.common.async) { + return Promise.resolve().then(async () => { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value, + alwaysSet: pair.alwaysSet + }); + } + return syncPairs; + }).then((syncPairs) => { + return ParseStatus2.mergeObjectSync(status, syncPairs); + }); + } else { + return ParseStatus2.mergeObjectSync(status, pairs); + } + } + get shape() { + return this._def.shape(); + } + strict(message) { + errorUtil2.errToObj; + return new ZodObject2({ + ...this._def, + unknownKeys: "strict", + ...message !== undefined ? { + errorMap: (issue, ctx) => { + const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError; + if (issue.code === "unrecognized_keys") + return { + message: errorUtil2.errToObj(message).message ?? defaultError + }; + return { + message: defaultError + }; + } + } : {} + }); + } + strip() { + return new ZodObject2({ + ...this._def, + unknownKeys: "strip" + }); + } + passthrough() { + return new ZodObject2({ + ...this._def, + unknownKeys: "passthrough" + }); + } + extend(augmentation) { + return new ZodObject2({ + ...this._def, + shape: () => ({ + ...this._def.shape(), + ...augmentation + }) + }); + } + merge(merging) { + const merged = new ZodObject2({ + unknownKeys: merging._def.unknownKeys, + catchall: merging._def.catchall, + shape: () => ({ + ...this._def.shape(), + ...merging._def.shape() + }), + typeName: ZodFirstPartyTypeKind2.ZodObject + }); + return merged; + } + setKey(key, schema) { + return this.augment({ [key]: schema }); + } + catchall(index) { + return new ZodObject2({ + ...this._def, + catchall: index + }); + } + pick(mask) { + const shape = {}; + for (const key of util2.objectKeys(mask)) { + if (mask[key] && this.shape[key]) { + shape[key] = this.shape[key]; + } + } + return new ZodObject2({ + ...this._def, + shape: () => shape + }); + } + omit(mask) { + const shape = {}; + for (const key of util2.objectKeys(this.shape)) { + if (!mask[key]) { + shape[key] = this.shape[key]; + } + } + return new ZodObject2({ + ...this._def, + shape: () => shape + }); + } + deepPartial() { + return deepPartialify2(this); + } + partial(mask) { + const newShape = {}; + for (const key of util2.objectKeys(this.shape)) { + const fieldSchema = this.shape[key]; + if (mask && !mask[key]) { + newShape[key] = fieldSchema; + } else { + newShape[key] = fieldSchema.optional(); + } + } + return new ZodObject2({ + ...this._def, + shape: () => newShape + }); + } + required(mask) { + const newShape = {}; + for (const key of util2.objectKeys(this.shape)) { + if (mask && !mask[key]) { + newShape[key] = this.shape[key]; + } else { + const fieldSchema = this.shape[key]; + let newField = fieldSchema; + while (newField instanceof ZodOptional2) { + newField = newField._def.innerType; + } + newShape[key] = newField; + } + } + return new ZodObject2({ + ...this._def, + shape: () => newShape + }); + } + keyof() { + return createZodEnum2(util2.objectKeys(this.shape)); + } +} +ZodObject2.create = (shape, params) => { + return new ZodObject2({ + shape: () => shape, + unknownKeys: "strip", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; +ZodObject2.strictCreate = (shape, params) => { + return new ZodObject2({ + shape: () => shape, + unknownKeys: "strict", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; +ZodObject2.lazycreate = (shape, params) => { + return new ZodObject2({ + shape, + unknownKeys: "strip", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; + +class ZodUnion2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const options = this._def.options; + function handleResults(results) { + for (const result of results) { + if (result.result.status === "valid") { + return result.result; + } + } + for (const result of results) { + if (result.result.status === "dirty") { + ctx.common.issues.push(...result.ctx.common.issues); + return result.result; + } + } + const unionErrors = results.map((result) => new ZodError2(result.ctx.common.issues)); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union, + unionErrors + }); + return INVALID2; + } + if (ctx.common.async) { + return Promise.all(options.map(async (option) => { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + return { + result: await option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }), + ctx: childCtx + }; + })).then(handleResults); + } else { + let dirty = undefined; + const issues = []; + for (const option of options) { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + const result = option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }); + if (result.status === "valid") { + return result; + } else if (result.status === "dirty" && !dirty) { + dirty = { result, ctx: childCtx }; + } + if (childCtx.common.issues.length) { + issues.push(childCtx.common.issues); + } + } + if (dirty) { + ctx.common.issues.push(...dirty.ctx.common.issues); + return dirty.result; + } + const unionErrors = issues.map((issues2) => new ZodError2(issues2)); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union, + unionErrors + }); + return INVALID2; + } + } + get options() { + return this._def.options; + } +} +ZodUnion2.create = (types, params) => { + return new ZodUnion2({ + options: types, + typeName: ZodFirstPartyTypeKind2.ZodUnion, + ...processCreateParams2(params) + }); +}; +var getDiscriminator2 = (type) => { + if (type instanceof ZodLazy2) { + return getDiscriminator2(type.schema); + } else if (type instanceof ZodEffects2) { + return getDiscriminator2(type.innerType()); + } else if (type instanceof ZodLiteral2) { + return [type.value]; + } else if (type instanceof ZodEnum2) { + return type.options; + } else if (type instanceof ZodNativeEnum2) { + return util2.objectValues(type.enum); + } else if (type instanceof ZodDefault2) { + return getDiscriminator2(type._def.innerType); + } else if (type instanceof ZodUndefined2) { + return [undefined]; + } else if (type instanceof ZodNull2) { + return [null]; + } else if (type instanceof ZodOptional2) { + return [undefined, ...getDiscriminator2(type.unwrap())]; + } else if (type instanceof ZodNullable2) { + return [null, ...getDiscriminator2(type.unwrap())]; + } else if (type instanceof ZodBranded2) { + return getDiscriminator2(type.unwrap()); + } else if (type instanceof ZodReadonly2) { + return getDiscriminator2(type.unwrap()); + } else if (type instanceof ZodCatch2) { + return getDiscriminator2(type._def.innerType); + } else { + return []; + } +}; + +class ZodDiscriminatedUnion2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.object) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx.parsedType + }); + return INVALID2; + } + const discriminator = this.discriminator; + const discriminatorValue = ctx.data[discriminator]; + const option = this.optionsMap.get(discriminatorValue); + if (!option) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union_discriminator, + options: Array.from(this.optionsMap.keys()), + path: [discriminator] + }); + return INVALID2; + } + if (ctx.common.async) { + return option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } else { + return option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } + } + get discriminator() { + return this._def.discriminator; + } + get options() { + return this._def.options; + } + get optionsMap() { + return this._def.optionsMap; + } + static create(discriminator, options, params) { + const optionsMap = new Map; + for (const type of options) { + const discriminatorValues = getDiscriminator2(type.shape[discriminator]); + if (!discriminatorValues.length) { + throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`); + } + for (const value of discriminatorValues) { + if (optionsMap.has(value)) { + throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`); + } + optionsMap.set(value, type); + } + } + return new ZodDiscriminatedUnion2({ + typeName: ZodFirstPartyTypeKind2.ZodDiscriminatedUnion, + discriminator, + options, + optionsMap, + ...processCreateParams2(params) + }); + } +} +function mergeValues2(a, b) { + const aType = getParsedType2(a); + const bType = getParsedType2(b); + if (a === b) { + return { valid: true, data: a }; + } else if (aType === ZodParsedType2.object && bType === ZodParsedType2.object) { + const bKeys = util2.objectKeys(b); + const sharedKeys = util2.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); + const newObj = { ...a, ...b }; + for (const key of sharedKeys) { + const sharedValue = mergeValues2(a[key], b[key]); + if (!sharedValue.valid) { + return { valid: false }; + } + newObj[key] = sharedValue.data; + } + return { valid: true, data: newObj }; + } else if (aType === ZodParsedType2.array && bType === ZodParsedType2.array) { + if (a.length !== b.length) { + return { valid: false }; + } + const newArray = []; + for (let index = 0;index < a.length; index++) { + const itemA = a[index]; + const itemB = b[index]; + const sharedValue = mergeValues2(itemA, itemB); + if (!sharedValue.valid) { + return { valid: false }; + } + newArray.push(sharedValue.data); + } + return { valid: true, data: newArray }; + } else if (aType === ZodParsedType2.date && bType === ZodParsedType2.date && +a === +b) { + return { valid: true, data: a }; + } else { + return { valid: false }; + } +} + +class ZodIntersection2 extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const handleParsed = (parsedLeft, parsedRight) => { + if (isAborted2(parsedLeft) || isAborted2(parsedRight)) { + return INVALID2; + } + const merged = mergeValues2(parsedLeft.value, parsedRight.value); + if (!merged.valid) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_intersection_types + }); + return INVALID2; + } + if (isDirty2(parsedLeft) || isDirty2(parsedRight)) { + status.dirty(); + } + return { status: status.value, value: merged.data }; + }; + if (ctx.common.async) { + return Promise.all([ + this._def.left._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), + this._def.right._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }) + ]).then(([left, right]) => handleParsed(left, right)); + } else { + return handleParsed(this._def.left._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), this._def.right._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + })); + } + } +} +ZodIntersection2.create = (left, right, params) => { + return new ZodIntersection2({ + left, + right, + typeName: ZodFirstPartyTypeKind2.ZodIntersection, + ...processCreateParams2(params) + }); +}; + +class ZodTuple2 extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.array) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.array, + received: ctx.parsedType + }); + return INVALID2; + } + if (ctx.data.length < this._def.items.length) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + return INVALID2; + } + const rest = this._def.rest; + if (!rest && ctx.data.length > this._def.items.length) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + status.dirty(); + } + const items = [...ctx.data].map((item, itemIndex) => { + const schema = this._def.items[itemIndex] || this._def.rest; + if (!schema) + return null; + return schema._parse(new ParseInputLazyPath2(ctx, item, ctx.path, itemIndex)); + }).filter((x) => !!x); + if (ctx.common.async) { + return Promise.all(items).then((results) => { + return ParseStatus2.mergeArray(status, results); + }); + } else { + return ParseStatus2.mergeArray(status, items); + } + } + get items() { + return this._def.items; + } + rest(rest) { + return new ZodTuple2({ + ...this._def, + rest + }); + } +} +ZodTuple2.create = (schemas, params) => { + if (!Array.isArray(schemas)) { + throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); + } + return new ZodTuple2({ + items: schemas, + typeName: ZodFirstPartyTypeKind2.ZodTuple, + rest: null, + ...processCreateParams2(params) + }); +}; + +class ZodRecord2 extends ZodType2 { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.object) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx.parsedType + }); + return INVALID2; + } + const pairs = []; + const keyType = this._def.keyType; + const valueType = this._def.valueType; + for (const key in ctx.data) { + pairs.push({ + key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, key)), + value: valueType._parse(new ParseInputLazyPath2(ctx, ctx.data[key], ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (ctx.common.async) { + return ParseStatus2.mergeObjectAsync(status, pairs); + } else { + return ParseStatus2.mergeObjectSync(status, pairs); + } + } + get element() { + return this._def.valueType; + } + static create(first, second, third) { + if (second instanceof ZodType2) { + return new ZodRecord2({ + keyType: first, + valueType: second, + typeName: ZodFirstPartyTypeKind2.ZodRecord, + ...processCreateParams2(third) + }); + } + return new ZodRecord2({ + keyType: ZodString2.create(), + valueType: first, + typeName: ZodFirstPartyTypeKind2.ZodRecord, + ...processCreateParams2(second) + }); + } +} + +class ZodMap2 extends ZodType2 { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.map) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.map, + received: ctx.parsedType + }); + return INVALID2; + } + const keyType = this._def.keyType; + const valueType = this._def.valueType; + const pairs = [...ctx.data.entries()].map(([key, value], index) => { + return { + key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, [index, "key"])), + value: valueType._parse(new ParseInputLazyPath2(ctx, value, ctx.path, [index, "value"])) + }; + }); + if (ctx.common.async) { + const finalMap = new Map; + return Promise.resolve().then(async () => { + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID2; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + }); + } else { + const finalMap = new Map; + for (const pair of pairs) { + const key = pair.key; + const value = pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID2; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + } + } +} +ZodMap2.create = (keyType, valueType, params) => { + return new ZodMap2({ + valueType, + keyType, + typeName: ZodFirstPartyTypeKind2.ZodMap, + ...processCreateParams2(params) + }); +}; + +class ZodSet2 extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.set) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.set, + received: ctx.parsedType + }); + return INVALID2; + } + const def = this._def; + if (def.minSize !== null) { + if (ctx.data.size < def.minSize.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: def.minSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.minSize.message + }); + status.dirty(); + } + } + if (def.maxSize !== null) { + if (ctx.data.size > def.maxSize.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: def.maxSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.maxSize.message + }); + status.dirty(); + } + } + const valueType = this._def.valueType; + function finalizeSet(elements2) { + const parsedSet = new Set; + for (const element of elements2) { + if (element.status === "aborted") + return INVALID2; + if (element.status === "dirty") + status.dirty(); + parsedSet.add(element.value); + } + return { status: status.value, value: parsedSet }; + } + const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath2(ctx, item, ctx.path, i))); + if (ctx.common.async) { + return Promise.all(elements).then((elements2) => finalizeSet(elements2)); + } else { + return finalizeSet(elements); + } + } + min(minSize, message) { + return new ZodSet2({ + ...this._def, + minSize: { value: minSize, message: errorUtil2.toString(message) } + }); + } + max(maxSize, message) { + return new ZodSet2({ + ...this._def, + maxSize: { value: maxSize, message: errorUtil2.toString(message) } + }); + } + size(size, message) { + return this.min(size, message).max(size, message); + } + nonempty(message) { + return this.min(1, message); + } +} +ZodSet2.create = (valueType, params) => { + return new ZodSet2({ + valueType, + minSize: null, + maxSize: null, + typeName: ZodFirstPartyTypeKind2.ZodSet, + ...processCreateParams2(params) + }); +}; + +class ZodFunction2 extends ZodType2 { + constructor() { + super(...arguments); + this.validate = this.implement; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.function) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.function, + received: ctx.parsedType + }); + return INVALID2; + } + function makeArgsIssue(args, error) { + return makeIssue2({ + data: args, + path: ctx.path, + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap2(), en_default2].filter((x) => !!x), + issueData: { + code: ZodIssueCode2.invalid_arguments, + argumentsError: error + } + }); + } + function makeReturnsIssue(returns, error) { + return makeIssue2({ + data: returns, + path: ctx.path, + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap2(), en_default2].filter((x) => !!x), + issueData: { + code: ZodIssueCode2.invalid_return_type, + returnTypeError: error + } + }); + } + const params = { errorMap: ctx.common.contextualErrorMap }; + const fn = ctx.data; + if (this._def.returns instanceof ZodPromise2) { + const me = this; + return OK2(async function(...args) { + const error = new ZodError2([]); + const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { + error.addIssue(makeArgsIssue(args, e)); + throw error; + }); + const result = await Reflect.apply(fn, this, parsedArgs); + const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => { + error.addIssue(makeReturnsIssue(result, e)); + throw error; + }); + return parsedReturns; + }); + } else { + const me = this; + return OK2(function(...args) { + const parsedArgs = me._def.args.safeParse(args, params); + if (!parsedArgs.success) { + throw new ZodError2([makeArgsIssue(args, parsedArgs.error)]); + } + const result = Reflect.apply(fn, this, parsedArgs.data); + const parsedReturns = me._def.returns.safeParse(result, params); + if (!parsedReturns.success) { + throw new ZodError2([makeReturnsIssue(result, parsedReturns.error)]); + } + return parsedReturns.data; + }); + } + } + parameters() { + return this._def.args; + } + returnType() { + return this._def.returns; + } + args(...items) { + return new ZodFunction2({ + ...this._def, + args: ZodTuple2.create(items).rest(ZodUnknown2.create()) + }); + } + returns(returnType) { + return new ZodFunction2({ + ...this._def, + returns: returnType + }); + } + implement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + strictImplement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + static create(args, returns, params) { + return new ZodFunction2({ + args: args ? args : ZodTuple2.create([]).rest(ZodUnknown2.create()), + returns: returns || ZodUnknown2.create(), + typeName: ZodFirstPartyTypeKind2.ZodFunction, + ...processCreateParams2(params) + }); + } +} + +class ZodLazy2 extends ZodType2 { + get schema() { + return this._def.getter(); + } + _parse(input) { + const { ctx } = this._processInputParams(input); + const lazySchema = this._def.getter(); + return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); + } +} +ZodLazy2.create = (getter, params) => { + return new ZodLazy2({ + getter, + typeName: ZodFirstPartyTypeKind2.ZodLazy, + ...processCreateParams2(params) + }); +}; + +class ZodLiteral2 extends ZodType2 { + _parse(input) { + if (input.data !== this._def.value) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_literal, + expected: this._def.value + }); + return INVALID2; + } + return { status: "valid", value: input.data }; + } + get value() { + return this._def.value; + } +} +ZodLiteral2.create = (value, params) => { + return new ZodLiteral2({ + value, + typeName: ZodFirstPartyTypeKind2.ZodLiteral, + ...processCreateParams2(params) + }); +}; +function createZodEnum2(values, params) { + return new ZodEnum2({ + values, + typeName: ZodFirstPartyTypeKind2.ZodEnum, + ...processCreateParams2(params) + }); +} + +class ZodEnum2 extends ZodType2 { + _parse(input) { + if (typeof input.data !== "string") { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext2(ctx, { + expected: util2.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode2.invalid_type + }); + return INVALID2; + } + if (!this._cache) { + this._cache = new Set(this._def.values); + } + if (!this._cache.has(input.data)) { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_enum_value, + options: expectedValues + }); + return INVALID2; + } + return OK2(input.data); + } + get options() { + return this._def.values; + } + get enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Values() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + extract(values, newDef = this._def) { + return ZodEnum2.create(values, { + ...this._def, + ...newDef + }); + } + exclude(values, newDef = this._def) { + return ZodEnum2.create(this.options.filter((opt) => !values.includes(opt)), { + ...this._def, + ...newDef + }); + } +} +ZodEnum2.create = createZodEnum2; + +class ZodNativeEnum2 extends ZodType2 { + _parse(input) { + const nativeEnumValues = util2.getValidEnumValues(this._def.values); + const ctx = this._getOrReturnCtx(input); + if (ctx.parsedType !== ZodParsedType2.string && ctx.parsedType !== ZodParsedType2.number) { + const expectedValues = util2.objectValues(nativeEnumValues); + addIssueToContext2(ctx, { + expected: util2.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode2.invalid_type + }); + return INVALID2; + } + if (!this._cache) { + this._cache = new Set(util2.getValidEnumValues(this._def.values)); + } + if (!this._cache.has(input.data)) { + const expectedValues = util2.objectValues(nativeEnumValues); + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_enum_value, + options: expectedValues + }); + return INVALID2; + } + return OK2(input.data); + } + get enum() { + return this._def.values; + } +} +ZodNativeEnum2.create = (values, params) => { + return new ZodNativeEnum2({ + values, + typeName: ZodFirstPartyTypeKind2.ZodNativeEnum, + ...processCreateParams2(params) + }); +}; + +class ZodPromise2 extends ZodType2 { + unwrap() { + return this._def.type; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.promise && ctx.common.async === false) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.promise, + received: ctx.parsedType + }); + return INVALID2; + } + const promisified = ctx.parsedType === ZodParsedType2.promise ? ctx.data : Promise.resolve(ctx.data); + return OK2(promisified.then((data) => { + return this._def.type.parseAsync(data, { + path: ctx.path, + errorMap: ctx.common.contextualErrorMap + }); + })); + } +} +ZodPromise2.create = (schema, params) => { + return new ZodPromise2({ + type: schema, + typeName: ZodFirstPartyTypeKind2.ZodPromise, + ...processCreateParams2(params) + }); +}; + +class ZodEffects2 extends ZodType2 { + innerType() { + return this._def.schema; + } + sourceType() { + return this._def.schema._def.typeName === ZodFirstPartyTypeKind2.ZodEffects ? this._def.schema.sourceType() : this._def.schema; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const effect = this._def.effect || null; + const checkCtx = { + addIssue: (arg) => { + addIssueToContext2(ctx, arg); + if (arg.fatal) { + status.abort(); + } else { + status.dirty(); + } + }, + get path() { + return ctx.path; + } + }; + checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx); + if (effect.type === "preprocess") { + const processed = effect.transform(ctx.data, checkCtx); + if (ctx.common.async) { + return Promise.resolve(processed).then(async (processed2) => { + if (status.value === "aborted") + return INVALID2; + const result = await this._def.schema._parseAsync({ + data: processed2, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID2; + if (result.status === "dirty") + return DIRTY2(result.value); + if (status.value === "dirty") + return DIRTY2(result.value); + return result; + }); + } else { + if (status.value === "aborted") + return INVALID2; + const result = this._def.schema._parseSync({ + data: processed, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID2; + if (result.status === "dirty") + return DIRTY2(result.value); + if (status.value === "dirty") + return DIRTY2(result.value); + return result; + } + } + if (effect.type === "refinement") { + const executeRefinement = (acc) => { + const result = effect.refinement(acc, checkCtx); + if (ctx.common.async) { + return Promise.resolve(result); + } + if (result instanceof Promise) { + throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); + } + return acc; + }; + if (ctx.common.async === false) { + const inner = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inner.status === "aborted") + return INVALID2; + if (inner.status === "dirty") + status.dirty(); + executeRefinement(inner.value); + return { status: status.value, value: inner.value }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { + if (inner.status === "aborted") + return INVALID2; + if (inner.status === "dirty") + status.dirty(); + return executeRefinement(inner.value).then(() => { + return { status: status.value, value: inner.value }; + }); + }); + } + } + if (effect.type === "transform") { + if (ctx.common.async === false) { + const base = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (!isValid2(base)) + return INVALID2; + const result = effect.transform(base.value, checkCtx); + if (result instanceof Promise) { + throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); + } + return { status: status.value, value: result }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { + if (!isValid2(base)) + return INVALID2; + return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ + status: status.value, + value: result + })); + }); + } + } + util2.assertNever(effect); + } +} +ZodEffects2.create = (schema, effect, params) => { + return new ZodEffects2({ + schema, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect, + ...processCreateParams2(params) + }); +}; +ZodEffects2.createWithPreprocess = (preprocess, schema, params) => { + return new ZodEffects2({ + schema, + effect: { type: "preprocess", transform: preprocess }, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + ...processCreateParams2(params) + }); +}; + +class ZodOptional2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType === ZodParsedType2.undefined) { + return OK2(undefined); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } +} +ZodOptional2.create = (type, params) => { + return new ZodOptional2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodOptional, + ...processCreateParams2(params) + }); +}; + +class ZodNullable2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType === ZodParsedType2.null) { + return OK2(null); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } +} +ZodNullable2.create = (type, params) => { + return new ZodNullable2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodNullable, + ...processCreateParams2(params) + }); +}; + +class ZodDefault2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + let data = ctx.data; + if (ctx.parsedType === ZodParsedType2.undefined) { + data = this._def.defaultValue(); + } + return this._def.innerType._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + removeDefault() { + return this._def.innerType; + } +} +ZodDefault2.create = (type, params) => { + return new ZodDefault2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodDefault, + defaultValue: typeof params.default === "function" ? params.default : () => params.default, + ...processCreateParams2(params) + }); +}; + +class ZodCatch2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const newCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + } + }; + const result = this._def.innerType._parse({ + data: newCtx.data, + path: newCtx.path, + parent: { + ...newCtx + } + }); + if (isAsync2(result)) { + return result.then((result2) => { + return { + status: "valid", + value: result2.status === "valid" ? result2.value : this._def.catchValue({ + get error() { + return new ZodError2(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + }); + } else { + return { + status: "valid", + value: result.status === "valid" ? result.value : this._def.catchValue({ + get error() { + return new ZodError2(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + } + } + removeCatch() { + return this._def.innerType; + } +} +ZodCatch2.create = (type, params) => { + return new ZodCatch2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodCatch, + catchValue: typeof params.catch === "function" ? params.catch : () => params.catch, + ...processCreateParams2(params) + }); +}; + +class ZodNaN2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.nan) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.nan, + received: ctx.parsedType + }); + return INVALID2; + } + return { status: "valid", value: input.data }; + } +} +ZodNaN2.create = (params) => { + return new ZodNaN2({ + typeName: ZodFirstPartyTypeKind2.ZodNaN, + ...processCreateParams2(params) + }); +}; +var BRAND2 = Symbol("zod_brand"); + +class ZodBranded2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const data = ctx.data; + return this._def.type._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + unwrap() { + return this._def.type; + } +} + +class ZodPipeline2 extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.common.async) { + const handleAsync = async () => { + const inResult = await this._def.in._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID2; + if (inResult.status === "dirty") { + status.dirty(); + return DIRTY2(inResult.value); + } else { + return this._def.out._parseAsync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + }; + return handleAsync(); + } else { + const inResult = this._def.in._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID2; + if (inResult.status === "dirty") { + status.dirty(); + return { + status: "dirty", + value: inResult.value + }; + } else { + return this._def.out._parseSync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + } + } + static create(a, b) { + return new ZodPipeline2({ + in: a, + out: b, + typeName: ZodFirstPartyTypeKind2.ZodPipeline + }); + } +} + +class ZodReadonly2 extends ZodType2 { + _parse(input) { + const result = this._def.innerType._parse(input); + const freeze = (data) => { + if (isValid2(data)) { + data.value = Object.freeze(data.value); + } + return data; + }; + return isAsync2(result) ? result.then((data) => freeze(data)) : freeze(result); + } + unwrap() { + return this._def.innerType; + } +} +ZodReadonly2.create = (type, params) => { + return new ZodReadonly2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodReadonly, + ...processCreateParams2(params) + }); +}; +function cleanParams2(params, data) { + const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params; + const p2 = typeof p === "string" ? { message: p } : p; + return p2; +} +function custom2(check, _params = {}, fatal) { + if (check) + return ZodAny2.create().superRefine((data, ctx) => { + const r = check(data); + if (r instanceof Promise) { + return r.then((r2) => { + if (!r2) { + const params = cleanParams2(_params, data); + const _fatal = params.fatal ?? fatal ?? true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + }); + } + if (!r) { + const params = cleanParams2(_params, data); + const _fatal = params.fatal ?? fatal ?? true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + return; + }); + return ZodAny2.create(); +} +var late2 = { + object: ZodObject2.lazycreate +}; +var ZodFirstPartyTypeKind2; +(function(ZodFirstPartyTypeKind22) { + ZodFirstPartyTypeKind22["ZodString"] = "ZodString"; + ZodFirstPartyTypeKind22["ZodNumber"] = "ZodNumber"; + ZodFirstPartyTypeKind22["ZodNaN"] = "ZodNaN"; + ZodFirstPartyTypeKind22["ZodBigInt"] = "ZodBigInt"; + ZodFirstPartyTypeKind22["ZodBoolean"] = "ZodBoolean"; + ZodFirstPartyTypeKind22["ZodDate"] = "ZodDate"; + ZodFirstPartyTypeKind22["ZodSymbol"] = "ZodSymbol"; + ZodFirstPartyTypeKind22["ZodUndefined"] = "ZodUndefined"; + ZodFirstPartyTypeKind22["ZodNull"] = "ZodNull"; + ZodFirstPartyTypeKind22["ZodAny"] = "ZodAny"; + ZodFirstPartyTypeKind22["ZodUnknown"] = "ZodUnknown"; + ZodFirstPartyTypeKind22["ZodNever"] = "ZodNever"; + ZodFirstPartyTypeKind22["ZodVoid"] = "ZodVoid"; + ZodFirstPartyTypeKind22["ZodArray"] = "ZodArray"; + ZodFirstPartyTypeKind22["ZodObject"] = "ZodObject"; + ZodFirstPartyTypeKind22["ZodUnion"] = "ZodUnion"; + ZodFirstPartyTypeKind22["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion"; + ZodFirstPartyTypeKind22["ZodIntersection"] = "ZodIntersection"; + ZodFirstPartyTypeKind22["ZodTuple"] = "ZodTuple"; + ZodFirstPartyTypeKind22["ZodRecord"] = "ZodRecord"; + ZodFirstPartyTypeKind22["ZodMap"] = "ZodMap"; + ZodFirstPartyTypeKind22["ZodSet"] = "ZodSet"; + ZodFirstPartyTypeKind22["ZodFunction"] = "ZodFunction"; + ZodFirstPartyTypeKind22["ZodLazy"] = "ZodLazy"; + ZodFirstPartyTypeKind22["ZodLiteral"] = "ZodLiteral"; + ZodFirstPartyTypeKind22["ZodEnum"] = "ZodEnum"; + ZodFirstPartyTypeKind22["ZodEffects"] = "ZodEffects"; + ZodFirstPartyTypeKind22["ZodNativeEnum"] = "ZodNativeEnum"; + ZodFirstPartyTypeKind22["ZodOptional"] = "ZodOptional"; + ZodFirstPartyTypeKind22["ZodNullable"] = "ZodNullable"; + ZodFirstPartyTypeKind22["ZodDefault"] = "ZodDefault"; + ZodFirstPartyTypeKind22["ZodCatch"] = "ZodCatch"; + ZodFirstPartyTypeKind22["ZodPromise"] = "ZodPromise"; + ZodFirstPartyTypeKind22["ZodBranded"] = "ZodBranded"; + ZodFirstPartyTypeKind22["ZodPipeline"] = "ZodPipeline"; + ZodFirstPartyTypeKind22["ZodReadonly"] = "ZodReadonly"; +})(ZodFirstPartyTypeKind2 || (ZodFirstPartyTypeKind2 = {})); +var instanceOfType2 = (cls, params = { + message: `Input not instance of ${cls.name}` +}) => custom2((data) => data instanceof cls, params); +var stringType2 = ZodString2.create; +var numberType2 = ZodNumber2.create; +var nanType2 = ZodNaN2.create; +var bigIntType2 = ZodBigInt2.create; +var booleanType2 = ZodBoolean2.create; +var dateType2 = ZodDate2.create; +var symbolType2 = ZodSymbol2.create; +var undefinedType2 = ZodUndefined2.create; +var nullType2 = ZodNull2.create; +var anyType2 = ZodAny2.create; +var unknownType2 = ZodUnknown2.create; +var neverType2 = ZodNever2.create; +var voidType2 = ZodVoid2.create; +var arrayType2 = ZodArray2.create; +var objectType2 = ZodObject2.create; +var strictObjectType2 = ZodObject2.strictCreate; +var unionType2 = ZodUnion2.create; +var discriminatedUnionType2 = ZodDiscriminatedUnion2.create; +var intersectionType2 = ZodIntersection2.create; +var tupleType2 = ZodTuple2.create; +var recordType2 = ZodRecord2.create; +var mapType2 = ZodMap2.create; +var setType2 = ZodSet2.create; +var functionType2 = ZodFunction2.create; +var lazyType2 = ZodLazy2.create; +var literalType2 = ZodLiteral2.create; +var enumType2 = ZodEnum2.create; +var nativeEnumType2 = ZodNativeEnum2.create; +var promiseType2 = ZodPromise2.create; +var effectsType2 = ZodEffects2.create; +var optionalType2 = ZodOptional2.create; +var nullableType2 = ZodNullable2.create; +var preprocessType2 = ZodEffects2.createWithPreprocess; +var pipelineType2 = ZodPipeline2.create; +var ostring2 = () => stringType2().optional(); +var onumber2 = () => numberType2().optional(); +var oboolean2 = () => booleanType2().optional(); +var coerce2 = { + string: (arg) => ZodString2.create({ ...arg, coerce: true }), + number: (arg) => ZodNumber2.create({ ...arg, coerce: true }), + boolean: (arg) => ZodBoolean2.create({ + ...arg, + coerce: true + }), + bigint: (arg) => ZodBigInt2.create({ ...arg, coerce: true }), + date: (arg) => ZodDate2.create({ ...arg, coerce: true }) +}; +var NEVER2 = INVALID2; +var SCHEMA_IDS2 = { + actorRef: "hasna.actor_ref.v1", + resourceRef: "hasna.resource_ref.v1", + evidenceRef: "hasna.evidence_ref.v1", + workRun: "hasna.work_run.v1", + decisionEnvelope: "hasna.decision_envelope.v1", + costEstimate: "hasna.cost_estimate.v1", + capabilityCard: "hasna.capability_card.v1", + providerLiveModeStandard: "hasna.provider_live_mode_standard.v1", + contextPack: "hasna.context_pack.v1", + integrationRef: "hasna.integration_ref.v1", + projectManifest: "hasna.project_manifest.v1", + projectPanel: "hasna.project_panel.v1", + projectSnapshot: "hasna.project_snapshot.v1", + renderManifest: "hasna.render_manifest.v1", + agentTrajectory: "hasna.agent_trajectory.v1", + validationPlan: "hasna.validation_plan.v1", + proofBundle: "hasna.proof_bundle.v1", + scaffoldManifest: "hasna.scaffold_manifest.v1", + scaffoldInstallRecord: "hasna.scaffold_install_record.v1", + appCloudManifest: "hasna.app_cloud_manifest.v1", + noCloudEvidencePack: "hasna.no_cloud_evidence_pack.v1", + serviceContract: "hasna.service_contract.v1", + commsEventEnvelope: "hasna.comms_event_envelope.v1", + commsChannelMetadata: "hasna.comms_channel_metadata.v1", + commsMessageMetadata: "hasna.comms_message_metadata.v1", + app: "hasna.app.v1", + release: "hasna.release.v1", + rolloutRecord: "hasna.rollout_record.v1", + announcement: "hasna.announcement.v1", + audience: "hasna.audience.v1" +}; +var SchemaIdSchema2 = exports_external2.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/); +var TimestampSchema2 = exports_external2.string().datetime(); +var NonEmptyStringSchema2 = exports_external2.string().trim().min(1); +var UriSchema2 = NonEmptyStringSchema2.refine((value) => value.startsWith("artifact://") || value.startsWith("repo://") || value.startsWith("project://") || value.startsWith("dashboard://") || value.startsWith("render://") || value.startsWith("integration://") || value.startsWith("task://") || value.startsWith("todo://") || value.startsWith("file://") || value.startsWith("files://") || value.startsWith("mailery://") || value.startsWith("conversation://") || value.startsWith("knowledge://") || value.startsWith("memento://") || value.startsWith("https://") || value.startsWith("http://") || value.startsWith("git+https://"), "URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"); +var Sha256DigestSchema2 = exports_external2.string().regex(/^[a-fA-F0-9]{64}$/); +var HashStringSchema2 = exports_external2.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/); +var MetadataSchema2 = exports_external2.record(exports_external2.unknown()); +var TagsSchema2 = exports_external2.array(exports_external2.string().min(1)).default([]); +var OptionalTimestampSchema2 = TimestampSchema2.nullable().optional(); +var TerminalStatuses2 = new Set(["succeeded", "failed", "cancelled", "blocked", "skipped"]); +var ContractStatusSchema2 = exports_external2.enum([ + "pending", + "running", + "succeeded", + "failed", + "cancelled", + "blocked", + "skipped", + "unknown" +]); +function contractBaseSchema2(schema) { + return exports_external2.object({ + schema: exports_external2.literal(schema), + id: exports_external2.string().min(1), + createdAt: TimestampSchema2, + updatedAt: OptionalTimestampSchema2, + metadata: MetadataSchema2.optional() + }).strict(); +} +var ContractEnvelopeSchema2 = exports_external2.object({ + schema: SchemaIdSchema2, + id: exports_external2.string().min(1), + createdAt: TimestampSchema2, + updatedAt: OptionalTimestampSchema2, + metadata: MetadataSchema2.optional() +}).strict(); +var ActorKindSchema2 = exports_external2.enum([ + "agent", + "human", + "service", + "model", + "workflow", + "system" +]); +var ActorRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.actorRef).extend({ + kind: ActorKindSchema2, + name: exports_external2.string().min(1).optional(), + provider: exports_external2.string().min(1).optional(), + accountId: exports_external2.string().min(1).optional(), + machineId: exports_external2.string().min(1).optional(), + capabilities: exports_external2.array(exports_external2.string().min(1)).default([]) +}).strict(); +var ActorPointerSchema2 = exports_external2.object({ + kind: ActorKindSchema2, + id: exports_external2.string().min(1), + name: exports_external2.string().min(1).optional(), + provider: exports_external2.string().min(1).optional(), + accountId: exports_external2.string().min(1).optional(), + machineId: exports_external2.string().min(1).optional() +}).strict(); +var ResourceKindSchema2 = exports_external2.enum([ + "task", + "project", + "repo", + "run", + "loop", + "workflow", + "action", + "event", + "integration", + "session", + "machine", + "model", + "tool", + "file", + "document", + "url", + "artifact", + "knowledge", + "email", + "conversation", + "dashboard", + "render", + "panel", + "report", + "commit", + "branch", + "pull_request", + "issue", + "comment", + "verification", + "finding", + "context_pack", + "proof_bundle", + "memento", + "eval", + "budget", + "cost", + "alert", + "incident", + "app", + "release", + "rollout", + "announcement", + "audience", + "feedback", + "unknown" +]); +var ResourceRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.resourceRef).extend({ + kind: ResourceKindSchema2, + name: exports_external2.string().min(1).optional(), + uri: UriSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + if (!value.uri && !(value.externalId && value.sourcePackage)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Resource refs require uri or both sourcePackage and externalId", + path: ["uri"] + }); + } +}); +var ResourcePointerSchema2 = exports_external2.object({ + kind: ResourceKindSchema2, + id: exports_external2.string().min(1), + name: exports_external2.string().min(1).optional(), + uri: UriSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + if (!value.uri && Boolean(value.externalId) !== Boolean(value.sourcePackage)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Resource pointers with external package locators require both sourcePackage and externalId", + path: value.externalId ? ["sourcePackage"] : ["externalId"] + }); + } +}); +var EvidenceKindSchema2 = exports_external2.enum([ + "file", + "command_output", + "screenshot", + "log", + "diff", + "report", + "artifact", + "url", + "video", + "har", + "test_result", + "metric", + "trace", + "other" +]); +var RedactionStateSchema2 = exports_external2.enum(["none", "partial", "full", "unknown"]); +var EvidenceRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.evidenceRef).extend({ + kind: EvidenceKindSchema2, + uri: UriSchema2, + sha256: Sha256DigestSchema2.optional(), + summary: exports_external2.string().min(1).optional(), + contentType: exports_external2.string().min(1).optional(), + sizeBytes: exports_external2.number().int().nonnegative().optional(), + redaction: RedactionStateSchema2.default("unknown"), + producer: ActorPointerSchema2.optional(), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + tags: TagsSchema2 +}).strict(); +var EvidencePointerSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: EvidenceKindSchema2.optional(), + uri: UriSchema2.optional(), + sha256: Sha256DigestSchema2.optional(), + summary: exports_external2.string().min(1).optional() +}).strict(); +var CostEstimateSchema2 = contractBaseSchema2(SCHEMA_IDS2.costEstimate).extend({ + currency: exports_external2.string().regex(/^[A-Z]{3}$/).default("USD"), + amountMicros: exports_external2.number().int().nonnegative(), + provider: exports_external2.string().min(1).optional(), + model: exports_external2.string().min(1).optional(), + accountId: exports_external2.string().min(1).optional(), + promptTokens: exports_external2.number().int().nonnegative().optional(), + completionTokens: exports_external2.number().int().nonnegative().optional(), + totalTokens: exports_external2.number().int().nonnegative().optional(), + basis: exports_external2.enum(["actual", "estimated", "budget", "limit"]).default("estimated"), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.promptTokens !== undefined && value.completionTokens !== undefined && value.totalTokens !== undefined && value.totalTokens !== value.promptTokens + value.completionTokens) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "totalTokens must equal promptTokens plus completionTokens when all are present", + path: ["totalTokens"] + }); + } +}); +var DecisionStatusSchema2 = exports_external2.enum([ + "allowed", + "denied", + "warned", + "approval_required", + "selected", + "skipped", + "unknown" +]); +var DecisionEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.decisionEnvelope).extend({ + decisionType: exports_external2.enum([ + "guardrail", + "model_route", + "tool_select", + "budget", + "secret_access", + "approval", + "policy", + "other" + ]), + status: DecisionStatusSchema2, + actor: ActorPointerSchema2.optional(), + traceId: exports_external2.string().min(1).optional(), + inputHash: HashStringSchema2.optional(), + policyBundleId: exports_external2.string().min(1).optional(), + selected: exports_external2.array(ResourcePointerSchema2).default([]), + skipped: exports_external2.array(ResourcePointerSchema2).default([]), + reason: exports_external2.string().min(1), + obligations: exports_external2.array(exports_external2.string().min(1)).default([]), + redactions: exports_external2.array(exports_external2.string().min(1)).default([]), + costEstimate: CostEstimateSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "selected" && value.selected.length === 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Selected decisions require at least one selected resource", path: ["selected"] }); + } + if (value.status === "skipped" && value.skipped.length === 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Skipped decisions require at least one skipped resource", path: ["skipped"] }); + } + if (value.status === "denied") { + if (value.selected.length > 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Denied decisions cannot include selected resources", path: ["selected"] }); + } + if (!value.policyBundleId && value.evidenceRefs.length === 0 && value.obligations.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Denied decisions require policy, evidence, or obligations", + path: ["policyBundleId"] + }); + } + } + if (value.status === "approval_required" && value.obligations.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Approval-required decisions require actionable obligations", + path: ["obligations"] + }); + } +}); +var CapabilityCardSchema2 = contractBaseSchema2(SCHEMA_IDS2.capabilityCard).extend({ + kind: exports_external2.enum(["model", "tool", "machine", "agent", "lane", "connector", "service"]), + name: exports_external2.string().min(1), + version: exports_external2.string().min(1).optional(), + status: exports_external2.enum(["available", "unavailable", "degraded", "unknown"]).default("unknown"), + capabilities: exports_external2.array(exports_external2.string().min(1)).default([]), + limitations: exports_external2.array(exports_external2.string().min(1)).default([]), + riskLevel: exports_external2.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), + costEstimate: CostEstimateSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict(); +var ProviderModeSchema2 = exports_external2.enum(["mock", "fixture", "sandbox", "read_only_live", "live_mutating"]); +var ProviderSideEffectClassSchema2 = exports_external2.enum([ + "none", + "read_only", + "external_notification", + "external_mutation", + "money_movement", + "dns_or_domain_change", + "bulk_message_or_call", + "legal_or_filing", + "compute_or_infra_mutation", + "irreversible" +]); +var CredentialRequirementSchema2 = exports_external2.object({ + refName: NonEmptyStringSchema2, + requiredForModes: exports_external2.array(ProviderModeSchema2).min(1), + allowedSecretInputs: exports_external2.array(exports_external2.enum(["credential_ref", "lease_ref"])).min(1).default(["credential_ref"]), + failClosedDiagnostic: NonEmptyStringSchema2, + revocationCheck: exports_external2.boolean().default(true) +}).strict(); +var ProviderOperationCardSchema2 = exports_external2.object({ + operation: NonEmptyStringSchema2, + supportedModes: exports_external2.array(ProviderModeSchema2).min(1), + sideEffectClass: ProviderSideEffectClassSchema2, + requiresApproval: exports_external2.boolean().default(false), + requiresIdempotencyKey: exports_external2.boolean().default(false), + requiresSandboxEvidence: exports_external2.boolean().default(false), + requiresRollbackOrRevocation: exports_external2.boolean().default(false), + rollbackOrRevocation: NonEmptyStringSchema2.optional(), + noSideEffectSmoke: NonEmptyStringSchema2.optional(), + reconciliation: NonEmptyStringSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (value.supportedModes.includes("live_mutating")) { + if (value.sideEffectClass === "none" || value.sideEffectClass === "read_only") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations must declare a side-effecting class", + path: ["sideEffectClass"] + }); + } + if (!value.requiresApproval) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require approval", + path: ["requiresApproval"] + }); + } + if (!value.requiresIdempotencyKey) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require idempotency keys", + path: ["requiresIdempotencyKey"] + }); + } + if (!value.requiresSandboxEvidence) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require sandbox evidence before live proof", + path: ["requiresSandboxEvidence"] + }); + } + if (!value.requiresRollbackOrRevocation || !value.rollbackOrRevocation) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require rollback or revocation instructions", + path: ["rollbackOrRevocation"] + }); + } + if (!value.reconciliation) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require reconciliation behavior", + path: ["reconciliation"] + }); + } + } +}); +var ProviderCapabilityCardSchema2 = exports_external2.object({ + providerId: NonEmptyStringSchema2, + appId: NonEmptyStringSchema2, + adapterId: NonEmptyStringSchema2, + ownerPackage: NonEmptyStringSchema2, + modes: exports_external2.array(ProviderModeSchema2).min(1), + defaultMode: ProviderModeSchema2, + credentialRequirements: exports_external2.array(CredentialRequirementSchema2).default([]), + operations: exports_external2.array(ProviderOperationCardSchema2).min(1), + rateLimitPosture: NonEmptyStringSchema2, + costPosture: NonEmptyStringSchema2.optional(), + auditEvents: exports_external2.array(NonEmptyStringSchema2).default([]), + redactionRules: exports_external2.array(NonEmptyStringSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (!value.modes.includes(value.defaultMode)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "defaultMode must be one of modes", + path: ["defaultMode"] + }); + } + const operationModes = new Set(value.operations.flatMap((operation) => operation.supportedModes)); + for (const mode of operationModes) { + if (!value.modes.includes(mode)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `operation mode ${mode} is not declared in provider modes`, + path: ["operations"] + }); + } + } + if (operationModes.has("live_mutating")) { + const liveCredential = value.credentialRequirements.some((credential) => credential.requiredForModes.includes("live_mutating")); + if (!liveCredential) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating providers require at least one live credential reference requirement", + path: ["credentialRequirements"] + }); + } + if (value.auditEvents.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating providers require audit events", + path: ["auditEvents"] + }); + } + } +}); +var ProviderLiveModeTargetSchema2 = exports_external2.object({ + appId: NonEmptyStringSchema2, + repo: NonEmptyStringSchema2, + priority: exports_external2.enum(["p0", "p1", "p2"]).default("p1"), + requiredEvidence: exports_external2.array(NonEmptyStringSchema2).min(1), + firstOperations: exports_external2.array(NonEmptyStringSchema2).min(1), + blockedUntil: exports_external2.array(NonEmptyStringSchema2).default([]) +}).strict(); +var ProviderLiveModeStandardSchema2 = contractBaseSchema2(SCHEMA_IDS2.providerLiveModeStandard).extend({ + name: NonEmptyStringSchema2, + version: NonEmptyStringSchema2, + modes: exports_external2.array(ProviderModeSchema2).refine((modes) => ["mock", "fixture", "sandbox", "read_only_live", "live_mutating"].every((mode) => modes.includes(mode)), "provider live-mode standard must include every canonical provider mode"), + requiredCapabilityFields: exports_external2.array(NonEmptyStringSchema2).min(1), + liveMutationGate: exports_external2.object({ + requiredMode: exports_external2.literal("live_mutating"), + requiredChecks: exports_external2.array(NonEmptyStringSchema2).min(1), + forbiddenBypassSignals: exports_external2.array(NonEmptyStringSchema2).min(1), + disabledLiveSmoke: NonEmptyStringSchema2 + }).strict(), + noSideEffectSmoke: exports_external2.object({ + requiredForModes: exports_external2.array(ProviderModeSchema2).min(1), + commandEvidence: exports_external2.array(NonEmptyStringSchema2).min(1), + secretOutputScan: exports_external2.boolean().default(true) + }).strict(), + credentialPolicy: exports_external2.object({ + acceptedInputs: exports_external2.array(exports_external2.enum(["credential_ref", "lease_ref"])).min(1), + rawSecretInputsAllowed: exports_external2.literal(false), + missingCredentialBehavior: exports_external2.literal("fail_closed"), + revocationCheckRequired: exports_external2.boolean().default(true) + }).strict(), + operationCards: exports_external2.array(ProviderCapabilityCardSchema2).min(1), + firstAdoptionTargets: exports_external2.array(ProviderLiveModeTargetSchema2).min(1), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const firstTargetApps = new Set(value.firstAdoptionTargets.map((target) => target.appId)); + const operationApps = new Set(value.operationCards.map((card) => card.appId)); + for (const appId of firstTargetApps) { + if (!operationApps.has(appId)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `first adoption target ${appId} requires a provider capability card`, + path: ["firstAdoptionTargets"] + }); + } + } +}); +var ContextPackItemSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + title: exports_external2.string().min(1).optional(), + summary: exports_external2.string().min(1), + text: exports_external2.string().optional(), + tokens: exports_external2.number().int().nonnegative().optional(), + source: EvidencePointerSchema2, + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict(); +var ContextPackSchema2 = contractBaseSchema2(SCHEMA_IDS2.contextPack).extend({ + objective: exports_external2.string().min(1), + budget: exports_external2.object({ + maxTokens: exports_external2.number().int().positive().optional(), + maxBytes: exports_external2.number().int().positive().optional() + }).strict().optional(), + items: exports_external2.array(ContextPackItemSchema2).default([]), + citations: exports_external2.array(EvidencePointerSchema2).default([]), + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown"), + permissions: exports_external2.array(exports_external2.string().min(1)).default([]), + redactions: exports_external2.array(exports_external2.string().min(1)).default([]), + conflicts: exports_external2.array(exports_external2.string().min(1)).default([]), + uncertainty: exports_external2.string().min(1).optional() +}).strict(); +var RelativeProjectPathSchema2 = NonEmptyStringSchema2.refine((value) => !value.startsWith("/") && !value.includes("\\") && !value.split("/").includes(".."), "Project paths must be relative and cannot contain parent-directory segments"); +var ProjectSlugSchema2 = exports_external2.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "Project slugs must be lowercase dashed identifiers"); +var ProjectClassificationSchema2 = exports_external2.enum(["public", "internal", "private", "sensitive"]); +var ProjectStatusSchema2 = exports_external2.enum(["draft", "active", "paused", "archived"]); +var ProjectIntegrationKindSchema2 = exports_external2.enum([ + "todos", + "files", + "mailery", + "conversations", + "knowledge", + "mementos", + "reports", + "actions", + "render", + "contracts", + "custom" +]); +var IntegrationRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.integrationRef).extend({ + kind: ProjectIntegrationKindSchema2, + name: exports_external2.string().min(1), + projectId: ProjectSlugSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + uri: UriSchema2.optional(), + enabled: exports_external2.boolean().default(true), + readOnly: exports_external2.boolean().default(true), + capabilities: exports_external2.array(exports_external2.string().min(1)).default([]), + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown"), + resourceRef: ResourcePointerSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + config: MetadataSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (!value.uri && !(value.sourcePackage && value.externalId) && !value.resourceRef) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Integration refs require uri, resourceRef, or both sourcePackage and externalId", + path: ["uri"] + }); + } +}); +var ProjectLayoutSchema2 = exports_external2.object({ + schemaRoot: RelativeProjectPathSchema2.default(".hasna/project"), + dashboardManifest: RelativeProjectPathSchema2.default(".hasna/project/dashboard.render.json"), + snapshotsDir: RelativeProjectPathSchema2.default(".hasna/project/snapshots"), + documentsDir: RelativeProjectPathSchema2.default("documents"), + reportsDir: RelativeProjectPathSchema2.default("reports"), + evidenceDir: RelativeProjectPathSchema2.default(".hasna/project/evidence"), + privateDir: RelativeProjectPathSchema2.default(".hasna/project/private") +}).strict(); +var ProjectManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectManifest).extend({ + projectId: ProjectSlugSchema2, + slug: ProjectSlugSchema2, + name: exports_external2.string().min(1), + summary: exports_external2.string().min(1).optional(), + status: ProjectStatusSchema2.default("active"), + classification: ProjectClassificationSchema2.default("private"), + owner: ActorPointerSchema2.optional(), + layout: ProjectLayoutSchema2.default({}), + integrations: exports_external2.array(IntegrationRefSchema2).default([]), + renderManifests: exports_external2.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + const integrationIds = new Set; + const renderManifestIds = new Set; + if (value.projectId !== value.slug) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "projectId and slug must match for canonical project manifests", + path: ["slug"] + }); + } + for (const [index, integration] of value.integrations.entries()) { + if (integrationIds.has(integration.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project manifest integration ids must be unique", + path: ["integrations", index, "id"] + }); + } + integrationIds.add(integration.id); + if (integration.projectId && integration.projectId !== value.projectId) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Integration projectId must match the manifest projectId", + path: ["integrations", index, "projectId"] + }); + } + } + for (const [index, renderManifest] of value.renderManifests.entries()) { + if (renderManifest.kind !== "render") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project renderManifests must use resource kind render", + path: ["renderManifests", index, "kind"] + }); + } + if (renderManifestIds.has(renderManifest.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project renderManifest refs must be unique", + path: ["renderManifests", index, "id"] + }); + } + renderManifestIds.add(renderManifest.id); + } +}); +var RenderImportKindSchema2 = exports_external2.enum(["local", "package", "provider", "url"]); +var RenderImportSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: RenderImportKindSchema2, + specifier: exports_external2.string().min(1), + path: RelativeProjectPathSchema2.optional(), + packageName: exports_external2.string().min(1).optional(), + uri: UriSchema2.optional(), + provider: ProjectIntegrationKindSchema2.optional(), + schemaId: SchemaIdSchema2.optional(), + integrity: HashStringSchema2.optional(), + resourceRef: ResourcePointerSchema2.optional(), + optional: exports_external2.boolean().default(false) +}).strict().superRefine((value, ctx) => { + if (value.kind === "local" && !value.path) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Local render imports require path", path: ["path"] }); + } + if (value.kind === "package" && !value.packageName) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Package render imports require packageName", path: ["packageName"] }); + } + if (value.kind === "provider" && !value.provider) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Provider render imports require provider", path: ["provider"] }); + } + if (value.kind === "url" && !value.uri) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "URL render imports require uri", path: ["uri"] }); + } +}); +var RenderViewKindSchema2 = exports_external2.enum(["dashboard", "canvas", "panel", "report", "document", "custom"]); +var RenderViewSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + title: exports_external2.string().min(1), + kind: RenderViewKindSchema2, + default: exports_external2.boolean().default(false), + entry: RelativeProjectPathSchema2.optional(), + imports: exports_external2.array(RenderImportSchema2).default([]), + panelRefs: exports_external2.array(ResourcePointerSchema2).default([]), + dataRefs: exports_external2.array(ResourcePointerSchema2).default([]), + layout: MetadataSchema2.optional() +}).strict(); +var RenderManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.renderManifest).extend({ + projectId: ProjectSlugSchema2, + name: exports_external2.string().min(1), + version: exports_external2.string().min(1), + manifestPath: RelativeProjectPathSchema2.default(".hasna/project/dashboard.render.json"), + renderer: exports_external2.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), + views: exports_external2.array(RenderViewSchema2).min(1), + imports: exports_external2.array(RenderImportSchema2).default([]), + theme: MetadataSchema2.optional(), + compatibility: exports_external2.object({ + minProjectsVersion: exports_external2.string().min(1).optional(), + minContractsVersion: exports_external2.string().min(1).optional() + }).strict().optional(), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const defaults = value.views.filter((view) => view.default); + const viewIds = new Set; + const importIds = new Set; + if (defaults.length > 1) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Render manifests can have at most one default view", path: ["views"] }); + } + for (const [index, importRef] of value.imports.entries()) { + if (importIds.has(importRef.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Render manifest import ids must be unique", + path: ["imports", index, "id"] + }); + } + importIds.add(importRef.id); + } + for (const [viewIndex, view] of value.views.entries()) { + if (viewIds.has(view.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Render manifest view ids must be unique", + path: ["views", viewIndex, "id"] + }); + } + viewIds.add(view.id); + const viewImportIds = new Set; + for (const [importIndex, importRef] of view.imports.entries()) { + if (viewImportIds.has(importRef.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Render view import ids must be unique", + path: ["views", viewIndex, "imports", importIndex, "id"] + }); + } + viewImportIds.add(importRef.id); + } + for (const [panelIndex, panelRef] of view.panelRefs.entries()) { + if (panelRef.kind !== "panel") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Render view panelRefs must use resource kind panel", + path: ["views", viewIndex, "panelRefs", panelIndex, "kind"] + }); + } + } + } +}); +var ProjectPanelStateSchema2 = exports_external2.enum(["ready", "empty", "loading", "error", "auth_required", "unavailable", "stale"]); +var ProjectPanelKindSchema2 = exports_external2.enum([ + "overview", + "tasks", + "files", + "mailery", + "conversations", + "knowledge", + "mementos", + "reports", + "actions", + "timeline", + "risks", + "documents", + "custom" +]); +var ProjectPanelMetricSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + label: exports_external2.string().min(1), + value: exports_external2.union([exports_external2.string(), exports_external2.number(), exports_external2.boolean()]), + unit: exports_external2.string().min(1).optional(), + status: exports_external2.enum(["good", "warning", "critical", "unknown"]).default("unknown"), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict(); +var ProjectPanelItemSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + title: exports_external2.string().min(1), + summary: exports_external2.string().min(1).optional(), + status: exports_external2.string().min(1).optional(), + priority: exports_external2.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), + timestamp: TimestampSchema2.optional(), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + metadata: MetadataSchema2.optional() +}).strict(); +var ProjectRenderFragmentSchema2 = exports_external2.object({ + renderer: exports_external2.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), + title: exports_external2.string().min(1).optional(), + entry: RelativeProjectPathSchema2.optional(), + imports: exports_external2.array(RenderImportSchema2).default([]), + spec: MetadataSchema2.default({}) +}).strict(); +var ProjectPanelSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectPanel).extend({ + projectId: ProjectSlugSchema2, + provider: exports_external2.object({ + kind: ProjectIntegrationKindSchema2, + id: exports_external2.string().min(1), + name: exports_external2.string().min(1).optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + externalId: NonEmptyStringSchema2.optional() + }).strict(), + kind: ProjectPanelKindSchema2, + title: exports_external2.string().min(1), + summary: exports_external2.string().min(1).optional(), + state: ProjectPanelStateSchema2.default("ready"), + stateReason: exports_external2.string().min(1).optional(), + generatedAt: TimestampSchema2, + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown"), + metrics: exports_external2.array(ProjectPanelMetricSchema2).default([]), + items: exports_external2.array(ProjectPanelItemSchema2).default([]), + actions: exports_external2.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + renderFragment: ProjectRenderFragmentSchema2.optional(), + warnings: exports_external2.array(exports_external2.string().min(1)).default([]) +}).strict().superRefine((value, ctx) => { + const reasonStates = new Set(["error", "auth_required", "unavailable", "stale"]); + const metricIds = new Set; + const itemIds = new Set; + if (reasonStates.has(value.state) && !value.stateReason) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Non-ready provider states require stateReason", + path: ["stateReason"] + }); + } + if (value.state === "ready" && value.metrics.length === 0 && value.items.length === 0 && !value.renderFragment) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels", + path: ["state"] + }); + } + for (const [index, metric] of value.metrics.entries()) { + if (metricIds.has(metric.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project panel metric ids must be unique", + path: ["metrics", index, "id"] + }); + } + metricIds.add(metric.id); + } + for (const [index, item] of value.items.entries()) { + if (itemIds.has(item.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project panel item ids must be unique", + path: ["items", index, "id"] + }); + } + itemIds.add(item.id); + } + for (const [index, action] of value.actions.entries()) { + if (action.kind !== "action") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project panel actions must use resource kind action", + path: ["actions", index, "kind"] + }); + } + } +}); +var ProjectSnapshotSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectSnapshot).extend({ + projectId: ProjectSlugSchema2, + generatedAt: TimestampSchema2, + status: ContractStatusSchema2.default("unknown"), + manifestRef: ResourcePointerSchema2, + renderManifestRef: ResourcePointerSchema2.optional(), + panels: exports_external2.array(ProjectPanelSchema2).default([]), + contextPacks: exports_external2.array(ContextPackSchema2).default([]), + proofBundleRefs: exports_external2.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + warnings: exports_external2.array(exports_external2.string().min(1)).default([]), + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown") +}).strict().superRefine((value, ctx) => { + const panelIds = new Set; + const contextPackIds = new Set; + if (value.manifestRef.kind !== "project") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot manifestRef must use resource kind project", + path: ["manifestRef", "kind"] + }); + } + if (value.renderManifestRef && value.renderManifestRef.kind !== "render") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot renderManifestRef must use resource kind render", + path: ["renderManifestRef", "kind"] + }); + } + for (const [index, proofBundleRef] of value.proofBundleRefs.entries()) { + if (proofBundleRef.kind !== "proof_bundle") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot proofBundleRefs must use resource kind proof_bundle", + path: ["proofBundleRefs", index, "kind"] + }); + } + } + for (const [index, panel] of value.panels.entries()) { + if (panel.projectId !== value.projectId) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Panel projectId must match snapshot projectId", + path: ["panels", index, "projectId"] + }); + } + if (panelIds.has(panel.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot panel ids must be unique", + path: ["panels", index, "id"] + }); + } + panelIds.add(panel.id); + } + for (const [index, contextPack] of value.contextPacks.entries()) { + if (contextPackIds.has(contextPack.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot context pack ids must be unique", + path: ["contextPacks", index, "id"] + }); + } + contextPackIds.add(contextPack.id); + } +}); +var ValidationCheckSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: exports_external2.enum(["command", "test", "typecheck", "lint", "eval", "security", "review", "deploy", "smoke", "manual", "other"]), + required: exports_external2.boolean().default(true), + command: exports_external2.string().min(1).optional(), + expected: exports_external2.string().min(1).optional(), + timeoutMs: exports_external2.number().int().positive().optional(), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const actionableKinds = new Set(["command", "test", "typecheck", "lint", "smoke", "eval"]); + if (actionableKinds.has(value.kind) && !value.command && !value.expected) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Actionable validation checks require command or expected", + path: ["command"] + }); + } +}); +var ValidationPlanSchema2 = contractBaseSchema2(SCHEMA_IDS2.validationPlan).extend({ + objective: exports_external2.string().min(1), + subject: ResourcePointerSchema2.optional(), + checks: exports_external2.array(ValidationCheckSchema2).min(1), + verifier: ActorPointerSchema2.optional(), + requiredEvidenceKinds: exports_external2.array(EvidenceKindSchema2).default([]) +}).strict(); +var ScaffoldTypeSchema2 = exports_external2.enum([ + "open_source", + "internal_app", + "platform", + "app", + "agent", + "content", + "overlay", + "other" +]); +var ScaffoldStatusSchema2 = exports_external2.enum(["draft", "active", "deprecated", "archived"]); +var ScaffoldCapabilitySchema2 = exports_external2.enum([ + "cli", + "mcp", + "library", + "sdk", + "rest_api", + "dashboard", + "database", + "auth", + "billing", + "worker", + "daemon", + "native", + "browser_extension", + "ai_provider", + "media_pipeline", + "data_pipeline", + "tests", + "ci", + "deployment", + "docs", + "other" +]); +var ScaffoldEnvVarSchema2 = exports_external2.object({ + key: exports_external2.string().regex(/^[A-Z][A-Z0-9_]*$/), + description: exports_external2.string().min(1), + required: exports_external2.boolean().default(false), + ["secret"]: exports_external2.boolean().default(false), + group: exports_external2.string().min(1).optional(), + default: exports_external2.string().optional() +}).strict().superRefine((value, ctx) => { + if (value.secret && value.default !== undefined) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Secret scaffold env vars cannot include defaults", + path: ["default"] + }); + } +}); +var ScaffoldScriptSchema2 = exports_external2.object({ + name: exports_external2.string().min(1), + command: exports_external2.string().min(1), + description: exports_external2.string().min(1).optional(), + required: exports_external2.boolean().default(false) +}).strict(); +var ScaffoldOutputShapeSchema2 = exports_external2.object({ + packageManager: exports_external2.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), + languages: exports_external2.array(exports_external2.string().min(1)).default([]), + requiredFiles: exports_external2.array(exports_external2.string().min(1)).default([]), + requiredDirectories: exports_external2.array(exports_external2.string().min(1)).default([]), + optionalDirectories: exports_external2.array(exports_external2.string().min(1)).default([]) +}).strict(); +var ScaffoldManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.scaffoldManifest).extend({ + name: exports_external2.string().min(1), + version: exports_external2.string().min(1), + summary: exports_external2.string().min(1), + type: ScaffoldTypeSchema2, + status: ScaffoldStatusSchema2.default("draft"), + capabilities: exports_external2.array(ScaffoldCapabilitySchema2).default([]), + techStack: exports_external2.array(exports_external2.string().min(1)).default([]), + tags: TagsSchema2, + source: ResourcePointerSchema2.optional(), + output: ScaffoldOutputShapeSchema2, + env: exports_external2.array(ScaffoldEnvVarSchema2).default([]), + scripts: exports_external2.array(ScaffoldScriptSchema2).default([]), + validationChecks: exports_external2.array(ValidationCheckSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.source?.uri?.startsWith("file://")) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Public scaffold manifest source refs cannot use local file:// URIs", + path: ["source", "uri"] + }); + } + if (value.status === "active" && value.validationChecks.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Active scaffold manifests require validation checks", + path: ["validationChecks"] + }); + } + if (value.status === "active" && value.output.requiredFiles.length === 0 && value.output.requiredDirectories.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Active scaffold manifests require at least one required file or directory", + path: ["output"] + }); + } +}); +var ScaffoldInstallStatusSchema2 = exports_external2.enum(["installed", "failed", "cancelled", "partial", "unknown"]); +var ScaffoldInstallRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.scaffoldInstallRecord).extend({ + scaffoldId: exports_external2.string().min(1), + scaffoldVersion: exports_external2.string().min(1).optional(), + manifestRef: ResourcePointerSchema2.optional(), + target: ResourcePointerSchema2, + status: ScaffoldInstallStatusSchema2, + installedAt: TimestampSchema2.optional(), + installer: ActorPointerSchema2.optional(), + packageManager: exports_external2.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), + options: MetadataSchema2.optional(), + generatedFiles: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + proofBundleRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "installed" && !value.installedAt) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Installed scaffold records require installedAt", + path: ["installedAt"] + }); + } + if (value.status === "installed" && value.generatedFiles.length === 0 && value.evidenceRefs.length === 0 && value.proofBundleRefs.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Installed scaffold records require generated files, evidence, or proof bundle refs", + path: ["generatedFiles"] + }); + } + if ((value.status === "failed" || value.status === "partial") && value.evidenceRefs.length === 0 && value.proofBundleRefs.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Failed or partial scaffold records require evidence or proof bundle refs", + path: ["evidenceRefs"] + }); + } +}); +var AppIdSchema2 = exports_external2.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "App ids must be lowercase dashed identifiers"); +var NpmPackageNameSchema2 = exports_external2.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/, "Must be a valid npm package name"); +var SemverSchema2 = exports_external2.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/, "Must be a semver version"); +var GitShaSchema2 = exports_external2.string().regex(/^[0-9a-f]{7,40}$/, "Must be a lowercase git sha (7-40 hex chars)"); +var GithubUrlSchema2 = NonEmptyStringSchema2.refine((value) => value.startsWith("https://github.com/") || value.startsWith("git+https://github.com/"), "GitHub URLs must start with https://github.com/ or git+https://github.com/"); +var AppLifecycleSchema2 = exports_external2.enum(["active", "stub", "deprecated", "archived"]); +var ReleaseChannelSchema2 = exports_external2.enum(["stable", "beta", "canary", "internal"]); +var AppMcpSurfaceSchema2 = exports_external2.object({ + transport: exports_external2.enum(["http", "stdio"]).default("http"), + bin: exports_external2.string().min(1).optional(), + url: UriSchema2.optional() +}).strict(); +var AppHttpSurfaceSchema2 = exports_external2.object({ + healthPath: exports_external2.string().min(1).default("/health"), + port: exports_external2.number().int().positive().optional(), + baseUrl: UriSchema2.optional() +}).strict(); +var AppSurfacesSchema2 = exports_external2.object({ + bins: exports_external2.array(exports_external2.string().min(1)).default([]), + mcp: AppMcpSurfaceSchema2.optional(), + http: AppHttpSurfaceSchema2.optional() +}).strict(); +var AppSchema2 = contractBaseSchema2(SCHEMA_IDS2.app).extend({ + appId: AppIdSchema2, + npmName: NpmPackageNameSchema2, + repoFolder: AppIdSchema2, + githubUrl: GithubUrlSchema2, + projectSlug: ProjectSlugSchema2, + surfaces: AppSurfacesSchema2.default({}), + lifecycle: AppLifecycleSchema2, + releaseChannel: ReleaseChannelSchema2.default("stable"), + summary: exports_external2.string().min(1).optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + const seenBins = new Set; + for (const [index, bin] of value.surfaces.bins.entries()) { + if (seenBins.has(bin)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "App surface bins must be unique", + path: ["surfaces", "bins", index] + }); + } + seenBins.add(bin); + } +}); +var PublishPathSchema2 = exports_external2.enum(["skill", "ci", "backfilled"]); +var ReleaseSchema2 = contractBaseSchema2(SCHEMA_IDS2.release).extend({ + appId: AppIdSchema2, + package: NpmPackageNameSchema2, + version: SemverSchema2, + gitSha: GitShaSchema2, + publishedAt: TimestampSchema2, + publishPath: PublishPathSchema2, + changelogRef: ResourcePointerSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.publishPath !== "backfilled" && value.evidenceRefs.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "skill and ci releases require publish evidence; only backfilled releases may omit it", + path: ["evidenceRefs"] + }); + } +}); +var RolloutActionSchema2 = exports_external2.enum(["install", "update", "rollback", "freeze-blocked"]); +var RolloutVerificationSchema2 = exports_external2.object({ + cliVersion: exports_external2.string().min(1).optional(), + mcpHealth: exports_external2.enum(["ok", "degraded", "unavailable", "not_checked"]).optional() +}).strict().superRefine((value, ctx) => { + if (!value.cliVersion && value.mcpHealth === undefined) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Rollout verification requires at least one concrete verifier field" + }); + } +}); +var RolloutRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.rolloutRecord).extend({ + appId: AppIdSchema2, + package: NpmPackageNameSchema2, + version: SemverSchema2, + machine: NonEmptyStringSchema2, + action: RolloutActionSchema2, + result: ContractStatusSchema2, + verifiedBy: RolloutVerificationSchema2.optional(), + at: TimestampSchema2, + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.action === "freeze-blocked" && value.result !== "blocked" && value.result !== "skipped") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "freeze-blocked rollout records must report result blocked or skipped", + path: ["result"] + }); + } + const hasConcreteVerification = Boolean(value.verifiedBy?.cliVersion) || value.verifiedBy?.mcpHealth !== undefined && value.verifiedBy.mcpHealth !== "not_checked"; + const hasVerifierFields = value.verifiedBy ? Object.keys(value.verifiedBy).length > 0 : false; + if ((value.action === "install" || value.action === "update") && value.result === "succeeded" && (!value.verifiedBy || hasVerifierFields && !hasConcreteVerification)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Succeeded install/update rollout records require concrete verification", + path: ["verifiedBy"] + }); + } +}); +var AnnouncementChannelKindSchema2 = exports_external2.enum([ + "email", + "telegram", + "slack", + "discord", + "x", + "blog", + "rss", + "webhook", + "github", + "other" +]); +var AnnouncementDeliveryStatusSchema2 = exports_external2.enum([ + "pending", + "queued", + "sent", + "failed", + "skipped", + "suppressed" +]); +var AnnouncementChannelSchema2 = exports_external2.object({ + channel: AnnouncementChannelKindSchema2, + status: AnnouncementDeliveryStatusSchema2, + deliveredAt: TimestampSchema2.optional(), + detail: exports_external2.string().min(1).optional() +}).strict().superRefine((value, ctx) => { + if (value.status === "sent" && !value.deliveredAt) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Sent announcement channels require deliveredAt", + path: ["deliveredAt"] + }); + } + if (value.status === "failed" && !value.detail) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Failed announcement channels require detail", + path: ["detail"] + }); + } +}); +var AnnouncementSchema2 = contractBaseSchema2(SCHEMA_IDS2.announcement).extend({ + campaignId: NonEmptyStringSchema2, + appId: AppIdSchema2.optional(), + releaseRef: ResourcePointerSchema2.optional(), + channels: exports_external2.array(AnnouncementChannelSchema2).min(1), + audienceRef: ResourcePointerSchema2, + sentAt: TimestampSchema2 +}).strict().superRefine((value, ctx) => { + if (value.releaseRef && value.releaseRef.kind !== "release") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Announcement releaseRef must use resource kind release", + path: ["releaseRef", "kind"] + }); + } + if (value.audienceRef.kind !== "audience") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Announcement audienceRef must use resource kind audience", + path: ["audienceRef", "kind"] + }); + } +}); +var AudiencePredicateKindSchema2 = exports_external2.enum(["tag", "attribute", "group"]); +var AudiencePredicateOpSchema2 = exports_external2.enum(["eq", "neq", "in", "not_in", "exists", "not_exists"]); +var AudiencePredicateValueSchema2 = exports_external2.union([exports_external2.string(), exports_external2.number(), exports_external2.boolean()]); +var AudiencePredicateSchema2 = exports_external2.object({ + kind: AudiencePredicateKindSchema2, + key: exports_external2.string().min(1).optional(), + op: AudiencePredicateOpSchema2.default("eq"), + value: AudiencePredicateValueSchema2.optional(), + values: exports_external2.array(AudiencePredicateValueSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.kind === "attribute" && !value.key) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Attribute predicates require key", + path: ["key"] + }); + } + if ((value.op === "eq" || value.op === "neq") && value.value === undefined) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "eq/neq predicates require value", + path: ["value"] + }); + } + if ((value.op === "in" || value.op === "not_in") && value.values.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "in/not_in predicates require values", + path: ["values"] + }); + } +}); +var AudienceDefinitionSchema2 = exports_external2.object({ + match: exports_external2.enum(["all", "any"]).default("all"), + predicates: exports_external2.array(AudiencePredicateSchema2).min(1) +}).strict(); +var ConsentPolicySchema2 = exports_external2.enum(["opt_in", "opt_out", "transactional", "none"]); +var AudienceSchema2 = contractBaseSchema2(SCHEMA_IDS2.audience).extend({ + audienceId: AppIdSchema2, + name: NonEmptyStringSchema2, + definition: AudienceDefinitionSchema2, + consentPolicy: ConsentPolicySchema2, + suppressionSyncedAt: OptionalTimestampSchema2 +}).strict(); +var FORBIDDEN_SHARED_CLOUD_RUNTIMES2 = ["@hasna/cloud", "open-cloud"]; +var AppCloudProviderSchema2 = exports_external2.enum([ + "aws", + "gcp", + "azure", + "cloudflare", + "vercel", + "neon", + "supabase", + "postgres", + "s3", + "rds", + "other" +]); +var AppCloudResourceSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + provider: AppCloudProviderSchema2, + kind: exports_external2.enum([ + "database", + "bucket", + "queue", + "secret", + "function", + "worker", + "cache", + "topic", + "scheduler", + "object_store", + "other" + ]), + ownerPackage: exports_external2.string().min(1), + region: exports_external2.string().min(1).optional(), + accountId: exports_external2.string().min(1).optional(), + uri: UriSchema2.optional(), + machineScoped: exports_external2.boolean().default(false) +}).strict(); +var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest).extend({ + packageName: exports_external2.string().min(1), + packageVersion: exports_external2.string().min(1).optional(), + appId: exports_external2.string().min(1), + repository: ResourcePointerSchema2.optional(), + storageMode: exports_external2.enum(["local_only", "app_owned_cloud", "hybrid_local_cache", "external_service"]), + cloudBoundary: exports_external2.enum(["none", "app_owned", "external_service", "local_cache"]), + cloudResources: exports_external2.array(AppCloudResourceSchema2).default([]), + localCache: exports_external2.object({ + path: exports_external2.string().min(1).optional(), + pullMode: exports_external2.enum(["manual", "daemon", "ci", "none"]).default("manual"), + conflictPolicy: exports_external2.enum(["cloud_wins", "local_wins", "merge", "manual_review"]).default("manual_review") + }).strict().optional(), + forbiddenSharedRuntimes: exports_external2.array(exports_external2.string().min(1)).default([...FORBIDDEN_SHARED_CLOUD_RUNTIMES2]), + dependencies: exports_external2.array(exports_external2.string().min(1)).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const effectiveForbiddenRuntimes = new Set([...FORBIDDEN_SHARED_CLOUD_RUNTIMES2, ...value.forbiddenSharedRuntimes]); + if (effectiveForbiddenRuntimes.has(value.packageName)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "App-owned cloud manifests cannot be for a forbidden runtime", + path: ["packageName"] + }); + } + for (const runtime of FORBIDDEN_SHARED_CLOUD_RUNTIMES2) { + if (!value.forbiddenSharedRuntimes.includes(runtime)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `forbiddenSharedRuntimes must include ${runtime}`, + path: ["forbiddenSharedRuntimes"] + }); + } + } + for (const runtime of effectiveForbiddenRuntimes) { + if (value.dependencies.includes(runtime)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `App-owned cloud manifests cannot depend on ${runtime}`, + path: ["dependencies"] + }); + } + } + if (value.storageMode === "local_only" && value.cloudBoundary !== "none") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "local_only storage requires cloudBoundary none", + path: ["cloudBoundary"] + }); + } + if (value.storageMode === "app_owned_cloud" && value.cloudBoundary !== "app_owned") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "app_owned_cloud storage requires cloudBoundary app_owned", + path: ["cloudBoundary"] + }); + } + if (value.storageMode === "hybrid_local_cache") { + if (value.cloudBoundary !== "local_cache") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "hybrid_local_cache storage requires cloudBoundary local_cache", + path: ["cloudBoundary"] + }); + } + if (!value.localCache) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "hybrid_local_cache storage requires localCache settings", + path: ["localCache"] + }); + } + } + if (value.storageMode === "external_service") { + if (value.cloudBoundary !== "external_service") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "external_service storage requires cloudBoundary external_service", + path: ["cloudBoundary"] + }); + } + if (value.cloudResources.length > 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "external_service storage must not declare app-owned cloudResources", + path: ["cloudResources"] + }); + } + } + if ((value.storageMode === "app_owned_cloud" || value.storageMode === "hybrid_local_cache") && value.cloudResources.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Cloud-backed storage modes require explicit app-owned cloudResources", + path: ["cloudResources"] + }); + } + if (value.cloudBoundary === "none" && value.cloudResources.length > 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "cloudBoundary none cannot declare cloudResources", + path: ["cloudResources"] + }); + } + value.cloudResources.forEach((resource, index) => { + if (resource.ownerPackage !== value.packageName) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Cloud resources must be owned by the app package that declares the manifest", + path: ["cloudResources", index, "ownerPackage"] + }); + } + }); +}); +var NoCloudCheckKindSchema2 = exports_external2.enum([ + "package_manifest", + "lockfile", + "source_import", + "runtime_config", + "packed_artifact", + "published_metadata", + "app_cloud_manifest", + "remote_config", + "boundary_doc", + "other" +]); +var NoCloudFindingSeveritySchema2 = exports_external2.enum(["low", "medium", "high", "critical"]); +var NoCloudFindingSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: NoCloudCheckKindSchema2, + severity: NoCloudFindingSeveritySchema2, + path: exports_external2.string().min(1).optional(), + packageName: exports_external2.string().min(1).optional(), + pattern: exports_external2.string().min(1), + message: exports_external2.string().min(1), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict(); +var NoCloudCheckResultSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: NoCloudCheckKindSchema2, + status: ContractStatusSchema2, + target: exports_external2.string().min(1), + command: exports_external2.string().min(1).optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + findings: exports_external2.array(NoCloudFindingSchema2).default([]) +}).strict(); +var NoCloudEvidencePackSchema2 = contractBaseSchema2(SCHEMA_IDS2.noCloudEvidencePack).extend({ + subject: ResourcePointerSchema2, + packageName: exports_external2.string().min(1).optional(), + packageVersion: exports_external2.string().min(1).optional(), + generatedBy: ActorPointerSchema2.optional(), + scanMode: exports_external2.enum(["source_tree", "packed_artifact", "published_metadata", "runtime_config", "workspace", "ci"]), + status: ContractStatusSchema2, + verdict: exports_external2.enum(["passed", "failed", "warning", "not_run"]), + appCloudManifest: AppCloudManifestSchema2.optional(), + checks: exports_external2.array(NoCloudCheckResultSchema2).min(1), + findings: exports_external2.array(NoCloudFindingSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const allFindings = [...value.findings, ...value.checks.flatMap((check) => check.findings)]; + const blockingFindings = allFindings.filter((finding) => finding.severity === "high" || finding.severity === "critical"); + if (value.verdict === "passed") { + if (value.status !== "succeeded") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Passed no-cloud evidence requires succeeded status", path: ["status"] }); + } + if (blockingFindings.length > 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Passed no-cloud evidence cannot include high or critical findings", path: ["findings"] }); + } + if (value.checks.some((check) => check.status !== "succeeded")) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Passed no-cloud evidence requires every check to be succeeded", path: ["checks"] }); + } + } + if (value.verdict === "failed" && allFindings.length === 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Failed no-cloud evidence requires findings", path: ["findings"] }); + } + if (value.status === "succeeded" && value.checks.some((check) => check.status === "failed")) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Succeeded no-cloud evidence cannot contain failed checks", path: ["checks"] }); + } + value.checks.forEach((check, index) => { + const checkBlockingFindings = check.findings.filter((finding) => finding.severity === "high" || finding.severity === "critical"); + if (check.status === "succeeded" && checkBlockingFindings.length > 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Succeeded no-cloud checks cannot contain high or critical findings", + path: ["checks", index, "findings"] + }); + } + }); +}); +var ProofCheckResultSchema2 = exports_external2.object({ + checkId: exports_external2.string().min(1), + status: ContractStatusSchema2, + summary: exports_external2.string().min(1).optional(), + startedAt: OptionalTimestampSchema2, + finishedAt: OptionalTimestampSchema2, + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict(); +var ProofBundleSchema2 = contractBaseSchema2(SCHEMA_IDS2.proofBundle).extend({ + subject: ResourcePointerSchema2, + validationPlanRef: ResourcePointerSchema2.optional(), + status: ContractStatusSchema2, + verdict: exports_external2.enum(["passed", "failed", "inconclusive", "not_run"]).default("inconclusive"), + checks: exports_external2.array(ProofCheckResultSchema2).default([]), + verifier: ActorPointerSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + residualRisks: exports_external2.array(exports_external2.string().min(1)).default([]), + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown") +}).strict().superRefine((value, ctx) => { + if (value.verdict === "passed") { + if (value.status !== "succeeded") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles must have status succeeded", + path: ["status"] + }); + } + if (value.checks.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles require at least one check result", + path: ["checks"] + }); + } + value.checks.forEach((check, index) => { + if (check.status !== "succeeded") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles require all checks to have status succeeded", + path: ["checks", index, "status"] + }); + } + }); + const hasEvidence = value.evidenceRefs.length > 0 || value.checks.some((check) => check.evidenceRefs.length > 0); + if (!hasEvidence) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles require evidence", + path: ["evidenceRefs"] + }); + } + if (!value.verifier) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles require a verifier", + path: ["verifier"] + }); + } + } + if (value.verdict === "not_run" && value.checks.length > 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Not-run proof bundles cannot include check results", + path: ["checks"] + }); + } + if (value.verdict === "failed" && !value.checks.some((check) => check.status === "failed") && value.evidenceRefs.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Failed proof bundles require a failed check or evidence", + path: ["checks"] + }); + } +}); +var WorkRunSchema2 = contractBaseSchema2(SCHEMA_IDS2.workRun).extend({ + objective: exports_external2.string().min(1), + status: ContractStatusSchema2, + actor: ActorPointerSchema2, + traceId: exports_external2.string().min(1).optional(), + startedAt: OptionalTimestampSchema2, + finishedAt: OptionalTimestampSchema2, + constraints: exports_external2.array(exports_external2.string().min(1)).default([]), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + decisions: exports_external2.array(DecisionEnvelopeSchema2).default([]), + costEstimates: exports_external2.array(CostEstimateSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + validationPlanRefs: exports_external2.array(ResourcePointerSchema2).default([]), + proofBundleRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.startedAt && value.finishedAt && Date.parse(value.finishedAt) < Date.parse(value.startedAt)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "finishedAt must be after or equal to startedAt", + path: ["finishedAt"] + }); + } + if (TerminalStatuses2.has(value.status) && !value.finishedAt) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Terminal work runs require finishedAt", + path: ["finishedAt"] + }); + } + const hasEvidence = value.evidenceRefs.length > 0 || value.proofBundleRefs.length > 0; + if (value.status === "succeeded" && !hasEvidence) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Succeeded work runs require evidence or a proof bundle", + path: ["evidenceRefs"] + }); + } + if ((value.status === "failed" || value.status === "blocked") && !hasEvidence && value.decisions.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Failed or blocked work runs require evidence, a proof bundle, or a decision record", + path: ["evidenceRefs"] + }); + } +}); +var TrajectoryEventSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + at: TimestampSchema2, + kind: exports_external2.enum(["message", "tool_call", "command", "file_change", "error", "test", "decision", "verification", "status", "other"]), + summary: exports_external2.string().min(1), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + costEstimate: CostEstimateSchema2.optional() +}).strict(); +var AgentTrajectorySchema2 = contractBaseSchema2(SCHEMA_IDS2.agentTrajectory).extend({ + actor: ActorPointerSchema2, + workRunRef: ResourcePointerSchema2.optional(), + events: exports_external2.array(TrajectoryEventSchema2).default([]), + outcome: exports_external2.enum(["succeeded", "failed", "cancelled", "blocked", "unknown"]).default("unknown"), + proofBundleRef: ResourcePointerSchema2.optional() +}).strict(); +var SERVICE_CONTRACT_VERSION2 = "v1"; +var RepoClassSchema2 = exports_external2.enum(["library", "cli-with-store", "service", "saas"]); +var DEPLOYMENT_MODES2 = ["local", "self-hosted", "cloud"]; +var DeploymentModeSchema2 = exports_external2.enum(DEPLOYMENT_MODES2); +var ServiceSurfaceStatusSchema2 = exports_external2.enum(["supported", "deferred", "unsupported"]); +var ServiceAuthModeSchema2 = exports_external2.enum(["none", "local-only", "api-key", "session", "service-token", "custom"]); +var ServiceEndpointSchema2 = exports_external2.object({ + method: exports_external2.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]), + path: exports_external2.string().regex(/^\/[A-Za-z0-9_./:*-]*$/, "Endpoint paths must be absolute HTTP paths"), + public: exports_external2.boolean().default(false), + description: exports_external2.string().min(1).optional() +}).strict(); +var DeploymentReadinessGateSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: exports_external2.enum(["auth", "storage", "secret-ref", "migration", "health", "readiness", "redaction", "smoke", "operator", "other"]), + required: exports_external2.boolean().default(true), + command: exports_external2.string().min(1).optional(), + evidenceRef: EvidencePointerSchema2.optional(), + status: exports_external2.enum(["pending", "passed", "failed", "blocked", "deferred"]).default("pending"), + summary: exports_external2.string().min(1).optional() +}).strict().superRefine((value, ctx) => { + if ((value.status === "passed" || value.status === "failed" || value.status === "blocked") && !value.command && !value.evidenceRef && !value.summary) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Terminal readiness gates require command, evidenceRef, or summary", + path: ["status"] + }); + } +}); +var ServiceSurfaceSchema2 = exports_external2.object({ + name: exports_external2.string().min(1), + status: ServiceSurfaceStatusSchema2, + bin: exports_external2.string().min(1).optional(), + mcpBin: exports_external2.string().min(1).optional(), + authMode: ServiceAuthModeSchema2, + deploymentModes: exports_external2.array(DeploymentModeSchema2).min(1), + health: ServiceEndpointSchema2.optional(), + readiness: ServiceEndpointSchema2.optional(), + version: ServiceEndpointSchema2.optional(), + apiBasePath: exports_external2.string().regex(/^\/v[0-9]+$/, "Stable API base path must be /vN").optional(), + openApiPath: exports_external2.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(), + deferReason: exports_external2.string().min(1).optional(), + readinessGates: exports_external2.array(DeploymentReadinessGateSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "supported") { + if (!value.bin) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Supported service surfaces require a serve bin", path: ["bin"] }); + } + if (!value.health) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Supported service surfaces require a health endpoint", path: ["health"] }); + } + if (!value.version) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Supported service surfaces require a version endpoint", path: ["version"] }); + } + } + if ((value.status === "deferred" || value.status === "unsupported") && !value.deferReason) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Deferred or unsupported service surfaces require a deferReason", + path: ["deferReason"] + }); + } + if (value.health && value.health.path !== "/health") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Health endpoint must be /health", path: ["health", "path"] }); + } + if (value.readiness && value.readiness.path !== "/ready") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Readiness endpoint must be /ready", path: ["readiness", "path"] }); + } + if (value.version && value.version.path !== "/version") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Version endpoint must be /version", path: ["version", "path"] }); + } +}); +var STORAGE_MODES2 = ["local", "cloud"]; +var StorageModeSchema2 = exports_external2.enum(STORAGE_MODES2); +var AppNameSchema2 = exports_external2.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "App names must be lowercase dashed identifiers"); +var ALLOWED_BIN_SUFFIXES2 = [ + "", + "-cli", + "-mcp", + "-serve", + "-worker", + "-runner", + "-daemon", + "-migrate", + "-doctor" +]; +function allowedBinsForName2(name) { + return ALLOWED_BIN_SUFFIXES2.map((suffix) => `${name}${suffix}`); +} +function databaseUrlSecretRefFor2(name) { + return `hasna/oss/${name}/database-url`; +} +var StorageContractSchema2 = exports_external2.object({ + mode: StorageModeSchema2, + envPrefix: exports_external2.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(), + aliasEnvPrefix: exports_external2.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(), + databaseUrlSecretRef: exports_external2.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(), + sqlitePath: exports_external2.string().min(1).optional() +}).strict(); +var ServiceContractManifestSchema2 = exports_external2.object({ + $schema: exports_external2.string().min(1).optional(), + schema: exports_external2.literal(SCHEMA_IDS2.serviceContract), + name: AppNameSchema2, + class: RepoClassSchema2, + contractVersion: exports_external2.literal(SERVICE_CONTRACT_VERSION2), + kitVersion: exports_external2.string().min(1), + description: exports_external2.string().min(1).optional(), + bins: exports_external2.array(exports_external2.string().min(1)).default([]), + storage: StorageContractSchema2.optional(), + deploymentModes: exports_external2.array(DeploymentModeSchema2).default(["local"]), + serviceSurfaces: exports_external2.array(ServiceSurfaceSchema2).default([]), + metadata: MetadataSchema2.optional() +}).strict().superRefine((value, ctx) => { + const allowed = new Set(allowedBinsForName2(value.name)); + const seenBins = new Set; + for (const [index, bin] of value.bins.entries()) { + if (seenBins.has(bin)) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Duplicate bin declaration", path: ["bins", index] }); + } + seenBins.add(bin); + if (!allowed.has(bin)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `Bin "${bin}" is not allowlisted for app "${value.name}"; allowed: ${[...allowed].join(", ")}`, + path: ["bins", index] + }); + } + } + const hasBin = (suffix) => seenBins.has(`${value.name}${suffix}`); + if (value.storage) { + const upper = value.name.toUpperCase().replace(/-/g, "_"); + if (value.storage.envPrefix && value.storage.envPrefix !== `HASNA_${upper}_`) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `storage.envPrefix must be HASNA_${upper}_`, + path: ["storage", "envPrefix"] + }); + } + if (value.storage.databaseUrlSecretRef && value.storage.databaseUrlSecretRef !== databaseUrlSecretRefFor2(value.name)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `storage.databaseUrlSecretRef must be ${databaseUrlSecretRefFor2(value.name)}`, + path: ["storage", "databaseUrlSecretRef"] + }); + } + if (value.storage.mode === "cloud" && !value.storage.databaseUrlSecretRef) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)", + path: ["storage", "databaseUrlSecretRef"] + }); + } + } + if (value.class === "library") { + if (value.storage) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "library repos must not declare storage", path: ["storage"] }); + } + if (hasBin("-serve") || hasBin("-mcp")) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "library repos must not ship a -serve or -mcp bin", + path: ["bins"] + }); + } + } + if (value.class === "cli-with-store") { + if (!value.storage) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "cli-with-store repos must declare storage", path: ["storage"] }); + } else if (value.storage.mode === "local" && !value.storage.sqlitePath) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)", + path: ["storage", "sqlitePath"] + }); + } + if (!seenBins.has(value.name)) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: `cli-with-store repos must ship the "${value.name}" bin`, path: ["bins"] }); + } + } + if (value.class === "service") { + if (!value.storage) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "service repos must declare storage", path: ["storage"] }); + } + if (!hasBin("-serve")) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: `service repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); + } + if (value.serviceSurfaces.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "service repos must declare at least one service surface", + path: ["serviceSurfaces"] + }); + } + } + if (value.class === "saas") { + if (!value.storage) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "saas repos must declare storage", path: ["storage"] }); + } else if (value.storage.mode !== "cloud") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "saas repos must use cloud storage mode", path: ["storage", "mode"] }); + } + if (!hasBin("-serve")) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: `saas repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); + } + if (value.serviceSurfaces.length === 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "saas repos must declare at least one service surface", path: ["serviceSurfaces"] }); + } + } + for (const [index, surface] of value.serviceSurfaces.entries()) { + if (surface.bin && !seenBins.has(surface.bin)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `Service surface bin "${surface.bin}" must be declared in bins`, + path: ["serviceSurfaces", index, "bin"] + }); + } + if (surface.mcpBin && !seenBins.has(surface.mcpBin)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `Service surface MCP bin "${surface.mcpBin}" must be declared in bins`, + path: ["serviceSurfaces", index, "mcpBin"] + }); + } + for (const [modeIndex, deploymentMode] of surface.deploymentModes.entries()) { + if (!value.deploymentModes.includes(deploymentMode)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `Service surface deployment mode "${deploymentMode}" must be declared in deploymentModes`, + path: ["serviceSurfaces", index, "deploymentModes", modeIndex] + }); + } + } + } +}); +var HealthResponseSchema2 = exports_external2.object({ + status: exports_external2.enum(["ok", "degraded", "unavailable"]), + version: exports_external2.string().min(1), + mode: StorageModeSchema2 +}).strict(); +var ReadyResponseSchema2 = exports_external2.object({ + ready: exports_external2.boolean(), + reason: exports_external2.string().min(1).optional() +}).strict(); +var VersionResponseSchema2 = exports_external2.object({ + version: exports_external2.string().min(1) +}).strict(); +var CommsSeveritySchema2 = exports_external2.enum(["info", "notice", "breaking", "critical"]); +var CommsEventTypeSchema2 = exports_external2.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/, "Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"); +var COMMS_SEVERITY_TAGS2 = ["FREEZE", "UNFREEZE", "BREAKING", "CUTOVER", "POLICY", "RELEASE"]; +var CommsSeverityTagSchema2 = exports_external2.enum(COMMS_SEVERITY_TAGS2); +var CommsScopeSchema2 = exports_external2.enum(["fleet", "package", "machine"]); +var CommsEventEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsEventEnvelope).extend({ + type: CommsEventTypeSchema2, + severity: CommsSeveritySchema2, + scope: CommsScopeSchema2, + summary: exports_external2.string().min(1).optional(), + source: ActorPointerSchema2.optional(), + affected_packages: exports_external2.array(NonEmptyStringSchema2).default([]), + affected_machines: exports_external2.array(NonEmptyStringSchema2).default([]), + action_required: exports_external2.boolean().default(false), + ack_by: TimestampSchema2.optional(), + dedupe_key: NonEmptyStringSchema2, + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.scope === "package" && value.affected_packages.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Package-scoped comms events require affected_packages", + path: ["affected_packages"] + }); + } + if (value.scope === "machine" && value.affected_machines.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Machine-scoped comms events require affected_machines", + path: ["affected_machines"] + }); + } + if (value.ack_by && !value.action_required) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Comms events with an ack_by deadline require action_required", + path: ["action_required"] + }); + } + if (value.type === "fleet.freeze" || value.type === "fleet.unfreeze") { + if (value.severity !== "critical") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `${value.type} events are always critical`, + path: ["severity"] + }); + } + if (value.scope !== "fleet") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `${value.type} events are always fleet-scoped`, + path: ["scope"] + }); + } + if (!value.action_required) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `${value.type} events require action_required`, + path: ["action_required"] + }); + } + } +}); +var CommsChannelClassSchema2 = exports_external2.enum(["fleet", "package", "product", "loop-lane", "initiative", "personal"]); +var CommsChannelNoiseSchema2 = exports_external2.enum(["quiet", "work", "firehose"]); +var CommsUntilHorizonSchema2 = NonEmptyStringSchema2.refine((value) => /^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(value), "until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"); +var CommsChannelMetadataSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsChannelMetadata).extend({ + class: CommsChannelClassSchema2, + noise: CommsChannelNoiseSchema2.optional(), + owner: NonEmptyStringSchema2.optional(), + until: CommsUntilHorizonSchema2.optional(), + successor: NonEmptyStringSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (value.class === "initiative") { + if (!value.owner) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Initiative channels require an owner", + path: ["owner"] + }); + } + if (!value.until) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Initiative channels require an until horizon (date or gate id)", + path: ["until"] + }); + } + } +}); +var COMMS_SEVERITY_TAG_INFO2 = { + FREEZE: { defaultSeverity: "critical", allowedSeverities: ["critical"], requiredEventType: "fleet.freeze" }, + UNFREEZE: { defaultSeverity: "critical", allowedSeverities: ["critical"], requiredEventType: "fleet.unfreeze" }, + BREAKING: { defaultSeverity: "breaking", allowedSeverities: ["breaking"], requiredEventType: null }, + CUTOVER: { defaultSeverity: "notice", allowedSeverities: ["notice", "breaking"], requiredEventType: null }, + POLICY: { defaultSeverity: "breaking", allowedSeverities: ["notice", "breaking"], requiredEventType: null }, + RELEASE: { defaultSeverity: "info", allowedSeverities: ["info", "notice"], requiredEventType: null } +}; +var CommsMessageMetadataSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsMessageMetadata).extend({ + tag: CommsSeverityTagSchema2, + envelope: CommsEventEnvelopeSchema2 +}).strict().superRefine((value, ctx) => { + const info = COMMS_SEVERITY_TAG_INFO2[value.tag]; + if (!info.allowedSeverities.includes(value.envelope.severity)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `[${value.tag}] posts allow severities ${info.allowedSeverities.join(", ")}`, + path: ["envelope", "severity"] + }); + } + if (info.requiredEventType && value.envelope.type !== info.requiredEventType) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `[${value.tag}] posts require event type ${info.requiredEventType}`, + path: ["envelope", "type"] + }); + } + for (const [tag, tagInfo] of Object.entries(COMMS_SEVERITY_TAG_INFO2)) { + if (tagInfo.requiredEventType === value.envelope.type && value.tag !== tag) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `${value.envelope.type} events must use the [${tag}] tag`, + path: ["tag"] + }); + } + } +}); +var ContractSchemaRegistry2 = { + [SCHEMA_IDS2.actorRef]: ActorRefSchema2, + [SCHEMA_IDS2.resourceRef]: ResourceRefSchema2, + [SCHEMA_IDS2.evidenceRef]: EvidenceRefSchema2, + [SCHEMA_IDS2.workRun]: WorkRunSchema2, + [SCHEMA_IDS2.decisionEnvelope]: DecisionEnvelopeSchema2, + [SCHEMA_IDS2.costEstimate]: CostEstimateSchema2, + [SCHEMA_IDS2.capabilityCard]: CapabilityCardSchema2, + [SCHEMA_IDS2.providerLiveModeStandard]: ProviderLiveModeStandardSchema2, + [SCHEMA_IDS2.contextPack]: ContextPackSchema2, + [SCHEMA_IDS2.integrationRef]: IntegrationRefSchema2, + [SCHEMA_IDS2.projectManifest]: ProjectManifestSchema2, + [SCHEMA_IDS2.projectPanel]: ProjectPanelSchema2, + [SCHEMA_IDS2.projectSnapshot]: ProjectSnapshotSchema2, + [SCHEMA_IDS2.renderManifest]: RenderManifestSchema2, + [SCHEMA_IDS2.agentTrajectory]: AgentTrajectorySchema2, + [SCHEMA_IDS2.validationPlan]: ValidationPlanSchema2, + [SCHEMA_IDS2.proofBundle]: ProofBundleSchema2, + [SCHEMA_IDS2.scaffoldManifest]: ScaffoldManifestSchema2, + [SCHEMA_IDS2.scaffoldInstallRecord]: ScaffoldInstallRecordSchema2, + [SCHEMA_IDS2.appCloudManifest]: AppCloudManifestSchema2, + [SCHEMA_IDS2.noCloudEvidencePack]: NoCloudEvidencePackSchema2, + [SCHEMA_IDS2.serviceContract]: ServiceContractManifestSchema2, + [SCHEMA_IDS2.commsEventEnvelope]: CommsEventEnvelopeSchema2, + [SCHEMA_IDS2.commsChannelMetadata]: CommsChannelMetadataSchema2, + [SCHEMA_IDS2.commsMessageMetadata]: CommsMessageMetadataSchema2, + [SCHEMA_IDS2.app]: AppSchema2, + [SCHEMA_IDS2.release]: ReleaseSchema2, + [SCHEMA_IDS2.rolloutRecord]: RolloutRecordSchema2, + [SCHEMA_IDS2.announcement]: AnnouncementSchema2, + [SCHEMA_IDS2.audience]: AudienceSchema2 +}; +function envToken2(name) { + return name.toUpperCase().replace(/-/g, "_"); +} +function clientTransportEnvKeys2(name) { + const envSegment = envToken2(name); + return { + modeKeys: [ + `HASNA_${envSegment}_STORAGE_MODE`, + `HASNA_${envSegment}_MODE`, + `${envSegment}_STORAGE_MODE`, + `${envSegment}_MODE` + ], + apiUrlKeys: [`HASNA_${envSegment}_API_URL`, `${envSegment}_API_URL`], + apiKeyKeys: [`HASNA_${envSegment}_API_KEY`, `${envSegment}_API_KEY`] + }; +} +var IDEMPOTENT_METHODS2 = new Set(["GET", "HEAD", "PUT", "DELETE", "OPTIONS"]); + +// src/generated/storage-kit/mode.ts +var DEPRECATED_STORAGE_MODE_ALIASES2 = [ + "remote", + "hybrid", + "self_hosted" ]; -var API_URL_ENV_KEYS = ["HASNA_KNOWLEDGE_API_URL", "KNOWLEDGE_API_URL"]; -var API_KEY_ENV_KEYS = ["HASNA_KNOWLEDGE_API_KEY", "KNOWLEDGE_API_KEY"]; -function hasAnyEnv(env, keys) { - return keys.some((k) => (env[k] ?? "").trim().length > 0); +function normalizeStorageMode2(value) { + const normalized = value.trim().toLowerCase().replace(/-/g, "_"); + if (normalized === "local") + return { mode: "local", deprecatedAlias: null }; + if (normalized === "cloud") + return { mode: "cloud", deprecatedAlias: null }; + if (DEPRECATED_STORAGE_MODE_ALIASES2.includes(normalized)) { + return { mode: "cloud", deprecatedAlias: normalized }; + } + throw new Error(`Unknown storage mode: ${value}. Use local or cloud.`); +} +function envToken3(name) { + return name.toUpperCase().replace(/-/g, "_"); +} +function storageEnvKeys(name) { + const token = envToken3(name); + return { + modeKeys: [`HASNA_${token}_STORAGE_MODE`, `${token}_STORAGE_MODE`], + databaseUrlKeys: [`HASNA_${token}_DATABASE_URL`, `${token}_DATABASE_URL`] + }; +} +function firstEnv(env, keys) { + for (const key of keys) { + const value = env[key]?.trim(); + if (value) + return { key, value }; + } + return null; +} +function resolveStorageMode(name, env = process.env) { + const { modeKeys, databaseUrlKeys } = storageEnvKeys(name); + const dbHit = firstEnv(env, databaseUrlKeys); + const databaseUrlPresent = Boolean(dbHit); + const databaseUrlSource = dbHit ? dbHit.key : null; + const modeHit = firstEnv(env, modeKeys); + if (!modeHit) { + return { + mode: "local", + source: "default", + deprecatedAlias: null, + databaseUrlPresent, + databaseUrlSource, + warning: null + }; + } + const { mode, deprecatedAlias } = normalizeStorageMode2(modeHit.value); + const warnings = []; + if (deprecatedAlias) { + warnings.push(`Deprecated storage mode '${deprecatedAlias}' from ${modeHit.key} is treated as 'cloud'. Set ${modeKeys[0]}=cloud instead.`); + } + if (mode === "cloud" && !databaseUrlPresent) { + warnings.push(`cloud mode needs ${databaseUrlKeys[0]} (PURE REMOTE: reads and writes go to cloud Postgres).`); + } + if (modeHit.key !== modeKeys[0]) { + warnings.push(`Using alias env ${modeHit.key}; the canonical key is ${modeKeys[0]}.`); + } + return { + mode, + source: modeHit.key, + deprecatedAlias, + databaseUrlPresent, + databaseUrlSource, + warning: warnings.length > 0 ? warnings.join(" ") : null + }; +} +function resolveDatabaseUrl(name, env = process.env) { + const { databaseUrlKeys } = storageEnvKeys(name); + const hit = firstEnv(env, databaseUrlKeys); + return hit ? hit.value : null; +} +// src/generated/storage-kit/tls.ts +import { readFileSync as readFileSync2 } from "fs"; +function sslModeFromConnectionString(connectionString) { + const queryStart = connectionString.indexOf("?"); + const params = new URLSearchParams(queryStart === -1 ? "" : connectionString.slice(queryStart + 1)); + const sslmode = params.get("sslmode")?.trim().toLowerCase(); + if (sslmode) { + switch (sslmode) { + case "disable": + case "prefer": + case "require": + case "verify-ca": + case "verify-full": + return sslmode; + case "allow": + return "prefer"; + default: + throw new Error(`Unknown sslmode '${sslmode}' in connection string.`); + } + } + const ssl = params.get("ssl")?.trim().toLowerCase(); + if (ssl && ["1", "true", "yes", "on", "require"].includes(ssl)) + return "require"; + return "disable"; +} +function loadCaBundle(options) { + const env = options.env ?? process.env; + if (options.ca && options.ca.trim()) + return options.ca; + const path = options.caCertPath ?? env.PGSSLROOTCERT ?? env.NODE_EXTRA_CA_CERTS; + if (path && path.trim()) + return readFileSync2(path.trim(), "utf8"); + return null; +} +function resolveTlsConfig(connectionString, options = {}) { + const mode = sslModeFromConnectionString(connectionString); + if (mode === "disable") { + return; + } + const ca = loadCaBundle(options); + if (mode === "prefer" || mode === "require") { + return ca ? { rejectUnauthorized: false, ca } : { rejectUnauthorized: false }; + } + if (!ca) { + throw new Error(`sslmode=${mode} requires a CA bundle. Set PGSSLROOTCERT (or pass caCertPath/ca) to the ` + `Amazon RDS global bundle: https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem`); + } + return { rejectUnauthorized: true, ca }; +} +// src/generated/storage-kit/query.ts +function wrapExecutor(executor) { + return { + async query(sql, params) { + const result = await executor.query(sql, params); + return { rows: result.rows, rowCount: result.rowCount ?? result.rows.length }; + }, + async many(sql, params) { + const result = await executor.query(sql, params); + return result.rows; + }, + async get(sql, params) { + const result = await executor.query(sql, params); + return result.rows[0] ?? null; + }, + async one(sql, params) { + const result = await executor.query(sql, params); + if (result.rows.length !== 1) { + throw new Error(`Expected exactly one row, got ${result.rows.length}.`); + } + return result.rows[0]; + }, + async execute(sql, params) { + await executor.query(sql, params); + } + }; +} +function createQueryClient(pool) { + const base = wrapExecutor(pool); + return { + ...base, + pool, + async transaction(fn) { + const client = await pool.connect(); + try { + await client.query("BEGIN"); + const result = await fn(wrapExecutor(client)); + await client.query("COMMIT"); + return result; + } catch (error) { + try { + await client.query("ROLLBACK"); + } catch {} + throw error; + } finally { + client.release(); + } + }, + async close() { + await pool.end(); + } + }; +} +// src/generated/storage-kit/pool.ts +import pg from "pg"; +function createPgPool(options) { + const ssl = resolveTlsConfig(options.connectionString, { + ...options.ca !== undefined ? { ca: options.ca } : {}, + ...options.caCertPath !== undefined ? { caCertPath: options.caCertPath } : {}, + ...options.env !== undefined ? { env: options.env } : {} + }); + const config = { connectionString: options.connectionString }; + if (ssl !== undefined) + config.ssl = ssl; + if (options.max !== undefined) + config.max = options.max; + if (options.idleTimeoutMillis !== undefined) + config.idleTimeoutMillis = options.idleTimeoutMillis; + if (options.connectionTimeoutMillis !== undefined) + config.connectionTimeoutMillis = options.connectionTimeoutMillis; + if (options.applicationName !== undefined) + config.application_name = options.applicationName; + return new pg.Pool(config); +} +function createCloudPoolFromEnv(appName, options = {}) { + const env = options.env ?? process.env; + const resolution = resolveStorageMode(appName, env); + if (resolution.mode !== "cloud") { + throw new Error(`createCloudPoolFromEnv requires ${appName} storage mode 'cloud', got '${resolution.mode}'. ` + `Set HASNA_${appName.toUpperCase().replace(/-/g, "_")}_STORAGE_MODE=cloud.`); + } + const connectionString = resolveDatabaseUrl(appName, env); + if (!connectionString) { + throw new Error(`cloud mode for ${appName} needs a database URL. Set ` + `HASNA_${appName.toUpperCase().replace(/-/g, "_")}_DATABASE_URL.`); + } + const pool = createPgPool({ + connectionString, + ...options.ca !== undefined ? { ca: options.ca } : {}, + ...options.caCertPath !== undefined ? { caCertPath: options.caCertPath } : {}, + env, + ...options.max !== undefined ? { max: options.max } : {}, + ...options.idleTimeoutMillis !== undefined ? { idleTimeoutMillis: options.idleTimeoutMillis } : {}, + ...options.connectionTimeoutMillis !== undefined ? { connectionTimeoutMillis: options.connectionTimeoutMillis } : {}, + ...options.applicationName !== undefined ? { applicationName: options.applicationName } : {} + }); + return { + client: createQueryClient(pool), + connectionSource: resolution.databaseUrlSource ?? "unknown" + }; +} +// src/generated/storage-kit/migrations.ts +import { createHash } from "crypto"; +var DEFAULT_MIGRATION_LEDGER_TABLE = "schema_migrations"; +function checksumSql(sql) { + const normalized = sql.trim().replace(/\r\n/g, ` +`); + return `sha256:${createHash("sha256").update(normalized).digest("hex")}`; +} +function defineMigration(id, sql) { + return Object.freeze({ id, sql: sql.trim(), checksum: checksumSql(sql) }); +} +function hasTransaction(client) { + return typeof client.transaction === "function"; +} + +class MigrationLedger { + client; + migrations; + ledgerTable; + constructor(client, migrations, options = {}) { + this.client = client; + this.migrations = migrations; + this.ledgerTable = options.ledgerTable ?? DEFAULT_MIGRATION_LEDGER_TABLE; + const seen = new Set; + for (const migration of migrations) { + if (seen.has(migration.id)) + throw new Error(`Duplicate migration id: ${migration.id}`); + seen.add(migration.id); + } + } + async ensureLedger() { + await this.client.execute(`CREATE TABLE IF NOT EXISTS ${this.ledgerTable} ( + id TEXT PRIMARY KEY, + checksum TEXT NOT NULL, + applied_at TIMESTAMPTZ NOT NULL DEFAULT now() + )`); + } + async listApplied() { + await this.ensureLedger(); + return this.readApplied(); + } + async readApplied() { + const rows = await this.client.many(`SELECT id, checksum, applied_at FROM ${this.ledgerTable} ORDER BY id ASC`); + return rows.map((row) => ({ + id: row.id, + checksum: row.checksum, + appliedAt: row.applied_at instanceof Date ? row.applied_at.toISOString() : String(row.applied_at) + })); + } + buildPlan(applied) { + const known = new Set(this.migrations.map((m) => m.id)); + for (const row of applied) { + if (!known.has(row.id)) { + throw new Error(`Applied migration '${row.id}' is not recognized by this build (downgrade?).`); + } + } + const appliedById = new Map(applied.map((row) => [row.id, row])); + for (const migration of this.migrations) { + const existing = appliedById.get(migration.id); + if (existing && existing.checksum !== migration.checksum) { + throw new Error(`Migration checksum mismatch for '${migration.id}': the SQL changed after it was applied.`); + } + } + return this.migrations.map((migration) => ({ + migration, + state: appliedById.has(migration.id) ? "already_applied" : "pending" + })); + } + async migrate(opts = {}) { + const dryRun = opts.dryRun === true; + await this.ensureLedger(); + const applied = await this.readApplied(); + const plan = this.buildPlan(applied); + if (dryRun) + return { dryRun, applied, plan }; + for (const item of plan) { + if (item.state === "already_applied") + continue; + await this.applyPendingMigration(item.migration); + } + return { dryRun, applied: await this.readApplied(), plan }; + } + async applyPendingMigration(migration) { + const apply = async (client) => { + await client.execute(migration.sql); + await client.execute(`INSERT INTO ${this.ledgerTable} (id, checksum, applied_at) VALUES ($1, $2, now())`, [migration.id, migration.checksum]); + }; + if (hasTransaction(this.client)) { + await this.client.transaction(apply); + return; + } + await this.client.execute("BEGIN"); + try { + await apply(this.client); + await this.client.execute("COMMIT"); + } catch (error) { + try { + await this.client.execute("ROLLBACK"); + } catch {} + throw error; + } + } +} +function createMigrationLedger(client, migrations, options = {}) { + return new MigrationLedger(client, migrations, options); +} +// src/generated/storage-kit/health.ts +async function checkHealth(client) { + const start = Date.now(); + try { + await client.get("SELECT 1 AS ok"); + return { ok: true, latencyMs: Date.now() - start }; + } catch (error) { + return { + ok: false, + latencyMs: Date.now() - start, + error: error instanceof Error ? error.message : String(error) + }; + } +} +async function checkReady(client, migrations, options = {}) { + const start = Date.now(); + try { + const ledger = new MigrationLedger(client, migrations, options); + const result = await ledger.migrate({ dryRun: true }); + const pending = result.plan.filter((item) => item.state === "pending").map((item) => item.migration.id); + return { ok: pending.length === 0, latencyMs: Date.now() - start, pendingMigrations: pending }; + } catch (error) { + return { + ok: false, + latencyMs: Date.now() - start, + pendingMigrations: [], + error: error instanceof Error ? error.message : String(error) + }; + } +} + +// src/generated/storage-kit/index.ts +var KIT_VERSION = "0.4.0"; + +// src/net-guard.ts +var NETWORK_GUARD_ENV = "NODE_ENV"; + +class KnowledgeNetworkGuardError extends Error { + scheme; + port; + constructor(message, details) { + super(message); + this.name = "KnowledgeNetworkGuardError"; + this.scheme = details.scheme; + this.port = details.port; + } +} +function isNetworkGuardActive(env = process.env) { + return (env[NETWORK_GUARD_ENV] ?? "").trim().toLowerCase() === "test"; +} +function isIpv4Loopback(hostname) { + const parts = hostname.split("."); + if (parts.length !== 4) + return false; + if (!parts.every((part) => /^\d{1,3}$/.test(part) && Number(part) <= 255)) + return false; + return parts[0] === "127"; +} +function isLoopbackHostname(hostname) { + const host = hostname.trim().toLowerCase(); + if (host.length === 0) + return false; + if (host === "localhost" || host.endsWith(".localhost")) + return true; + if (isIpv4Loopback(host)) + return true; + if (!host.startsWith("[") || !host.endsWith("]")) + return false; + const v6 = host.slice(1, -1); + if (v6 === "::1" || /^(0:){7}1$/.test(v6)) + return true; + const tail = v6.split(":").pop() ?? ""; + if (/^(::ffff:|::)/.test(v6) && isIpv4Loopback(tail)) + return true; + return /^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(v6); +} +function targetUrl(input) { + if (typeof input === "string") + return input; + if (input instanceof URL) + return input.href; + return input.url; +} +function assertOutboundRequestAllowed(input, env = process.env) { + if (!isNetworkGuardActive(env)) + return; + const raw = targetUrl(input); + let url; + try { + url = new URL(raw); + } catch { + throw new KnowledgeNetworkGuardError(`knowledge: refused an outbound request with an unparseable target while ${NETWORK_GUARD_ENV}=test. ` + "Under test, only loopback requests are permitted.", { scheme: "unknown", port: "" }); + } + if (isLoopbackHostname(url.hostname)) + return; + throw new KnowledgeNetworkGuardError(`knowledge: refused a non-loopback ${url.protocol.replace(":", "")} request while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). This process resolved to the cloud backend under test, which means a " + "read or write was about to leave the machine and reach the live store. Select the mode explicitly " + `(${"HASNA_KNOWLEDGE_STORAGE_MODE"}=local) or point the API URL at 127.0.0.1 for a hermetic test.`, { scheme: url.protocol.replace(":", ""), port: url.port }); +} +function guardedFetch(input, init) { + assertOutboundRequestAllowed(input); + return fetch(input, init); } -function withInferredCloudMode(env) { - if (hasAnyEnv(env, MODE_ENV_KEYS)) - return env; - if (hasAnyEnv(env, API_URL_ENV_KEYS) && hasAnyEnv(env, API_KEY_ENV_KEYS)) { - return { ...env, HASNA_KNOWLEDGE_STORAGE_MODE: "cloud" }; + +// src/knowledge-mode.ts +var KNOWLEDGE_APP_SLUG = "knowledge"; +var ENV_KEYS = clientTransportEnvKeys2(KNOWLEDGE_APP_SLUG); +var KNOWLEDGE_MODE_ENV_KEYS = ENV_KEYS.modeKeys; +var KNOWLEDGE_API_URL_ENV_KEYS = ENV_KEYS.apiUrlKeys; +var KNOWLEDGE_API_KEY_ENV_KEYS = ENV_KEYS.apiKeyKeys; +function presentEnvNames(env, keys) { + return keys.filter((key) => (env[key] ?? "").trim().length > 0); +} +function resolveKnowledgeModeSelection(env = process.env) { + const pointers = [ + ...presentEnvNames(env, KNOWLEDGE_API_URL_ENV_KEYS), + ...presentEnvNames(env, KNOWLEDGE_API_KEY_ENV_KEYS) + ]; + const canonicalModeKey = KNOWLEDGE_MODE_ENV_KEYS[0]; + for (const name of KNOWLEDGE_MODE_ENV_KEYS) { + const value = env[name]?.trim(); + if (!value) + continue; + let normalized; + try { + normalized = normalizeStorageMode2(value); + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + throw new Error(`knowledge: ${name}=${value} is not a valid mode. ${message}`); + } + const warnings = []; + if (normalized.deprecatedAlias) { + warnings.push(`Deprecated mode '${normalized.deprecatedAlias}' from ${name} is treated as 'cloud'. Prefer ${canonicalModeKey}=cloud.`); + } + if (name !== canonicalModeKey) { + warnings.push(`Using alias env ${name}; the canonical key is ${canonicalModeKey}.`); + } + if (normalized.mode === "local" && pointers.length > 0) { + warnings.push(`${name}=local pins the on-box store; ${pointers.join(", ")} are set but ignored.`); + } + return { + mode: normalized.mode, + source: { kind: "env", name, value }, + pointer_env_present: pointers, + pointer_ignored: normalized.mode === "local" && pointers.length > 0, + warning: warnings.length > 0 ? warnings.join(" ") : null + }; } - return env; + return { + mode: "local", + source: { kind: "default", name: null, value: null }, + pointer_env_present: pointers, + pointer_ignored: pointers.length > 0, + warning: pointers.length > 0 ? `${pointers.join(", ")} are set but do NOT select a backend: mode is local by default. ` + `Set ${canonicalModeKey}=cloud to route reads and writes to the API, or unset those vars to silence this note.` : null + }; +} +function pinnedTransportEnv(env, mode2) { + return { ...env, [KNOWLEDGE_MODE_ENV_KEYS[0]]: mode2 }; +} +function knowledgeModeReport(env = process.env) { + const resolution = resolveKnowledgeModeSelection(env); + return { + ...resolution, + store_transport: resolution.mode === "cloud" ? "api" : "local", + api_key_present: presentEnvNames(env, KNOWLEDGE_API_KEY_ENV_KEYS).length > 0, + network_guard_active: isNetworkGuardActive(env) + }; +} + +// src/cloud-store.ts +function transportOverrides(env) { + return { + fetchImpl: guardedFetch, + ...isNetworkGuardActive(env) ? { retry: false } : {} + }; } var KNOWLEDGE_RESOURCE = "notes"; function toQuery(options) { @@ -21520,8 +28022,8 @@ function wrap(client) { baseUrl: client.baseUrl, async list(options = {}) { const wantLimit = options.limit ?? 200; - const query = toQuery({ ...options, limit: Math.min(Math.max(wantLimit, 1), 200) }); - const res = await client.list(KNOWLEDGE_RESOURCE, { query }); + const query2 = toQuery({ ...options, limit: Math.min(Math.max(wantLimit, 1), 200) }); + const res = await client.list(KNOWLEDGE_RESOURCE, { query: query2 }); let items = res.items; if (options.archivedOnly) items = items.filter((x) => x.archived === true); @@ -21566,13 +28068,17 @@ function isNotFound(error) { return Boolean(error && typeof error === "object" && error.status === 404); } function resolveKnowledgeCloudStore(env = process.env) { - const resolved = resolveStorageClient(KNOWLEDGE_APP_SLUG, withInferredCloudMode(env)); + if (resolveKnowledgeModeSelection(env).mode !== "cloud") + return null; + const resolved = resolveStorageClient(KNOWLEDGE_APP_SLUG, pinnedTransportEnv(env, "cloud"), transportOverrides(env)); if (resolved.transport !== "cloud-http") return null; return wrap(resolved.client); } function isKnowledgeApiMode(env = process.env) { - return resolveStorageClient(KNOWLEDGE_APP_SLUG, withInferredCloudMode(env)).transport === "cloud-http"; + if (resolveKnowledgeModeSelection(env).mode !== "cloud") + return false; + return resolveStorageClient(KNOWLEDGE_APP_SLUG, pinnedTransportEnv(env, "cloud"), transportOverrides(env)).transport === "cloud-http"; } async function fetchAllCloudItems(store) { const pageSize = 200; @@ -22195,7 +28701,7 @@ function readEnv(name) { const value = process.env[name]?.trim(); return value || undefined; } -function normalizeStorageMode2(value) { +function normalizeStorageMode3(value) { const normalized = value?.trim().toLowerCase().replace(/-/g, "_"); if (normalized === "local") return "local"; @@ -22215,9 +28721,9 @@ function openScopedDb(options = {}) { }; } function getStorageMode() { - const mode = normalizeStorageMode2(readEnv(KNOWLEDGE_STORAGE_MODE_ENV)) ?? normalizeStorageMode2(readEnv(KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV)); - if (mode) - return mode; + const mode2 = normalizeStorageMode3(readEnv(KNOWLEDGE_STORAGE_MODE_ENV)) ?? normalizeStorageMode3(readEnv(KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV)); + if (mode2) + return mode2; return "local"; } function getSyncMetaAll(options = {}) { @@ -22271,369 +28777,6 @@ function ensureSyncMetaTable(db) { ) `); } -// src/generated/storage-kit/mode.ts -var DEPRECATED_STORAGE_MODE_ALIASES2 = [ - "remote", - "hybrid", - "self_hosted" -]; -function normalizeStorageMode3(value) { - const normalized = value.trim().toLowerCase().replace(/-/g, "_"); - if (normalized === "local") - return { mode: "local", deprecatedAlias: null }; - if (normalized === "cloud") - return { mode: "cloud", deprecatedAlias: null }; - if (DEPRECATED_STORAGE_MODE_ALIASES2.includes(normalized)) { - return { mode: "cloud", deprecatedAlias: normalized }; - } - throw new Error(`Unknown storage mode: ${value}. Use local or cloud.`); -} -function envToken2(name) { - return name.toUpperCase().replace(/-/g, "_"); -} -function storageEnvKeys(name) { - const token = envToken2(name); - return { - modeKeys: [`HASNA_${token}_STORAGE_MODE`, `${token}_STORAGE_MODE`], - databaseUrlKeys: [`HASNA_${token}_DATABASE_URL`, `${token}_DATABASE_URL`] - }; -} -function firstEnv(env, keys) { - for (const key of keys) { - const value = env[key]?.trim(); - if (value) - return { key, value }; - } - return null; -} -function resolveStorageMode(name, env = process.env) { - const { modeKeys, databaseUrlKeys } = storageEnvKeys(name); - const dbHit = firstEnv(env, databaseUrlKeys); - const databaseUrlPresent = Boolean(dbHit); - const databaseUrlSource = dbHit ? dbHit.key : null; - const modeHit = firstEnv(env, modeKeys); - if (!modeHit) { - return { - mode: "local", - source: "default", - deprecatedAlias: null, - databaseUrlPresent, - databaseUrlSource, - warning: null - }; - } - const { mode, deprecatedAlias } = normalizeStorageMode3(modeHit.value); - const warnings = []; - if (deprecatedAlias) { - warnings.push(`Deprecated storage mode '${deprecatedAlias}' from ${modeHit.key} is treated as 'cloud'. Set ${modeKeys[0]}=cloud instead.`); - } - if (mode === "cloud" && !databaseUrlPresent) { - warnings.push(`cloud mode needs ${databaseUrlKeys[0]} (PURE REMOTE: reads and writes go to cloud Postgres).`); - } - if (modeHit.key !== modeKeys[0]) { - warnings.push(`Using alias env ${modeHit.key}; the canonical key is ${modeKeys[0]}.`); - } - return { - mode, - source: modeHit.key, - deprecatedAlias, - databaseUrlPresent, - databaseUrlSource, - warning: warnings.length > 0 ? warnings.join(" ") : null - }; -} -function resolveDatabaseUrl(name, env = process.env) { - const { databaseUrlKeys } = storageEnvKeys(name); - const hit = firstEnv(env, databaseUrlKeys); - return hit ? hit.value : null; -} -// src/generated/storage-kit/tls.ts -import { readFileSync as readFileSync2 } from "fs"; -function sslModeFromConnectionString(connectionString) { - const queryStart = connectionString.indexOf("?"); - const params = new URLSearchParams(queryStart === -1 ? "" : connectionString.slice(queryStart + 1)); - const sslmode = params.get("sslmode")?.trim().toLowerCase(); - if (sslmode) { - switch (sslmode) { - case "disable": - case "prefer": - case "require": - case "verify-ca": - case "verify-full": - return sslmode; - case "allow": - return "prefer"; - default: - throw new Error(`Unknown sslmode '${sslmode}' in connection string.`); - } - } - const ssl = params.get("ssl")?.trim().toLowerCase(); - if (ssl && ["1", "true", "yes", "on", "require"].includes(ssl)) - return "require"; - return "disable"; -} -function loadCaBundle(options) { - const env = options.env ?? process.env; - if (options.ca && options.ca.trim()) - return options.ca; - const path = options.caCertPath ?? env.PGSSLROOTCERT ?? env.NODE_EXTRA_CA_CERTS; - if (path && path.trim()) - return readFileSync2(path.trim(), "utf8"); - return null; -} -function resolveTlsConfig(connectionString, options = {}) { - const mode = sslModeFromConnectionString(connectionString); - if (mode === "disable") { - return; - } - const ca = loadCaBundle(options); - if (mode === "prefer" || mode === "require") { - return ca ? { rejectUnauthorized: false, ca } : { rejectUnauthorized: false }; - } - if (!ca) { - throw new Error(`sslmode=${mode} requires a CA bundle. Set PGSSLROOTCERT (or pass caCertPath/ca) to the ` + `Amazon RDS global bundle: https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem`); - } - return { rejectUnauthorized: true, ca }; -} -// src/generated/storage-kit/query.ts -function wrapExecutor(executor) { - return { - async query(sql, params) { - const result = await executor.query(sql, params); - return { rows: result.rows, rowCount: result.rowCount ?? result.rows.length }; - }, - async many(sql, params) { - const result = await executor.query(sql, params); - return result.rows; - }, - async get(sql, params) { - const result = await executor.query(sql, params); - return result.rows[0] ?? null; - }, - async one(sql, params) { - const result = await executor.query(sql, params); - if (result.rows.length !== 1) { - throw new Error(`Expected exactly one row, got ${result.rows.length}.`); - } - return result.rows[0]; - }, - async execute(sql, params) { - await executor.query(sql, params); - } - }; -} -function createQueryClient(pool) { - const base = wrapExecutor(pool); - return { - ...base, - pool, - async transaction(fn) { - const client = await pool.connect(); - try { - await client.query("BEGIN"); - const result = await fn(wrapExecutor(client)); - await client.query("COMMIT"); - return result; - } catch (error) { - try { - await client.query("ROLLBACK"); - } catch {} - throw error; - } finally { - client.release(); - } - }, - async close() { - await pool.end(); - } - }; -} -// src/generated/storage-kit/pool.ts -import pg from "pg"; -function createPgPool(options) { - const ssl = resolveTlsConfig(options.connectionString, { - ...options.ca !== undefined ? { ca: options.ca } : {}, - ...options.caCertPath !== undefined ? { caCertPath: options.caCertPath } : {}, - ...options.env !== undefined ? { env: options.env } : {} - }); - const config = { connectionString: options.connectionString }; - if (ssl !== undefined) - config.ssl = ssl; - if (options.max !== undefined) - config.max = options.max; - if (options.idleTimeoutMillis !== undefined) - config.idleTimeoutMillis = options.idleTimeoutMillis; - if (options.connectionTimeoutMillis !== undefined) - config.connectionTimeoutMillis = options.connectionTimeoutMillis; - if (options.applicationName !== undefined) - config.application_name = options.applicationName; - return new pg.Pool(config); -} -function createCloudPoolFromEnv(appName, options = {}) { - const env = options.env ?? process.env; - const resolution = resolveStorageMode(appName, env); - if (resolution.mode !== "cloud") { - throw new Error(`createCloudPoolFromEnv requires ${appName} storage mode 'cloud', got '${resolution.mode}'. ` + `Set HASNA_${appName.toUpperCase().replace(/-/g, "_")}_STORAGE_MODE=cloud.`); - } - const connectionString = resolveDatabaseUrl(appName, env); - if (!connectionString) { - throw new Error(`cloud mode for ${appName} needs a database URL. Set ` + `HASNA_${appName.toUpperCase().replace(/-/g, "_")}_DATABASE_URL.`); - } - const pool = createPgPool({ - connectionString, - ...options.ca !== undefined ? { ca: options.ca } : {}, - ...options.caCertPath !== undefined ? { caCertPath: options.caCertPath } : {}, - env, - ...options.max !== undefined ? { max: options.max } : {}, - ...options.idleTimeoutMillis !== undefined ? { idleTimeoutMillis: options.idleTimeoutMillis } : {}, - ...options.connectionTimeoutMillis !== undefined ? { connectionTimeoutMillis: options.connectionTimeoutMillis } : {}, - ...options.applicationName !== undefined ? { applicationName: options.applicationName } : {} - }); - return { - client: createQueryClient(pool), - connectionSource: resolution.databaseUrlSource ?? "unknown" - }; -} -// src/generated/storage-kit/migrations.ts -import { createHash } from "crypto"; -var DEFAULT_MIGRATION_LEDGER_TABLE = "schema_migrations"; -function checksumSql(sql) { - const normalized = sql.trim().replace(/\r\n/g, ` -`); - return `sha256:${createHash("sha256").update(normalized).digest("hex")}`; -} -function defineMigration(id, sql) { - return Object.freeze({ id, sql: sql.trim(), checksum: checksumSql(sql) }); -} -function hasTransaction(client) { - return typeof client.transaction === "function"; -} - -class MigrationLedger { - client; - migrations; - ledgerTable; - constructor(client, migrations, options = {}) { - this.client = client; - this.migrations = migrations; - this.ledgerTable = options.ledgerTable ?? DEFAULT_MIGRATION_LEDGER_TABLE; - const seen = new Set; - for (const migration of migrations) { - if (seen.has(migration.id)) - throw new Error(`Duplicate migration id: ${migration.id}`); - seen.add(migration.id); - } - } - async ensureLedger() { - await this.client.execute(`CREATE TABLE IF NOT EXISTS ${this.ledgerTable} ( - id TEXT PRIMARY KEY, - checksum TEXT NOT NULL, - applied_at TIMESTAMPTZ NOT NULL DEFAULT now() - )`); - } - async listApplied() { - await this.ensureLedger(); - return this.readApplied(); - } - async readApplied() { - const rows = await this.client.many(`SELECT id, checksum, applied_at FROM ${this.ledgerTable} ORDER BY id ASC`); - return rows.map((row) => ({ - id: row.id, - checksum: row.checksum, - appliedAt: row.applied_at instanceof Date ? row.applied_at.toISOString() : String(row.applied_at) - })); - } - buildPlan(applied) { - const known = new Set(this.migrations.map((m) => m.id)); - for (const row of applied) { - if (!known.has(row.id)) { - throw new Error(`Applied migration '${row.id}' is not recognized by this build (downgrade?).`); - } - } - const appliedById = new Map(applied.map((row) => [row.id, row])); - for (const migration of this.migrations) { - const existing = appliedById.get(migration.id); - if (existing && existing.checksum !== migration.checksum) { - throw new Error(`Migration checksum mismatch for '${migration.id}': the SQL changed after it was applied.`); - } - } - return this.migrations.map((migration) => ({ - migration, - state: appliedById.has(migration.id) ? "already_applied" : "pending" - })); - } - async migrate(opts = {}) { - const dryRun = opts.dryRun === true; - await this.ensureLedger(); - const applied = await this.readApplied(); - const plan = this.buildPlan(applied); - if (dryRun) - return { dryRun, applied, plan }; - for (const item of plan) { - if (item.state === "already_applied") - continue; - await this.applyPendingMigration(item.migration); - } - return { dryRun, applied: await this.readApplied(), plan }; - } - async applyPendingMigration(migration) { - const apply = async (client) => { - await client.execute(migration.sql); - await client.execute(`INSERT INTO ${this.ledgerTable} (id, checksum, applied_at) VALUES ($1, $2, now())`, [migration.id, migration.checksum]); - }; - if (hasTransaction(this.client)) { - await this.client.transaction(apply); - return; - } - await this.client.execute("BEGIN"); - try { - await apply(this.client); - await this.client.execute("COMMIT"); - } catch (error) { - try { - await this.client.execute("ROLLBACK"); - } catch {} - throw error; - } - } -} -function createMigrationLedger(client, migrations, options = {}) { - return new MigrationLedger(client, migrations, options); -} -// src/generated/storage-kit/health.ts -async function checkHealth(client) { - const start = Date.now(); - try { - await client.get("SELECT 1 AS ok"); - return { ok: true, latencyMs: Date.now() - start }; - } catch (error) { - return { - ok: false, - latencyMs: Date.now() - start, - error: error instanceof Error ? error.message : String(error) - }; - } -} -async function checkReady(client, migrations, options = {}) { - const start = Date.now(); - try { - const ledger = new MigrationLedger(client, migrations, options); - const result = await ledger.migrate({ dryRun: true }); - const pending = result.plan.filter((item) => item.state === "pending").map((item) => item.migration.id); - return { ok: pending.length === 0, latencyMs: Date.now() - start, pendingMigrations: pending }; - } catch (error) { - return { - ok: false, - latencyMs: Date.now() - start, - pendingMigrations: [], - error: error instanceof Error ? error.message : String(error) - }; - } -} - -// src/generated/storage-kit/index.ts -var KIT_VERSION = "0.4.0"; - // src/db/remote-storage.ts var KNOWLEDGE_APP_NAME = "knowledge"; function createKnowledgeCloudClient() { @@ -37731,131 +43874,131 @@ function openGlobalWiki(options) { return createAppWikiScope({ ...options, scope: "global", allowGlobal: true }); } // node_modules/@hasna/contracts/dist/index.js -var __defProp3 = Object.defineProperty; -var __returnValue3 = (v) => v; -function __exportSetter3(name, newValue) { - this[name] = __returnValue3.bind(null, newValue); +var __defProp4 = Object.defineProperty; +var __returnValue4 = (v) => v; +function __exportSetter4(name, newValue) { + this[name] = __returnValue4.bind(null, newValue); } -var __export3 = (target, all) => { +var __export4 = (target, all) => { for (var name in all) - __defProp3(target, name, { + __defProp4(target, name, { get: all[name], enumerable: true, configurable: true, - set: __exportSetter3.bind(all, name) + set: __exportSetter4.bind(all, name) }); }; -var exports_external3 = {}; -__export3(exports_external3, { - void: () => voidType2, - util: () => util2, - unknown: () => unknownType2, - union: () => unionType2, - undefined: () => undefinedType2, - tuple: () => tupleType2, - transformer: () => effectsType2, - symbol: () => symbolType2, - string: () => stringType2, - strictObject: () => strictObjectType2, - setErrorMap: () => setErrorMap3, - set: () => setType2, - record: () => recordType2, - quotelessJson: () => quotelessJson2, - promise: () => promiseType2, - preprocess: () => preprocessType2, - pipeline: () => pipelineType2, - ostring: () => ostring2, - optional: () => optionalType2, - onumber: () => onumber2, - oboolean: () => oboolean2, - objectUtil: () => objectUtil2, - object: () => objectType2, - number: () => numberType2, - nullable: () => nullableType2, - null: () => nullType2, - never: () => neverType2, - nativeEnum: () => nativeEnumType2, - nan: () => nanType2, - map: () => mapType2, - makeIssue: () => makeIssue2, - literal: () => literalType2, - lazy: () => lazyType2, - late: () => late2, - isValid: () => isValid2, - isDirty: () => isDirty2, - isAsync: () => isAsync2, - isAborted: () => isAborted2, - intersection: () => intersectionType2, - instanceof: () => instanceOfType2, - getParsedType: () => getParsedType3, - getErrorMap: () => getErrorMap3, - function: () => functionType2, - enum: () => enumType2, - effect: () => effectsType2, - discriminatedUnion: () => discriminatedUnionType2, - defaultErrorMap: () => en_default3, - datetimeRegex: () => datetimeRegex2, - date: () => dateType2, - custom: () => custom3, - coerce: () => coerce2, - boolean: () => booleanType2, - bigint: () => bigIntType2, - array: () => arrayType2, - any: () => anyType2, - addIssueToContext: () => addIssueToContext2, - ZodVoid: () => ZodVoid3, - ZodUnknown: () => ZodUnknown3, - ZodUnion: () => ZodUnion3, - ZodUndefined: () => ZodUndefined3, - ZodType: () => ZodType3, - ZodTuple: () => ZodTuple3, - ZodTransformer: () => ZodEffects2, - ZodSymbol: () => ZodSymbol3, - ZodString: () => ZodString3, - ZodSet: () => ZodSet3, - ZodSchema: () => ZodType3, - ZodRecord: () => ZodRecord3, - ZodReadonly: () => ZodReadonly3, - ZodPromise: () => ZodPromise3, - ZodPipeline: () => ZodPipeline2, - ZodParsedType: () => ZodParsedType2, - ZodOptional: () => ZodOptional3, - ZodObject: () => ZodObject3, - ZodNumber: () => ZodNumber3, - ZodNullable: () => ZodNullable3, - ZodNull: () => ZodNull3, - ZodNever: () => ZodNever3, - ZodNativeEnum: () => ZodNativeEnum2, - ZodNaN: () => ZodNaN3, - ZodMap: () => ZodMap3, - ZodLiteral: () => ZodLiteral3, - ZodLazy: () => ZodLazy3, - ZodIssueCode: () => ZodIssueCode3, - ZodIntersection: () => ZodIntersection3, - ZodFunction: () => ZodFunction3, - ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind3, - ZodError: () => ZodError3, - ZodEnum: () => ZodEnum3, - ZodEffects: () => ZodEffects2, - ZodDiscriminatedUnion: () => ZodDiscriminatedUnion3, - ZodDefault: () => ZodDefault3, - ZodDate: () => ZodDate3, - ZodCatch: () => ZodCatch3, - ZodBranded: () => ZodBranded2, - ZodBoolean: () => ZodBoolean3, - ZodBigInt: () => ZodBigInt3, - ZodArray: () => ZodArray3, - ZodAny: () => ZodAny3, - Schema: () => ZodType3, - ParseStatus: () => ParseStatus2, - OK: () => OK2, - NEVER: () => NEVER3, - INVALID: () => INVALID2, - EMPTY_PATH: () => EMPTY_PATH2, - DIRTY: () => DIRTY2, - BRAND: () => BRAND2 +var exports_external4 = {}; +__export4(exports_external4, { + void: () => voidType3, + util: () => util3, + unknown: () => unknownType3, + union: () => unionType3, + undefined: () => undefinedType3, + tuple: () => tupleType3, + transformer: () => effectsType3, + symbol: () => symbolType3, + string: () => stringType3, + strictObject: () => strictObjectType3, + setErrorMap: () => setErrorMap4, + set: () => setType3, + record: () => recordType3, + quotelessJson: () => quotelessJson3, + promise: () => promiseType3, + preprocess: () => preprocessType3, + pipeline: () => pipelineType3, + ostring: () => ostring3, + optional: () => optionalType3, + onumber: () => onumber3, + oboolean: () => oboolean3, + objectUtil: () => objectUtil3, + object: () => objectType3, + number: () => numberType3, + nullable: () => nullableType3, + null: () => nullType3, + never: () => neverType3, + nativeEnum: () => nativeEnumType3, + nan: () => nanType3, + map: () => mapType3, + makeIssue: () => makeIssue3, + literal: () => literalType3, + lazy: () => lazyType3, + late: () => late3, + isValid: () => isValid3, + isDirty: () => isDirty3, + isAsync: () => isAsync3, + isAborted: () => isAborted3, + intersection: () => intersectionType3, + instanceof: () => instanceOfType3, + getParsedType: () => getParsedType4, + getErrorMap: () => getErrorMap4, + function: () => functionType3, + enum: () => enumType3, + effect: () => effectsType3, + discriminatedUnion: () => discriminatedUnionType3, + defaultErrorMap: () => en_default4, + datetimeRegex: () => datetimeRegex3, + date: () => dateType3, + custom: () => custom4, + coerce: () => coerce3, + boolean: () => booleanType3, + bigint: () => bigIntType3, + array: () => arrayType3, + any: () => anyType3, + addIssueToContext: () => addIssueToContext3, + ZodVoid: () => ZodVoid4, + ZodUnknown: () => ZodUnknown4, + ZodUnion: () => ZodUnion4, + ZodUndefined: () => ZodUndefined4, + ZodType: () => ZodType4, + ZodTuple: () => ZodTuple4, + ZodTransformer: () => ZodEffects3, + ZodSymbol: () => ZodSymbol4, + ZodString: () => ZodString4, + ZodSet: () => ZodSet4, + ZodSchema: () => ZodType4, + ZodRecord: () => ZodRecord4, + ZodReadonly: () => ZodReadonly4, + ZodPromise: () => ZodPromise4, + ZodPipeline: () => ZodPipeline3, + ZodParsedType: () => ZodParsedType3, + ZodOptional: () => ZodOptional4, + ZodObject: () => ZodObject4, + ZodNumber: () => ZodNumber4, + ZodNullable: () => ZodNullable4, + ZodNull: () => ZodNull4, + ZodNever: () => ZodNever4, + ZodNativeEnum: () => ZodNativeEnum3, + ZodNaN: () => ZodNaN4, + ZodMap: () => ZodMap4, + ZodLiteral: () => ZodLiteral4, + ZodLazy: () => ZodLazy4, + ZodIssueCode: () => ZodIssueCode4, + ZodIntersection: () => ZodIntersection4, + ZodFunction: () => ZodFunction4, + ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind4, + ZodError: () => ZodError4, + ZodEnum: () => ZodEnum4, + ZodEffects: () => ZodEffects3, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion4, + ZodDefault: () => ZodDefault4, + ZodDate: () => ZodDate4, + ZodCatch: () => ZodCatch4, + ZodBranded: () => ZodBranded3, + ZodBoolean: () => ZodBoolean4, + ZodBigInt: () => ZodBigInt4, + ZodArray: () => ZodArray4, + ZodAny: () => ZodAny4, + Schema: () => ZodType4, + ParseStatus: () => ParseStatus3, + OK: () => OK3, + NEVER: () => NEVER4, + INVALID: () => INVALID3, + EMPTY_PATH: () => EMPTY_PATH3, + DIRTY: () => DIRTY3, + BRAND: () => BRAND3 }); -var util2; +var util3; (function(util22) { util22.assertEqual = (_) => {}; function assertIs2(_arg) {} @@ -37911,8 +44054,8 @@ var util2; } return value; }; -})(util2 || (util2 = {})); -var objectUtil2; +})(util3 || (util3 = {})); +var objectUtil3; (function(objectUtil22) { objectUtil22.mergeShapes = (first, second) => { return { @@ -37920,8 +44063,8 @@ var objectUtil2; ...second }; }; -})(objectUtil2 || (objectUtil2 = {})); -var ZodParsedType2 = util2.arrayToEnum([ +})(objectUtil3 || (objectUtil3 = {})); +var ZodParsedType3 = util3.arrayToEnum([ "string", "nan", "number", @@ -37943,48 +44086,48 @@ var ZodParsedType2 = util2.arrayToEnum([ "map", "set" ]); -var getParsedType3 = (data) => { +var getParsedType4 = (data) => { const t = typeof data; switch (t) { case "undefined": - return ZodParsedType2.undefined; + return ZodParsedType3.undefined; case "string": - return ZodParsedType2.string; + return ZodParsedType3.string; case "number": - return Number.isNaN(data) ? ZodParsedType2.nan : ZodParsedType2.number; + return Number.isNaN(data) ? ZodParsedType3.nan : ZodParsedType3.number; case "boolean": - return ZodParsedType2.boolean; + return ZodParsedType3.boolean; case "function": - return ZodParsedType2.function; + return ZodParsedType3.function; case "bigint": - return ZodParsedType2.bigint; + return ZodParsedType3.bigint; case "symbol": - return ZodParsedType2.symbol; + return ZodParsedType3.symbol; case "object": if (Array.isArray(data)) { - return ZodParsedType2.array; + return ZodParsedType3.array; } if (data === null) { - return ZodParsedType2.null; + return ZodParsedType3.null; } if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { - return ZodParsedType2.promise; + return ZodParsedType3.promise; } if (typeof Map !== "undefined" && data instanceof Map) { - return ZodParsedType2.map; + return ZodParsedType3.map; } if (typeof Set !== "undefined" && data instanceof Set) { - return ZodParsedType2.set; + return ZodParsedType3.set; } if (typeof Date !== "undefined" && data instanceof Date) { - return ZodParsedType2.date; + return ZodParsedType3.date; } - return ZodParsedType2.object; + return ZodParsedType3.object; default: - return ZodParsedType2.unknown; + return ZodParsedType3.unknown; } }; -var ZodIssueCode3 = util2.arrayToEnum([ +var ZodIssueCode4 = util3.arrayToEnum([ "invalid_type", "invalid_literal", "custom", @@ -38002,12 +44145,12 @@ var ZodIssueCode3 = util2.arrayToEnum([ "not_multiple_of", "not_finite" ]); -var quotelessJson2 = (obj) => { +var quotelessJson3 = (obj) => { const json3 = JSON.stringify(obj, null, 2); return json3.replace(/"([^"]+)":/g, "$1:"); }; -class ZodError3 extends Error { +class ZodError4 extends Error { get errors() { return this.issues; } @@ -38066,7 +44209,7 @@ class ZodError3 extends Error { return fieldErrors; } static assert(value) { - if (!(value instanceof ZodError3)) { + if (!(value instanceof ZodError4)) { throw new Error(`Not a ZodError: ${value}`); } } @@ -38074,7 +44217,7 @@ class ZodError3 extends Error { return this.message; } get message() { - return JSON.stringify(this.issues, util2.jsonStringifyReplacer, 2); + return JSON.stringify(this.issues, util3.jsonStringifyReplacer, 2); } get isEmpty() { return this.issues.length === 0; @@ -38097,45 +44240,45 @@ class ZodError3 extends Error { return this.flatten(); } } -ZodError3.create = (issues) => { - const error51 = new ZodError3(issues); +ZodError4.create = (issues) => { + const error51 = new ZodError4(issues); return error51; }; -var errorMap2 = (issue2, _ctx) => { +var errorMap3 = (issue2, _ctx) => { let message; switch (issue2.code) { - case ZodIssueCode3.invalid_type: - if (issue2.received === ZodParsedType2.undefined) { + case ZodIssueCode4.invalid_type: + if (issue2.received === ZodParsedType3.undefined) { message = "Required"; } else { message = `Expected ${issue2.expected}, received ${issue2.received}`; } break; - case ZodIssueCode3.invalid_literal: - message = `Invalid literal value, expected ${JSON.stringify(issue2.expected, util2.jsonStringifyReplacer)}`; + case ZodIssueCode4.invalid_literal: + message = `Invalid literal value, expected ${JSON.stringify(issue2.expected, util3.jsonStringifyReplacer)}`; break; - case ZodIssueCode3.unrecognized_keys: - message = `Unrecognized key(s) in object: ${util2.joinValues(issue2.keys, ", ")}`; + case ZodIssueCode4.unrecognized_keys: + message = `Unrecognized key(s) in object: ${util3.joinValues(issue2.keys, ", ")}`; break; - case ZodIssueCode3.invalid_union: + case ZodIssueCode4.invalid_union: message = `Invalid input`; break; - case ZodIssueCode3.invalid_union_discriminator: - message = `Invalid discriminator value. Expected ${util2.joinValues(issue2.options)}`; + case ZodIssueCode4.invalid_union_discriminator: + message = `Invalid discriminator value. Expected ${util3.joinValues(issue2.options)}`; break; - case ZodIssueCode3.invalid_enum_value: - message = `Invalid enum value. Expected ${util2.joinValues(issue2.options)}, received '${issue2.received}'`; + case ZodIssueCode4.invalid_enum_value: + message = `Invalid enum value. Expected ${util3.joinValues(issue2.options)}, received '${issue2.received}'`; break; - case ZodIssueCode3.invalid_arguments: + case ZodIssueCode4.invalid_arguments: message = `Invalid function arguments`; break; - case ZodIssueCode3.invalid_return_type: + case ZodIssueCode4.invalid_return_type: message = `Invalid function return type`; break; - case ZodIssueCode3.invalid_date: + case ZodIssueCode4.invalid_date: message = `Invalid date`; break; - case ZodIssueCode3.invalid_string: + case ZodIssueCode4.invalid_string: if (typeof issue2.validation === "object") { if ("includes" in issue2.validation) { message = `Invalid input: must include "${issue2.validation.includes}"`; @@ -38147,7 +44290,7 @@ var errorMap2 = (issue2, _ctx) => { } else if ("endsWith" in issue2.validation) { message = `Invalid input: must end with "${issue2.validation.endsWith}"`; } else { - util2.assertNever(issue2.validation); + util3.assertNever(issue2.validation); } } else if (issue2.validation !== "regex") { message = `Invalid ${issue2.validation}`; @@ -38155,7 +44298,7 @@ var errorMap2 = (issue2, _ctx) => { message = "Invalid"; } break; - case ZodIssueCode3.too_small: + case ZodIssueCode4.too_small: if (issue2.type === "array") message = `Array must contain ${issue2.exact ? "exactly" : issue2.inclusive ? `at least` : `more than`} ${issue2.minimum} element(s)`; else if (issue2.type === "string") @@ -38169,7 +44312,7 @@ var errorMap2 = (issue2, _ctx) => { else message = "Invalid input"; break; - case ZodIssueCode3.too_big: + case ZodIssueCode4.too_big: if (issue2.type === "array") message = `Array must contain ${issue2.exact ? `exactly` : issue2.inclusive ? `at most` : `less than`} ${issue2.maximum} element(s)`; else if (issue2.type === "string") @@ -38183,33 +44326,33 @@ var errorMap2 = (issue2, _ctx) => { else message = "Invalid input"; break; - case ZodIssueCode3.custom: + case ZodIssueCode4.custom: message = `Invalid input`; break; - case ZodIssueCode3.invalid_intersection_types: + case ZodIssueCode4.invalid_intersection_types: message = `Intersection results could not be merged`; break; - case ZodIssueCode3.not_multiple_of: + case ZodIssueCode4.not_multiple_of: message = `Number must be a multiple of ${issue2.multipleOf}`; break; - case ZodIssueCode3.not_finite: + case ZodIssueCode4.not_finite: message = "Number must be finite"; break; default: message = _ctx.defaultError; - util2.assertNever(issue2); + util3.assertNever(issue2); } return { message }; }; -var en_default3 = errorMap2; -var overrideErrorMap2 = en_default3; -function setErrorMap3(map2) { - overrideErrorMap2 = map2; +var en_default4 = errorMap3; +var overrideErrorMap3 = en_default4; +function setErrorMap4(map2) { + overrideErrorMap3 = map2; } -function getErrorMap3() { - return overrideErrorMap2; +function getErrorMap4() { + return overrideErrorMap3; } -var makeIssue2 = (params) => { +var makeIssue3 = (params) => { const { data, path, errorMaps, issueData } = params; const fullPath = [...path, ...issueData.path || []]; const fullIssue = { @@ -38234,10 +44377,10 @@ var makeIssue2 = (params) => { message: errorMessage }; }; -var EMPTY_PATH2 = []; -function addIssueToContext2(ctx, issueData) { - const overrideMap = getErrorMap3(); - const issue2 = makeIssue2({ +var EMPTY_PATH3 = []; +function addIssueToContext3(ctx, issueData) { + const overrideMap = getErrorMap4(); + const issue2 = makeIssue3({ issueData, data: ctx.data, path: ctx.path, @@ -38245,13 +44388,13 @@ function addIssueToContext2(ctx, issueData) { ctx.common.contextualErrorMap, ctx.schemaErrorMap, overrideMap, - overrideMap === en_default3 ? undefined : en_default3 + overrideMap === en_default4 ? undefined : en_default4 ].filter((x) => !!x) }); ctx.common.issues.push(issue2); } -class ParseStatus2 { +class ParseStatus3 { constructor() { this.value = "valid"; } @@ -38267,7 +44410,7 @@ class ParseStatus2 { const arrayValue = []; for (const s of results) { if (s.status === "aborted") - return INVALID2; + return INVALID3; if (s.status === "dirty") status.dirty(); arrayValue.push(s.value); @@ -38284,16 +44427,16 @@ class ParseStatus2 { value }); } - return ParseStatus2.mergeObjectSync(status, syncPairs); + return ParseStatus3.mergeObjectSync(status, syncPairs); } static mergeObjectSync(status, pairs) { const finalObject = {}; for (const pair of pairs) { const { key, value } = pair; if (key.status === "aborted") - return INVALID2; + return INVALID3; if (value.status === "aborted") - return INVALID2; + return INVALID3; if (key.status === "dirty") status.dirty(); if (value.status === "dirty") @@ -38305,22 +44448,22 @@ class ParseStatus2 { return { status: status.value, value: finalObject }; } } -var INVALID2 = Object.freeze({ +var INVALID3 = Object.freeze({ status: "aborted" }); -var DIRTY2 = (value) => ({ status: "dirty", value }); -var OK2 = (value) => ({ status: "valid", value }); -var isAborted2 = (x) => x.status === "aborted"; -var isDirty2 = (x) => x.status === "dirty"; -var isValid2 = (x) => x.status === "valid"; -var isAsync2 = (x) => typeof Promise !== "undefined" && x instanceof Promise; -var errorUtil2; +var DIRTY3 = (value) => ({ status: "dirty", value }); +var OK3 = (value) => ({ status: "valid", value }); +var isAborted3 = (x) => x.status === "aborted"; +var isDirty3 = (x) => x.status === "dirty"; +var isValid3 = (x) => x.status === "valid"; +var isAsync3 = (x) => typeof Promise !== "undefined" && x instanceof Promise; +var errorUtil3; (function(errorUtil22) { errorUtil22.errToObj = (message) => typeof message === "string" ? { message } : message || {}; errorUtil22.toString = (message) => typeof message === "string" ? message : message?.message; -})(errorUtil2 || (errorUtil2 = {})); +})(errorUtil3 || (errorUtil3 = {})); -class ParseInputLazyPath2 { +class ParseInputLazyPath3 { constructor(parent, value, path, key) { this._cachedPath = []; this.parent = parent; @@ -38339,8 +44482,8 @@ class ParseInputLazyPath2 { return this._cachedPath; } } -var handleResult2 = (ctx, result) => { - if (isValid2(result)) { +var handleResult3 = (ctx, result) => { + if (isValid3(result)) { return { success: true, data: result.value }; } else { if (!ctx.common.issues.length) { @@ -38351,14 +44494,14 @@ var handleResult2 = (ctx, result) => { get error() { if (this._error) return this._error; - const error51 = new ZodError3(ctx.common.issues); + const error51 = new ZodError4(ctx.common.issues); this._error = error51; return this._error; } }; } }; -function processCreateParams2(params) { +function processCreateParams3(params) { if (!params) return {}; const { errorMap: errorMap22, invalid_type_error, required_error, description } = params; @@ -38382,18 +44525,18 @@ function processCreateParams2(params) { return { errorMap: customMap, description }; } -class ZodType3 { +class ZodType4 { get description() { return this._def.description; } _getType(input) { - return getParsedType3(input.data); + return getParsedType4(input.data); } _getOrReturnCtx(input, ctx) { return ctx || { common: input.parent.common, data: input.data, - parsedType: getParsedType3(input.data), + parsedType: getParsedType4(input.data), schemaErrorMap: this._def.errorMap, path: input.path, parent: input.parent @@ -38401,11 +44544,11 @@ class ZodType3 { } _processInputParams(input) { return { - status: new ParseStatus2, + status: new ParseStatus3, ctx: { common: input.parent.common, data: input.data, - parsedType: getParsedType3(input.data), + parsedType: getParsedType4(input.data), schemaErrorMap: this._def.errorMap, path: input.path, parent: input.parent @@ -38414,7 +44557,7 @@ class ZodType3 { } _parseSync(input) { const result = this._parse(input); - if (isAsync2(result)) { + if (isAsync3(result)) { throw new Error("Synchronous parse encountered promise."); } return result; @@ -38440,10 +44583,10 @@ class ZodType3 { schemaErrorMap: this._def.errorMap, parent: null, data, - parsedType: getParsedType3(data) + parsedType: getParsedType4(data) }; const result = this._parseSync({ data, path: ctx.path, parent: ctx }); - return handleResult2(ctx, result); + return handleResult3(ctx, result); } "~validate"(data) { const ctx = { @@ -38455,12 +44598,12 @@ class ZodType3 { schemaErrorMap: this._def.errorMap, parent: null, data, - parsedType: getParsedType3(data) + parsedType: getParsedType4(data) }; if (!this["~standard"].async) { try { const result = this._parseSync({ data, path: [], parent: ctx }); - return isValid2(result) ? { + return isValid3(result) ? { value: result.value } : { issues: ctx.common.issues @@ -38475,7 +44618,7 @@ class ZodType3 { }; } } - return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid2(result) ? { + return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid3(result) ? { value: result.value } : { issues: ctx.common.issues @@ -38498,11 +44641,11 @@ class ZodType3 { schemaErrorMap: this._def.errorMap, parent: null, data, - parsedType: getParsedType3(data) + parsedType: getParsedType4(data) }; const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx }); - const result = await (isAsync2(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); - return handleResult2(ctx, result); + const result = await (isAsync3(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); + return handleResult3(ctx, result); } refine(check2, message) { const getIssueProperties = (val) => { @@ -38517,7 +44660,7 @@ class ZodType3 { return this._refinement((val, ctx) => { const result = check2(val); const setError = () => ctx.addIssue({ - code: ZodIssueCode3.custom, + code: ZodIssueCode4.custom, ...getIssueProperties(val) }); if (typeof Promise !== "undefined" && result instanceof Promise) { @@ -38549,9 +44692,9 @@ class ZodType3 { }); } _refinement(refinement) { - return new ZodEffects2({ + return new ZodEffects3({ schema: this, - typeName: ZodFirstPartyTypeKind3.ZodEffects, + typeName: ZodFirstPartyTypeKind4.ZodEffects, effect: { type: "refinement", refinement } }); } @@ -38592,57 +44735,57 @@ class ZodType3 { }; } optional() { - return ZodOptional3.create(this, this._def); + return ZodOptional4.create(this, this._def); } nullable() { - return ZodNullable3.create(this, this._def); + return ZodNullable4.create(this, this._def); } nullish() { return this.nullable().optional(); } array() { - return ZodArray3.create(this); + return ZodArray4.create(this); } promise() { - return ZodPromise3.create(this, this._def); + return ZodPromise4.create(this, this._def); } or(option) { - return ZodUnion3.create([this, option], this._def); + return ZodUnion4.create([this, option], this._def); } and(incoming) { - return ZodIntersection3.create(this, incoming, this._def); + return ZodIntersection4.create(this, incoming, this._def); } transform(transform2) { - return new ZodEffects2({ - ...processCreateParams2(this._def), + return new ZodEffects3({ + ...processCreateParams3(this._def), schema: this, - typeName: ZodFirstPartyTypeKind3.ZodEffects, + typeName: ZodFirstPartyTypeKind4.ZodEffects, effect: { type: "transform", transform: transform2 } }); } default(def) { const defaultValueFunc = typeof def === "function" ? def : () => def; - return new ZodDefault3({ - ...processCreateParams2(this._def), + return new ZodDefault4({ + ...processCreateParams3(this._def), innerType: this, defaultValue: defaultValueFunc, - typeName: ZodFirstPartyTypeKind3.ZodDefault + typeName: ZodFirstPartyTypeKind4.ZodDefault }); } brand() { - return new ZodBranded2({ - typeName: ZodFirstPartyTypeKind3.ZodBranded, + return new ZodBranded3({ + typeName: ZodFirstPartyTypeKind4.ZodBranded, type: this, - ...processCreateParams2(this._def) + ...processCreateParams3(this._def) }); } catch(def) { const catchValueFunc = typeof def === "function" ? def : () => def; - return new ZodCatch3({ - ...processCreateParams2(this._def), + return new ZodCatch4({ + ...processCreateParams3(this._def), innerType: this, catchValue: catchValueFunc, - typeName: ZodFirstPartyTypeKind3.ZodCatch + typeName: ZodFirstPartyTypeKind4.ZodCatch }); } describe(description) { @@ -38653,10 +44796,10 @@ class ZodType3 { }); } pipe(target) { - return ZodPipeline2.create(this, target); + return ZodPipeline3.create(this, target); } readonly() { - return ZodReadonly3.create(this); + return ZodReadonly4.create(this); } isOptional() { return this.safeParse(undefined).success; @@ -38665,25 +44808,25 @@ class ZodType3 { return this.safeParse(null).success; } } -var cuidRegex2 = /^c[^\s-]{8,}$/i; -var cuid2Regex2 = /^[0-9a-z]+$/; -var ulidRegex2 = /^[0-9A-HJKMNP-TV-Z]{26}$/i; -var uuidRegex2 = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; -var nanoidRegex2 = /^[a-z0-9_-]{21}$/i; -var jwtRegex2 = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/; -var durationRegex2 = /^[-+]?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)?)??$/; -var emailRegex2 = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; -var _emojiRegex2 = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; -var emojiRegex2; -var ipv4Regex2 = /^(?:(?: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])$/; -var ipv4CidrRegex2 = /^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/; -var ipv6Regex2 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/; -var ipv6CidrRegex2 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; -var base64Regex2 = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; -var base64urlRegex2 = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/; -var dateRegexSource2 = `((\\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])))`; -var dateRegex2 = new RegExp(`^${dateRegexSource2}$`); -function timeRegexSource2(args) { +var cuidRegex3 = /^c[^\s-]{8,}$/i; +var cuid2Regex3 = /^[0-9a-z]+$/; +var ulidRegex3 = /^[0-9A-HJKMNP-TV-Z]{26}$/i; +var uuidRegex3 = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; +var nanoidRegex3 = /^[a-z0-9_-]{21}$/i; +var jwtRegex3 = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/; +var durationRegex3 = /^[-+]?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)?)??$/; +var emailRegex3 = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; +var _emojiRegex3 = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; +var emojiRegex3; +var ipv4Regex3 = /^(?:(?: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])$/; +var ipv4CidrRegex3 = /^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/; +var ipv6Regex3 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/; +var ipv6CidrRegex3 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; +var base64Regex3 = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; +var base64urlRegex3 = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/; +var dateRegexSource3 = `((\\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])))`; +var dateRegex3 = new RegExp(`^${dateRegexSource3}$`); +function timeRegexSource3(args) { let secondsRegexSource = `[0-5]\\d`; if (args.precision) { secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`; @@ -38693,11 +44836,11 @@ function timeRegexSource2(args) { const secondsQuantifier = args.precision ? "+" : "?"; return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`; } -function timeRegex2(args) { - return new RegExp(`^${timeRegexSource2(args)}$`); +function timeRegex3(args) { + return new RegExp(`^${timeRegexSource3(args)}$`); } -function datetimeRegex2(args) { - let regex = `${dateRegexSource2}T${timeRegexSource2(args)}`; +function datetimeRegex3(args) { + let regex = `${dateRegexSource3}T${timeRegexSource3(args)}`; const opts = []; opts.push(args.local ? `Z?` : `Z`); if (args.offset) @@ -38705,17 +44848,17 @@ function datetimeRegex2(args) { regex = `${regex}(${opts.join("|")})`; return new RegExp(`^${regex}$`); } -function isValidIP2(ip, version2) { - if ((version2 === "v4" || !version2) && ipv4Regex2.test(ip)) { +function isValidIP3(ip, version2) { + if ((version2 === "v4" || !version2) && ipv4Regex3.test(ip)) { return true; } - if ((version2 === "v6" || !version2) && ipv6Regex2.test(ip)) { + if ((version2 === "v6" || !version2) && ipv6Regex3.test(ip)) { return true; } return false; } -function isValidJWT3(jwt2, alg) { - if (!jwtRegex2.test(jwt2)) +function isValidJWT4(jwt2, alg) { + if (!jwtRegex3.test(jwt2)) return false; try { const [header] = jwt2.split("."); @@ -38736,39 +44879,39 @@ function isValidJWT3(jwt2, alg) { return false; } } -function isValidCidr2(ip, version2) { - if ((version2 === "v4" || !version2) && ipv4CidrRegex2.test(ip)) { +function isValidCidr3(ip, version2) { + if ((version2 === "v4" || !version2) && ipv4CidrRegex3.test(ip)) { return true; } - if ((version2 === "v6" || !version2) && ipv6CidrRegex2.test(ip)) { + if ((version2 === "v6" || !version2) && ipv6CidrRegex3.test(ip)) { return true; } return false; } -class ZodString3 extends ZodType3 { +class ZodString4 extends ZodType4 { _parse(input) { if (this._def.coerce) { input.data = String(input.data); } const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.string) { + if (parsedType2 !== ZodParsedType3.string) { const ctx2 = this._getOrReturnCtx(input); - addIssueToContext2(ctx2, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.string, + addIssueToContext3(ctx2, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.string, received: ctx2.parsedType }); - return INVALID2; + return INVALID3; } - const status = new ParseStatus2; + const status = new ParseStatus3; let ctx = undefined; for (const check2 of this._def.checks) { if (check2.kind === "min") { if (input.data.length < check2.value) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_small, minimum: check2.value, type: "string", inclusive: true, @@ -38780,8 +44923,8 @@ class ZodString3 extends ZodType3 { } else if (check2.kind === "max") { if (input.data.length > check2.value) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_big, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_big, maximum: check2.value, type: "string", inclusive: true, @@ -38796,8 +44939,8 @@ class ZodString3 extends ZodType3 { if (tooBig || tooSmall) { ctx = this._getOrReturnCtx(input, ctx); if (tooBig) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_big, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_big, maximum: check2.value, type: "string", inclusive: true, @@ -38805,8 +44948,8 @@ class ZodString3 extends ZodType3 { message: check2.message }); } else if (tooSmall) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_small, minimum: check2.value, type: "string", inclusive: true, @@ -38817,74 +44960,74 @@ class ZodString3 extends ZodType3 { status.dirty(); } } else if (check2.kind === "email") { - if (!emailRegex2.test(input.data)) { + if (!emailRegex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "email", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "emoji") { - if (!emojiRegex2) { - emojiRegex2 = new RegExp(_emojiRegex2, "u"); + if (!emojiRegex3) { + emojiRegex3 = new RegExp(_emojiRegex3, "u"); } - if (!emojiRegex2.test(input.data)) { + if (!emojiRegex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "emoji", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "uuid") { - if (!uuidRegex2.test(input.data)) { + if (!uuidRegex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "uuid", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "nanoid") { - if (!nanoidRegex2.test(input.data)) { + if (!nanoidRegex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "nanoid", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "cuid") { - if (!cuidRegex2.test(input.data)) { + if (!cuidRegex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "cuid", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "cuid2") { - if (!cuid2Regex2.test(input.data)) { + if (!cuid2Regex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "cuid2", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "ulid") { - if (!ulidRegex2.test(input.data)) { + if (!ulidRegex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "ulid", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); @@ -38894,9 +45037,9 @@ class ZodString3 extends ZodType3 { new URL(input.data); } catch { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "url", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); @@ -38906,9 +45049,9 @@ class ZodString3 extends ZodType3 { const testResult = check2.regex.test(input.data); if (!testResult) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "regex", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); @@ -38918,8 +45061,8 @@ class ZodString3 extends ZodType3 { } else if (check2.kind === "includes") { if (!input.data.includes(check2.value, check2.position)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_string, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_string, validation: { includes: check2.value, position: check2.position }, message: check2.message }); @@ -38932,8 +45075,8 @@ class ZodString3 extends ZodType3 { } else if (check2.kind === "startsWith") { if (!input.data.startsWith(check2.value)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_string, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_string, validation: { startsWith: check2.value }, message: check2.message }); @@ -38942,108 +45085,108 @@ class ZodString3 extends ZodType3 { } else if (check2.kind === "endsWith") { if (!input.data.endsWith(check2.value)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_string, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_string, validation: { endsWith: check2.value }, message: check2.message }); status.dirty(); } } else if (check2.kind === "datetime") { - const regex = datetimeRegex2(check2); + const regex = datetimeRegex3(check2); if (!regex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_string, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_string, validation: "datetime", message: check2.message }); status.dirty(); } } else if (check2.kind === "date") { - const regex = dateRegex2; + const regex = dateRegex3; if (!regex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_string, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_string, validation: "date", message: check2.message }); status.dirty(); } } else if (check2.kind === "time") { - const regex = timeRegex2(check2); + const regex = timeRegex3(check2); if (!regex.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_string, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_string, validation: "time", message: check2.message }); status.dirty(); } } else if (check2.kind === "duration") { - if (!durationRegex2.test(input.data)) { + if (!durationRegex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "duration", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "ip") { - if (!isValidIP2(input.data, check2.version)) { + if (!isValidIP3(input.data, check2.version)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "ip", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "jwt") { - if (!isValidJWT3(input.data, check2.alg)) { + if (!isValidJWT4(input.data, check2.alg)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "jwt", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "cidr") { - if (!isValidCidr2(input.data, check2.version)) { + if (!isValidCidr3(input.data, check2.version)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "cidr", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "base64") { - if (!base64Regex2.test(input.data)) { + if (!base64Regex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "base64", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else if (check2.kind === "base64url") { - if (!base64urlRegex2.test(input.data)) { + if (!base64urlRegex3.test(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { validation: "base64url", - code: ZodIssueCode3.invalid_string, + code: ZodIssueCode4.invalid_string, message: check2.message }); status.dirty(); } } else { - util2.assertNever(check2); + util3.assertNever(check2); } } return { status: status.value, value: input.data }; @@ -39051,57 +45194,57 @@ class ZodString3 extends ZodType3 { _regex(regex, validation, message) { return this.refinement((data) => regex.test(data), { validation, - code: ZodIssueCode3.invalid_string, - ...errorUtil2.errToObj(message) + code: ZodIssueCode4.invalid_string, + ...errorUtil3.errToObj(message) }); } _addCheck(check2) { - return new ZodString3({ + return new ZodString4({ ...this._def, checks: [...this._def.checks, check2] }); } email(message) { - return this._addCheck({ kind: "email", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "email", ...errorUtil3.errToObj(message) }); } url(message) { - return this._addCheck({ kind: "url", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "url", ...errorUtil3.errToObj(message) }); } emoji(message) { - return this._addCheck({ kind: "emoji", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "emoji", ...errorUtil3.errToObj(message) }); } uuid(message) { - return this._addCheck({ kind: "uuid", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "uuid", ...errorUtil3.errToObj(message) }); } nanoid(message) { - return this._addCheck({ kind: "nanoid", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "nanoid", ...errorUtil3.errToObj(message) }); } cuid(message) { - return this._addCheck({ kind: "cuid", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "cuid", ...errorUtil3.errToObj(message) }); } cuid2(message) { - return this._addCheck({ kind: "cuid2", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "cuid2", ...errorUtil3.errToObj(message) }); } ulid(message) { - return this._addCheck({ kind: "ulid", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "ulid", ...errorUtil3.errToObj(message) }); } base64(message) { - return this._addCheck({ kind: "base64", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "base64", ...errorUtil3.errToObj(message) }); } base64url(message) { return this._addCheck({ kind: "base64url", - ...errorUtil2.errToObj(message) + ...errorUtil3.errToObj(message) }); } jwt(options) { - return this._addCheck({ kind: "jwt", ...errorUtil2.errToObj(options) }); + return this._addCheck({ kind: "jwt", ...errorUtil3.errToObj(options) }); } ip(options) { - return this._addCheck({ kind: "ip", ...errorUtil2.errToObj(options) }); + return this._addCheck({ kind: "ip", ...errorUtil3.errToObj(options) }); } cidr(options) { - return this._addCheck({ kind: "cidr", ...errorUtil2.errToObj(options) }); + return this._addCheck({ kind: "cidr", ...errorUtil3.errToObj(options) }); } datetime(options) { if (typeof options === "string") { @@ -39118,7 +45261,7 @@ class ZodString3 extends ZodType3 { precision: typeof options?.precision === "undefined" ? null : options?.precision, offset: options?.offset ?? false, local: options?.local ?? false, - ...errorUtil2.errToObj(options?.message) + ...errorUtil3.errToObj(options?.message) }); } date(message) { @@ -39135,17 +45278,17 @@ class ZodString3 extends ZodType3 { return this._addCheck({ kind: "time", precision: typeof options?.precision === "undefined" ? null : options?.precision, - ...errorUtil2.errToObj(options?.message) + ...errorUtil3.errToObj(options?.message) }); } duration(message) { - return this._addCheck({ kind: "duration", ...errorUtil2.errToObj(message) }); + return this._addCheck({ kind: "duration", ...errorUtil3.errToObj(message) }); } regex(regex, message) { return this._addCheck({ kind: "regex", regex, - ...errorUtil2.errToObj(message) + ...errorUtil3.errToObj(message) }); } includes(value, options) { @@ -39153,61 +45296,61 @@ class ZodString3 extends ZodType3 { kind: "includes", value, position: options?.position, - ...errorUtil2.errToObj(options?.message) + ...errorUtil3.errToObj(options?.message) }); } startsWith(value, message) { return this._addCheck({ kind: "startsWith", value, - ...errorUtil2.errToObj(message) + ...errorUtil3.errToObj(message) }); } endsWith(value, message) { return this._addCheck({ kind: "endsWith", value, - ...errorUtil2.errToObj(message) + ...errorUtil3.errToObj(message) }); } min(minLength, message) { return this._addCheck({ kind: "min", value: minLength, - ...errorUtil2.errToObj(message) + ...errorUtil3.errToObj(message) }); } max(maxLength, message) { return this._addCheck({ kind: "max", value: maxLength, - ...errorUtil2.errToObj(message) + ...errorUtil3.errToObj(message) }); } length(len, message) { return this._addCheck({ kind: "length", value: len, - ...errorUtil2.errToObj(message) + ...errorUtil3.errToObj(message) }); } nonempty(message) { - return this.min(1, errorUtil2.errToObj(message)); + return this.min(1, errorUtil3.errToObj(message)); } trim() { - return new ZodString3({ + return new ZodString4({ ...this._def, checks: [...this._def.checks, { kind: "trim" }] }); } toLowerCase() { - return new ZodString3({ + return new ZodString4({ ...this._def, checks: [...this._def.checks, { kind: "toLowerCase" }] }); } toUpperCase() { - return new ZodString3({ + return new ZodString4({ ...this._def, checks: [...this._def.checks, { kind: "toUpperCase" }] }); @@ -39281,15 +45424,15 @@ class ZodString3 extends ZodType3 { return max; } } -ZodString3.create = (params) => { - return new ZodString3({ +ZodString4.create = (params) => { + return new ZodString4({ checks: [], - typeName: ZodFirstPartyTypeKind3.ZodString, + typeName: ZodFirstPartyTypeKind4.ZodString, coerce: params?.coerce ?? false, - ...processCreateParams2(params) + ...processCreateParams3(params) }); }; -function floatSafeRemainder3(val, step) { +function floatSafeRemainder4(val, step) { const valDecCount = (val.toString().split(".")[1] || "").length; const stepDecCount = (step.toString().split(".")[1] || "").length; const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; @@ -39298,7 +45441,7 @@ function floatSafeRemainder3(val, step) { return valInt % stepInt / 10 ** decCount; } -class ZodNumber3 extends ZodType3 { +class ZodNumber4 extends ZodType4 { constructor() { super(...arguments); this.min = this.gte; @@ -39310,23 +45453,23 @@ class ZodNumber3 extends ZodType3 { input.data = Number(input.data); } const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.number) { + if (parsedType2 !== ZodParsedType3.number) { const ctx2 = this._getOrReturnCtx(input); - addIssueToContext2(ctx2, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.number, + addIssueToContext3(ctx2, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.number, received: ctx2.parsedType }); - return INVALID2; + return INVALID3; } let ctx = undefined; - const status = new ParseStatus2; + const status = new ParseStatus3; for (const check2 of this._def.checks) { if (check2.kind === "int") { - if (!util2.isInteger(input.data)) { + if (!util3.isInteger(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, expected: "integer", received: "float", message: check2.message @@ -39337,8 +45480,8 @@ class ZodNumber3 extends ZodType3 { const tooSmall = check2.inclusive ? input.data < check2.value : input.data <= check2.value; if (tooSmall) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_small, minimum: check2.value, type: "number", inclusive: check2.inclusive, @@ -39351,8 +45494,8 @@ class ZodNumber3 extends ZodType3 { const tooBig = check2.inclusive ? input.data > check2.value : input.data >= check2.value; if (tooBig) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_big, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_big, maximum: check2.value, type: "number", inclusive: check2.inclusive, @@ -39362,10 +45505,10 @@ class ZodNumber3 extends ZodType3 { status.dirty(); } } else if (check2.kind === "multipleOf") { - if (floatSafeRemainder3(input.data, check2.value) !== 0) { + if (floatSafeRemainder4(input.data, check2.value) !== 0) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.not_multiple_of, + addIssueToContext3(ctx, { + code: ZodIssueCode4.not_multiple_of, multipleOf: check2.value, message: check2.message }); @@ -39374,32 +45517,32 @@ class ZodNumber3 extends ZodType3 { } else if (check2.kind === "finite") { if (!Number.isFinite(input.data)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.not_finite, + addIssueToContext3(ctx, { + code: ZodIssueCode4.not_finite, message: check2.message }); status.dirty(); } } else { - util2.assertNever(check2); + util3.assertNever(check2); } } return { status: status.value, value: input.data }; } gte(value, message) { - return this.setLimit("min", value, true, errorUtil2.toString(message)); + return this.setLimit("min", value, true, errorUtil3.toString(message)); } gt(value, message) { - return this.setLimit("min", value, false, errorUtil2.toString(message)); + return this.setLimit("min", value, false, errorUtil3.toString(message)); } lte(value, message) { - return this.setLimit("max", value, true, errorUtil2.toString(message)); + return this.setLimit("max", value, true, errorUtil3.toString(message)); } lt(value, message) { - return this.setLimit("max", value, false, errorUtil2.toString(message)); + return this.setLimit("max", value, false, errorUtil3.toString(message)); } setLimit(kind, value, inclusive, message) { - return new ZodNumber3({ + return new ZodNumber4({ ...this._def, checks: [ ...this._def.checks, @@ -39407,13 +45550,13 @@ class ZodNumber3 extends ZodType3 { kind, value, inclusive, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) } ] }); } _addCheck(check2) { - return new ZodNumber3({ + return new ZodNumber4({ ...this._def, checks: [...this._def.checks, check2] }); @@ -39421,7 +45564,7 @@ class ZodNumber3 extends ZodType3 { int(message) { return this._addCheck({ kind: "int", - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } positive(message) { @@ -39429,7 +45572,7 @@ class ZodNumber3 extends ZodType3 { kind: "min", value: 0, inclusive: false, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } negative(message) { @@ -39437,7 +45580,7 @@ class ZodNumber3 extends ZodType3 { kind: "max", value: 0, inclusive: false, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } nonpositive(message) { @@ -39445,7 +45588,7 @@ class ZodNumber3 extends ZodType3 { kind: "max", value: 0, inclusive: true, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } nonnegative(message) { @@ -39453,20 +45596,20 @@ class ZodNumber3 extends ZodType3 { kind: "min", value: 0, inclusive: true, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } multipleOf(value, message) { return this._addCheck({ kind: "multipleOf", value, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } finite(message) { return this._addCheck({ kind: "finite", - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } safe(message) { @@ -39474,12 +45617,12 @@ class ZodNumber3 extends ZodType3 { kind: "min", inclusive: true, value: Number.MIN_SAFE_INTEGER, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) })._addCheck({ kind: "max", inclusive: true, value: Number.MAX_SAFE_INTEGER, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } get minValue() { @@ -39503,7 +45646,7 @@ class ZodNumber3 extends ZodType3 { return max; } get isInt() { - return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util2.isInteger(ch.value)); + return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util3.isInteger(ch.value)); } get isFinite() { let max = null; @@ -39522,16 +45665,16 @@ class ZodNumber3 extends ZodType3 { return Number.isFinite(min) && Number.isFinite(max); } } -ZodNumber3.create = (params) => { - return new ZodNumber3({ +ZodNumber4.create = (params) => { + return new ZodNumber4({ checks: [], - typeName: ZodFirstPartyTypeKind3.ZodNumber, + typeName: ZodFirstPartyTypeKind4.ZodNumber, coerce: params?.coerce || false, - ...processCreateParams2(params) + ...processCreateParams3(params) }); }; -class ZodBigInt3 extends ZodType3 { +class ZodBigInt4 extends ZodType4 { constructor() { super(...arguments); this.min = this.gte; @@ -39546,18 +45689,18 @@ class ZodBigInt3 extends ZodType3 { } } const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.bigint) { + if (parsedType2 !== ZodParsedType3.bigint) { return this._getInvalidInput(input); } let ctx = undefined; - const status = new ParseStatus2; + const status = new ParseStatus3; for (const check2 of this._def.checks) { if (check2.kind === "min") { const tooSmall = check2.inclusive ? input.data < check2.value : input.data <= check2.value; if (tooSmall) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_small, type: "bigint", minimum: check2.value, inclusive: check2.inclusive, @@ -39569,8 +45712,8 @@ class ZodBigInt3 extends ZodType3 { const tooBig = check2.inclusive ? input.data > check2.value : input.data >= check2.value; if (tooBig) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_big, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_big, type: "bigint", maximum: check2.value, inclusive: check2.inclusive, @@ -39581,42 +45724,42 @@ class ZodBigInt3 extends ZodType3 { } else if (check2.kind === "multipleOf") { if (input.data % check2.value !== BigInt(0)) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.not_multiple_of, + addIssueToContext3(ctx, { + code: ZodIssueCode4.not_multiple_of, multipleOf: check2.value, message: check2.message }); status.dirty(); } } else { - util2.assertNever(check2); + util3.assertNever(check2); } } return { status: status.value, value: input.data }; } _getInvalidInput(input) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.bigint, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.bigint, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } gte(value, message) { - return this.setLimit("min", value, true, errorUtil2.toString(message)); + return this.setLimit("min", value, true, errorUtil3.toString(message)); } gt(value, message) { - return this.setLimit("min", value, false, errorUtil2.toString(message)); + return this.setLimit("min", value, false, errorUtil3.toString(message)); } lte(value, message) { - return this.setLimit("max", value, true, errorUtil2.toString(message)); + return this.setLimit("max", value, true, errorUtil3.toString(message)); } lt(value, message) { - return this.setLimit("max", value, false, errorUtil2.toString(message)); + return this.setLimit("max", value, false, errorUtil3.toString(message)); } setLimit(kind, value, inclusive, message) { - return new ZodBigInt3({ + return new ZodBigInt4({ ...this._def, checks: [ ...this._def.checks, @@ -39624,13 +45767,13 @@ class ZodBigInt3 extends ZodType3 { kind, value, inclusive, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) } ] }); } _addCheck(check2) { - return new ZodBigInt3({ + return new ZodBigInt4({ ...this._def, checks: [...this._def.checks, check2] }); @@ -39640,7 +45783,7 @@ class ZodBigInt3 extends ZodType3 { kind: "min", value: BigInt(0), inclusive: false, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } negative(message) { @@ -39648,7 +45791,7 @@ class ZodBigInt3 extends ZodType3 { kind: "max", value: BigInt(0), inclusive: false, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } nonpositive(message) { @@ -39656,7 +45799,7 @@ class ZodBigInt3 extends ZodType3 { kind: "max", value: BigInt(0), inclusive: true, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } nonnegative(message) { @@ -39664,14 +45807,14 @@ class ZodBigInt3 extends ZodType3 { kind: "min", value: BigInt(0), inclusive: true, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } multipleOf(value, message) { return this._addCheck({ kind: "multipleOf", value, - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } get minValue() { @@ -39695,71 +45838,71 @@ class ZodBigInt3 extends ZodType3 { return max; } } -ZodBigInt3.create = (params) => { - return new ZodBigInt3({ +ZodBigInt4.create = (params) => { + return new ZodBigInt4({ checks: [], - typeName: ZodFirstPartyTypeKind3.ZodBigInt, + typeName: ZodFirstPartyTypeKind4.ZodBigInt, coerce: params?.coerce ?? false, - ...processCreateParams2(params) + ...processCreateParams3(params) }); }; -class ZodBoolean3 extends ZodType3 { +class ZodBoolean4 extends ZodType4 { _parse(input) { if (this._def.coerce) { input.data = Boolean(input.data); } const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.boolean) { + if (parsedType2 !== ZodParsedType3.boolean) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.boolean, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.boolean, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } - return OK2(input.data); + return OK3(input.data); } } -ZodBoolean3.create = (params) => { - return new ZodBoolean3({ - typeName: ZodFirstPartyTypeKind3.ZodBoolean, +ZodBoolean4.create = (params) => { + return new ZodBoolean4({ + typeName: ZodFirstPartyTypeKind4.ZodBoolean, coerce: params?.coerce || false, - ...processCreateParams2(params) + ...processCreateParams3(params) }); }; -class ZodDate3 extends ZodType3 { +class ZodDate4 extends ZodType4 { _parse(input) { if (this._def.coerce) { input.data = new Date(input.data); } const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.date) { + if (parsedType2 !== ZodParsedType3.date) { const ctx2 = this._getOrReturnCtx(input); - addIssueToContext2(ctx2, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.date, + addIssueToContext3(ctx2, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.date, received: ctx2.parsedType }); - return INVALID2; + return INVALID3; } if (Number.isNaN(input.data.getTime())) { const ctx2 = this._getOrReturnCtx(input); - addIssueToContext2(ctx2, { - code: ZodIssueCode3.invalid_date + addIssueToContext3(ctx2, { + code: ZodIssueCode4.invalid_date }); - return INVALID2; + return INVALID3; } - const status = new ParseStatus2; + const status = new ParseStatus3; let ctx = undefined; for (const check2 of this._def.checks) { if (check2.kind === "min") { if (input.data.getTime() < check2.value) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_small, message: check2.message, inclusive: true, exact: false, @@ -39771,8 +45914,8 @@ class ZodDate3 extends ZodType3 { } else if (check2.kind === "max") { if (input.data.getTime() > check2.value) { ctx = this._getOrReturnCtx(input, ctx); - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_big, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_big, message: check2.message, inclusive: true, exact: false, @@ -39782,7 +45925,7 @@ class ZodDate3 extends ZodType3 { status.dirty(); } } else { - util2.assertNever(check2); + util3.assertNever(check2); } } return { @@ -39791,7 +45934,7 @@ class ZodDate3 extends ZodType3 { }; } _addCheck(check2) { - return new ZodDate3({ + return new ZodDate4({ ...this._def, checks: [...this._def.checks, check2] }); @@ -39800,14 +45943,14 @@ class ZodDate3 extends ZodType3 { return this._addCheck({ kind: "min", value: minDate.getTime(), - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } max(maxDate, message) { return this._addCheck({ kind: "max", value: maxDate.getTime(), - message: errorUtil2.toString(message) + message: errorUtil3.toString(message) }); } get minDate() { @@ -39831,171 +45974,171 @@ class ZodDate3 extends ZodType3 { return max != null ? new Date(max) : null; } } -ZodDate3.create = (params) => { - return new ZodDate3({ +ZodDate4.create = (params) => { + return new ZodDate4({ checks: [], coerce: params?.coerce || false, - typeName: ZodFirstPartyTypeKind3.ZodDate, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodDate, + ...processCreateParams3(params) }); }; -class ZodSymbol3 extends ZodType3 { +class ZodSymbol4 extends ZodType4 { _parse(input) { const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.symbol) { + if (parsedType2 !== ZodParsedType3.symbol) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.symbol, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.symbol, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } - return OK2(input.data); + return OK3(input.data); } } -ZodSymbol3.create = (params) => { - return new ZodSymbol3({ - typeName: ZodFirstPartyTypeKind3.ZodSymbol, - ...processCreateParams2(params) +ZodSymbol4.create = (params) => { + return new ZodSymbol4({ + typeName: ZodFirstPartyTypeKind4.ZodSymbol, + ...processCreateParams3(params) }); }; -class ZodUndefined3 extends ZodType3 { +class ZodUndefined4 extends ZodType4 { _parse(input) { const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.undefined) { + if (parsedType2 !== ZodParsedType3.undefined) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.undefined, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.undefined, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } - return OK2(input.data); + return OK3(input.data); } } -ZodUndefined3.create = (params) => { - return new ZodUndefined3({ - typeName: ZodFirstPartyTypeKind3.ZodUndefined, - ...processCreateParams2(params) +ZodUndefined4.create = (params) => { + return new ZodUndefined4({ + typeName: ZodFirstPartyTypeKind4.ZodUndefined, + ...processCreateParams3(params) }); }; -class ZodNull3 extends ZodType3 { +class ZodNull4 extends ZodType4 { _parse(input) { const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.null) { + if (parsedType2 !== ZodParsedType3.null) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.null, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.null, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } - return OK2(input.data); + return OK3(input.data); } } -ZodNull3.create = (params) => { - return new ZodNull3({ - typeName: ZodFirstPartyTypeKind3.ZodNull, - ...processCreateParams2(params) +ZodNull4.create = (params) => { + return new ZodNull4({ + typeName: ZodFirstPartyTypeKind4.ZodNull, + ...processCreateParams3(params) }); }; -class ZodAny3 extends ZodType3 { +class ZodAny4 extends ZodType4 { constructor() { super(...arguments); this._any = true; } _parse(input) { - return OK2(input.data); + return OK3(input.data); } } -ZodAny3.create = (params) => { - return new ZodAny3({ - typeName: ZodFirstPartyTypeKind3.ZodAny, - ...processCreateParams2(params) +ZodAny4.create = (params) => { + return new ZodAny4({ + typeName: ZodFirstPartyTypeKind4.ZodAny, + ...processCreateParams3(params) }); }; -class ZodUnknown3 extends ZodType3 { +class ZodUnknown4 extends ZodType4 { constructor() { super(...arguments); this._unknown = true; } _parse(input) { - return OK2(input.data); + return OK3(input.data); } } -ZodUnknown3.create = (params) => { - return new ZodUnknown3({ - typeName: ZodFirstPartyTypeKind3.ZodUnknown, - ...processCreateParams2(params) +ZodUnknown4.create = (params) => { + return new ZodUnknown4({ + typeName: ZodFirstPartyTypeKind4.ZodUnknown, + ...processCreateParams3(params) }); }; -class ZodNever3 extends ZodType3 { +class ZodNever4 extends ZodType4 { _parse(input) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.never, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.never, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } } -ZodNever3.create = (params) => { - return new ZodNever3({ - typeName: ZodFirstPartyTypeKind3.ZodNever, - ...processCreateParams2(params) +ZodNever4.create = (params) => { + return new ZodNever4({ + typeName: ZodFirstPartyTypeKind4.ZodNever, + ...processCreateParams3(params) }); }; -class ZodVoid3 extends ZodType3 { +class ZodVoid4 extends ZodType4 { _parse(input) { const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.undefined) { + if (parsedType2 !== ZodParsedType3.undefined) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.void, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.void, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } - return OK2(input.data); + return OK3(input.data); } } -ZodVoid3.create = (params) => { - return new ZodVoid3({ - typeName: ZodFirstPartyTypeKind3.ZodVoid, - ...processCreateParams2(params) +ZodVoid4.create = (params) => { + return new ZodVoid4({ + typeName: ZodFirstPartyTypeKind4.ZodVoid, + ...processCreateParams3(params) }); }; -class ZodArray3 extends ZodType3 { +class ZodArray4 extends ZodType4 { _parse(input) { const { ctx, status } = this._processInputParams(input); const def = this._def; - if (ctx.parsedType !== ZodParsedType2.array) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.array, + if (ctx.parsedType !== ZodParsedType3.array) { + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.array, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } if (def.exactLength !== null) { const tooBig = ctx.data.length > def.exactLength.value; const tooSmall = ctx.data.length < def.exactLength.value; if (tooBig || tooSmall) { - addIssueToContext2(ctx, { - code: tooBig ? ZodIssueCode3.too_big : ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: tooBig ? ZodIssueCode4.too_big : ZodIssueCode4.too_small, minimum: tooSmall ? def.exactLength.value : undefined, maximum: tooBig ? def.exactLength.value : undefined, type: "array", @@ -40008,8 +46151,8 @@ class ZodArray3 extends ZodType3 { } if (def.minLength !== null) { if (ctx.data.length < def.minLength.value) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_small, minimum: def.minLength.value, type: "array", inclusive: true, @@ -40021,8 +46164,8 @@ class ZodArray3 extends ZodType3 { } if (def.maxLength !== null) { if (ctx.data.length > def.maxLength.value) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_big, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_big, maximum: def.maxLength.value, type: "array", inclusive: true, @@ -40034,79 +46177,79 @@ class ZodArray3 extends ZodType3 { } if (ctx.common.async) { return Promise.all([...ctx.data].map((item, i) => { - return def.type._parseAsync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + return def.type._parseAsync(new ParseInputLazyPath3(ctx, item, ctx.path, i)); })).then((result2) => { - return ParseStatus2.mergeArray(status, result2); + return ParseStatus3.mergeArray(status, result2); }); } const result = [...ctx.data].map((item, i) => { - return def.type._parseSync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + return def.type._parseSync(new ParseInputLazyPath3(ctx, item, ctx.path, i)); }); - return ParseStatus2.mergeArray(status, result); + return ParseStatus3.mergeArray(status, result); } get element() { return this._def.type; } min(minLength, message) { - return new ZodArray3({ + return new ZodArray4({ ...this._def, - minLength: { value: minLength, message: errorUtil2.toString(message) } + minLength: { value: minLength, message: errorUtil3.toString(message) } }); } max(maxLength, message) { - return new ZodArray3({ + return new ZodArray4({ ...this._def, - maxLength: { value: maxLength, message: errorUtil2.toString(message) } + maxLength: { value: maxLength, message: errorUtil3.toString(message) } }); } length(len, message) { - return new ZodArray3({ + return new ZodArray4({ ...this._def, - exactLength: { value: len, message: errorUtil2.toString(message) } + exactLength: { value: len, message: errorUtil3.toString(message) } }); } nonempty(message) { return this.min(1, message); } } -ZodArray3.create = (schema, params) => { - return new ZodArray3({ +ZodArray4.create = (schema, params) => { + return new ZodArray4({ type: schema, minLength: null, maxLength: null, exactLength: null, - typeName: ZodFirstPartyTypeKind3.ZodArray, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodArray, + ...processCreateParams3(params) }); }; -function deepPartialify2(schema) { - if (schema instanceof ZodObject3) { +function deepPartialify3(schema) { + if (schema instanceof ZodObject4) { const newShape = {}; for (const key in schema.shape) { const fieldSchema = schema.shape[key]; - newShape[key] = ZodOptional3.create(deepPartialify2(fieldSchema)); + newShape[key] = ZodOptional4.create(deepPartialify3(fieldSchema)); } - return new ZodObject3({ + return new ZodObject4({ ...schema._def, shape: () => newShape }); - } else if (schema instanceof ZodArray3) { - return new ZodArray3({ + } else if (schema instanceof ZodArray4) { + return new ZodArray4({ ...schema._def, - type: deepPartialify2(schema.element) - }); - } else if (schema instanceof ZodOptional3) { - return ZodOptional3.create(deepPartialify2(schema.unwrap())); - } else if (schema instanceof ZodNullable3) { - return ZodNullable3.create(deepPartialify2(schema.unwrap())); - } else if (schema instanceof ZodTuple3) { - return ZodTuple3.create(schema.items.map((item) => deepPartialify2(item))); + type: deepPartialify3(schema.element) + }); + } else if (schema instanceof ZodOptional4) { + return ZodOptional4.create(deepPartialify3(schema.unwrap())); + } else if (schema instanceof ZodNullable4) { + return ZodNullable4.create(deepPartialify3(schema.unwrap())); + } else if (schema instanceof ZodTuple4) { + return ZodTuple4.create(schema.items.map((item) => deepPartialify3(item))); } else { return schema; } } -class ZodObject3 extends ZodType3 { +class ZodObject4 extends ZodType4 { constructor() { super(...arguments); this._cached = null; @@ -40117,25 +46260,25 @@ class ZodObject3 extends ZodType3 { if (this._cached !== null) return this._cached; const shape = this._def.shape(); - const keys = util2.objectKeys(shape); + const keys = util3.objectKeys(shape); this._cached = { shape, keys }; return this._cached; } _parse(input) { const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.object) { + if (parsedType2 !== ZodParsedType3.object) { const ctx2 = this._getOrReturnCtx(input); - addIssueToContext2(ctx2, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.object, + addIssueToContext3(ctx2, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.object, received: ctx2.parsedType }); - return INVALID2; + return INVALID3; } const { status, ctx } = this._processInputParams(input); const { shape, keys: shapeKeys } = this._getCached(); const extraKeys = []; - if (!(this._def.catchall instanceof ZodNever3 && this._def.unknownKeys === "strip")) { + if (!(this._def.catchall instanceof ZodNever4 && this._def.unknownKeys === "strip")) { for (const key in ctx.data) { if (!shapeKeys.includes(key)) { extraKeys.push(key); @@ -40148,11 +46291,11 @@ class ZodObject3 extends ZodType3 { const value = ctx.data[key]; pairs.push({ key: { status: "valid", value: key }, - value: keyValidator._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + value: keyValidator._parse(new ParseInputLazyPath3(ctx, value, ctx.path, key)), alwaysSet: key in ctx.data }); } - if (this._def.catchall instanceof ZodNever3) { + if (this._def.catchall instanceof ZodNever4) { const unknownKeys = this._def.unknownKeys; if (unknownKeys === "passthrough") { for (const key of extraKeys) { @@ -40163,8 +46306,8 @@ class ZodObject3 extends ZodType3 { } } else if (unknownKeys === "strict") { if (extraKeys.length > 0) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.unrecognized_keys, + addIssueToContext3(ctx, { + code: ZodIssueCode4.unrecognized_keys, keys: extraKeys }); status.dirty(); @@ -40178,7 +46321,7 @@ class ZodObject3 extends ZodType3 { const value = ctx.data[key]; pairs.push({ key: { status: "valid", value: key }, - value: catchall._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + value: catchall._parse(new ParseInputLazyPath3(ctx, value, ctx.path, key)), alwaysSet: key in ctx.data }); } @@ -40197,18 +46340,18 @@ class ZodObject3 extends ZodType3 { } return syncPairs; }).then((syncPairs) => { - return ParseStatus2.mergeObjectSync(status, syncPairs); + return ParseStatus3.mergeObjectSync(status, syncPairs); }); } else { - return ParseStatus2.mergeObjectSync(status, pairs); + return ParseStatus3.mergeObjectSync(status, pairs); } } get shape() { return this._def.shape(); } strict(message) { - errorUtil2.errToObj; - return new ZodObject3({ + errorUtil3.errToObj; + return new ZodObject4({ ...this._def, unknownKeys: "strict", ...message !== undefined ? { @@ -40216,7 +46359,7 @@ class ZodObject3 extends ZodType3 { const defaultError = this._def.errorMap?.(issue2, ctx).message ?? ctx.defaultError; if (issue2.code === "unrecognized_keys") return { - message: errorUtil2.errToObj(message).message ?? defaultError + message: errorUtil3.errToObj(message).message ?? defaultError }; return { message: defaultError @@ -40226,19 +46369,19 @@ class ZodObject3 extends ZodType3 { }); } strip() { - return new ZodObject3({ + return new ZodObject4({ ...this._def, unknownKeys: "strip" }); } passthrough() { - return new ZodObject3({ + return new ZodObject4({ ...this._def, unknownKeys: "passthrough" }); } extend(augmentation) { - return new ZodObject3({ + return new ZodObject4({ ...this._def, shape: () => ({ ...this._def.shape(), @@ -40247,14 +46390,14 @@ class ZodObject3 extends ZodType3 { }); } merge(merging) { - const merged = new ZodObject3({ + const merged = new ZodObject4({ unknownKeys: merging._def.unknownKeys, catchall: merging._def.catchall, shape: () => ({ ...this._def.shape(), ...merging._def.shape() }), - typeName: ZodFirstPartyTypeKind3.ZodObject + typeName: ZodFirstPartyTypeKind4.ZodObject }); return merged; } @@ -40262,41 +46405,41 @@ class ZodObject3 extends ZodType3 { return this.augment({ [key]: schema }); } catchall(index) { - return new ZodObject3({ + return new ZodObject4({ ...this._def, catchall: index }); } pick(mask) { const shape = {}; - for (const key of util2.objectKeys(mask)) { + for (const key of util3.objectKeys(mask)) { if (mask[key] && this.shape[key]) { shape[key] = this.shape[key]; } } - return new ZodObject3({ + return new ZodObject4({ ...this._def, shape: () => shape }); } omit(mask) { const shape = {}; - for (const key of util2.objectKeys(this.shape)) { + for (const key of util3.objectKeys(this.shape)) { if (!mask[key]) { shape[key] = this.shape[key]; } } - return new ZodObject3({ + return new ZodObject4({ ...this._def, shape: () => shape }); } deepPartial() { - return deepPartialify2(this); + return deepPartialify3(this); } partial(mask) { const newShape = {}; - for (const key of util2.objectKeys(this.shape)) { + for (const key of util3.objectKeys(this.shape)) { const fieldSchema = this.shape[key]; if (mask && !mask[key]) { newShape[key] = fieldSchema; @@ -40304,63 +46447,63 @@ class ZodObject3 extends ZodType3 { newShape[key] = fieldSchema.optional(); } } - return new ZodObject3({ + return new ZodObject4({ ...this._def, shape: () => newShape }); } required(mask) { const newShape = {}; - for (const key of util2.objectKeys(this.shape)) { + for (const key of util3.objectKeys(this.shape)) { if (mask && !mask[key]) { newShape[key] = this.shape[key]; } else { const fieldSchema = this.shape[key]; let newField = fieldSchema; - while (newField instanceof ZodOptional3) { + while (newField instanceof ZodOptional4) { newField = newField._def.innerType; } newShape[key] = newField; } } - return new ZodObject3({ + return new ZodObject4({ ...this._def, shape: () => newShape }); } keyof() { - return createZodEnum2(util2.objectKeys(this.shape)); + return createZodEnum3(util3.objectKeys(this.shape)); } } -ZodObject3.create = (shape, params) => { - return new ZodObject3({ +ZodObject4.create = (shape, params) => { + return new ZodObject4({ shape: () => shape, unknownKeys: "strip", - catchall: ZodNever3.create(), - typeName: ZodFirstPartyTypeKind3.ZodObject, - ...processCreateParams2(params) + catchall: ZodNever4.create(), + typeName: ZodFirstPartyTypeKind4.ZodObject, + ...processCreateParams3(params) }); }; -ZodObject3.strictCreate = (shape, params) => { - return new ZodObject3({ +ZodObject4.strictCreate = (shape, params) => { + return new ZodObject4({ shape: () => shape, unknownKeys: "strict", - catchall: ZodNever3.create(), - typeName: ZodFirstPartyTypeKind3.ZodObject, - ...processCreateParams2(params) + catchall: ZodNever4.create(), + typeName: ZodFirstPartyTypeKind4.ZodObject, + ...processCreateParams3(params) }); }; -ZodObject3.lazycreate = (shape, params) => { - return new ZodObject3({ +ZodObject4.lazycreate = (shape, params) => { + return new ZodObject4({ shape, unknownKeys: "strip", - catchall: ZodNever3.create(), - typeName: ZodFirstPartyTypeKind3.ZodObject, - ...processCreateParams2(params) + catchall: ZodNever4.create(), + typeName: ZodFirstPartyTypeKind4.ZodObject, + ...processCreateParams3(params) }); }; -class ZodUnion3 extends ZodType3 { +class ZodUnion4 extends ZodType4 { _parse(input) { const { ctx } = this._processInputParams(input); const options = this._def.options; @@ -40376,12 +46519,12 @@ class ZodUnion3 extends ZodType3 { return result.result; } } - const unionErrors = results.map((result) => new ZodError3(result.ctx.common.issues)); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_union, + const unionErrors = results.map((result) => new ZodError4(result.ctx.common.issues)); + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_union, unionErrors }); - return INVALID2; + return INVALID3; } if (ctx.common.async) { return Promise.all(options.map(async (option) => { @@ -40432,78 +46575,78 @@ class ZodUnion3 extends ZodType3 { ctx.common.issues.push(...dirty.ctx.common.issues); return dirty.result; } - const unionErrors = issues.map((issues2) => new ZodError3(issues2)); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_union, + const unionErrors = issues.map((issues2) => new ZodError4(issues2)); + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_union, unionErrors }); - return INVALID2; + return INVALID3; } } get options() { return this._def.options; } } -ZodUnion3.create = (types, params) => { - return new ZodUnion3({ +ZodUnion4.create = (types, params) => { + return new ZodUnion4({ options: types, - typeName: ZodFirstPartyTypeKind3.ZodUnion, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodUnion, + ...processCreateParams3(params) }); }; -var getDiscriminator2 = (type) => { - if (type instanceof ZodLazy3) { - return getDiscriminator2(type.schema); - } else if (type instanceof ZodEffects2) { - return getDiscriminator2(type.innerType()); - } else if (type instanceof ZodLiteral3) { +var getDiscriminator3 = (type) => { + if (type instanceof ZodLazy4) { + return getDiscriminator3(type.schema); + } else if (type instanceof ZodEffects3) { + return getDiscriminator3(type.innerType()); + } else if (type instanceof ZodLiteral4) { return [type.value]; - } else if (type instanceof ZodEnum3) { + } else if (type instanceof ZodEnum4) { return type.options; - } else if (type instanceof ZodNativeEnum2) { - return util2.objectValues(type.enum); - } else if (type instanceof ZodDefault3) { - return getDiscriminator2(type._def.innerType); - } else if (type instanceof ZodUndefined3) { + } else if (type instanceof ZodNativeEnum3) { + return util3.objectValues(type.enum); + } else if (type instanceof ZodDefault4) { + return getDiscriminator3(type._def.innerType); + } else if (type instanceof ZodUndefined4) { return [undefined]; - } else if (type instanceof ZodNull3) { + } else if (type instanceof ZodNull4) { return [null]; - } else if (type instanceof ZodOptional3) { - return [undefined, ...getDiscriminator2(type.unwrap())]; - } else if (type instanceof ZodNullable3) { - return [null, ...getDiscriminator2(type.unwrap())]; - } else if (type instanceof ZodBranded2) { - return getDiscriminator2(type.unwrap()); - } else if (type instanceof ZodReadonly3) { - return getDiscriminator2(type.unwrap()); - } else if (type instanceof ZodCatch3) { - return getDiscriminator2(type._def.innerType); + } else if (type instanceof ZodOptional4) { + return [undefined, ...getDiscriminator3(type.unwrap())]; + } else if (type instanceof ZodNullable4) { + return [null, ...getDiscriminator3(type.unwrap())]; + } else if (type instanceof ZodBranded3) { + return getDiscriminator3(type.unwrap()); + } else if (type instanceof ZodReadonly4) { + return getDiscriminator3(type.unwrap()); + } else if (type instanceof ZodCatch4) { + return getDiscriminator3(type._def.innerType); } else { return []; } }; -class ZodDiscriminatedUnion3 extends ZodType3 { +class ZodDiscriminatedUnion4 extends ZodType4 { _parse(input) { const { ctx } = this._processInputParams(input); - if (ctx.parsedType !== ZodParsedType2.object) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.object, + if (ctx.parsedType !== ZodParsedType3.object) { + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.object, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } const discriminator = this.discriminator; const discriminatorValue = ctx.data[discriminator]; const option = this.optionsMap.get(discriminatorValue); if (!option) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_union_discriminator, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_union_discriminator, options: Array.from(this.optionsMap.keys()), path: [discriminator] }); - return INVALID2; + return INVALID3; } if (ctx.common.async) { return option._parseAsync({ @@ -40531,7 +46674,7 @@ class ZodDiscriminatedUnion3 extends ZodType3 { static create(discriminator, options, params) { const optionsMap = new Map; for (const type of options) { - const discriminatorValues = getDiscriminator2(type.shape[discriminator]); + const discriminatorValues = getDiscriminator3(type.shape[discriminator]); if (!discriminatorValues.length) { throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`); } @@ -40542,33 +46685,33 @@ class ZodDiscriminatedUnion3 extends ZodType3 { optionsMap.set(value, type); } } - return new ZodDiscriminatedUnion3({ - typeName: ZodFirstPartyTypeKind3.ZodDiscriminatedUnion, + return new ZodDiscriminatedUnion4({ + typeName: ZodFirstPartyTypeKind4.ZodDiscriminatedUnion, discriminator, options, optionsMap, - ...processCreateParams2(params) + ...processCreateParams3(params) }); } } -function mergeValues3(a, b) { - const aType = getParsedType3(a); - const bType = getParsedType3(b); +function mergeValues4(a, b) { + const aType = getParsedType4(a); + const bType = getParsedType4(b); if (a === b) { return { valid: true, data: a }; - } else if (aType === ZodParsedType2.object && bType === ZodParsedType2.object) { - const bKeys = util2.objectKeys(b); - const sharedKeys = util2.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); + } else if (aType === ZodParsedType3.object && bType === ZodParsedType3.object) { + const bKeys = util3.objectKeys(b); + const sharedKeys = util3.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); const newObj = { ...a, ...b }; for (const key of sharedKeys) { - const sharedValue = mergeValues3(a[key], b[key]); + const sharedValue = mergeValues4(a[key], b[key]); if (!sharedValue.valid) { return { valid: false }; } newObj[key] = sharedValue.data; } return { valid: true, data: newObj }; - } else if (aType === ZodParsedType2.array && bType === ZodParsedType2.array) { + } else if (aType === ZodParsedType3.array && bType === ZodParsedType3.array) { if (a.length !== b.length) { return { valid: false }; } @@ -40576,35 +46719,35 @@ function mergeValues3(a, b) { for (let index = 0;index < a.length; index++) { const itemA = a[index]; const itemB = b[index]; - const sharedValue = mergeValues3(itemA, itemB); + const sharedValue = mergeValues4(itemA, itemB); if (!sharedValue.valid) { return { valid: false }; } newArray.push(sharedValue.data); } return { valid: true, data: newArray }; - } else if (aType === ZodParsedType2.date && bType === ZodParsedType2.date && +a === +b) { + } else if (aType === ZodParsedType3.date && bType === ZodParsedType3.date && +a === +b) { return { valid: true, data: a }; } else { return { valid: false }; } } -class ZodIntersection3 extends ZodType3 { +class ZodIntersection4 extends ZodType4 { _parse(input) { const { status, ctx } = this._processInputParams(input); const handleParsed = (parsedLeft, parsedRight) => { - if (isAborted2(parsedLeft) || isAborted2(parsedRight)) { - return INVALID2; + if (isAborted3(parsedLeft) || isAborted3(parsedRight)) { + return INVALID3; } - const merged = mergeValues3(parsedLeft.value, parsedRight.value); + const merged = mergeValues4(parsedLeft.value, parsedRight.value); if (!merged.valid) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_intersection_types + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_intersection_types }); - return INVALID2; + return INVALID3; } - if (isDirty2(parsedLeft) || isDirty2(parsedRight)) { + if (isDirty3(parsedLeft) || isDirty3(parsedRight)) { status.dirty(); } return { status: status.value, value: merged.data }; @@ -40635,40 +46778,40 @@ class ZodIntersection3 extends ZodType3 { } } } -ZodIntersection3.create = (left, right, params) => { - return new ZodIntersection3({ +ZodIntersection4.create = (left, right, params) => { + return new ZodIntersection4({ left, right, - typeName: ZodFirstPartyTypeKind3.ZodIntersection, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodIntersection, + ...processCreateParams3(params) }); }; -class ZodTuple3 extends ZodType3 { +class ZodTuple4 extends ZodType4 { _parse(input) { const { status, ctx } = this._processInputParams(input); - if (ctx.parsedType !== ZodParsedType2.array) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.array, + if (ctx.parsedType !== ZodParsedType3.array) { + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.array, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } if (ctx.data.length < this._def.items.length) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_small, minimum: this._def.items.length, inclusive: true, exact: false, type: "array" }); - return INVALID2; + return INVALID3; } const rest = this._def.rest; if (!rest && ctx.data.length > this._def.items.length) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_big, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_big, maximum: this._def.items.length, inclusive: true, exact: false, @@ -40680,39 +46823,39 @@ class ZodTuple3 extends ZodType3 { const schema = this._def.items[itemIndex] || this._def.rest; if (!schema) return null; - return schema._parse(new ParseInputLazyPath2(ctx, item, ctx.path, itemIndex)); + return schema._parse(new ParseInputLazyPath3(ctx, item, ctx.path, itemIndex)); }).filter((x) => !!x); if (ctx.common.async) { return Promise.all(items).then((results) => { - return ParseStatus2.mergeArray(status, results); + return ParseStatus3.mergeArray(status, results); }); } else { - return ParseStatus2.mergeArray(status, items); + return ParseStatus3.mergeArray(status, items); } } get items() { return this._def.items; } rest(rest) { - return new ZodTuple3({ + return new ZodTuple4({ ...this._def, rest }); } } -ZodTuple3.create = (schemas3, params) => { +ZodTuple4.create = (schemas3, params) => { if (!Array.isArray(schemas3)) { throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); } - return new ZodTuple3({ + return new ZodTuple4({ items: schemas3, - typeName: ZodFirstPartyTypeKind3.ZodTuple, + typeName: ZodFirstPartyTypeKind4.ZodTuple, rest: null, - ...processCreateParams2(params) + ...processCreateParams3(params) }); }; -class ZodRecord3 extends ZodType3 { +class ZodRecord4 extends ZodType4 { get keySchema() { return this._def.keyType; } @@ -40721,52 +46864,52 @@ class ZodRecord3 extends ZodType3 { } _parse(input) { const { status, ctx } = this._processInputParams(input); - if (ctx.parsedType !== ZodParsedType2.object) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.object, + if (ctx.parsedType !== ZodParsedType3.object) { + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.object, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } const pairs = []; const keyType = this._def.keyType; const valueType = this._def.valueType; for (const key in ctx.data) { pairs.push({ - key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, key)), - value: valueType._parse(new ParseInputLazyPath2(ctx, ctx.data[key], ctx.path, key)), + key: keyType._parse(new ParseInputLazyPath3(ctx, key, ctx.path, key)), + value: valueType._parse(new ParseInputLazyPath3(ctx, ctx.data[key], ctx.path, key)), alwaysSet: key in ctx.data }); } if (ctx.common.async) { - return ParseStatus2.mergeObjectAsync(status, pairs); + return ParseStatus3.mergeObjectAsync(status, pairs); } else { - return ParseStatus2.mergeObjectSync(status, pairs); + return ParseStatus3.mergeObjectSync(status, pairs); } } get element() { return this._def.valueType; } static create(first, second, third) { - if (second instanceof ZodType3) { - return new ZodRecord3({ + if (second instanceof ZodType4) { + return new ZodRecord4({ keyType: first, valueType: second, - typeName: ZodFirstPartyTypeKind3.ZodRecord, - ...processCreateParams2(third) + typeName: ZodFirstPartyTypeKind4.ZodRecord, + ...processCreateParams3(third) }); } - return new ZodRecord3({ - keyType: ZodString3.create(), + return new ZodRecord4({ + keyType: ZodString4.create(), valueType: first, - typeName: ZodFirstPartyTypeKind3.ZodRecord, - ...processCreateParams2(second) + typeName: ZodFirstPartyTypeKind4.ZodRecord, + ...processCreateParams3(second) }); } } -class ZodMap3 extends ZodType3 { +class ZodMap4 extends ZodType4 { get keySchema() { return this._def.keyType; } @@ -40775,20 +46918,20 @@ class ZodMap3 extends ZodType3 { } _parse(input) { const { status, ctx } = this._processInputParams(input); - if (ctx.parsedType !== ZodParsedType2.map) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.map, + if (ctx.parsedType !== ZodParsedType3.map) { + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.map, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } const keyType = this._def.keyType; const valueType = this._def.valueType; const pairs = [...ctx.data.entries()].map(([key, value], index) => { return { - key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, [index, "key"])), - value: valueType._parse(new ParseInputLazyPath2(ctx, value, ctx.path, [index, "value"])) + key: keyType._parse(new ParseInputLazyPath3(ctx, key, ctx.path, [index, "key"])), + value: valueType._parse(new ParseInputLazyPath3(ctx, value, ctx.path, [index, "value"])) }; }); if (ctx.common.async) { @@ -40798,7 +46941,7 @@ class ZodMap3 extends ZodType3 { const key = await pair.key; const value = await pair.value; if (key.status === "aborted" || value.status === "aborted") { - return INVALID2; + return INVALID3; } if (key.status === "dirty" || value.status === "dirty") { status.dirty(); @@ -40813,7 +46956,7 @@ class ZodMap3 extends ZodType3 { const key = pair.key; const value = pair.value; if (key.status === "aborted" || value.status === "aborted") { - return INVALID2; + return INVALID3; } if (key.status === "dirty" || value.status === "dirty") { status.dirty(); @@ -40824,31 +46967,31 @@ class ZodMap3 extends ZodType3 { } } } -ZodMap3.create = (keyType, valueType, params) => { - return new ZodMap3({ +ZodMap4.create = (keyType, valueType, params) => { + return new ZodMap4({ valueType, keyType, - typeName: ZodFirstPartyTypeKind3.ZodMap, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodMap, + ...processCreateParams3(params) }); }; -class ZodSet3 extends ZodType3 { +class ZodSet4 extends ZodType4 { _parse(input) { const { status, ctx } = this._processInputParams(input); - if (ctx.parsedType !== ZodParsedType2.set) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.set, + if (ctx.parsedType !== ZodParsedType3.set) { + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.set, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } const def = this._def; if (def.minSize !== null) { if (ctx.data.size < def.minSize.value) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_small, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_small, minimum: def.minSize.value, type: "set", inclusive: true, @@ -40860,8 +47003,8 @@ class ZodSet3 extends ZodType3 { } if (def.maxSize !== null) { if (ctx.data.size > def.maxSize.value) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.too_big, + addIssueToContext3(ctx, { + code: ZodIssueCode4.too_big, maximum: def.maxSize.value, type: "set", inclusive: true, @@ -40876,14 +47019,14 @@ class ZodSet3 extends ZodType3 { const parsedSet = new Set; for (const element of elements2) { if (element.status === "aborted") - return INVALID2; + return INVALID3; if (element.status === "dirty") status.dirty(); parsedSet.add(element.value); } return { status: status.value, value: parsedSet }; } - const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath2(ctx, item, ctx.path, i))); + const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath3(ctx, item, ctx.path, i))); if (ctx.common.async) { return Promise.all(elements).then((elements2) => finalizeSet(elements2)); } else { @@ -40891,15 +47034,15 @@ class ZodSet3 extends ZodType3 { } } min(minSize, message) { - return new ZodSet3({ + return new ZodSet4({ ...this._def, - minSize: { value: minSize, message: errorUtil2.toString(message) } + minSize: { value: minSize, message: errorUtil3.toString(message) } }); } max(maxSize, message) { - return new ZodSet3({ + return new ZodSet4({ ...this._def, - maxSize: { value: maxSize, message: errorUtil2.toString(message) } + maxSize: { value: maxSize, message: errorUtil3.toString(message) } }); } size(size, message) { @@ -40909,59 +47052,59 @@ class ZodSet3 extends ZodType3 { return this.min(1, message); } } -ZodSet3.create = (valueType, params) => { - return new ZodSet3({ +ZodSet4.create = (valueType, params) => { + return new ZodSet4({ valueType, minSize: null, maxSize: null, - typeName: ZodFirstPartyTypeKind3.ZodSet, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodSet, + ...processCreateParams3(params) }); }; -class ZodFunction3 extends ZodType3 { +class ZodFunction4 extends ZodType4 { constructor() { super(...arguments); this.validate = this.implement; } _parse(input) { const { ctx } = this._processInputParams(input); - if (ctx.parsedType !== ZodParsedType2.function) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.function, + if (ctx.parsedType !== ZodParsedType3.function) { + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.function, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } function makeArgsIssue(args, error51) { - return makeIssue2({ + return makeIssue3({ data: args, path: ctx.path, - errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap3(), en_default3].filter((x) => !!x), + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap4(), en_default4].filter((x) => !!x), issueData: { - code: ZodIssueCode3.invalid_arguments, + code: ZodIssueCode4.invalid_arguments, argumentsError: error51 } }); } function makeReturnsIssue(returns, error51) { - return makeIssue2({ + return makeIssue3({ data: returns, path: ctx.path, - errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap3(), en_default3].filter((x) => !!x), + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap4(), en_default4].filter((x) => !!x), issueData: { - code: ZodIssueCode3.invalid_return_type, + code: ZodIssueCode4.invalid_return_type, returnTypeError: error51 } }); } const params = { errorMap: ctx.common.contextualErrorMap }; const fn = ctx.data; - if (this._def.returns instanceof ZodPromise3) { + if (this._def.returns instanceof ZodPromise4) { const me = this; - return OK2(async function(...args) { - const error51 = new ZodError3([]); + return OK3(async function(...args) { + const error51 = new ZodError4([]); const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { error51.addIssue(makeArgsIssue(args, e)); throw error51; @@ -40975,15 +47118,15 @@ class ZodFunction3 extends ZodType3 { }); } else { const me = this; - return OK2(function(...args) { + return OK3(function(...args) { const parsedArgs = me._def.args.safeParse(args, params); if (!parsedArgs.success) { - throw new ZodError3([makeArgsIssue(args, parsedArgs.error)]); + throw new ZodError4([makeArgsIssue(args, parsedArgs.error)]); } const result = Reflect.apply(fn, this, parsedArgs.data); const parsedReturns = me._def.returns.safeParse(result, params); if (!parsedReturns.success) { - throw new ZodError3([makeReturnsIssue(result, parsedReturns.error)]); + throw new ZodError4([makeReturnsIssue(result, parsedReturns.error)]); } return parsedReturns.data; }); @@ -40996,13 +47139,13 @@ class ZodFunction3 extends ZodType3 { return this._def.returns; } args(...items) { - return new ZodFunction3({ + return new ZodFunction4({ ...this._def, - args: ZodTuple3.create(items).rest(ZodUnknown3.create()) + args: ZodTuple4.create(items).rest(ZodUnknown4.create()) }); } returns(returnType) { - return new ZodFunction3({ + return new ZodFunction4({ ...this._def, returns: returnType }); @@ -41016,16 +47159,16 @@ class ZodFunction3 extends ZodType3 { return validatedFunc; } static create(args, returns, params) { - return new ZodFunction3({ - args: args ? args : ZodTuple3.create([]).rest(ZodUnknown3.create()), - returns: returns || ZodUnknown3.create(), - typeName: ZodFirstPartyTypeKind3.ZodFunction, - ...processCreateParams2(params) + return new ZodFunction4({ + args: args ? args : ZodTuple4.create([]).rest(ZodUnknown4.create()), + returns: returns || ZodUnknown4.create(), + typeName: ZodFirstPartyTypeKind4.ZodFunction, + ...processCreateParams3(params) }); } } -class ZodLazy3 extends ZodType3 { +class ZodLazy4 extends ZodType4 { get schema() { return this._def.getter(); } @@ -41035,24 +47178,24 @@ class ZodLazy3 extends ZodType3 { return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); } } -ZodLazy3.create = (getter, params) => { - return new ZodLazy3({ +ZodLazy4.create = (getter, params) => { + return new ZodLazy4({ getter, - typeName: ZodFirstPartyTypeKind3.ZodLazy, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodLazy, + ...processCreateParams3(params) }); }; -class ZodLiteral3 extends ZodType3 { +class ZodLiteral4 extends ZodType4 { _parse(input) { if (input.data !== this._def.value) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { received: ctx.data, - code: ZodIssueCode3.invalid_literal, + code: ZodIssueCode4.invalid_literal, expected: this._def.value }); - return INVALID2; + return INVALID3; } return { status: "valid", value: input.data }; } @@ -41060,32 +47203,32 @@ class ZodLiteral3 extends ZodType3 { return this._def.value; } } -ZodLiteral3.create = (value, params) => { - return new ZodLiteral3({ +ZodLiteral4.create = (value, params) => { + return new ZodLiteral4({ value, - typeName: ZodFirstPartyTypeKind3.ZodLiteral, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodLiteral, + ...processCreateParams3(params) }); }; -function createZodEnum2(values, params) { - return new ZodEnum3({ +function createZodEnum3(values, params) { + return new ZodEnum4({ values, - typeName: ZodFirstPartyTypeKind3.ZodEnum, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodEnum, + ...processCreateParams3(params) }); } -class ZodEnum3 extends ZodType3 { +class ZodEnum4 extends ZodType4 { _parse(input) { if (typeof input.data !== "string") { const ctx = this._getOrReturnCtx(input); const expectedValues = this._def.values; - addIssueToContext2(ctx, { - expected: util2.joinValues(expectedValues), + addIssueToContext3(ctx, { + expected: util3.joinValues(expectedValues), received: ctx.parsedType, - code: ZodIssueCode3.invalid_type + code: ZodIssueCode4.invalid_type }); - return INVALID2; + return INVALID3; } if (!this._cache) { this._cache = new Set(this._def.values); @@ -41093,14 +47236,14 @@ class ZodEnum3 extends ZodType3 { if (!this._cache.has(input.data)) { const ctx = this._getOrReturnCtx(input); const expectedValues = this._def.values; - addIssueToContext2(ctx, { + addIssueToContext3(ctx, { received: ctx.data, - code: ZodIssueCode3.invalid_enum_value, + code: ZodIssueCode4.invalid_enum_value, options: expectedValues }); - return INVALID2; + return INVALID3; } - return OK2(input.data); + return OK3(input.data); } get options() { return this._def.values; @@ -41127,75 +47270,75 @@ class ZodEnum3 extends ZodType3 { return enumValues; } extract(values, newDef = this._def) { - return ZodEnum3.create(values, { + return ZodEnum4.create(values, { ...this._def, ...newDef }); } exclude(values, newDef = this._def) { - return ZodEnum3.create(this.options.filter((opt) => !values.includes(opt)), { + return ZodEnum4.create(this.options.filter((opt) => !values.includes(opt)), { ...this._def, ...newDef }); } } -ZodEnum3.create = createZodEnum2; +ZodEnum4.create = createZodEnum3; -class ZodNativeEnum2 extends ZodType3 { +class ZodNativeEnum3 extends ZodType4 { _parse(input) { - const nativeEnumValues = util2.getValidEnumValues(this._def.values); + const nativeEnumValues = util3.getValidEnumValues(this._def.values); const ctx = this._getOrReturnCtx(input); - if (ctx.parsedType !== ZodParsedType2.string && ctx.parsedType !== ZodParsedType2.number) { - const expectedValues = util2.objectValues(nativeEnumValues); - addIssueToContext2(ctx, { - expected: util2.joinValues(expectedValues), + if (ctx.parsedType !== ZodParsedType3.string && ctx.parsedType !== ZodParsedType3.number) { + const expectedValues = util3.objectValues(nativeEnumValues); + addIssueToContext3(ctx, { + expected: util3.joinValues(expectedValues), received: ctx.parsedType, - code: ZodIssueCode3.invalid_type + code: ZodIssueCode4.invalid_type }); - return INVALID2; + return INVALID3; } if (!this._cache) { - this._cache = new Set(util2.getValidEnumValues(this._def.values)); + this._cache = new Set(util3.getValidEnumValues(this._def.values)); } if (!this._cache.has(input.data)) { - const expectedValues = util2.objectValues(nativeEnumValues); - addIssueToContext2(ctx, { + const expectedValues = util3.objectValues(nativeEnumValues); + addIssueToContext3(ctx, { received: ctx.data, - code: ZodIssueCode3.invalid_enum_value, + code: ZodIssueCode4.invalid_enum_value, options: expectedValues }); - return INVALID2; + return INVALID3; } - return OK2(input.data); + return OK3(input.data); } get enum() { return this._def.values; } } -ZodNativeEnum2.create = (values, params) => { - return new ZodNativeEnum2({ +ZodNativeEnum3.create = (values, params) => { + return new ZodNativeEnum3({ values, - typeName: ZodFirstPartyTypeKind3.ZodNativeEnum, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodNativeEnum, + ...processCreateParams3(params) }); }; -class ZodPromise3 extends ZodType3 { +class ZodPromise4 extends ZodType4 { unwrap() { return this._def.type; } _parse(input) { const { ctx } = this._processInputParams(input); - if (ctx.parsedType !== ZodParsedType2.promise && ctx.common.async === false) { - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.promise, + if (ctx.parsedType !== ZodParsedType3.promise && ctx.common.async === false) { + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.promise, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } - const promisified = ctx.parsedType === ZodParsedType2.promise ? ctx.data : Promise.resolve(ctx.data); - return OK2(promisified.then((data) => { + const promisified = ctx.parsedType === ZodParsedType3.promise ? ctx.data : Promise.resolve(ctx.data); + return OK3(promisified.then((data) => { return this._def.type.parseAsync(data, { path: ctx.path, errorMap: ctx.common.contextualErrorMap @@ -41203,27 +47346,27 @@ class ZodPromise3 extends ZodType3 { })); } } -ZodPromise3.create = (schema, params) => { - return new ZodPromise3({ +ZodPromise4.create = (schema, params) => { + return new ZodPromise4({ type: schema, - typeName: ZodFirstPartyTypeKind3.ZodPromise, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodPromise, + ...processCreateParams3(params) }); }; -class ZodEffects2 extends ZodType3 { +class ZodEffects3 extends ZodType4 { innerType() { return this._def.schema; } sourceType() { - return this._def.schema._def.typeName === ZodFirstPartyTypeKind3.ZodEffects ? this._def.schema.sourceType() : this._def.schema; + return this._def.schema._def.typeName === ZodFirstPartyTypeKind4.ZodEffects ? this._def.schema.sourceType() : this._def.schema; } _parse(input) { const { status, ctx } = this._processInputParams(input); const effect = this._def.effect || null; const checkCtx = { addIssue: (arg) => { - addIssueToContext2(ctx, arg); + addIssueToContext3(ctx, arg); if (arg.fatal) { status.abort(); } else { @@ -41240,34 +47383,34 @@ class ZodEffects2 extends ZodType3 { if (ctx.common.async) { return Promise.resolve(processed).then(async (processed2) => { if (status.value === "aborted") - return INVALID2; + return INVALID3; const result = await this._def.schema._parseAsync({ data: processed2, path: ctx.path, parent: ctx }); if (result.status === "aborted") - return INVALID2; + return INVALID3; if (result.status === "dirty") - return DIRTY2(result.value); + return DIRTY3(result.value); if (status.value === "dirty") - return DIRTY2(result.value); + return DIRTY3(result.value); return result; }); } else { if (status.value === "aborted") - return INVALID2; + return INVALID3; const result = this._def.schema._parseSync({ data: processed, path: ctx.path, parent: ctx }); if (result.status === "aborted") - return INVALID2; + return INVALID3; if (result.status === "dirty") - return DIRTY2(result.value); + return DIRTY3(result.value); if (status.value === "dirty") - return DIRTY2(result.value); + return DIRTY3(result.value); return result; } } @@ -41289,7 +47432,7 @@ class ZodEffects2 extends ZodType3 { parent: ctx }); if (inner.status === "aborted") - return INVALID2; + return INVALID3; if (inner.status === "dirty") status.dirty(); executeRefinement(inner.value); @@ -41297,7 +47440,7 @@ class ZodEffects2 extends ZodType3 { } else { return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { if (inner.status === "aborted") - return INVALID2; + return INVALID3; if (inner.status === "dirty") status.dirty(); return executeRefinement(inner.value).then(() => { @@ -41313,8 +47456,8 @@ class ZodEffects2 extends ZodType3 { path: ctx.path, parent: ctx }); - if (!isValid2(base)) - return INVALID2; + if (!isValid3(base)) + return INVALID3; const result = effect.transform(base.value, checkCtx); if (result instanceof Promise) { throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); @@ -41322,8 +47465,8 @@ class ZodEffects2 extends ZodType3 { return { status: status.value, value: result }; } else { return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { - if (!isValid2(base)) - return INVALID2; + if (!isValid3(base)) + return INVALID3; return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result @@ -41331,31 +47474,31 @@ class ZodEffects2 extends ZodType3 { }); } } - util2.assertNever(effect); + util3.assertNever(effect); } } -ZodEffects2.create = (schema, effect, params) => { - return new ZodEffects2({ +ZodEffects3.create = (schema, effect, params) => { + return new ZodEffects3({ schema, - typeName: ZodFirstPartyTypeKind3.ZodEffects, + typeName: ZodFirstPartyTypeKind4.ZodEffects, effect, - ...processCreateParams2(params) + ...processCreateParams3(params) }); }; -ZodEffects2.createWithPreprocess = (preprocess2, schema, params) => { - return new ZodEffects2({ +ZodEffects3.createWithPreprocess = (preprocess2, schema, params) => { + return new ZodEffects3({ schema, effect: { type: "preprocess", transform: preprocess2 }, - typeName: ZodFirstPartyTypeKind3.ZodEffects, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodEffects, + ...processCreateParams3(params) }); }; -class ZodOptional3 extends ZodType3 { +class ZodOptional4 extends ZodType4 { _parse(input) { const parsedType2 = this._getType(input); - if (parsedType2 === ZodParsedType2.undefined) { - return OK2(undefined); + if (parsedType2 === ZodParsedType3.undefined) { + return OK3(undefined); } return this._def.innerType._parse(input); } @@ -41363,19 +47506,19 @@ class ZodOptional3 extends ZodType3 { return this._def.innerType; } } -ZodOptional3.create = (type, params) => { - return new ZodOptional3({ +ZodOptional4.create = (type, params) => { + return new ZodOptional4({ innerType: type, - typeName: ZodFirstPartyTypeKind3.ZodOptional, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodOptional, + ...processCreateParams3(params) }); }; -class ZodNullable3 extends ZodType3 { +class ZodNullable4 extends ZodType4 { _parse(input) { const parsedType2 = this._getType(input); - if (parsedType2 === ZodParsedType2.null) { - return OK2(null); + if (parsedType2 === ZodParsedType3.null) { + return OK3(null); } return this._def.innerType._parse(input); } @@ -41383,19 +47526,19 @@ class ZodNullable3 extends ZodType3 { return this._def.innerType; } } -ZodNullable3.create = (type, params) => { - return new ZodNullable3({ +ZodNullable4.create = (type, params) => { + return new ZodNullable4({ innerType: type, - typeName: ZodFirstPartyTypeKind3.ZodNullable, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodNullable, + ...processCreateParams3(params) }); }; -class ZodDefault3 extends ZodType3 { +class ZodDefault4 extends ZodType4 { _parse(input) { const { ctx } = this._processInputParams(input); let data = ctx.data; - if (ctx.parsedType === ZodParsedType2.undefined) { + if (ctx.parsedType === ZodParsedType3.undefined) { data = this._def.defaultValue(); } return this._def.innerType._parse({ @@ -41408,16 +47551,16 @@ class ZodDefault3 extends ZodType3 { return this._def.innerType; } } -ZodDefault3.create = (type, params) => { - return new ZodDefault3({ +ZodDefault4.create = (type, params) => { + return new ZodDefault4({ innerType: type, - typeName: ZodFirstPartyTypeKind3.ZodDefault, + typeName: ZodFirstPartyTypeKind4.ZodDefault, defaultValue: typeof params.default === "function" ? params.default : () => params.default, - ...processCreateParams2(params) + ...processCreateParams3(params) }); }; -class ZodCatch3 extends ZodType3 { +class ZodCatch4 extends ZodType4 { _parse(input) { const { ctx } = this._processInputParams(input); const newCtx = { @@ -41434,13 +47577,13 @@ class ZodCatch3 extends ZodType3 { ...newCtx } }); - if (isAsync2(result)) { + if (isAsync3(result)) { return result.then((result2) => { return { status: "valid", value: result2.status === "valid" ? result2.value : this._def.catchValue({ get error() { - return new ZodError3(newCtx.common.issues); + return new ZodError4(newCtx.common.issues); }, input: newCtx.data }) @@ -41451,7 +47594,7 @@ class ZodCatch3 extends ZodType3 { status: "valid", value: result.status === "valid" ? result.value : this._def.catchValue({ get error() { - return new ZodError3(newCtx.common.issues); + return new ZodError4(newCtx.common.issues); }, input: newCtx.data }) @@ -41462,39 +47605,39 @@ class ZodCatch3 extends ZodType3 { return this._def.innerType; } } -ZodCatch3.create = (type, params) => { - return new ZodCatch3({ +ZodCatch4.create = (type, params) => { + return new ZodCatch4({ innerType: type, - typeName: ZodFirstPartyTypeKind3.ZodCatch, + typeName: ZodFirstPartyTypeKind4.ZodCatch, catchValue: typeof params.catch === "function" ? params.catch : () => params.catch, - ...processCreateParams2(params) + ...processCreateParams3(params) }); }; -class ZodNaN3 extends ZodType3 { +class ZodNaN4 extends ZodType4 { _parse(input) { const parsedType2 = this._getType(input); - if (parsedType2 !== ZodParsedType2.nan) { + if (parsedType2 !== ZodParsedType3.nan) { const ctx = this._getOrReturnCtx(input); - addIssueToContext2(ctx, { - code: ZodIssueCode3.invalid_type, - expected: ZodParsedType2.nan, + addIssueToContext3(ctx, { + code: ZodIssueCode4.invalid_type, + expected: ZodParsedType3.nan, received: ctx.parsedType }); - return INVALID2; + return INVALID3; } return { status: "valid", value: input.data }; } } -ZodNaN3.create = (params) => { - return new ZodNaN3({ - typeName: ZodFirstPartyTypeKind3.ZodNaN, - ...processCreateParams2(params) +ZodNaN4.create = (params) => { + return new ZodNaN4({ + typeName: ZodFirstPartyTypeKind4.ZodNaN, + ...processCreateParams3(params) }); }; -var BRAND2 = Symbol("zod_brand"); +var BRAND3 = Symbol("zod_brand"); -class ZodBranded2 extends ZodType3 { +class ZodBranded3 extends ZodType4 { _parse(input) { const { ctx } = this._processInputParams(input); const data = ctx.data; @@ -41509,7 +47652,7 @@ class ZodBranded2 extends ZodType3 { } } -class ZodPipeline2 extends ZodType3 { +class ZodPipeline3 extends ZodType4 { _parse(input) { const { status, ctx } = this._processInputParams(input); if (ctx.common.async) { @@ -41520,10 +47663,10 @@ class ZodPipeline2 extends ZodType3 { parent: ctx }); if (inResult.status === "aborted") - return INVALID2; + return INVALID3; if (inResult.status === "dirty") { status.dirty(); - return DIRTY2(inResult.value); + return DIRTY3(inResult.value); } else { return this._def.out._parseAsync({ data: inResult.value, @@ -41540,7 +47683,7 @@ class ZodPipeline2 extends ZodType3 { parent: ctx }); if (inResult.status === "aborted") - return INVALID2; + return INVALID3; if (inResult.status === "dirty") { status.dirty(); return { @@ -41557,67 +47700,67 @@ class ZodPipeline2 extends ZodType3 { } } static create(a, b) { - return new ZodPipeline2({ + return new ZodPipeline3({ in: a, out: b, - typeName: ZodFirstPartyTypeKind3.ZodPipeline + typeName: ZodFirstPartyTypeKind4.ZodPipeline }); } } -class ZodReadonly3 extends ZodType3 { +class ZodReadonly4 extends ZodType4 { _parse(input) { const result = this._def.innerType._parse(input); const freeze = (data) => { - if (isValid2(data)) { + if (isValid3(data)) { data.value = Object.freeze(data.value); } return data; }; - return isAsync2(result) ? result.then((data) => freeze(data)) : freeze(result); + return isAsync3(result) ? result.then((data) => freeze(data)) : freeze(result); } unwrap() { return this._def.innerType; } } -ZodReadonly3.create = (type, params) => { - return new ZodReadonly3({ +ZodReadonly4.create = (type, params) => { + return new ZodReadonly4({ innerType: type, - typeName: ZodFirstPartyTypeKind3.ZodReadonly, - ...processCreateParams2(params) + typeName: ZodFirstPartyTypeKind4.ZodReadonly, + ...processCreateParams3(params) }); }; -function cleanParams2(params, data) { +function cleanParams3(params, data) { const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params; const p2 = typeof p === "string" ? { message: p } : p; return p2; } -function custom3(check2, _params = {}, fatal) { +function custom4(check2, _params = {}, fatal) { if (check2) - return ZodAny3.create().superRefine((data, ctx) => { + return ZodAny4.create().superRefine((data, ctx) => { const r = check2(data); if (r instanceof Promise) { return r.then((r2) => { if (!r2) { - const params = cleanParams2(_params, data); + const params = cleanParams3(_params, data); const _fatal = params.fatal ?? fatal ?? true; ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); } }); } if (!r) { - const params = cleanParams2(_params, data); + const params = cleanParams3(_params, data); const _fatal = params.fatal ?? fatal ?? true; ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); } return; }); - return ZodAny3.create(); + return ZodAny4.create(); } -var late2 = { - object: ZodObject3.lazycreate +var late3 = { + object: ZodObject4.lazycreate }; -var ZodFirstPartyTypeKind3; +var ZodFirstPartyTypeKind4; (function(ZodFirstPartyTypeKind22) { ZodFirstPartyTypeKind22["ZodString"] = "ZodString"; ZodFirstPartyTypeKind22["ZodNumber"] = "ZodNumber"; @@ -41655,59 +47798,59 @@ var ZodFirstPartyTypeKind3; ZodFirstPartyTypeKind22["ZodBranded"] = "ZodBranded"; ZodFirstPartyTypeKind22["ZodPipeline"] = "ZodPipeline"; ZodFirstPartyTypeKind22["ZodReadonly"] = "ZodReadonly"; -})(ZodFirstPartyTypeKind3 || (ZodFirstPartyTypeKind3 = {})); -var instanceOfType2 = (cls, params = { +})(ZodFirstPartyTypeKind4 || (ZodFirstPartyTypeKind4 = {})); +var instanceOfType3 = (cls, params = { message: `Input not instance of ${cls.name}` -}) => custom3((data) => data instanceof cls, params); -var stringType2 = ZodString3.create; -var numberType2 = ZodNumber3.create; -var nanType2 = ZodNaN3.create; -var bigIntType2 = ZodBigInt3.create; -var booleanType2 = ZodBoolean3.create; -var dateType2 = ZodDate3.create; -var symbolType2 = ZodSymbol3.create; -var undefinedType2 = ZodUndefined3.create; -var nullType2 = ZodNull3.create; -var anyType2 = ZodAny3.create; -var unknownType2 = ZodUnknown3.create; -var neverType2 = ZodNever3.create; -var voidType2 = ZodVoid3.create; -var arrayType2 = ZodArray3.create; -var objectType2 = ZodObject3.create; -var strictObjectType2 = ZodObject3.strictCreate; -var unionType2 = ZodUnion3.create; -var discriminatedUnionType2 = ZodDiscriminatedUnion3.create; -var intersectionType2 = ZodIntersection3.create; -var tupleType2 = ZodTuple3.create; -var recordType2 = ZodRecord3.create; -var mapType2 = ZodMap3.create; -var setType2 = ZodSet3.create; -var functionType2 = ZodFunction3.create; -var lazyType2 = ZodLazy3.create; -var literalType2 = ZodLiteral3.create; -var enumType2 = ZodEnum3.create; -var nativeEnumType2 = ZodNativeEnum2.create; -var promiseType2 = ZodPromise3.create; -var effectsType2 = ZodEffects2.create; -var optionalType2 = ZodOptional3.create; -var nullableType2 = ZodNullable3.create; -var preprocessType2 = ZodEffects2.createWithPreprocess; -var pipelineType2 = ZodPipeline2.create; -var ostring2 = () => stringType2().optional(); -var onumber2 = () => numberType2().optional(); -var oboolean2 = () => booleanType2().optional(); -var coerce2 = { - string: (arg) => ZodString3.create({ ...arg, coerce: true }), - number: (arg) => ZodNumber3.create({ ...arg, coerce: true }), - boolean: (arg) => ZodBoolean3.create({ +}) => custom4((data) => data instanceof cls, params); +var stringType3 = ZodString4.create; +var numberType3 = ZodNumber4.create; +var nanType3 = ZodNaN4.create; +var bigIntType3 = ZodBigInt4.create; +var booleanType3 = ZodBoolean4.create; +var dateType3 = ZodDate4.create; +var symbolType3 = ZodSymbol4.create; +var undefinedType3 = ZodUndefined4.create; +var nullType3 = ZodNull4.create; +var anyType3 = ZodAny4.create; +var unknownType3 = ZodUnknown4.create; +var neverType3 = ZodNever4.create; +var voidType3 = ZodVoid4.create; +var arrayType3 = ZodArray4.create; +var objectType3 = ZodObject4.create; +var strictObjectType3 = ZodObject4.strictCreate; +var unionType3 = ZodUnion4.create; +var discriminatedUnionType3 = ZodDiscriminatedUnion4.create; +var intersectionType3 = ZodIntersection4.create; +var tupleType3 = ZodTuple4.create; +var recordType3 = ZodRecord4.create; +var mapType3 = ZodMap4.create; +var setType3 = ZodSet4.create; +var functionType3 = ZodFunction4.create; +var lazyType3 = ZodLazy4.create; +var literalType3 = ZodLiteral4.create; +var enumType3 = ZodEnum4.create; +var nativeEnumType3 = ZodNativeEnum3.create; +var promiseType3 = ZodPromise4.create; +var effectsType3 = ZodEffects3.create; +var optionalType3 = ZodOptional4.create; +var nullableType3 = ZodNullable4.create; +var preprocessType3 = ZodEffects3.createWithPreprocess; +var pipelineType3 = ZodPipeline3.create; +var ostring3 = () => stringType3().optional(); +var onumber3 = () => numberType3().optional(); +var oboolean3 = () => booleanType3().optional(); +var coerce3 = { + string: (arg) => ZodString4.create({ ...arg, coerce: true }), + number: (arg) => ZodNumber4.create({ ...arg, coerce: true }), + boolean: (arg) => ZodBoolean4.create({ ...arg, coerce: true }), - bigint: (arg) => ZodBigInt3.create({ ...arg, coerce: true }), - date: (arg) => ZodDate3.create({ ...arg, coerce: true }) + bigint: (arg) => ZodBigInt4.create({ ...arg, coerce: true }), + date: (arg) => ZodDate4.create({ ...arg, coerce: true }) }; -var NEVER3 = INVALID2; -var SCHEMA_IDS2 = { +var NEVER4 = INVALID3; +var SCHEMA_IDS3 = { actorRef: "hasna.actor_ref.v1", resourceRef: "hasna.resource_ref.v1", evidenceRef: "hasna.evidence_ref.v1", @@ -41739,17 +47882,17 @@ var SCHEMA_IDS2 = { announcement: "hasna.announcement.v1", audience: "hasna.audience.v1" }; -var SchemaIdSchema2 = exports_external3.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/); -var TimestampSchema2 = exports_external3.string().datetime(); -var NonEmptyStringSchema2 = exports_external3.string().trim().min(1); -var UriSchema2 = NonEmptyStringSchema2.refine((value) => value.startsWith("artifact://") || value.startsWith("repo://") || value.startsWith("project://") || value.startsWith("dashboard://") || value.startsWith("render://") || value.startsWith("integration://") || value.startsWith("task://") || value.startsWith("todo://") || value.startsWith("file://") || value.startsWith("files://") || value.startsWith("mailery://") || value.startsWith("conversation://") || value.startsWith("knowledge://") || value.startsWith("memento://") || value.startsWith("https://") || value.startsWith("http://") || value.startsWith("git+https://"), "URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"); -var Sha256DigestSchema2 = exports_external3.string().regex(/^[a-fA-F0-9]{64}$/); -var HashStringSchema2 = exports_external3.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/); -var MetadataSchema2 = exports_external3.record(exports_external3.unknown()); -var TagsSchema2 = exports_external3.array(exports_external3.string().min(1)).default([]); -var OptionalTimestampSchema2 = TimestampSchema2.nullable().optional(); -var TerminalStatuses2 = new Set(["succeeded", "failed", "cancelled", "blocked", "skipped"]); -var ContractStatusSchema2 = exports_external3.enum([ +var SchemaIdSchema3 = exports_external4.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/); +var TimestampSchema3 = exports_external4.string().datetime(); +var NonEmptyStringSchema3 = exports_external4.string().trim().min(1); +var UriSchema3 = NonEmptyStringSchema3.refine((value) => value.startsWith("artifact://") || value.startsWith("repo://") || value.startsWith("project://") || value.startsWith("dashboard://") || value.startsWith("render://") || value.startsWith("integration://") || value.startsWith("task://") || value.startsWith("todo://") || value.startsWith("file://") || value.startsWith("files://") || value.startsWith("mailery://") || value.startsWith("conversation://") || value.startsWith("knowledge://") || value.startsWith("memento://") || value.startsWith("https://") || value.startsWith("http://") || value.startsWith("git+https://"), "URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"); +var Sha256DigestSchema3 = exports_external4.string().regex(/^[a-fA-F0-9]{64}$/); +var HashStringSchema3 = exports_external4.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/); +var MetadataSchema3 = exports_external4.record(exports_external4.unknown()); +var TagsSchema3 = exports_external4.array(exports_external4.string().min(1)).default([]); +var OptionalTimestampSchema3 = TimestampSchema3.nullable().optional(); +var TerminalStatuses3 = new Set(["succeeded", "failed", "cancelled", "blocked", "skipped"]); +var ContractStatusSchema3 = exports_external4.enum([ "pending", "running", "succeeded", @@ -41759,23 +47902,23 @@ var ContractStatusSchema2 = exports_external3.enum([ "skipped", "unknown" ]); -function contractBaseSchema2(schema) { - return exports_external3.object({ - schema: exports_external3.literal(schema), - id: exports_external3.string().min(1), - createdAt: TimestampSchema2, - updatedAt: OptionalTimestampSchema2, - metadata: MetadataSchema2.optional() +function contractBaseSchema3(schema) { + return exports_external4.object({ + schema: exports_external4.literal(schema), + id: exports_external4.string().min(1), + createdAt: TimestampSchema3, + updatedAt: OptionalTimestampSchema3, + metadata: MetadataSchema3.optional() }).strict(); } -var ContractEnvelopeSchema2 = exports_external3.object({ - schema: SchemaIdSchema2, - id: exports_external3.string().min(1), - createdAt: TimestampSchema2, - updatedAt: OptionalTimestampSchema2, - metadata: MetadataSchema2.optional() +var ContractEnvelopeSchema3 = exports_external4.object({ + schema: SchemaIdSchema3, + id: exports_external4.string().min(1), + createdAt: TimestampSchema3, + updatedAt: OptionalTimestampSchema3, + metadata: MetadataSchema3.optional() }).strict(); -var ActorKindSchema2 = exports_external3.enum([ +var ActorKindSchema3 = exports_external4.enum([ "agent", "human", "service", @@ -41783,23 +47926,23 @@ var ActorKindSchema2 = exports_external3.enum([ "workflow", "system" ]); -var ActorRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.actorRef).extend({ - kind: ActorKindSchema2, - name: exports_external3.string().min(1).optional(), - provider: exports_external3.string().min(1).optional(), - accountId: exports_external3.string().min(1).optional(), - machineId: exports_external3.string().min(1).optional(), - capabilities: exports_external3.array(exports_external3.string().min(1)).default([]) +var ActorRefSchema3 = contractBaseSchema3(SCHEMA_IDS3.actorRef).extend({ + kind: ActorKindSchema3, + name: exports_external4.string().min(1).optional(), + provider: exports_external4.string().min(1).optional(), + accountId: exports_external4.string().min(1).optional(), + machineId: exports_external4.string().min(1).optional(), + capabilities: exports_external4.array(exports_external4.string().min(1)).default([]) }).strict(); -var ActorPointerSchema2 = exports_external3.object({ - kind: ActorKindSchema2, - id: exports_external3.string().min(1), - name: exports_external3.string().min(1).optional(), - provider: exports_external3.string().min(1).optional(), - accountId: exports_external3.string().min(1).optional(), - machineId: exports_external3.string().min(1).optional() +var ActorPointerSchema3 = exports_external4.object({ + kind: ActorKindSchema3, + id: exports_external4.string().min(1), + name: exports_external4.string().min(1).optional(), + provider: exports_external4.string().min(1).optional(), + accountId: exports_external4.string().min(1).optional(), + machineId: exports_external4.string().min(1).optional() }).strict(); -var ResourceKindSchema2 = exports_external3.enum([ +var ResourceKindSchema3 = exports_external4.enum([ "task", "project", "repo", @@ -41847,40 +47990,40 @@ var ResourceKindSchema2 = exports_external3.enum([ "feedback", "unknown" ]); -var ResourceRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.resourceRef).extend({ - kind: ResourceKindSchema2, - name: exports_external3.string().min(1).optional(), - uri: UriSchema2.optional(), - externalId: NonEmptyStringSchema2.optional(), - sourcePackage: NonEmptyStringSchema2.optional(), - tags: TagsSchema2 +var ResourceRefSchema3 = contractBaseSchema3(SCHEMA_IDS3.resourceRef).extend({ + kind: ResourceKindSchema3, + name: exports_external4.string().min(1).optional(), + uri: UriSchema3.optional(), + externalId: NonEmptyStringSchema3.optional(), + sourcePackage: NonEmptyStringSchema3.optional(), + tags: TagsSchema3 }).strict().superRefine((value, ctx) => { if (!value.uri && !(value.externalId && value.sourcePackage)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Resource refs require uri or both sourcePackage and externalId", path: ["uri"] }); } }); -var ResourcePointerSchema2 = exports_external3.object({ - kind: ResourceKindSchema2, - id: exports_external3.string().min(1), - name: exports_external3.string().min(1).optional(), - uri: UriSchema2.optional(), - externalId: NonEmptyStringSchema2.optional(), - sourcePackage: NonEmptyStringSchema2.optional(), - tags: TagsSchema2 +var ResourcePointerSchema3 = exports_external4.object({ + kind: ResourceKindSchema3, + id: exports_external4.string().min(1), + name: exports_external4.string().min(1).optional(), + uri: UriSchema3.optional(), + externalId: NonEmptyStringSchema3.optional(), + sourcePackage: NonEmptyStringSchema3.optional(), + tags: TagsSchema3 }).strict().superRefine((value, ctx) => { if (!value.uri && Boolean(value.externalId) !== Boolean(value.sourcePackage)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Resource pointers with external package locators require both sourcePackage and externalId", path: value.externalId ? ["sourcePackage"] : ["externalId"] }); } }); -var EvidenceKindSchema2 = exports_external3.enum([ +var EvidenceKindSchema3 = exports_external4.enum([ "file", "command_output", "screenshot", @@ -41896,47 +48039,47 @@ var EvidenceKindSchema2 = exports_external3.enum([ "trace", "other" ]); -var RedactionStateSchema2 = exports_external3.enum(["none", "partial", "full", "unknown"]); -var EvidenceRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.evidenceRef).extend({ - kind: EvidenceKindSchema2, - uri: UriSchema2, - sha256: Sha256DigestSchema2.optional(), - summary: exports_external3.string().min(1).optional(), - contentType: exports_external3.string().min(1).optional(), - sizeBytes: exports_external3.number().int().nonnegative().optional(), - redaction: RedactionStateSchema2.default("unknown"), - producer: ActorPointerSchema2.optional(), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - tags: TagsSchema2 +var RedactionStateSchema3 = exports_external4.enum(["none", "partial", "full", "unknown"]); +var EvidenceRefSchema3 = contractBaseSchema3(SCHEMA_IDS3.evidenceRef).extend({ + kind: EvidenceKindSchema3, + uri: UriSchema3, + sha256: Sha256DigestSchema3.optional(), + summary: exports_external4.string().min(1).optional(), + contentType: exports_external4.string().min(1).optional(), + sizeBytes: exports_external4.number().int().nonnegative().optional(), + redaction: RedactionStateSchema3.default("unknown"), + producer: ActorPointerSchema3.optional(), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + tags: TagsSchema3 }).strict(); -var EvidencePointerSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - kind: EvidenceKindSchema2.optional(), - uri: UriSchema2.optional(), - sha256: Sha256DigestSchema2.optional(), - summary: exports_external3.string().min(1).optional() +var EvidencePointerSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + kind: EvidenceKindSchema3.optional(), + uri: UriSchema3.optional(), + sha256: Sha256DigestSchema3.optional(), + summary: exports_external4.string().min(1).optional() }).strict(); -var CostEstimateSchema2 = contractBaseSchema2(SCHEMA_IDS2.costEstimate).extend({ - currency: exports_external3.string().regex(/^[A-Z]{3}$/).default("USD"), - amountMicros: exports_external3.number().int().nonnegative(), - provider: exports_external3.string().min(1).optional(), - model: exports_external3.string().min(1).optional(), - accountId: exports_external3.string().min(1).optional(), - promptTokens: exports_external3.number().int().nonnegative().optional(), - completionTokens: exports_external3.number().int().nonnegative().optional(), - totalTokens: exports_external3.number().int().nonnegative().optional(), - basis: exports_external3.enum(["actual", "estimated", "budget", "limit"]).default("estimated"), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]) +var CostEstimateSchema3 = contractBaseSchema3(SCHEMA_IDS3.costEstimate).extend({ + currency: exports_external4.string().regex(/^[A-Z]{3}$/).default("USD"), + amountMicros: exports_external4.number().int().nonnegative(), + provider: exports_external4.string().min(1).optional(), + model: exports_external4.string().min(1).optional(), + accountId: exports_external4.string().min(1).optional(), + promptTokens: exports_external4.number().int().nonnegative().optional(), + completionTokens: exports_external4.number().int().nonnegative().optional(), + totalTokens: exports_external4.number().int().nonnegative().optional(), + basis: exports_external4.enum(["actual", "estimated", "budget", "limit"]).default("estimated"), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.promptTokens !== undefined && value.completionTokens !== undefined && value.totalTokens !== undefined && value.totalTokens !== value.promptTokens + value.completionTokens) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "totalTokens must equal promptTokens plus completionTokens when all are present", path: ["totalTokens"] }); } }); -var DecisionStatusSchema2 = exports_external3.enum([ +var DecisionStatusSchema3 = exports_external4.enum([ "allowed", "denied", "warned", @@ -41945,8 +48088,8 @@ var DecisionStatusSchema2 = exports_external3.enum([ "skipped", "unknown" ]); -var DecisionEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.decisionEnvelope).extend({ - decisionType: exports_external3.enum([ +var DecisionEnvelopeSchema3 = contractBaseSchema3(SCHEMA_IDS3.decisionEnvelope).extend({ + decisionType: exports_external4.enum([ "guardrail", "model_route", "tool_select", @@ -41956,32 +48099,32 @@ var DecisionEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.decisionEnvelope). "policy", "other" ]), - status: DecisionStatusSchema2, - actor: ActorPointerSchema2.optional(), - traceId: exports_external3.string().min(1).optional(), - inputHash: HashStringSchema2.optional(), - policyBundleId: exports_external3.string().min(1).optional(), - selected: exports_external3.array(ResourcePointerSchema2).default([]), - skipped: exports_external3.array(ResourcePointerSchema2).default([]), - reason: exports_external3.string().min(1), - obligations: exports_external3.array(exports_external3.string().min(1)).default([]), - redactions: exports_external3.array(exports_external3.string().min(1)).default([]), - costEstimate: CostEstimateSchema2.optional(), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) + status: DecisionStatusSchema3, + actor: ActorPointerSchema3.optional(), + traceId: exports_external4.string().min(1).optional(), + inputHash: HashStringSchema3.optional(), + policyBundleId: exports_external4.string().min(1).optional(), + selected: exports_external4.array(ResourcePointerSchema3).default([]), + skipped: exports_external4.array(ResourcePointerSchema3).default([]), + reason: exports_external4.string().min(1), + obligations: exports_external4.array(exports_external4.string().min(1)).default([]), + redactions: exports_external4.array(exports_external4.string().min(1)).default([]), + costEstimate: CostEstimateSchema3.optional(), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.status === "selected" && value.selected.length === 0) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Selected decisions require at least one selected resource", path: ["selected"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Selected decisions require at least one selected resource", path: ["selected"] }); } if (value.status === "skipped" && value.skipped.length === 0) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Skipped decisions require at least one skipped resource", path: ["skipped"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Skipped decisions require at least one skipped resource", path: ["skipped"] }); } if (value.status === "denied") { if (value.selected.length > 0) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Denied decisions cannot include selected resources", path: ["selected"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Denied decisions cannot include selected resources", path: ["selected"] }); } if (!value.policyBundleId && value.evidenceRefs.length === 0 && value.obligations.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Denied decisions require policy, evidence, or obligations", path: ["policyBundleId"] }); @@ -41989,25 +48132,25 @@ var DecisionEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.decisionEnvelope). } if (value.status === "approval_required" && value.obligations.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Approval-required decisions require actionable obligations", path: ["obligations"] }); } }); -var CapabilityCardSchema2 = contractBaseSchema2(SCHEMA_IDS2.capabilityCard).extend({ - kind: exports_external3.enum(["model", "tool", "machine", "agent", "lane", "connector", "service"]), - name: exports_external3.string().min(1), - version: exports_external3.string().min(1).optional(), - status: exports_external3.enum(["available", "unavailable", "degraded", "unknown"]).default("unknown"), - capabilities: exports_external3.array(exports_external3.string().min(1)).default([]), - limitations: exports_external3.array(exports_external3.string().min(1)).default([]), - riskLevel: exports_external3.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), - costEstimate: CostEstimateSchema2.optional(), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var CapabilityCardSchema3 = contractBaseSchema3(SCHEMA_IDS3.capabilityCard).extend({ + kind: exports_external4.enum(["model", "tool", "machine", "agent", "lane", "connector", "service"]), + name: exports_external4.string().min(1), + version: exports_external4.string().min(1).optional(), + status: exports_external4.enum(["available", "unavailable", "degraded", "unknown"]).default("unknown"), + capabilities: exports_external4.array(exports_external4.string().min(1)).default([]), + limitations: exports_external4.array(exports_external4.string().min(1)).default([]), + riskLevel: exports_external4.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), + costEstimate: CostEstimateSchema3.optional(), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict(); -var ProviderModeSchema2 = exports_external3.enum(["mock", "fixture", "sandbox", "read_only_live", "live_mutating"]); -var ProviderSideEffectClassSchema2 = exports_external3.enum([ +var ProviderModeSchema3 = exports_external4.enum(["mock", "fixture", "sandbox", "read_only_live", "live_mutating"]); +var ProviderSideEffectClassSchema3 = exports_external4.enum([ "none", "read_only", "external_notification", @@ -42019,88 +48162,88 @@ var ProviderSideEffectClassSchema2 = exports_external3.enum([ "compute_or_infra_mutation", "irreversible" ]); -var CredentialRequirementSchema2 = exports_external3.object({ - refName: NonEmptyStringSchema2, - requiredForModes: exports_external3.array(ProviderModeSchema2).min(1), - allowedSecretInputs: exports_external3.array(exports_external3.enum(["credential_ref", "lease_ref"])).min(1).default(["credential_ref"]), - failClosedDiagnostic: NonEmptyStringSchema2, - revocationCheck: exports_external3.boolean().default(true) +var CredentialRequirementSchema3 = exports_external4.object({ + refName: NonEmptyStringSchema3, + requiredForModes: exports_external4.array(ProviderModeSchema3).min(1), + allowedSecretInputs: exports_external4.array(exports_external4.enum(["credential_ref", "lease_ref"])).min(1).default(["credential_ref"]), + failClosedDiagnostic: NonEmptyStringSchema3, + revocationCheck: exports_external4.boolean().default(true) }).strict(); -var ProviderOperationCardSchema2 = exports_external3.object({ - operation: NonEmptyStringSchema2, - supportedModes: exports_external3.array(ProviderModeSchema2).min(1), - sideEffectClass: ProviderSideEffectClassSchema2, - requiresApproval: exports_external3.boolean().default(false), - requiresIdempotencyKey: exports_external3.boolean().default(false), - requiresSandboxEvidence: exports_external3.boolean().default(false), - requiresRollbackOrRevocation: exports_external3.boolean().default(false), - rollbackOrRevocation: NonEmptyStringSchema2.optional(), - noSideEffectSmoke: NonEmptyStringSchema2.optional(), - reconciliation: NonEmptyStringSchema2.optional() +var ProviderOperationCardSchema3 = exports_external4.object({ + operation: NonEmptyStringSchema3, + supportedModes: exports_external4.array(ProviderModeSchema3).min(1), + sideEffectClass: ProviderSideEffectClassSchema3, + requiresApproval: exports_external4.boolean().default(false), + requiresIdempotencyKey: exports_external4.boolean().default(false), + requiresSandboxEvidence: exports_external4.boolean().default(false), + requiresRollbackOrRevocation: exports_external4.boolean().default(false), + rollbackOrRevocation: NonEmptyStringSchema3.optional(), + noSideEffectSmoke: NonEmptyStringSchema3.optional(), + reconciliation: NonEmptyStringSchema3.optional() }).strict().superRefine((value, ctx) => { if (value.supportedModes.includes("live_mutating")) { if (value.sideEffectClass === "none" || value.sideEffectClass === "read_only") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "live_mutating operations must declare a side-effecting class", path: ["sideEffectClass"] }); } if (!value.requiresApproval) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "live_mutating operations require approval", path: ["requiresApproval"] }); } if (!value.requiresIdempotencyKey) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "live_mutating operations require idempotency keys", path: ["requiresIdempotencyKey"] }); } if (!value.requiresSandboxEvidence) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "live_mutating operations require sandbox evidence before live proof", path: ["requiresSandboxEvidence"] }); } if (!value.requiresRollbackOrRevocation || !value.rollbackOrRevocation) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "live_mutating operations require rollback or revocation instructions", path: ["rollbackOrRevocation"] }); } if (!value.reconciliation) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "live_mutating operations require reconciliation behavior", path: ["reconciliation"] }); } } }); -var ProviderCapabilityCardSchema2 = exports_external3.object({ - providerId: NonEmptyStringSchema2, - appId: NonEmptyStringSchema2, - adapterId: NonEmptyStringSchema2, - ownerPackage: NonEmptyStringSchema2, - modes: exports_external3.array(ProviderModeSchema2).min(1), - defaultMode: ProviderModeSchema2, - credentialRequirements: exports_external3.array(CredentialRequirementSchema2).default([]), - operations: exports_external3.array(ProviderOperationCardSchema2).min(1), - rateLimitPosture: NonEmptyStringSchema2, - costPosture: NonEmptyStringSchema2.optional(), - auditEvents: exports_external3.array(NonEmptyStringSchema2).default([]), - redactionRules: exports_external3.array(NonEmptyStringSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var ProviderCapabilityCardSchema3 = exports_external4.object({ + providerId: NonEmptyStringSchema3, + appId: NonEmptyStringSchema3, + adapterId: NonEmptyStringSchema3, + ownerPackage: NonEmptyStringSchema3, + modes: exports_external4.array(ProviderModeSchema3).min(1), + defaultMode: ProviderModeSchema3, + credentialRequirements: exports_external4.array(CredentialRequirementSchema3).default([]), + operations: exports_external4.array(ProviderOperationCardSchema3).min(1), + rateLimitPosture: NonEmptyStringSchema3, + costPosture: NonEmptyStringSchema3.optional(), + auditEvents: exports_external4.array(NonEmptyStringSchema3).default([]), + redactionRules: exports_external4.array(NonEmptyStringSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (!value.modes.includes(value.defaultMode)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "defaultMode must be one of modes", path: ["defaultMode"] }); @@ -42109,7 +48252,7 @@ var ProviderCapabilityCardSchema2 = exports_external3.object({ for (const mode2 of operationModes) { if (!value.modes.includes(mode2)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `operation mode ${mode2} is not declared in provider modes`, path: ["operations"] }); @@ -42119,94 +48262,94 @@ var ProviderCapabilityCardSchema2 = exports_external3.object({ const liveCredential = value.credentialRequirements.some((credential) => credential.requiredForModes.includes("live_mutating")); if (!liveCredential) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "live_mutating providers require at least one live credential reference requirement", path: ["credentialRequirements"] }); } if (value.auditEvents.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "live_mutating providers require audit events", path: ["auditEvents"] }); } } }); -var ProviderLiveModeTargetSchema2 = exports_external3.object({ - appId: NonEmptyStringSchema2, - repo: NonEmptyStringSchema2, - priority: exports_external3.enum(["p0", "p1", "p2"]).default("p1"), - requiredEvidence: exports_external3.array(NonEmptyStringSchema2).min(1), - firstOperations: exports_external3.array(NonEmptyStringSchema2).min(1), - blockedUntil: exports_external3.array(NonEmptyStringSchema2).default([]) +var ProviderLiveModeTargetSchema3 = exports_external4.object({ + appId: NonEmptyStringSchema3, + repo: NonEmptyStringSchema3, + priority: exports_external4.enum(["p0", "p1", "p2"]).default("p1"), + requiredEvidence: exports_external4.array(NonEmptyStringSchema3).min(1), + firstOperations: exports_external4.array(NonEmptyStringSchema3).min(1), + blockedUntil: exports_external4.array(NonEmptyStringSchema3).default([]) }).strict(); -var ProviderLiveModeStandardSchema2 = contractBaseSchema2(SCHEMA_IDS2.providerLiveModeStandard).extend({ - name: NonEmptyStringSchema2, - version: NonEmptyStringSchema2, - modes: exports_external3.array(ProviderModeSchema2).refine((modes) => ["mock", "fixture", "sandbox", "read_only_live", "live_mutating"].every((mode2) => modes.includes(mode2)), "provider live-mode standard must include every canonical provider mode"), - requiredCapabilityFields: exports_external3.array(NonEmptyStringSchema2).min(1), - liveMutationGate: exports_external3.object({ - requiredMode: exports_external3.literal("live_mutating"), - requiredChecks: exports_external3.array(NonEmptyStringSchema2).min(1), - forbiddenBypassSignals: exports_external3.array(NonEmptyStringSchema2).min(1), - disabledLiveSmoke: NonEmptyStringSchema2 +var ProviderLiveModeStandardSchema3 = contractBaseSchema3(SCHEMA_IDS3.providerLiveModeStandard).extend({ + name: NonEmptyStringSchema3, + version: NonEmptyStringSchema3, + modes: exports_external4.array(ProviderModeSchema3).refine((modes) => ["mock", "fixture", "sandbox", "read_only_live", "live_mutating"].every((mode2) => modes.includes(mode2)), "provider live-mode standard must include every canonical provider mode"), + requiredCapabilityFields: exports_external4.array(NonEmptyStringSchema3).min(1), + liveMutationGate: exports_external4.object({ + requiredMode: exports_external4.literal("live_mutating"), + requiredChecks: exports_external4.array(NonEmptyStringSchema3).min(1), + forbiddenBypassSignals: exports_external4.array(NonEmptyStringSchema3).min(1), + disabledLiveSmoke: NonEmptyStringSchema3 }).strict(), - noSideEffectSmoke: exports_external3.object({ - requiredForModes: exports_external3.array(ProviderModeSchema2).min(1), - commandEvidence: exports_external3.array(NonEmptyStringSchema2).min(1), - secretOutputScan: exports_external3.boolean().default(true) + noSideEffectSmoke: exports_external4.object({ + requiredForModes: exports_external4.array(ProviderModeSchema3).min(1), + commandEvidence: exports_external4.array(NonEmptyStringSchema3).min(1), + secretOutputScan: exports_external4.boolean().default(true) }).strict(), - credentialPolicy: exports_external3.object({ - acceptedInputs: exports_external3.array(exports_external3.enum(["credential_ref", "lease_ref"])).min(1), - rawSecretInputsAllowed: exports_external3.literal(false), - missingCredentialBehavior: exports_external3.literal("fail_closed"), - revocationCheckRequired: exports_external3.boolean().default(true) + credentialPolicy: exports_external4.object({ + acceptedInputs: exports_external4.array(exports_external4.enum(["credential_ref", "lease_ref"])).min(1), + rawSecretInputsAllowed: exports_external4.literal(false), + missingCredentialBehavior: exports_external4.literal("fail_closed"), + revocationCheckRequired: exports_external4.boolean().default(true) }).strict(), - operationCards: exports_external3.array(ProviderCapabilityCardSchema2).min(1), - firstAdoptionTargets: exports_external3.array(ProviderLiveModeTargetSchema2).min(1), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) + operationCards: exports_external4.array(ProviderCapabilityCardSchema3).min(1), + firstAdoptionTargets: exports_external4.array(ProviderLiveModeTargetSchema3).min(1), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { const firstTargetApps = new Set(value.firstAdoptionTargets.map((target) => target.appId)); const operationApps = new Set(value.operationCards.map((card) => card.appId)); for (const appId of firstTargetApps) { if (!operationApps.has(appId)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `first adoption target ${appId} requires a provider capability card`, path: ["firstAdoptionTargets"] }); } } }); -var ContextPackItemSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - title: exports_external3.string().min(1).optional(), - summary: exports_external3.string().min(1), - text: exports_external3.string().optional(), - tokens: exports_external3.number().int().nonnegative().optional(), - source: EvidencePointerSchema2, - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]) +var ContextPackItemSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + title: exports_external4.string().min(1).optional(), + summary: exports_external4.string().min(1), + text: exports_external4.string().optional(), + tokens: exports_external4.number().int().nonnegative().optional(), + source: EvidencePointerSchema3, + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]) }).strict(); -var ContextPackSchema2 = contractBaseSchema2(SCHEMA_IDS2.contextPack).extend({ - objective: exports_external3.string().min(1), - budget: exports_external3.object({ - maxTokens: exports_external3.number().int().positive().optional(), - maxBytes: exports_external3.number().int().positive().optional() +var ContextPackSchema3 = contractBaseSchema3(SCHEMA_IDS3.contextPack).extend({ + objective: exports_external4.string().min(1), + budget: exports_external4.object({ + maxTokens: exports_external4.number().int().positive().optional(), + maxBytes: exports_external4.number().int().positive().optional() }).strict().optional(), - items: exports_external3.array(ContextPackItemSchema2).default([]), - citations: exports_external3.array(EvidencePointerSchema2).default([]), - freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown"), - permissions: exports_external3.array(exports_external3.string().min(1)).default([]), - redactions: exports_external3.array(exports_external3.string().min(1)).default([]), - conflicts: exports_external3.array(exports_external3.string().min(1)).default([]), - uncertainty: exports_external3.string().min(1).optional() + items: exports_external4.array(ContextPackItemSchema3).default([]), + citations: exports_external4.array(EvidencePointerSchema3).default([]), + freshness: exports_external4.enum(["fresh", "stale", "unknown"]).default("unknown"), + permissions: exports_external4.array(exports_external4.string().min(1)).default([]), + redactions: exports_external4.array(exports_external4.string().min(1)).default([]), + conflicts: exports_external4.array(exports_external4.string().min(1)).default([]), + uncertainty: exports_external4.string().min(1).optional() }).strict(); -var RelativeProjectPathSchema2 = NonEmptyStringSchema2.refine((value) => !value.startsWith("/") && !value.includes("\\") && !value.split("/").includes(".."), "Project paths must be relative and cannot contain parent-directory segments"); -var ProjectSlugSchema2 = exports_external3.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "Project slugs must be lowercase dashed identifiers"); -var ProjectClassificationSchema2 = exports_external3.enum(["public", "internal", "private", "sensitive"]); -var ProjectStatusSchema2 = exports_external3.enum(["draft", "active", "paused", "archived"]); -var ProjectIntegrationKindSchema2 = exports_external3.enum([ +var RelativeProjectPathSchema3 = NonEmptyStringSchema3.refine((value) => !value.startsWith("/") && !value.includes("\\") && !value.split("/").includes(".."), "Project paths must be relative and cannot contain parent-directory segments"); +var ProjectSlugSchema3 = exports_external4.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "Project slugs must be lowercase dashed identifiers"); +var ProjectClassificationSchema3 = exports_external4.enum(["public", "internal", "private", "sensitive"]); +var ProjectStatusSchema3 = exports_external4.enum(["draft", "active", "paused", "archived"]); +var ProjectIntegrationKindSchema3 = exports_external4.enum([ "todos", "files", "mailery", @@ -42219,58 +48362,58 @@ var ProjectIntegrationKindSchema2 = exports_external3.enum([ "contracts", "custom" ]); -var IntegrationRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.integrationRef).extend({ - kind: ProjectIntegrationKindSchema2, - name: exports_external3.string().min(1), - projectId: ProjectSlugSchema2.optional(), - sourcePackage: NonEmptyStringSchema2.optional(), - externalId: NonEmptyStringSchema2.optional(), - uri: UriSchema2.optional(), - enabled: exports_external3.boolean().default(true), - readOnly: exports_external3.boolean().default(true), - capabilities: exports_external3.array(exports_external3.string().min(1)).default([]), - freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown"), - resourceRef: ResourcePointerSchema2.optional(), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - config: MetadataSchema2.optional() +var IntegrationRefSchema3 = contractBaseSchema3(SCHEMA_IDS3.integrationRef).extend({ + kind: ProjectIntegrationKindSchema3, + name: exports_external4.string().min(1), + projectId: ProjectSlugSchema3.optional(), + sourcePackage: NonEmptyStringSchema3.optional(), + externalId: NonEmptyStringSchema3.optional(), + uri: UriSchema3.optional(), + enabled: exports_external4.boolean().default(true), + readOnly: exports_external4.boolean().default(true), + capabilities: exports_external4.array(exports_external4.string().min(1)).default([]), + freshness: exports_external4.enum(["fresh", "stale", "unknown"]).default("unknown"), + resourceRef: ResourcePointerSchema3.optional(), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + config: MetadataSchema3.optional() }).strict().superRefine((value, ctx) => { if (!value.uri && !(value.sourcePackage && value.externalId) && !value.resourceRef) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Integration refs require uri, resourceRef, or both sourcePackage and externalId", path: ["uri"] }); } }); -var ProjectLayoutSchema2 = exports_external3.object({ - schemaRoot: RelativeProjectPathSchema2.default(".hasna/project"), - dashboardManifest: RelativeProjectPathSchema2.default(".hasna/project/dashboard.render.json"), - snapshotsDir: RelativeProjectPathSchema2.default(".hasna/project/snapshots"), - documentsDir: RelativeProjectPathSchema2.default("documents"), - reportsDir: RelativeProjectPathSchema2.default("reports"), - evidenceDir: RelativeProjectPathSchema2.default(".hasna/project/evidence"), - privateDir: RelativeProjectPathSchema2.default(".hasna/project/private") +var ProjectLayoutSchema3 = exports_external4.object({ + schemaRoot: RelativeProjectPathSchema3.default(".hasna/project"), + dashboardManifest: RelativeProjectPathSchema3.default(".hasna/project/dashboard.render.json"), + snapshotsDir: RelativeProjectPathSchema3.default(".hasna/project/snapshots"), + documentsDir: RelativeProjectPathSchema3.default("documents"), + reportsDir: RelativeProjectPathSchema3.default("reports"), + evidenceDir: RelativeProjectPathSchema3.default(".hasna/project/evidence"), + privateDir: RelativeProjectPathSchema3.default(".hasna/project/private") }).strict(); -var ProjectManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectManifest).extend({ - projectId: ProjectSlugSchema2, - slug: ProjectSlugSchema2, - name: exports_external3.string().min(1), - summary: exports_external3.string().min(1).optional(), - status: ProjectStatusSchema2.default("active"), - classification: ProjectClassificationSchema2.default("private"), - owner: ActorPointerSchema2.optional(), - layout: ProjectLayoutSchema2.default({}), - integrations: exports_external3.array(IntegrationRefSchema2).default([]), - renderManifests: exports_external3.array(ResourcePointerSchema2).default([]), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - tags: TagsSchema2 +var ProjectManifestSchema3 = contractBaseSchema3(SCHEMA_IDS3.projectManifest).extend({ + projectId: ProjectSlugSchema3, + slug: ProjectSlugSchema3, + name: exports_external4.string().min(1), + summary: exports_external4.string().min(1).optional(), + status: ProjectStatusSchema3.default("active"), + classification: ProjectClassificationSchema3.default("private"), + owner: ActorPointerSchema3.optional(), + layout: ProjectLayoutSchema3.default({}), + integrations: exports_external4.array(IntegrationRefSchema3).default([]), + renderManifests: exports_external4.array(ResourcePointerSchema3).default([]), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + tags: TagsSchema3 }).strict().superRefine((value, ctx) => { const integrationIds = new Set; const renderManifestIds = new Set; if (value.projectId !== value.slug) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "projectId and slug must match for canonical project manifests", path: ["slug"] }); @@ -42278,7 +48421,7 @@ var ProjectManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectManifest).ex for (const [index, integration] of value.integrations.entries()) { if (integrationIds.has(integration.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project manifest integration ids must be unique", path: ["integrations", index, "id"] }); @@ -42286,7 +48429,7 @@ var ProjectManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectManifest).ex integrationIds.add(integration.id); if (integration.projectId && integration.projectId !== value.projectId) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Integration projectId must match the manifest projectId", path: ["integrations", index, "projectId"] }); @@ -42295,14 +48438,14 @@ var ProjectManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectManifest).ex for (const [index, renderManifest] of value.renderManifests.entries()) { if (renderManifest.kind !== "render") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project renderManifests must use resource kind render", path: ["renderManifests", index, "kind"] }); } if (renderManifestIds.has(renderManifest.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project renderManifest refs must be unique", path: ["renderManifests", index, "id"] }); @@ -42310,71 +48453,71 @@ var ProjectManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectManifest).ex renderManifestIds.add(renderManifest.id); } }); -var RenderImportKindSchema2 = exports_external3.enum(["local", "package", "provider", "url"]); -var RenderImportSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - kind: RenderImportKindSchema2, - specifier: exports_external3.string().min(1), - path: RelativeProjectPathSchema2.optional(), - packageName: exports_external3.string().min(1).optional(), - uri: UriSchema2.optional(), - provider: ProjectIntegrationKindSchema2.optional(), - schemaId: SchemaIdSchema2.optional(), - integrity: HashStringSchema2.optional(), - resourceRef: ResourcePointerSchema2.optional(), - optional: exports_external3.boolean().default(false) +var RenderImportKindSchema3 = exports_external4.enum(["local", "package", "provider", "url"]); +var RenderImportSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + kind: RenderImportKindSchema3, + specifier: exports_external4.string().min(1), + path: RelativeProjectPathSchema3.optional(), + packageName: exports_external4.string().min(1).optional(), + uri: UriSchema3.optional(), + provider: ProjectIntegrationKindSchema3.optional(), + schemaId: SchemaIdSchema3.optional(), + integrity: HashStringSchema3.optional(), + resourceRef: ResourcePointerSchema3.optional(), + optional: exports_external4.boolean().default(false) }).strict().superRefine((value, ctx) => { if (value.kind === "local" && !value.path) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Local render imports require path", path: ["path"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Local render imports require path", path: ["path"] }); } if (value.kind === "package" && !value.packageName) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Package render imports require packageName", path: ["packageName"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Package render imports require packageName", path: ["packageName"] }); } if (value.kind === "provider" && !value.provider) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Provider render imports require provider", path: ["provider"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Provider render imports require provider", path: ["provider"] }); } if (value.kind === "url" && !value.uri) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "URL render imports require uri", path: ["uri"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "URL render imports require uri", path: ["uri"] }); } }); -var RenderViewKindSchema2 = exports_external3.enum(["dashboard", "canvas", "panel", "report", "document", "custom"]); -var RenderViewSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - title: exports_external3.string().min(1), - kind: RenderViewKindSchema2, - default: exports_external3.boolean().default(false), - entry: RelativeProjectPathSchema2.optional(), - imports: exports_external3.array(RenderImportSchema2).default([]), - panelRefs: exports_external3.array(ResourcePointerSchema2).default([]), - dataRefs: exports_external3.array(ResourcePointerSchema2).default([]), - layout: MetadataSchema2.optional() +var RenderViewKindSchema3 = exports_external4.enum(["dashboard", "canvas", "panel", "report", "document", "custom"]); +var RenderViewSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + title: exports_external4.string().min(1), + kind: RenderViewKindSchema3, + default: exports_external4.boolean().default(false), + entry: RelativeProjectPathSchema3.optional(), + imports: exports_external4.array(RenderImportSchema3).default([]), + panelRefs: exports_external4.array(ResourcePointerSchema3).default([]), + dataRefs: exports_external4.array(ResourcePointerSchema3).default([]), + layout: MetadataSchema3.optional() }).strict(); -var RenderManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.renderManifest).extend({ - projectId: ProjectSlugSchema2, - name: exports_external3.string().min(1), - version: exports_external3.string().min(1), - manifestPath: RelativeProjectPathSchema2.default(".hasna/project/dashboard.render.json"), - renderer: exports_external3.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), - views: exports_external3.array(RenderViewSchema2).min(1), - imports: exports_external3.array(RenderImportSchema2).default([]), - theme: MetadataSchema2.optional(), - compatibility: exports_external3.object({ - minProjectsVersion: exports_external3.string().min(1).optional(), - minContractsVersion: exports_external3.string().min(1).optional() +var RenderManifestSchema3 = contractBaseSchema3(SCHEMA_IDS3.renderManifest).extend({ + projectId: ProjectSlugSchema3, + name: exports_external4.string().min(1), + version: exports_external4.string().min(1), + manifestPath: RelativeProjectPathSchema3.default(".hasna/project/dashboard.render.json"), + renderer: exports_external4.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), + views: exports_external4.array(RenderViewSchema3).min(1), + imports: exports_external4.array(RenderImportSchema3).default([]), + theme: MetadataSchema3.optional(), + compatibility: exports_external4.object({ + minProjectsVersion: exports_external4.string().min(1).optional(), + minContractsVersion: exports_external4.string().min(1).optional() }).strict().optional(), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { const defaults = value.views.filter((view) => view.default); const viewIds = new Set; const importIds = new Set; if (defaults.length > 1) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Render manifests can have at most one default view", path: ["views"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Render manifests can have at most one default view", path: ["views"] }); } for (const [index, importRef] of value.imports.entries()) { if (importIds.has(importRef.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Render manifest import ids must be unique", path: ["imports", index, "id"] }); @@ -42384,7 +48527,7 @@ var RenderManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.renderManifest).exte for (const [viewIndex, view] of value.views.entries()) { if (viewIds.has(view.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Render manifest view ids must be unique", path: ["views", viewIndex, "id"] }); @@ -42394,7 +48537,7 @@ var RenderManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.renderManifest).exte for (const [importIndex, importRef] of view.imports.entries()) { if (viewImportIds.has(importRef.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Render view import ids must be unique", path: ["views", viewIndex, "imports", importIndex, "id"] }); @@ -42404,7 +48547,7 @@ var RenderManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.renderManifest).exte for (const [panelIndex, panelRef] of view.panelRefs.entries()) { if (panelRef.kind !== "panel") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Render view panelRefs must use resource kind panel", path: ["views", viewIndex, "panelRefs", panelIndex, "kind"] }); @@ -42412,8 +48555,8 @@ var RenderManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.renderManifest).exte } } }); -var ProjectPanelStateSchema2 = exports_external3.enum(["ready", "empty", "loading", "error", "auth_required", "unavailable", "stale"]); -var ProjectPanelKindSchema2 = exports_external3.enum([ +var ProjectPanelStateSchema3 = exports_external4.enum(["ready", "empty", "loading", "error", "auth_required", "unavailable", "stale"]); +var ProjectPanelKindSchema3 = exports_external4.enum([ "overview", "tasks", "files", @@ -42428,69 +48571,69 @@ var ProjectPanelKindSchema2 = exports_external3.enum([ "documents", "custom" ]); -var ProjectPanelMetricSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - label: exports_external3.string().min(1), - value: exports_external3.union([exports_external3.string(), exports_external3.number(), exports_external3.boolean()]), - unit: exports_external3.string().min(1).optional(), - status: exports_external3.enum(["good", "warning", "critical", "unknown"]).default("unknown"), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]) +var ProjectPanelMetricSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + label: exports_external4.string().min(1), + value: exports_external4.union([exports_external4.string(), exports_external4.number(), exports_external4.boolean()]), + unit: exports_external4.string().min(1).optional(), + status: exports_external4.enum(["good", "warning", "critical", "unknown"]).default("unknown"), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]) }).strict(); -var ProjectPanelItemSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - title: exports_external3.string().min(1), - summary: exports_external3.string().min(1).optional(), - status: exports_external3.string().min(1).optional(), - priority: exports_external3.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), - timestamp: TimestampSchema2.optional(), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - metadata: MetadataSchema2.optional() +var ProjectPanelItemSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + title: exports_external4.string().min(1), + summary: exports_external4.string().min(1).optional(), + status: exports_external4.string().min(1).optional(), + priority: exports_external4.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), + timestamp: TimestampSchema3.optional(), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + metadata: MetadataSchema3.optional() }).strict(); -var ProjectRenderFragmentSchema2 = exports_external3.object({ - renderer: exports_external3.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), - title: exports_external3.string().min(1).optional(), - entry: RelativeProjectPathSchema2.optional(), - imports: exports_external3.array(RenderImportSchema2).default([]), - spec: MetadataSchema2.default({}) +var ProjectRenderFragmentSchema3 = exports_external4.object({ + renderer: exports_external4.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), + title: exports_external4.string().min(1).optional(), + entry: RelativeProjectPathSchema3.optional(), + imports: exports_external4.array(RenderImportSchema3).default([]), + spec: MetadataSchema3.default({}) }).strict(); -var ProjectPanelSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectPanel).extend({ - projectId: ProjectSlugSchema2, - provider: exports_external3.object({ - kind: ProjectIntegrationKindSchema2, - id: exports_external3.string().min(1), - name: exports_external3.string().min(1).optional(), - sourcePackage: NonEmptyStringSchema2.optional(), - externalId: NonEmptyStringSchema2.optional() +var ProjectPanelSchema3 = contractBaseSchema3(SCHEMA_IDS3.projectPanel).extend({ + projectId: ProjectSlugSchema3, + provider: exports_external4.object({ + kind: ProjectIntegrationKindSchema3, + id: exports_external4.string().min(1), + name: exports_external4.string().min(1).optional(), + sourcePackage: NonEmptyStringSchema3.optional(), + externalId: NonEmptyStringSchema3.optional() }).strict(), - kind: ProjectPanelKindSchema2, - title: exports_external3.string().min(1), - summary: exports_external3.string().min(1).optional(), - state: ProjectPanelStateSchema2.default("ready"), - stateReason: exports_external3.string().min(1).optional(), - generatedAt: TimestampSchema2, - freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown"), - metrics: exports_external3.array(ProjectPanelMetricSchema2).default([]), - items: exports_external3.array(ProjectPanelItemSchema2).default([]), - actions: exports_external3.array(ResourcePointerSchema2).default([]), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - renderFragment: ProjectRenderFragmentSchema2.optional(), - warnings: exports_external3.array(exports_external3.string().min(1)).default([]) + kind: ProjectPanelKindSchema3, + title: exports_external4.string().min(1), + summary: exports_external4.string().min(1).optional(), + state: ProjectPanelStateSchema3.default("ready"), + stateReason: exports_external4.string().min(1).optional(), + generatedAt: TimestampSchema3, + freshness: exports_external4.enum(["fresh", "stale", "unknown"]).default("unknown"), + metrics: exports_external4.array(ProjectPanelMetricSchema3).default([]), + items: exports_external4.array(ProjectPanelItemSchema3).default([]), + actions: exports_external4.array(ResourcePointerSchema3).default([]), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + renderFragment: ProjectRenderFragmentSchema3.optional(), + warnings: exports_external4.array(exports_external4.string().min(1)).default([]) }).strict().superRefine((value, ctx) => { const reasonStates = new Set(["error", "auth_required", "unavailable", "stale"]); const metricIds = new Set; const itemIds = new Set; if (reasonStates.has(value.state) && !value.stateReason) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Non-ready provider states require stateReason", path: ["stateReason"] }); } if (value.state === "ready" && value.metrics.length === 0 && value.items.length === 0 && !value.renderFragment) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels", path: ["state"] }); @@ -42498,7 +48641,7 @@ var ProjectPanelSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectPanel).extend({ for (const [index, metric] of value.metrics.entries()) { if (metricIds.has(metric.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project panel metric ids must be unique", path: ["metrics", index, "id"] }); @@ -42508,7 +48651,7 @@ var ProjectPanelSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectPanel).extend({ for (const [index, item] of value.items.entries()) { if (itemIds.has(item.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project panel item ids must be unique", path: ["items", index, "id"] }); @@ -42518,39 +48661,39 @@ var ProjectPanelSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectPanel).extend({ for (const [index, action] of value.actions.entries()) { if (action.kind !== "action") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project panel actions must use resource kind action", path: ["actions", index, "kind"] }); } } }); -var ProjectSnapshotSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectSnapshot).extend({ - projectId: ProjectSlugSchema2, - generatedAt: TimestampSchema2, - status: ContractStatusSchema2.default("unknown"), - manifestRef: ResourcePointerSchema2, - renderManifestRef: ResourcePointerSchema2.optional(), - panels: exports_external3.array(ProjectPanelSchema2).default([]), - contextPacks: exports_external3.array(ContextPackSchema2).default([]), - proofBundleRefs: exports_external3.array(ResourcePointerSchema2).default([]), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - warnings: exports_external3.array(exports_external3.string().min(1)).default([]), - freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown") +var ProjectSnapshotSchema3 = contractBaseSchema3(SCHEMA_IDS3.projectSnapshot).extend({ + projectId: ProjectSlugSchema3, + generatedAt: TimestampSchema3, + status: ContractStatusSchema3.default("unknown"), + manifestRef: ResourcePointerSchema3, + renderManifestRef: ResourcePointerSchema3.optional(), + panels: exports_external4.array(ProjectPanelSchema3).default([]), + contextPacks: exports_external4.array(ContextPackSchema3).default([]), + proofBundleRefs: exports_external4.array(ResourcePointerSchema3).default([]), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + warnings: exports_external4.array(exports_external4.string().min(1)).default([]), + freshness: exports_external4.enum(["fresh", "stale", "unknown"]).default("unknown") }).strict().superRefine((value, ctx) => { const panelIds = new Set; const contextPackIds = new Set; if (value.manifestRef.kind !== "project") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project snapshot manifestRef must use resource kind project", path: ["manifestRef", "kind"] }); } if (value.renderManifestRef && value.renderManifestRef.kind !== "render") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project snapshot renderManifestRef must use resource kind render", path: ["renderManifestRef", "kind"] }); @@ -42558,7 +48701,7 @@ var ProjectSnapshotSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectSnapshot).ex for (const [index, proofBundleRef] of value.proofBundleRefs.entries()) { if (proofBundleRef.kind !== "proof_bundle") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project snapshot proofBundleRefs must use resource kind proof_bundle", path: ["proofBundleRefs", index, "kind"] }); @@ -42567,14 +48710,14 @@ var ProjectSnapshotSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectSnapshot).ex for (const [index, panel] of value.panels.entries()) { if (panel.projectId !== value.projectId) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Panel projectId must match snapshot projectId", path: ["panels", index, "projectId"] }); } if (panelIds.has(panel.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project snapshot panel ids must be unique", path: ["panels", index, "id"] }); @@ -42584,7 +48727,7 @@ var ProjectSnapshotSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectSnapshot).ex for (const [index, contextPack] of value.contextPacks.entries()) { if (contextPackIds.has(contextPack.id)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Project snapshot context pack ids must be unique", path: ["contextPacks", index, "id"] }); @@ -42592,32 +48735,32 @@ var ProjectSnapshotSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectSnapshot).ex contextPackIds.add(contextPack.id); } }); -var ValidationCheckSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - kind: exports_external3.enum(["command", "test", "typecheck", "lint", "eval", "security", "review", "deploy", "smoke", "manual", "other"]), - required: exports_external3.boolean().default(true), - command: exports_external3.string().min(1).optional(), - expected: exports_external3.string().min(1).optional(), - timeoutMs: exports_external3.number().int().positive().optional(), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]) +var ValidationCheckSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + kind: exports_external4.enum(["command", "test", "typecheck", "lint", "eval", "security", "review", "deploy", "smoke", "manual", "other"]), + required: exports_external4.boolean().default(true), + command: exports_external4.string().min(1).optional(), + expected: exports_external4.string().min(1).optional(), + timeoutMs: exports_external4.number().int().positive().optional(), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { const actionableKinds = new Set(["command", "test", "typecheck", "lint", "smoke", "eval"]); if (actionableKinds.has(value.kind) && !value.command && !value.expected) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Actionable validation checks require command or expected", path: ["command"] }); } }); -var ValidationPlanSchema2 = contractBaseSchema2(SCHEMA_IDS2.validationPlan).extend({ - objective: exports_external3.string().min(1), - subject: ResourcePointerSchema2.optional(), - checks: exports_external3.array(ValidationCheckSchema2).min(1), - verifier: ActorPointerSchema2.optional(), - requiredEvidenceKinds: exports_external3.array(EvidenceKindSchema2).default([]) +var ValidationPlanSchema3 = contractBaseSchema3(SCHEMA_IDS3.validationPlan).extend({ + objective: exports_external4.string().min(1), + subject: ResourcePointerSchema3.optional(), + checks: exports_external4.array(ValidationCheckSchema3).min(1), + verifier: ActorPointerSchema3.optional(), + requiredEvidenceKinds: exports_external4.array(EvidenceKindSchema3).default([]) }).strict(); -var ScaffoldTypeSchema2 = exports_external3.enum([ +var ScaffoldTypeSchema3 = exports_external4.enum([ "open_source", "internal_app", "platform", @@ -42627,8 +48770,8 @@ var ScaffoldTypeSchema2 = exports_external3.enum([ "overlay", "other" ]); -var ScaffoldStatusSchema2 = exports_external3.enum(["draft", "active", "deprecated", "archived"]); -var ScaffoldCapabilitySchema2 = exports_external3.enum([ +var ScaffoldStatusSchema3 = exports_external4.enum(["draft", "active", "deprecated", "archived"]); +var ScaffoldCapabilitySchema3 = exports_external4.enum([ "cli", "mcp", "library", @@ -42651,149 +48794,149 @@ var ScaffoldCapabilitySchema2 = exports_external3.enum([ "docs", "other" ]); -var ScaffoldEnvVarSchema2 = exports_external3.object({ - key: exports_external3.string().regex(/^[A-Z][A-Z0-9_]*$/), - description: exports_external3.string().min(1), - required: exports_external3.boolean().default(false), - ["secret"]: exports_external3.boolean().default(false), - group: exports_external3.string().min(1).optional(), - default: exports_external3.string().optional() +var ScaffoldEnvVarSchema3 = exports_external4.object({ + key: exports_external4.string().regex(/^[A-Z][A-Z0-9_]*$/), + description: exports_external4.string().min(1), + required: exports_external4.boolean().default(false), + ["secret"]: exports_external4.boolean().default(false), + group: exports_external4.string().min(1).optional(), + default: exports_external4.string().optional() }).strict().superRefine((value, ctx) => { if (value.secret && value.default !== undefined) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Secret scaffold env vars cannot include defaults", path: ["default"] }); } }); -var ScaffoldScriptSchema2 = exports_external3.object({ - name: exports_external3.string().min(1), - command: exports_external3.string().min(1), - description: exports_external3.string().min(1).optional(), - required: exports_external3.boolean().default(false) +var ScaffoldScriptSchema3 = exports_external4.object({ + name: exports_external4.string().min(1), + command: exports_external4.string().min(1), + description: exports_external4.string().min(1).optional(), + required: exports_external4.boolean().default(false) }).strict(); -var ScaffoldOutputShapeSchema2 = exports_external3.object({ - packageManager: exports_external3.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), - languages: exports_external3.array(exports_external3.string().min(1)).default([]), - requiredFiles: exports_external3.array(exports_external3.string().min(1)).default([]), - requiredDirectories: exports_external3.array(exports_external3.string().min(1)).default([]), - optionalDirectories: exports_external3.array(exports_external3.string().min(1)).default([]) +var ScaffoldOutputShapeSchema3 = exports_external4.object({ + packageManager: exports_external4.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), + languages: exports_external4.array(exports_external4.string().min(1)).default([]), + requiredFiles: exports_external4.array(exports_external4.string().min(1)).default([]), + requiredDirectories: exports_external4.array(exports_external4.string().min(1)).default([]), + optionalDirectories: exports_external4.array(exports_external4.string().min(1)).default([]) }).strict(); -var ScaffoldManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.scaffoldManifest).extend({ - name: exports_external3.string().min(1), - version: exports_external3.string().min(1), - summary: exports_external3.string().min(1), - type: ScaffoldTypeSchema2, - status: ScaffoldStatusSchema2.default("draft"), - capabilities: exports_external3.array(ScaffoldCapabilitySchema2).default([]), - techStack: exports_external3.array(exports_external3.string().min(1)).default([]), - tags: TagsSchema2, - source: ResourcePointerSchema2.optional(), - output: ScaffoldOutputShapeSchema2, - env: exports_external3.array(ScaffoldEnvVarSchema2).default([]), - scripts: exports_external3.array(ScaffoldScriptSchema2).default([]), - validationChecks: exports_external3.array(ValidationCheckSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var ScaffoldManifestSchema3 = contractBaseSchema3(SCHEMA_IDS3.scaffoldManifest).extend({ + name: exports_external4.string().min(1), + version: exports_external4.string().min(1), + summary: exports_external4.string().min(1), + type: ScaffoldTypeSchema3, + status: ScaffoldStatusSchema3.default("draft"), + capabilities: exports_external4.array(ScaffoldCapabilitySchema3).default([]), + techStack: exports_external4.array(exports_external4.string().min(1)).default([]), + tags: TagsSchema3, + source: ResourcePointerSchema3.optional(), + output: ScaffoldOutputShapeSchema3, + env: exports_external4.array(ScaffoldEnvVarSchema3).default([]), + scripts: exports_external4.array(ScaffoldScriptSchema3).default([]), + validationChecks: exports_external4.array(ValidationCheckSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.source?.uri?.startsWith("file://")) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Public scaffold manifest source refs cannot use local file:// URIs", path: ["source", "uri"] }); } if (value.status === "active" && value.validationChecks.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Active scaffold manifests require validation checks", path: ["validationChecks"] }); } if (value.status === "active" && value.output.requiredFiles.length === 0 && value.output.requiredDirectories.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Active scaffold manifests require at least one required file or directory", path: ["output"] }); } }); -var ScaffoldInstallStatusSchema2 = exports_external3.enum(["installed", "failed", "cancelled", "partial", "unknown"]); -var ScaffoldInstallRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.scaffoldInstallRecord).extend({ - scaffoldId: exports_external3.string().min(1), - scaffoldVersion: exports_external3.string().min(1).optional(), - manifestRef: ResourcePointerSchema2.optional(), - target: ResourcePointerSchema2, - status: ScaffoldInstallStatusSchema2, - installedAt: TimestampSchema2.optional(), - installer: ActorPointerSchema2.optional(), - packageManager: exports_external3.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), - options: MetadataSchema2.optional(), - generatedFiles: exports_external3.array(ResourcePointerSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - proofBundleRefs: exports_external3.array(ResourcePointerSchema2).default([]) +var ScaffoldInstallStatusSchema3 = exports_external4.enum(["installed", "failed", "cancelled", "partial", "unknown"]); +var ScaffoldInstallRecordSchema3 = contractBaseSchema3(SCHEMA_IDS3.scaffoldInstallRecord).extend({ + scaffoldId: exports_external4.string().min(1), + scaffoldVersion: exports_external4.string().min(1).optional(), + manifestRef: ResourcePointerSchema3.optional(), + target: ResourcePointerSchema3, + status: ScaffoldInstallStatusSchema3, + installedAt: TimestampSchema3.optional(), + installer: ActorPointerSchema3.optional(), + packageManager: exports_external4.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), + options: MetadataSchema3.optional(), + generatedFiles: exports_external4.array(ResourcePointerSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + proofBundleRefs: exports_external4.array(ResourcePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.status === "installed" && !value.installedAt) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Installed scaffold records require installedAt", path: ["installedAt"] }); } if (value.status === "installed" && value.generatedFiles.length === 0 && value.evidenceRefs.length === 0 && value.proofBundleRefs.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Installed scaffold records require generated files, evidence, or proof bundle refs", path: ["generatedFiles"] }); } if ((value.status === "failed" || value.status === "partial") && value.evidenceRefs.length === 0 && value.proofBundleRefs.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Failed or partial scaffold records require evidence or proof bundle refs", path: ["evidenceRefs"] }); } }); -var AppIdSchema2 = exports_external3.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "App ids must be lowercase dashed identifiers"); -var NpmPackageNameSchema2 = exports_external3.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/, "Must be a valid npm package name"); -var SemverSchema2 = exports_external3.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/, "Must be a semver version"); -var GitShaSchema2 = exports_external3.string().regex(/^[0-9a-f]{7,40}$/, "Must be a lowercase git sha (7-40 hex chars)"); -var GithubUrlSchema2 = NonEmptyStringSchema2.refine((value) => value.startsWith("https://github.com/") || value.startsWith("git+https://github.com/"), "GitHub URLs must start with https://github.com/ or git+https://github.com/"); -var AppLifecycleSchema2 = exports_external3.enum(["active", "stub", "deprecated", "archived"]); -var ReleaseChannelSchema2 = exports_external3.enum(["stable", "beta", "canary", "internal"]); -var AppMcpSurfaceSchema2 = exports_external3.object({ - transport: exports_external3.enum(["http", "stdio"]).default("http"), - bin: exports_external3.string().min(1).optional(), - url: UriSchema2.optional() +var AppIdSchema3 = exports_external4.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "App ids must be lowercase dashed identifiers"); +var NpmPackageNameSchema3 = exports_external4.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/, "Must be a valid npm package name"); +var SemverSchema3 = exports_external4.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/, "Must be a semver version"); +var GitShaSchema3 = exports_external4.string().regex(/^[0-9a-f]{7,40}$/, "Must be a lowercase git sha (7-40 hex chars)"); +var GithubUrlSchema3 = NonEmptyStringSchema3.refine((value) => value.startsWith("https://github.com/") || value.startsWith("git+https://github.com/"), "GitHub URLs must start with https://github.com/ or git+https://github.com/"); +var AppLifecycleSchema3 = exports_external4.enum(["active", "stub", "deprecated", "archived"]); +var ReleaseChannelSchema3 = exports_external4.enum(["stable", "beta", "canary", "internal"]); +var AppMcpSurfaceSchema3 = exports_external4.object({ + transport: exports_external4.enum(["http", "stdio"]).default("http"), + bin: exports_external4.string().min(1).optional(), + url: UriSchema3.optional() }).strict(); -var AppHttpSurfaceSchema2 = exports_external3.object({ - healthPath: exports_external3.string().min(1).default("/health"), - port: exports_external3.number().int().positive().optional(), - baseUrl: UriSchema2.optional() +var AppHttpSurfaceSchema3 = exports_external4.object({ + healthPath: exports_external4.string().min(1).default("/health"), + port: exports_external4.number().int().positive().optional(), + baseUrl: UriSchema3.optional() }).strict(); -var AppSurfacesSchema2 = exports_external3.object({ - bins: exports_external3.array(exports_external3.string().min(1)).default([]), - mcp: AppMcpSurfaceSchema2.optional(), - http: AppHttpSurfaceSchema2.optional() +var AppSurfacesSchema3 = exports_external4.object({ + bins: exports_external4.array(exports_external4.string().min(1)).default([]), + mcp: AppMcpSurfaceSchema3.optional(), + http: AppHttpSurfaceSchema3.optional() }).strict(); -var AppSchema2 = contractBaseSchema2(SCHEMA_IDS2.app).extend({ - appId: AppIdSchema2, - npmName: NpmPackageNameSchema2, - repoFolder: AppIdSchema2, - githubUrl: GithubUrlSchema2, - projectSlug: ProjectSlugSchema2, - surfaces: AppSurfacesSchema2.default({}), - lifecycle: AppLifecycleSchema2, - releaseChannel: ReleaseChannelSchema2.default("stable"), - summary: exports_external3.string().min(1).optional(), - tags: TagsSchema2 +var AppSchema3 = contractBaseSchema3(SCHEMA_IDS3.app).extend({ + appId: AppIdSchema3, + npmName: NpmPackageNameSchema3, + repoFolder: AppIdSchema3, + githubUrl: GithubUrlSchema3, + projectSlug: ProjectSlugSchema3, + surfaces: AppSurfacesSchema3.default({}), + lifecycle: AppLifecycleSchema3, + releaseChannel: ReleaseChannelSchema3.default("stable"), + summary: exports_external4.string().min(1).optional(), + tags: TagsSchema3 }).strict().superRefine((value, ctx) => { const seenBins = new Set; for (const [index, bin] of value.surfaces.bins.entries()) { if (seenBins.has(bin)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "App surface bins must be unique", path: ["surfaces", "bins", index] }); @@ -42801,51 +48944,51 @@ var AppSchema2 = contractBaseSchema2(SCHEMA_IDS2.app).extend({ seenBins.add(bin); } }); -var PublishPathSchema2 = exports_external3.enum(["skill", "ci", "backfilled"]); -var ReleaseSchema2 = contractBaseSchema2(SCHEMA_IDS2.release).extend({ - appId: AppIdSchema2, - package: NpmPackageNameSchema2, - version: SemverSchema2, - gitSha: GitShaSchema2, - publishedAt: TimestampSchema2, - publishPath: PublishPathSchema2, - changelogRef: ResourcePointerSchema2.optional(), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var PublishPathSchema3 = exports_external4.enum(["skill", "ci", "backfilled"]); +var ReleaseSchema3 = contractBaseSchema3(SCHEMA_IDS3.release).extend({ + appId: AppIdSchema3, + package: NpmPackageNameSchema3, + version: SemverSchema3, + gitSha: GitShaSchema3, + publishedAt: TimestampSchema3, + publishPath: PublishPathSchema3, + changelogRef: ResourcePointerSchema3.optional(), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.publishPath !== "backfilled" && value.evidenceRefs.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "skill and ci releases require publish evidence; only backfilled releases may omit it", path: ["evidenceRefs"] }); } }); -var RolloutActionSchema2 = exports_external3.enum(["install", "update", "rollback", "freeze-blocked"]); -var RolloutVerificationSchema2 = exports_external3.object({ - cliVersion: exports_external3.string().min(1).optional(), - mcpHealth: exports_external3.enum(["ok", "degraded", "unavailable", "not_checked"]).optional() +var RolloutActionSchema3 = exports_external4.enum(["install", "update", "rollback", "freeze-blocked"]); +var RolloutVerificationSchema3 = exports_external4.object({ + cliVersion: exports_external4.string().min(1).optional(), + mcpHealth: exports_external4.enum(["ok", "degraded", "unavailable", "not_checked"]).optional() }).strict().superRefine((value, ctx) => { if (!value.cliVersion && value.mcpHealth === undefined) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Rollout verification requires at least one concrete verifier field" }); } }); -var RolloutRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.rolloutRecord).extend({ - appId: AppIdSchema2, - package: NpmPackageNameSchema2, - version: SemverSchema2, - machine: NonEmptyStringSchema2, - action: RolloutActionSchema2, - result: ContractStatusSchema2, - verifiedBy: RolloutVerificationSchema2.optional(), - at: TimestampSchema2, - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var RolloutRecordSchema3 = contractBaseSchema3(SCHEMA_IDS3.rolloutRecord).extend({ + appId: AppIdSchema3, + package: NpmPackageNameSchema3, + version: SemverSchema3, + machine: NonEmptyStringSchema3, + action: RolloutActionSchema3, + result: ContractStatusSchema3, + verifiedBy: RolloutVerificationSchema3.optional(), + at: TimestampSchema3, + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.action === "freeze-blocked" && value.result !== "blocked" && value.result !== "skipped") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "freeze-blocked rollout records must report result blocked or skipped", path: ["result"] }); @@ -42854,13 +48997,13 @@ var RolloutRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.rolloutRecord).extend const hasVerifierFields = value.verifiedBy ? Object.keys(value.verifiedBy).length > 0 : false; if ((value.action === "install" || value.action === "update") && value.result === "succeeded" && (!value.verifiedBy || hasVerifierFields && !hasConcreteVerification)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Succeeded install/update rollout records require concrete verification", path: ["verifiedBy"] }); } }); -var AnnouncementChannelKindSchema2 = exports_external3.enum([ +var AnnouncementChannelKindSchema3 = exports_external4.enum([ "email", "telegram", "slack", @@ -42872,7 +49015,7 @@ var AnnouncementChannelKindSchema2 = exports_external3.enum([ "github", "other" ]); -var AnnouncementDeliveryStatusSchema2 = exports_external3.enum([ +var AnnouncementDeliveryStatusSchema3 = exports_external4.enum([ "pending", "queued", "sent", @@ -42880,96 +49023,96 @@ var AnnouncementDeliveryStatusSchema2 = exports_external3.enum([ "skipped", "suppressed" ]); -var AnnouncementChannelSchema2 = exports_external3.object({ - channel: AnnouncementChannelKindSchema2, - status: AnnouncementDeliveryStatusSchema2, - deliveredAt: TimestampSchema2.optional(), - detail: exports_external3.string().min(1).optional() +var AnnouncementChannelSchema3 = exports_external4.object({ + channel: AnnouncementChannelKindSchema3, + status: AnnouncementDeliveryStatusSchema3, + deliveredAt: TimestampSchema3.optional(), + detail: exports_external4.string().min(1).optional() }).strict().superRefine((value, ctx) => { if (value.status === "sent" && !value.deliveredAt) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Sent announcement channels require deliveredAt", path: ["deliveredAt"] }); } if (value.status === "failed" && !value.detail) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Failed announcement channels require detail", path: ["detail"] }); } }); -var AnnouncementSchema2 = contractBaseSchema2(SCHEMA_IDS2.announcement).extend({ - campaignId: NonEmptyStringSchema2, - appId: AppIdSchema2.optional(), - releaseRef: ResourcePointerSchema2.optional(), - channels: exports_external3.array(AnnouncementChannelSchema2).min(1), - audienceRef: ResourcePointerSchema2, - sentAt: TimestampSchema2 +var AnnouncementSchema3 = contractBaseSchema3(SCHEMA_IDS3.announcement).extend({ + campaignId: NonEmptyStringSchema3, + appId: AppIdSchema3.optional(), + releaseRef: ResourcePointerSchema3.optional(), + channels: exports_external4.array(AnnouncementChannelSchema3).min(1), + audienceRef: ResourcePointerSchema3, + sentAt: TimestampSchema3 }).strict().superRefine((value, ctx) => { if (value.releaseRef && value.releaseRef.kind !== "release") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Announcement releaseRef must use resource kind release", path: ["releaseRef", "kind"] }); } if (value.audienceRef.kind !== "audience") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Announcement audienceRef must use resource kind audience", path: ["audienceRef", "kind"] }); } }); -var AudiencePredicateKindSchema2 = exports_external3.enum(["tag", "attribute", "group"]); -var AudiencePredicateOpSchema2 = exports_external3.enum(["eq", "neq", "in", "not_in", "exists", "not_exists"]); -var AudiencePredicateValueSchema2 = exports_external3.union([exports_external3.string(), exports_external3.number(), exports_external3.boolean()]); -var AudiencePredicateSchema2 = exports_external3.object({ - kind: AudiencePredicateKindSchema2, - key: exports_external3.string().min(1).optional(), - op: AudiencePredicateOpSchema2.default("eq"), - value: AudiencePredicateValueSchema2.optional(), - values: exports_external3.array(AudiencePredicateValueSchema2).default([]) +var AudiencePredicateKindSchema3 = exports_external4.enum(["tag", "attribute", "group"]); +var AudiencePredicateOpSchema3 = exports_external4.enum(["eq", "neq", "in", "not_in", "exists", "not_exists"]); +var AudiencePredicateValueSchema3 = exports_external4.union([exports_external4.string(), exports_external4.number(), exports_external4.boolean()]); +var AudiencePredicateSchema3 = exports_external4.object({ + kind: AudiencePredicateKindSchema3, + key: exports_external4.string().min(1).optional(), + op: AudiencePredicateOpSchema3.default("eq"), + value: AudiencePredicateValueSchema3.optional(), + values: exports_external4.array(AudiencePredicateValueSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.kind === "attribute" && !value.key) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Attribute predicates require key", path: ["key"] }); } if ((value.op === "eq" || value.op === "neq") && value.value === undefined) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "eq/neq predicates require value", path: ["value"] }); } if ((value.op === "in" || value.op === "not_in") && value.values.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "in/not_in predicates require values", path: ["values"] }); } }); -var AudienceDefinitionSchema2 = exports_external3.object({ - match: exports_external3.enum(["all", "any"]).default("all"), - predicates: exports_external3.array(AudiencePredicateSchema2).min(1) +var AudienceDefinitionSchema3 = exports_external4.object({ + match: exports_external4.enum(["all", "any"]).default("all"), + predicates: exports_external4.array(AudiencePredicateSchema3).min(1) }).strict(); -var ConsentPolicySchema2 = exports_external3.enum(["opt_in", "opt_out", "transactional", "none"]); -var AudienceSchema2 = contractBaseSchema2(SCHEMA_IDS2.audience).extend({ - audienceId: AppIdSchema2, - name: NonEmptyStringSchema2, - definition: AudienceDefinitionSchema2, - consentPolicy: ConsentPolicySchema2, - suppressionSyncedAt: OptionalTimestampSchema2 +var ConsentPolicySchema3 = exports_external4.enum(["opt_in", "opt_out", "transactional", "none"]); +var AudienceSchema3 = contractBaseSchema3(SCHEMA_IDS3.audience).extend({ + audienceId: AppIdSchema3, + name: NonEmptyStringSchema3, + definition: AudienceDefinitionSchema3, + consentPolicy: ConsentPolicySchema3, + suppressionSyncedAt: OptionalTimestampSchema3 }).strict(); -var FORBIDDEN_SHARED_CLOUD_RUNTIMES2 = ["@hasna/cloud", "open-cloud"]; -var AppCloudProviderSchema2 = exports_external3.enum([ +var FORBIDDEN_SHARED_CLOUD_RUNTIMES3 = ["@hasna/cloud", "open-cloud"]; +var AppCloudProviderSchema3 = exports_external4.enum([ "aws", "gcp", "azure", @@ -42982,10 +49125,10 @@ var AppCloudProviderSchema2 = exports_external3.enum([ "rds", "other" ]); -var AppCloudResourceSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - provider: AppCloudProviderSchema2, - kind: exports_external3.enum([ +var AppCloudResourceSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + provider: AppCloudProviderSchema3, + kind: exports_external4.enum([ "database", "bucket", "queue", @@ -42998,41 +49141,41 @@ var AppCloudResourceSchema2 = exports_external3.object({ "object_store", "other" ]), - ownerPackage: exports_external3.string().min(1), - region: exports_external3.string().min(1).optional(), - accountId: exports_external3.string().min(1).optional(), - uri: UriSchema2.optional(), - machineScoped: exports_external3.boolean().default(false) + ownerPackage: exports_external4.string().min(1), + region: exports_external4.string().min(1).optional(), + accountId: exports_external4.string().min(1).optional(), + uri: UriSchema3.optional(), + machineScoped: exports_external4.boolean().default(false) }).strict(); -var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest).extend({ - packageName: exports_external3.string().min(1), - packageVersion: exports_external3.string().min(1).optional(), - appId: exports_external3.string().min(1), - repository: ResourcePointerSchema2.optional(), - storageMode: exports_external3.enum(["local_only", "app_owned_cloud", "hybrid_local_cache", "external_service"]), - cloudBoundary: exports_external3.enum(["none", "app_owned", "external_service", "local_cache"]), - cloudResources: exports_external3.array(AppCloudResourceSchema2).default([]), - localCache: exports_external3.object({ - path: exports_external3.string().min(1).optional(), - pullMode: exports_external3.enum(["manual", "daemon", "ci", "none"]).default("manual"), - conflictPolicy: exports_external3.enum(["cloud_wins", "local_wins", "merge", "manual_review"]).default("manual_review") +var AppCloudManifestSchema3 = contractBaseSchema3(SCHEMA_IDS3.appCloudManifest).extend({ + packageName: exports_external4.string().min(1), + packageVersion: exports_external4.string().min(1).optional(), + appId: exports_external4.string().min(1), + repository: ResourcePointerSchema3.optional(), + storageMode: exports_external4.enum(["local_only", "app_owned_cloud", "hybrid_local_cache", "external_service"]), + cloudBoundary: exports_external4.enum(["none", "app_owned", "external_service", "local_cache"]), + cloudResources: exports_external4.array(AppCloudResourceSchema3).default([]), + localCache: exports_external4.object({ + path: exports_external4.string().min(1).optional(), + pullMode: exports_external4.enum(["manual", "daemon", "ci", "none"]).default("manual"), + conflictPolicy: exports_external4.enum(["cloud_wins", "local_wins", "merge", "manual_review"]).default("manual_review") }).strict().optional(), - forbiddenSharedRuntimes: exports_external3.array(exports_external3.string().min(1)).default([...FORBIDDEN_SHARED_CLOUD_RUNTIMES2]), - dependencies: exports_external3.array(exports_external3.string().min(1)).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) + forbiddenSharedRuntimes: exports_external4.array(exports_external4.string().min(1)).default([...FORBIDDEN_SHARED_CLOUD_RUNTIMES3]), + dependencies: exports_external4.array(exports_external4.string().min(1)).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { - const effectiveForbiddenRuntimes = new Set([...FORBIDDEN_SHARED_CLOUD_RUNTIMES2, ...value.forbiddenSharedRuntimes]); + const effectiveForbiddenRuntimes = new Set([...FORBIDDEN_SHARED_CLOUD_RUNTIMES3, ...value.forbiddenSharedRuntimes]); if (effectiveForbiddenRuntimes.has(value.packageName)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "App-owned cloud manifests cannot be for a forbidden runtime", path: ["packageName"] }); } - for (const runtime of FORBIDDEN_SHARED_CLOUD_RUNTIMES2) { + for (const runtime of FORBIDDEN_SHARED_CLOUD_RUNTIMES3) { if (!value.forbiddenSharedRuntimes.includes(runtime)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `forbiddenSharedRuntimes must include ${runtime}`, path: ["forbiddenSharedRuntimes"] }); @@ -43041,7 +49184,7 @@ var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest). for (const runtime of effectiveForbiddenRuntimes) { if (value.dependencies.includes(runtime)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `App-owned cloud manifests cannot depend on ${runtime}`, path: ["dependencies"] }); @@ -43049,14 +49192,14 @@ var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest). } if (value.storageMode === "local_only" && value.cloudBoundary !== "none") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "local_only storage requires cloudBoundary none", path: ["cloudBoundary"] }); } if (value.storageMode === "app_owned_cloud" && value.cloudBoundary !== "app_owned") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "app_owned_cloud storage requires cloudBoundary app_owned", path: ["cloudBoundary"] }); @@ -43064,14 +49207,14 @@ var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest). if (value.storageMode === "hybrid_local_cache") { if (value.cloudBoundary !== "local_cache") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "hybrid_local_cache storage requires cloudBoundary local_cache", path: ["cloudBoundary"] }); } if (!value.localCache) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "hybrid_local_cache storage requires localCache settings", path: ["localCache"] }); @@ -43080,14 +49223,14 @@ var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest). if (value.storageMode === "external_service") { if (value.cloudBoundary !== "external_service") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "external_service storage requires cloudBoundary external_service", path: ["cloudBoundary"] }); } if (value.cloudResources.length > 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "external_service storage must not declare app-owned cloudResources", path: ["cloudResources"] }); @@ -43095,14 +49238,14 @@ var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest). } if ((value.storageMode === "app_owned_cloud" || value.storageMode === "hybrid_local_cache") && value.cloudResources.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Cloud-backed storage modes require explicit app-owned cloudResources", path: ["cloudResources"] }); } if (value.cloudBoundary === "none" && value.cloudResources.length > 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "cloudBoundary none cannot declare cloudResources", path: ["cloudResources"] }); @@ -43110,14 +49253,14 @@ var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest). value.cloudResources.forEach((resource, index) => { if (resource.ownerPackage !== value.packageName) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Cloud resources must be owned by the app package that declares the manifest", path: ["cloudResources", index, "ownerPackage"] }); } }); }); -var NoCloudCheckKindSchema2 = exports_external3.enum([ +var NoCloudCheckKindSchema3 = exports_external4.enum([ "package_manifest", "lockfile", "source_import", @@ -43129,99 +49272,99 @@ var NoCloudCheckKindSchema2 = exports_external3.enum([ "boundary_doc", "other" ]); -var NoCloudFindingSeveritySchema2 = exports_external3.enum(["low", "medium", "high", "critical"]); -var NoCloudFindingSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - kind: NoCloudCheckKindSchema2, - severity: NoCloudFindingSeveritySchema2, - path: exports_external3.string().min(1).optional(), - packageName: exports_external3.string().min(1).optional(), - pattern: exports_external3.string().min(1), - message: exports_external3.string().min(1), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var NoCloudFindingSeveritySchema3 = exports_external4.enum(["low", "medium", "high", "critical"]); +var NoCloudFindingSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + kind: NoCloudCheckKindSchema3, + severity: NoCloudFindingSeveritySchema3, + path: exports_external4.string().min(1).optional(), + packageName: exports_external4.string().min(1).optional(), + pattern: exports_external4.string().min(1), + message: exports_external4.string().min(1), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict(); -var NoCloudCheckResultSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - kind: NoCloudCheckKindSchema2, - status: ContractStatusSchema2, - target: exports_external3.string().min(1), - command: exports_external3.string().min(1).optional(), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - findings: exports_external3.array(NoCloudFindingSchema2).default([]) +var NoCloudCheckResultSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + kind: NoCloudCheckKindSchema3, + status: ContractStatusSchema3, + target: exports_external4.string().min(1), + command: exports_external4.string().min(1).optional(), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + findings: exports_external4.array(NoCloudFindingSchema3).default([]) }).strict(); -var NoCloudEvidencePackSchema2 = contractBaseSchema2(SCHEMA_IDS2.noCloudEvidencePack).extend({ - subject: ResourcePointerSchema2, - packageName: exports_external3.string().min(1).optional(), - packageVersion: exports_external3.string().min(1).optional(), - generatedBy: ActorPointerSchema2.optional(), - scanMode: exports_external3.enum(["source_tree", "packed_artifact", "published_metadata", "runtime_config", "workspace", "ci"]), - status: ContractStatusSchema2, - verdict: exports_external3.enum(["passed", "failed", "warning", "not_run"]), - appCloudManifest: AppCloudManifestSchema2.optional(), - checks: exports_external3.array(NoCloudCheckResultSchema2).min(1), - findings: exports_external3.array(NoCloudFindingSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var NoCloudEvidencePackSchema3 = contractBaseSchema3(SCHEMA_IDS3.noCloudEvidencePack).extend({ + subject: ResourcePointerSchema3, + packageName: exports_external4.string().min(1).optional(), + packageVersion: exports_external4.string().min(1).optional(), + generatedBy: ActorPointerSchema3.optional(), + scanMode: exports_external4.enum(["source_tree", "packed_artifact", "published_metadata", "runtime_config", "workspace", "ci"]), + status: ContractStatusSchema3, + verdict: exports_external4.enum(["passed", "failed", "warning", "not_run"]), + appCloudManifest: AppCloudManifestSchema3.optional(), + checks: exports_external4.array(NoCloudCheckResultSchema3).min(1), + findings: exports_external4.array(NoCloudFindingSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { const allFindings = [...value.findings, ...value.checks.flatMap((check2) => check2.findings)]; const blockingFindings = allFindings.filter((finding) => finding.severity === "high" || finding.severity === "critical"); if (value.verdict === "passed") { if (value.status !== "succeeded") { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Passed no-cloud evidence requires succeeded status", path: ["status"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Passed no-cloud evidence requires succeeded status", path: ["status"] }); } if (blockingFindings.length > 0) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Passed no-cloud evidence cannot include high or critical findings", path: ["findings"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Passed no-cloud evidence cannot include high or critical findings", path: ["findings"] }); } if (value.checks.some((check2) => check2.status !== "succeeded")) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Passed no-cloud evidence requires every check to be succeeded", path: ["checks"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Passed no-cloud evidence requires every check to be succeeded", path: ["checks"] }); } } if (value.verdict === "failed" && allFindings.length === 0) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Failed no-cloud evidence requires findings", path: ["findings"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Failed no-cloud evidence requires findings", path: ["findings"] }); } if (value.status === "succeeded" && value.checks.some((check2) => check2.status === "failed")) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Succeeded no-cloud evidence cannot contain failed checks", path: ["checks"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Succeeded no-cloud evidence cannot contain failed checks", path: ["checks"] }); } value.checks.forEach((check2, index) => { const checkBlockingFindings = check2.findings.filter((finding) => finding.severity === "high" || finding.severity === "critical"); if (check2.status === "succeeded" && checkBlockingFindings.length > 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Succeeded no-cloud checks cannot contain high or critical findings", path: ["checks", index, "findings"] }); } }); }); -var ProofCheckResultSchema2 = exports_external3.object({ - checkId: exports_external3.string().min(1), - status: ContractStatusSchema2, - summary: exports_external3.string().min(1).optional(), - startedAt: OptionalTimestampSchema2, - finishedAt: OptionalTimestampSchema2, - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var ProofCheckResultSchema3 = exports_external4.object({ + checkId: exports_external4.string().min(1), + status: ContractStatusSchema3, + summary: exports_external4.string().min(1).optional(), + startedAt: OptionalTimestampSchema3, + finishedAt: OptionalTimestampSchema3, + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict(); -var ProofBundleSchema2 = contractBaseSchema2(SCHEMA_IDS2.proofBundle).extend({ - subject: ResourcePointerSchema2, - validationPlanRef: ResourcePointerSchema2.optional(), - status: ContractStatusSchema2, - verdict: exports_external3.enum(["passed", "failed", "inconclusive", "not_run"]).default("inconclusive"), - checks: exports_external3.array(ProofCheckResultSchema2).default([]), - verifier: ActorPointerSchema2.optional(), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - residualRisks: exports_external3.array(exports_external3.string().min(1)).default([]), - freshness: exports_external3.enum(["fresh", "stale", "unknown"]).default("unknown") +var ProofBundleSchema3 = contractBaseSchema3(SCHEMA_IDS3.proofBundle).extend({ + subject: ResourcePointerSchema3, + validationPlanRef: ResourcePointerSchema3.optional(), + status: ContractStatusSchema3, + verdict: exports_external4.enum(["passed", "failed", "inconclusive", "not_run"]).default("inconclusive"), + checks: exports_external4.array(ProofCheckResultSchema3).default([]), + verifier: ActorPointerSchema3.optional(), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + residualRisks: exports_external4.array(exports_external4.string().min(1)).default([]), + freshness: exports_external4.enum(["fresh", "stale", "unknown"]).default("unknown") }).strict().superRefine((value, ctx) => { if (value.verdict === "passed") { if (value.status !== "succeeded") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Passed proof bundles must have status succeeded", path: ["status"] }); } if (value.checks.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Passed proof bundles require at least one check result", path: ["checks"] }); @@ -43229,7 +49372,7 @@ var ProofBundleSchema2 = contractBaseSchema2(SCHEMA_IDS2.proofBundle).extend({ value.checks.forEach((check2, index) => { if (check2.status !== "succeeded") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Passed proof bundles require all checks to have status succeeded", path: ["checks", index, "status"] }); @@ -43238,14 +49381,14 @@ var ProofBundleSchema2 = contractBaseSchema2(SCHEMA_IDS2.proofBundle).extend({ const hasEvidence = value.evidenceRefs.length > 0 || value.checks.some((check2) => check2.evidenceRefs.length > 0); if (!hasEvidence) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Passed proof bundles require evidence", path: ["evidenceRefs"] }); } if (!value.verifier) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Passed proof bundles require a verifier", path: ["verifier"] }); @@ -43253,44 +49396,44 @@ var ProofBundleSchema2 = contractBaseSchema2(SCHEMA_IDS2.proofBundle).extend({ } if (value.verdict === "not_run" && value.checks.length > 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Not-run proof bundles cannot include check results", path: ["checks"] }); } if (value.verdict === "failed" && !value.checks.some((check2) => check2.status === "failed") && value.evidenceRefs.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Failed proof bundles require a failed check or evidence", path: ["checks"] }); } }); -var WorkRunSchema2 = contractBaseSchema2(SCHEMA_IDS2.workRun).extend({ - objective: exports_external3.string().min(1), - status: ContractStatusSchema2, - actor: ActorPointerSchema2, - traceId: exports_external3.string().min(1).optional(), - startedAt: OptionalTimestampSchema2, - finishedAt: OptionalTimestampSchema2, - constraints: exports_external3.array(exports_external3.string().min(1)).default([]), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - decisions: exports_external3.array(DecisionEnvelopeSchema2).default([]), - costEstimates: exports_external3.array(CostEstimateSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - validationPlanRefs: exports_external3.array(ResourcePointerSchema2).default([]), - proofBundleRefs: exports_external3.array(ResourcePointerSchema2).default([]) +var WorkRunSchema3 = contractBaseSchema3(SCHEMA_IDS3.workRun).extend({ + objective: exports_external4.string().min(1), + status: ContractStatusSchema3, + actor: ActorPointerSchema3, + traceId: exports_external4.string().min(1).optional(), + startedAt: OptionalTimestampSchema3, + finishedAt: OptionalTimestampSchema3, + constraints: exports_external4.array(exports_external4.string().min(1)).default([]), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + decisions: exports_external4.array(DecisionEnvelopeSchema3).default([]), + costEstimates: exports_external4.array(CostEstimateSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + validationPlanRefs: exports_external4.array(ResourcePointerSchema3).default([]), + proofBundleRefs: exports_external4.array(ResourcePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.startedAt && value.finishedAt && Date.parse(value.finishedAt) < Date.parse(value.startedAt)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "finishedAt must be after or equal to startedAt", path: ["finishedAt"] }); } - if (TerminalStatuses2.has(value.status) && !value.finishedAt) { + if (TerminalStatuses3.has(value.status) && !value.finishedAt) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Terminal work runs require finishedAt", path: ["finishedAt"] }); @@ -43298,111 +49441,111 @@ var WorkRunSchema2 = contractBaseSchema2(SCHEMA_IDS2.workRun).extend({ const hasEvidence = value.evidenceRefs.length > 0 || value.proofBundleRefs.length > 0; if (value.status === "succeeded" && !hasEvidence) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Succeeded work runs require evidence or a proof bundle", path: ["evidenceRefs"] }); } if ((value.status === "failed" || value.status === "blocked") && !hasEvidence && value.decisions.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Failed or blocked work runs require evidence, a proof bundle, or a decision record", path: ["evidenceRefs"] }); } }); -var TrajectoryEventSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - at: TimestampSchema2, - kind: exports_external3.enum(["message", "tool_call", "command", "file_change", "error", "test", "decision", "verification", "status", "other"]), - summary: exports_external3.string().min(1), - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]), - costEstimate: CostEstimateSchema2.optional() +var TrajectoryEventSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + at: TimestampSchema3, + kind: exports_external4.enum(["message", "tool_call", "command", "file_change", "error", "test", "decision", "verification", "status", "other"]), + summary: exports_external4.string().min(1), + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]), + costEstimate: CostEstimateSchema3.optional() }).strict(); -var AgentTrajectorySchema2 = contractBaseSchema2(SCHEMA_IDS2.agentTrajectory).extend({ - actor: ActorPointerSchema2, - workRunRef: ResourcePointerSchema2.optional(), - events: exports_external3.array(TrajectoryEventSchema2).default([]), - outcome: exports_external3.enum(["succeeded", "failed", "cancelled", "blocked", "unknown"]).default("unknown"), - proofBundleRef: ResourcePointerSchema2.optional() +var AgentTrajectorySchema3 = contractBaseSchema3(SCHEMA_IDS3.agentTrajectory).extend({ + actor: ActorPointerSchema3, + workRunRef: ResourcePointerSchema3.optional(), + events: exports_external4.array(TrajectoryEventSchema3).default([]), + outcome: exports_external4.enum(["succeeded", "failed", "cancelled", "blocked", "unknown"]).default("unknown"), + proofBundleRef: ResourcePointerSchema3.optional() }).strict(); -var SERVICE_CONTRACT_VERSION2 = "v1"; -var RepoClassSchema2 = exports_external3.enum(["library", "cli-with-store", "service", "saas"]); -var DEPLOYMENT_MODES2 = ["local", "self-hosted", "cloud"]; -var DeploymentModeSchema2 = exports_external3.enum(DEPLOYMENT_MODES2); -var ServiceSurfaceStatusSchema2 = exports_external3.enum(["supported", "deferred", "unsupported"]); -var ServiceAuthModeSchema2 = exports_external3.enum(["none", "local-only", "api-key", "session", "service-token", "custom"]); -var ServiceEndpointSchema2 = exports_external3.object({ - method: exports_external3.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]), - path: exports_external3.string().regex(/^\/[A-Za-z0-9_./:*-]*$/, "Endpoint paths must be absolute HTTP paths"), - public: exports_external3.boolean().default(false), - description: exports_external3.string().min(1).optional() +var SERVICE_CONTRACT_VERSION3 = "v1"; +var RepoClassSchema3 = exports_external4.enum(["library", "cli-with-store", "service", "saas"]); +var DEPLOYMENT_MODES3 = ["local", "self-hosted", "cloud"]; +var DeploymentModeSchema3 = exports_external4.enum(DEPLOYMENT_MODES3); +var ServiceSurfaceStatusSchema3 = exports_external4.enum(["supported", "deferred", "unsupported"]); +var ServiceAuthModeSchema3 = exports_external4.enum(["none", "local-only", "api-key", "session", "service-token", "custom"]); +var ServiceEndpointSchema3 = exports_external4.object({ + method: exports_external4.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]), + path: exports_external4.string().regex(/^\/[A-Za-z0-9_./:*-]*$/, "Endpoint paths must be absolute HTTP paths"), + public: exports_external4.boolean().default(false), + description: exports_external4.string().min(1).optional() }).strict(); -var DeploymentReadinessGateSchema2 = exports_external3.object({ - id: exports_external3.string().min(1), - kind: exports_external3.enum(["auth", "storage", "secret-ref", "migration", "health", "readiness", "redaction", "smoke", "operator", "other"]), - required: exports_external3.boolean().default(true), - command: exports_external3.string().min(1).optional(), - evidenceRef: EvidencePointerSchema2.optional(), - status: exports_external3.enum(["pending", "passed", "failed", "blocked", "deferred"]).default("pending"), - summary: exports_external3.string().min(1).optional() +var DeploymentReadinessGateSchema3 = exports_external4.object({ + id: exports_external4.string().min(1), + kind: exports_external4.enum(["auth", "storage", "secret-ref", "migration", "health", "readiness", "redaction", "smoke", "operator", "other"]), + required: exports_external4.boolean().default(true), + command: exports_external4.string().min(1).optional(), + evidenceRef: EvidencePointerSchema3.optional(), + status: exports_external4.enum(["pending", "passed", "failed", "blocked", "deferred"]).default("pending"), + summary: exports_external4.string().min(1).optional() }).strict().superRefine((value, ctx) => { if ((value.status === "passed" || value.status === "failed" || value.status === "blocked") && !value.command && !value.evidenceRef && !value.summary) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Terminal readiness gates require command, evidenceRef, or summary", path: ["status"] }); } }); -var ServiceSurfaceSchema2 = exports_external3.object({ - name: exports_external3.string().min(1), - status: ServiceSurfaceStatusSchema2, - bin: exports_external3.string().min(1).optional(), - mcpBin: exports_external3.string().min(1).optional(), - authMode: ServiceAuthModeSchema2, - deploymentModes: exports_external3.array(DeploymentModeSchema2).min(1), - health: ServiceEndpointSchema2.optional(), - readiness: ServiceEndpointSchema2.optional(), - version: ServiceEndpointSchema2.optional(), - apiBasePath: exports_external3.string().regex(/^\/v[0-9]+$/, "Stable API base path must be /vN").optional(), - openApiPath: exports_external3.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(), - deferReason: exports_external3.string().min(1).optional(), - readinessGates: exports_external3.array(DeploymentReadinessGateSchema2).default([]) +var ServiceSurfaceSchema3 = exports_external4.object({ + name: exports_external4.string().min(1), + status: ServiceSurfaceStatusSchema3, + bin: exports_external4.string().min(1).optional(), + mcpBin: exports_external4.string().min(1).optional(), + authMode: ServiceAuthModeSchema3, + deploymentModes: exports_external4.array(DeploymentModeSchema3).min(1), + health: ServiceEndpointSchema3.optional(), + readiness: ServiceEndpointSchema3.optional(), + version: ServiceEndpointSchema3.optional(), + apiBasePath: exports_external4.string().regex(/^\/v[0-9]+$/, "Stable API base path must be /vN").optional(), + openApiPath: exports_external4.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(), + deferReason: exports_external4.string().min(1).optional(), + readinessGates: exports_external4.array(DeploymentReadinessGateSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.status === "supported") { if (!value.bin) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Supported service surfaces require a serve bin", path: ["bin"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Supported service surfaces require a serve bin", path: ["bin"] }); } if (!value.health) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Supported service surfaces require a health endpoint", path: ["health"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Supported service surfaces require a health endpoint", path: ["health"] }); } if (!value.version) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Supported service surfaces require a version endpoint", path: ["version"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Supported service surfaces require a version endpoint", path: ["version"] }); } } if ((value.status === "deferred" || value.status === "unsupported") && !value.deferReason) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Deferred or unsupported service surfaces require a deferReason", path: ["deferReason"] }); } if (value.health && value.health.path !== "/health") { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Health endpoint must be /health", path: ["health", "path"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Health endpoint must be /health", path: ["health", "path"] }); } if (value.readiness && value.readiness.path !== "/ready") { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Readiness endpoint must be /ready", path: ["readiness", "path"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Readiness endpoint must be /ready", path: ["readiness", "path"] }); } if (value.version && value.version.path !== "/version") { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Version endpoint must be /version", path: ["version", "path"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Version endpoint must be /version", path: ["version", "path"] }); } }); -var STORAGE_MODES2 = ["local", "cloud"]; -var StorageModeSchema2 = exports_external3.enum(STORAGE_MODES2); -var AppNameSchema2 = exports_external3.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "App names must be lowercase dashed identifiers"); -var ALLOWED_BIN_SUFFIXES2 = [ +var STORAGE_MODES3 = ["local", "cloud"]; +var StorageModeSchema3 = exports_external4.enum(STORAGE_MODES3); +var AppNameSchema3 = exports_external4.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "App names must be lowercase dashed identifiers"); +var ALLOWED_BIN_SUFFIXES3 = [ "", "-cli", "-mcp", @@ -43413,43 +49556,43 @@ var ALLOWED_BIN_SUFFIXES2 = [ "-migrate", "-doctor" ]; -function allowedBinsForName2(name) { - return ALLOWED_BIN_SUFFIXES2.map((suffix) => `${name}${suffix}`); +function allowedBinsForName3(name) { + return ALLOWED_BIN_SUFFIXES3.map((suffix) => `${name}${suffix}`); } -function databaseUrlSecretRefFor2(name) { +function databaseUrlSecretRefFor3(name) { return `hasna/oss/${name}/database-url`; } -var StorageContractSchema2 = exports_external3.object({ - mode: StorageModeSchema2, - envPrefix: exports_external3.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(), - aliasEnvPrefix: exports_external3.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(), - databaseUrlSecretRef: exports_external3.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(), - sqlitePath: exports_external3.string().min(1).optional() +var StorageContractSchema3 = exports_external4.object({ + mode: StorageModeSchema3, + envPrefix: exports_external4.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(), + aliasEnvPrefix: exports_external4.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(), + databaseUrlSecretRef: exports_external4.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(), + sqlitePath: exports_external4.string().min(1).optional() }).strict(); -var ServiceContractManifestSchema2 = exports_external3.object({ - $schema: exports_external3.string().min(1).optional(), - schema: exports_external3.literal(SCHEMA_IDS2.serviceContract), - name: AppNameSchema2, - class: RepoClassSchema2, - contractVersion: exports_external3.literal(SERVICE_CONTRACT_VERSION2), - kitVersion: exports_external3.string().min(1), - description: exports_external3.string().min(1).optional(), - bins: exports_external3.array(exports_external3.string().min(1)).default([]), - storage: StorageContractSchema2.optional(), - deploymentModes: exports_external3.array(DeploymentModeSchema2).default(["local"]), - serviceSurfaces: exports_external3.array(ServiceSurfaceSchema2).default([]), - metadata: MetadataSchema2.optional() +var ServiceContractManifestSchema3 = exports_external4.object({ + $schema: exports_external4.string().min(1).optional(), + schema: exports_external4.literal(SCHEMA_IDS3.serviceContract), + name: AppNameSchema3, + class: RepoClassSchema3, + contractVersion: exports_external4.literal(SERVICE_CONTRACT_VERSION3), + kitVersion: exports_external4.string().min(1), + description: exports_external4.string().min(1).optional(), + bins: exports_external4.array(exports_external4.string().min(1)).default([]), + storage: StorageContractSchema3.optional(), + deploymentModes: exports_external4.array(DeploymentModeSchema3).default(["local"]), + serviceSurfaces: exports_external4.array(ServiceSurfaceSchema3).default([]), + metadata: MetadataSchema3.optional() }).strict().superRefine((value, ctx) => { - const allowed = new Set(allowedBinsForName2(value.name)); + const allowed = new Set(allowedBinsForName3(value.name)); const seenBins = new Set; for (const [index, bin] of value.bins.entries()) { if (seenBins.has(bin)) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "Duplicate bin declaration", path: ["bins", index] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "Duplicate bin declaration", path: ["bins", index] }); } seenBins.add(bin); if (!allowed.has(bin)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `Bin "${bin}" is not allowlisted for app "${value.name}"; allowed: ${[...allowed].join(", ")}`, path: ["bins", index] }); @@ -43460,21 +49603,21 @@ var ServiceContractManifestSchema2 = exports_external3.object({ const upper = value.name.toUpperCase().replace(/-/g, "_"); if (value.storage.envPrefix && value.storage.envPrefix !== `HASNA_${upper}_`) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `storage.envPrefix must be HASNA_${upper}_`, path: ["storage", "envPrefix"] }); } - if (value.storage.databaseUrlSecretRef && value.storage.databaseUrlSecretRef !== databaseUrlSecretRefFor2(value.name)) { + if (value.storage.databaseUrlSecretRef && value.storage.databaseUrlSecretRef !== databaseUrlSecretRefFor3(value.name)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, - message: `storage.databaseUrlSecretRef must be ${databaseUrlSecretRefFor2(value.name)}`, + code: exports_external4.ZodIssueCode.custom, + message: `storage.databaseUrlSecretRef must be ${databaseUrlSecretRefFor3(value.name)}`, path: ["storage", "databaseUrlSecretRef"] }); } if (value.storage.mode === "cloud" && !value.storage.databaseUrlSecretRef) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)", path: ["storage", "databaseUrlSecretRef"] }); @@ -43482,11 +49625,11 @@ var ServiceContractManifestSchema2 = exports_external3.object({ } if (value.class === "library") { if (value.storage) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "library repos must not declare storage", path: ["storage"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "library repos must not declare storage", path: ["storage"] }); } if (hasBin("-serve") || hasBin("-mcp")) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "library repos must not ship a -serve or -mcp bin", path: ["bins"] }); @@ -43494,28 +49637,28 @@ var ServiceContractManifestSchema2 = exports_external3.object({ } if (value.class === "cli-with-store") { if (!value.storage) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "cli-with-store repos must declare storage", path: ["storage"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "cli-with-store repos must declare storage", path: ["storage"] }); } else if (value.storage.mode === "local" && !value.storage.sqlitePath) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)", path: ["storage", "sqlitePath"] }); } if (!seenBins.has(value.name)) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: `cli-with-store repos must ship the "${value.name}" bin`, path: ["bins"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: `cli-with-store repos must ship the "${value.name}" bin`, path: ["bins"] }); } } if (value.class === "service") { if (!value.storage) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "service repos must declare storage", path: ["storage"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "service repos must declare storage", path: ["storage"] }); } if (!hasBin("-serve")) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: `service repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: `service repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); } if (value.serviceSurfaces.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "service repos must declare at least one service surface", path: ["serviceSurfaces"] }); @@ -43523,28 +49666,28 @@ var ServiceContractManifestSchema2 = exports_external3.object({ } if (value.class === "saas") { if (!value.storage) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "saas repos must declare storage", path: ["storage"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "saas repos must declare storage", path: ["storage"] }); } else if (value.storage.mode !== "cloud") { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "saas repos must use cloud storage mode", path: ["storage", "mode"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "saas repos must use cloud storage mode", path: ["storage", "mode"] }); } if (!hasBin("-serve")) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: `saas repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: `saas repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); } if (value.serviceSurfaces.length === 0) { - ctx.addIssue({ code: exports_external3.ZodIssueCode.custom, message: "saas repos must declare at least one service surface", path: ["serviceSurfaces"] }); + ctx.addIssue({ code: exports_external4.ZodIssueCode.custom, message: "saas repos must declare at least one service surface", path: ["serviceSurfaces"] }); } } for (const [index, surface] of value.serviceSurfaces.entries()) { if (surface.bin && !seenBins.has(surface.bin)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `Service surface bin "${surface.bin}" must be declared in bins`, path: ["serviceSurfaces", index, "bin"] }); } if (surface.mcpBin && !seenBins.has(surface.mcpBin)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `Service surface MCP bin "${surface.mcpBin}" must be declared in bins`, path: ["serviceSurfaces", index, "mcpBin"] }); @@ -43552,7 +49695,7 @@ var ServiceContractManifestSchema2 = exports_external3.object({ for (const [modeIndex, deploymentMode] of surface.deploymentModes.entries()) { if (!value.deploymentModes.includes(deploymentMode)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `Service surface deployment mode "${deploymentMode}" must be declared in deploymentModes`, path: ["serviceSurfaces", index, "deploymentModes", modeIndex] }); @@ -43560,54 +49703,54 @@ var ServiceContractManifestSchema2 = exports_external3.object({ } } }); -var HealthResponseSchema2 = exports_external3.object({ - status: exports_external3.enum(["ok", "degraded", "unavailable"]), - version: exports_external3.string().min(1), - mode: StorageModeSchema2 +var HealthResponseSchema3 = exports_external4.object({ + status: exports_external4.enum(["ok", "degraded", "unavailable"]), + version: exports_external4.string().min(1), + mode: StorageModeSchema3 }).strict(); -var ReadyResponseSchema2 = exports_external3.object({ - ready: exports_external3.boolean(), - reason: exports_external3.string().min(1).optional() +var ReadyResponseSchema3 = exports_external4.object({ + ready: exports_external4.boolean(), + reason: exports_external4.string().min(1).optional() }).strict(); -var VersionResponseSchema2 = exports_external3.object({ - version: exports_external3.string().min(1) +var VersionResponseSchema3 = exports_external4.object({ + version: exports_external4.string().min(1) }).strict(); -var CommsSeveritySchema2 = exports_external3.enum(["info", "notice", "breaking", "critical"]); -var CommsEventTypeSchema2 = exports_external3.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/, "Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"); -var COMMS_SEVERITY_TAGS2 = ["FREEZE", "UNFREEZE", "BREAKING", "CUTOVER", "POLICY", "RELEASE"]; -var CommsSeverityTagSchema2 = exports_external3.enum(COMMS_SEVERITY_TAGS2); -var CommsScopeSchema2 = exports_external3.enum(["fleet", "package", "machine"]); -var CommsEventEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsEventEnvelope).extend({ - type: CommsEventTypeSchema2, - severity: CommsSeveritySchema2, - scope: CommsScopeSchema2, - summary: exports_external3.string().min(1).optional(), - source: ActorPointerSchema2.optional(), - affected_packages: exports_external3.array(NonEmptyStringSchema2).default([]), - affected_machines: exports_external3.array(NonEmptyStringSchema2).default([]), - action_required: exports_external3.boolean().default(false), - ack_by: TimestampSchema2.optional(), - dedupe_key: NonEmptyStringSchema2, - resourceRefs: exports_external3.array(ResourcePointerSchema2).default([]), - evidenceRefs: exports_external3.array(EvidencePointerSchema2).default([]) +var CommsSeveritySchema3 = exports_external4.enum(["info", "notice", "breaking", "critical"]); +var CommsEventTypeSchema3 = exports_external4.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/, "Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"); +var COMMS_SEVERITY_TAGS3 = ["FREEZE", "UNFREEZE", "BREAKING", "CUTOVER", "POLICY", "RELEASE"]; +var CommsSeverityTagSchema3 = exports_external4.enum(COMMS_SEVERITY_TAGS3); +var CommsScopeSchema3 = exports_external4.enum(["fleet", "package", "machine"]); +var CommsEventEnvelopeSchema3 = contractBaseSchema3(SCHEMA_IDS3.commsEventEnvelope).extend({ + type: CommsEventTypeSchema3, + severity: CommsSeveritySchema3, + scope: CommsScopeSchema3, + summary: exports_external4.string().min(1).optional(), + source: ActorPointerSchema3.optional(), + affected_packages: exports_external4.array(NonEmptyStringSchema3).default([]), + affected_machines: exports_external4.array(NonEmptyStringSchema3).default([]), + action_required: exports_external4.boolean().default(false), + ack_by: TimestampSchema3.optional(), + dedupe_key: NonEmptyStringSchema3, + resourceRefs: exports_external4.array(ResourcePointerSchema3).default([]), + evidenceRefs: exports_external4.array(EvidencePointerSchema3).default([]) }).strict().superRefine((value, ctx) => { if (value.scope === "package" && value.affected_packages.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Package-scoped comms events require affected_packages", path: ["affected_packages"] }); } if (value.scope === "machine" && value.affected_machines.length === 0) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Machine-scoped comms events require affected_machines", path: ["affected_machines"] }); } if (value.ack_by && !value.action_required) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Comms events with an ack_by deadline require action_required", path: ["action_required"] }); @@ -43615,55 +49758,55 @@ var CommsEventEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsEventEnvelo if (value.type === "fleet.freeze" || value.type === "fleet.unfreeze") { if (value.severity !== "critical") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `${value.type} events are always critical`, path: ["severity"] }); } if (value.scope !== "fleet") { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `${value.type} events are always fleet-scoped`, path: ["scope"] }); } if (!value.action_required) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `${value.type} events require action_required`, path: ["action_required"] }); } } }); -var CommsChannelClassSchema2 = exports_external3.enum(["fleet", "package", "product", "loop-lane", "initiative", "personal"]); -var CommsChannelNoiseSchema2 = exports_external3.enum(["quiet", "work", "firehose"]); -var CommsUntilHorizonSchema2 = NonEmptyStringSchema2.refine((value) => /^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(value), "until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"); -var CommsChannelMetadataSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsChannelMetadata).extend({ - class: CommsChannelClassSchema2, - noise: CommsChannelNoiseSchema2.optional(), - owner: NonEmptyStringSchema2.optional(), - until: CommsUntilHorizonSchema2.optional(), - successor: NonEmptyStringSchema2.optional() +var CommsChannelClassSchema3 = exports_external4.enum(["fleet", "package", "product", "loop-lane", "initiative", "personal"]); +var CommsChannelNoiseSchema3 = exports_external4.enum(["quiet", "work", "firehose"]); +var CommsUntilHorizonSchema3 = NonEmptyStringSchema3.refine((value) => /^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(value), "until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"); +var CommsChannelMetadataSchema3 = contractBaseSchema3(SCHEMA_IDS3.commsChannelMetadata).extend({ + class: CommsChannelClassSchema3, + noise: CommsChannelNoiseSchema3.optional(), + owner: NonEmptyStringSchema3.optional(), + until: CommsUntilHorizonSchema3.optional(), + successor: NonEmptyStringSchema3.optional() }).strict().superRefine((value, ctx) => { if (value.class === "initiative") { if (!value.owner) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Initiative channels require an owner", path: ["owner"] }); } if (!value.until) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: "Initiative channels require an until horizon (date or gate id)", path: ["until"] }); } } }); -var COMMS_SEVERITY_TAG_INFO2 = { +var COMMS_SEVERITY_TAG_INFO3 = { FREEZE: { defaultSeverity: "critical", allowedSeverities: ["critical"], requiredEventType: "fleet.freeze" }, UNFREEZE: { defaultSeverity: "critical", allowedSeverities: ["critical"], requiredEventType: "fleet.unfreeze" }, BREAKING: { defaultSeverity: "breaking", allowedSeverities: ["breaking"], requiredEventType: null }, @@ -43671,66 +49814,66 @@ var COMMS_SEVERITY_TAG_INFO2 = { POLICY: { defaultSeverity: "breaking", allowedSeverities: ["notice", "breaking"], requiredEventType: null }, RELEASE: { defaultSeverity: "info", allowedSeverities: ["info", "notice"], requiredEventType: null } }; -var CommsMessageMetadataSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsMessageMetadata).extend({ - tag: CommsSeverityTagSchema2, - envelope: CommsEventEnvelopeSchema2 +var CommsMessageMetadataSchema3 = contractBaseSchema3(SCHEMA_IDS3.commsMessageMetadata).extend({ + tag: CommsSeverityTagSchema3, + envelope: CommsEventEnvelopeSchema3 }).strict().superRefine((value, ctx) => { - const info = COMMS_SEVERITY_TAG_INFO2[value.tag]; + const info = COMMS_SEVERITY_TAG_INFO3[value.tag]; if (!info.allowedSeverities.includes(value.envelope.severity)) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `[${value.tag}] posts allow severities ${info.allowedSeverities.join(", ")}`, path: ["envelope", "severity"] }); } if (info.requiredEventType && value.envelope.type !== info.requiredEventType) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `[${value.tag}] posts require event type ${info.requiredEventType}`, path: ["envelope", "type"] }); } - for (const [tag, tagInfo] of Object.entries(COMMS_SEVERITY_TAG_INFO2)) { + for (const [tag, tagInfo] of Object.entries(COMMS_SEVERITY_TAG_INFO3)) { if (tagInfo.requiredEventType === value.envelope.type && value.tag !== tag) { ctx.addIssue({ - code: exports_external3.ZodIssueCode.custom, + code: exports_external4.ZodIssueCode.custom, message: `${value.envelope.type} events must use the [${tag}] tag`, path: ["tag"] }); } } }); -var ContractSchemaRegistry2 = { - [SCHEMA_IDS2.actorRef]: ActorRefSchema2, - [SCHEMA_IDS2.resourceRef]: ResourceRefSchema2, - [SCHEMA_IDS2.evidenceRef]: EvidenceRefSchema2, - [SCHEMA_IDS2.workRun]: WorkRunSchema2, - [SCHEMA_IDS2.decisionEnvelope]: DecisionEnvelopeSchema2, - [SCHEMA_IDS2.costEstimate]: CostEstimateSchema2, - [SCHEMA_IDS2.capabilityCard]: CapabilityCardSchema2, - [SCHEMA_IDS2.providerLiveModeStandard]: ProviderLiveModeStandardSchema2, - [SCHEMA_IDS2.contextPack]: ContextPackSchema2, - [SCHEMA_IDS2.integrationRef]: IntegrationRefSchema2, - [SCHEMA_IDS2.projectManifest]: ProjectManifestSchema2, - [SCHEMA_IDS2.projectPanel]: ProjectPanelSchema2, - [SCHEMA_IDS2.projectSnapshot]: ProjectSnapshotSchema2, - [SCHEMA_IDS2.renderManifest]: RenderManifestSchema2, - [SCHEMA_IDS2.agentTrajectory]: AgentTrajectorySchema2, - [SCHEMA_IDS2.validationPlan]: ValidationPlanSchema2, - [SCHEMA_IDS2.proofBundle]: ProofBundleSchema2, - [SCHEMA_IDS2.scaffoldManifest]: ScaffoldManifestSchema2, - [SCHEMA_IDS2.scaffoldInstallRecord]: ScaffoldInstallRecordSchema2, - [SCHEMA_IDS2.appCloudManifest]: AppCloudManifestSchema2, - [SCHEMA_IDS2.noCloudEvidencePack]: NoCloudEvidencePackSchema2, - [SCHEMA_IDS2.serviceContract]: ServiceContractManifestSchema2, - [SCHEMA_IDS2.commsEventEnvelope]: CommsEventEnvelopeSchema2, - [SCHEMA_IDS2.commsChannelMetadata]: CommsChannelMetadataSchema2, - [SCHEMA_IDS2.commsMessageMetadata]: CommsMessageMetadataSchema2, - [SCHEMA_IDS2.app]: AppSchema2, - [SCHEMA_IDS2.release]: ReleaseSchema2, - [SCHEMA_IDS2.rolloutRecord]: RolloutRecordSchema2, - [SCHEMA_IDS2.announcement]: AnnouncementSchema2, - [SCHEMA_IDS2.audience]: AudienceSchema2 +var ContractSchemaRegistry3 = { + [SCHEMA_IDS3.actorRef]: ActorRefSchema3, + [SCHEMA_IDS3.resourceRef]: ResourceRefSchema3, + [SCHEMA_IDS3.evidenceRef]: EvidenceRefSchema3, + [SCHEMA_IDS3.workRun]: WorkRunSchema3, + [SCHEMA_IDS3.decisionEnvelope]: DecisionEnvelopeSchema3, + [SCHEMA_IDS3.costEstimate]: CostEstimateSchema3, + [SCHEMA_IDS3.capabilityCard]: CapabilityCardSchema3, + [SCHEMA_IDS3.providerLiveModeStandard]: ProviderLiveModeStandardSchema3, + [SCHEMA_IDS3.contextPack]: ContextPackSchema3, + [SCHEMA_IDS3.integrationRef]: IntegrationRefSchema3, + [SCHEMA_IDS3.projectManifest]: ProjectManifestSchema3, + [SCHEMA_IDS3.projectPanel]: ProjectPanelSchema3, + [SCHEMA_IDS3.projectSnapshot]: ProjectSnapshotSchema3, + [SCHEMA_IDS3.renderManifest]: RenderManifestSchema3, + [SCHEMA_IDS3.agentTrajectory]: AgentTrajectorySchema3, + [SCHEMA_IDS3.validationPlan]: ValidationPlanSchema3, + [SCHEMA_IDS3.proofBundle]: ProofBundleSchema3, + [SCHEMA_IDS3.scaffoldManifest]: ScaffoldManifestSchema3, + [SCHEMA_IDS3.scaffoldInstallRecord]: ScaffoldInstallRecordSchema3, + [SCHEMA_IDS3.appCloudManifest]: AppCloudManifestSchema3, + [SCHEMA_IDS3.noCloudEvidencePack]: NoCloudEvidencePackSchema3, + [SCHEMA_IDS3.serviceContract]: ServiceContractManifestSchema3, + [SCHEMA_IDS3.commsEventEnvelope]: CommsEventEnvelopeSchema3, + [SCHEMA_IDS3.commsChannelMetadata]: CommsChannelMetadataSchema3, + [SCHEMA_IDS3.commsMessageMetadata]: CommsMessageMetadataSchema3, + [SCHEMA_IDS3.app]: AppSchema3, + [SCHEMA_IDS3.release]: ReleaseSchema3, + [SCHEMA_IDS3.rolloutRecord]: RolloutRecordSchema3, + [SCHEMA_IDS3.announcement]: AnnouncementSchema3, + [SCHEMA_IDS3.audience]: AudienceSchema3 }; class ContractValidationError extends Error { @@ -43744,7 +49887,7 @@ class ContractValidationError extends Error { } } function parseContract(schemaId, value) { - const schema = ContractSchemaRegistry2[schemaId]; + const schema = ContractSchemaRegistry3[schemaId]; const parsed = schema.safeParse(value); if (!parsed.success) { throw new ContractValidationError(schemaId, parsed.error.issues); @@ -43784,7 +49927,7 @@ var SERVICE_CONTRACT_JSON_SCHEMA = { required: ["schema", "name", "class", "contractVersion", "kitVersion"], properties: { $schema: { type: "string", description: "Optional editor hint pointing at this JSON Schema." }, - schema: { const: SCHEMA_IDS2.serviceContract }, + schema: { const: SCHEMA_IDS3.serviceContract }, name: { type: "string", pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$", @@ -43919,7 +50062,7 @@ var SERVICE_CONTRACT_JSON_SCHEMA = { } }; var DEFAULT_API_KEY_TTL_SECONDS2 = 90 * 24 * 60 * 60; -var IDEMPOTENT_METHODS2 = new Set(["GET", "HEAD", "PUT", "DELETE", "OPTIONS"]); +var IDEMPOTENT_METHODS3 = new Set(["GET", "HEAD", "PUT", "DELETE", "OPTIONS"]); // src/project-panel.ts var SOURCE_PACKAGE = "@hasna/knowledge"; @@ -43951,7 +50094,7 @@ function toTimestamp(value) { return Number.isNaN(parsed.valueOf()) ? undefined : parsed.toISOString(); } function hasUriScheme(value) { - return UriSchema2.safeParse(value).success; + return UriSchema3.safeParse(value).success; } function resource(kind, id, name, uri, tags = []) { return { @@ -44107,7 +50250,7 @@ async function createKnowledgeProjectPanel(projectRef, options = {}) { const state = totalKnowledge === 0 ? "empty" : freshness === "stale" ? "stale" : "ready"; const items = inventoryItems(inventory, limit); const draft = { - schema: SCHEMA_IDS2.projectPanel, + schema: SCHEMA_IDS3.projectPanel, id: `knowledge_panel_${projectId}`, createdAt: generatedAt, projectId, @@ -44161,7 +50304,7 @@ async function createKnowledgeProjectPanel(projectRef, options = {}) { latest_activity_at: latest } }; - return parseContract(SCHEMA_IDS2.projectPanel, draft); + return parseContract(SCHEMA_IDS3.projectPanel, draft); } function formatKnowledgeProjectPanel(panel) { const lines = [ @@ -44201,6 +50344,7 @@ export { resolveOpenFilesSource, resolveModelRef, resolveLegacyScopedWorkspace, + resolveKnowledgeModeSelection, resolveKnowledgeMachineWorkspace, resolveKnowledgeMachineRoute, resolveKnowledgeCloudStore, @@ -44218,6 +50362,7 @@ export { proposeKnowledgeSyncConflictResolutionWithAi, projectKnowledgeHome, preflightKnowledgeMachine, + pinnedTransportEnv, parseStorageTables, parseSourceRef, parseModelRef, @@ -44235,9 +50380,12 @@ export { legacyGlobalKnowledgeHome, languageModelFor, knowledgeOpenApi, + knowledgeModeReport, knowledgeAuthStatus, knowledgeAuthPath, isSupportedSourceRef, + isNetworkGuardActive, + isLoopbackHostname, isKnowledgeApiMode, initAppWikiScope, ingestSourceRef, @@ -44248,6 +50396,7 @@ export { importRulesProvenance, hybridSearch, hashArtifactBody, + guardedFetch, globalKnowledgeHome, getSyncMetaAll, getStorageStatus, @@ -44281,6 +50430,7 @@ export { catalogSourceUriForRef, canonicalExampleKnowledgeStorage, buildKnowledgeAgentContextPack, + assertOutboundRequestAllowed, assertAppWikiWriteAllowed, artifactKindForKey, applyKnowledgeSyncBundle, @@ -44288,9 +50438,11 @@ export { STORAGE_MODE_ENV, S3ArtifactStore, NoteRepo, + NETWORK_GUARD_ENV, LocalArtifactStore, LEGACY_HASNA_KNOWLEDGE_APP_PATH, KnowledgeService, + KnowledgeNetworkGuardError, KNOWLEDGE_SYNC_TABLES, CURRENT_SCHEMA_VERSION as KNOWLEDGE_SYNC_SCHEMA_VERSION, KNOWLEDGE_SYNC_PROTOCOL_VERSION, @@ -44300,10 +50452,13 @@ export { KNOWLEDGE_STORAGE_MODE_ENV, KNOWLEDGE_SERVE_APP, KNOWLEDGE_RESOURCE, + KNOWLEDGE_MODE_ENV_KEYS, KNOWLEDGE_MACHINES_ADAPTER_PACKAGE, KNOWLEDGE_MACHINES_ADAPTER_ENTRYPOINT, KNOWLEDGE_MACHINES_ADAPTER_CONTRACT_VERSION, KNOWLEDGE_APP_SLUG, + KNOWLEDGE_API_URL_ENV_KEYS, + KNOWLEDGE_API_KEY_ENV_KEYS, HASNA_KNOWLEDGE_APP_PATH, EXAMPLE_KNOWLEDGE_CANONICAL, DEFAULT_KNOWLEDGE_API_URL, diff --git a/dist/item-store.d.ts b/dist/item-store.d.ts index 266b0fb..0b094c6 100644 --- a/dist/item-store.d.ts +++ b/dist/item-store.d.ts @@ -48,8 +48,8 @@ export interface ResolveItemStoreOptions { } /** * Resolve the single item Store for this invocation. Returns the ApiItemStore - * when the client-flip resolves to the cloud HTTP transport, otherwise the - * LocalItemStore. An explicit `--store` override always yields the local - * transport so the flip stays fully reversible. + * only when the mode is explicitly cloud, otherwise the LocalItemStore. An + * explicit `--store` override always yields the local transport so the flip + * stays fully reversible. */ export declare function resolveItemStore(options: ResolveItemStoreOptions): ItemStore; diff --git a/dist/knowledge-mode.d.ts b/dist/knowledge-mode.d.ts new file mode 100644 index 0000000..c736799 --- /dev/null +++ b/dist/knowledge-mode.d.ts @@ -0,0 +1,82 @@ +import { type StorageMode } from './generated/storage-kit/index.js'; +/** App slug behind every `HASNA_KNOWLEDGE_*` / `KNOWLEDGE_*` env key. */ +export declare const KNOWLEDGE_APP_SLUG = "knowledge"; +/** + * Mode env keys in precedence order, canonical first. Sourced from + * @hasna/contracts rather than restated here: this list has to be the SAME list + * the transport resolver consults, or a key we ignore could still flip the + * transport underneath us. + */ +export declare const KNOWLEDGE_MODE_ENV_KEYS: readonly string[]; +/** Pointer keys: where the cloud is. Never a mode selector. */ +export declare const KNOWLEDGE_API_URL_ENV_KEYS: readonly string[]; +/** Pointer keys: how to authenticate. Never a mode selector, never logged. */ +export declare const KNOWLEDGE_API_KEY_ENV_KEYS: readonly string[]; +/** `local` = on-box store. `cloud` = the app's HTTP `/v1` API. */ +export type KnowledgeMode = StorageMode; +export interface KnowledgeModeSource { + /** `env` when a mode var selected it, `default` when nothing did. */ + kind: 'env' | 'default'; + /** The env key that selected the mode, or null for the default. */ + name: string | null; + /** The mode var's own value (`local` / `cloud` / a deprecated alias). Never a pointer value. */ + value: string | null; +} +export interface KnowledgeModeResolution { + mode: KnowledgeMode; + source: KnowledgeModeSource; + /** + * NAMES of pointer vars that are set. Names only, never values: one of these + * holds an API key and another holds a URL, and this object is printed by the + * `mode` reporter and embedded in error messages. + */ + pointer_env_present: string[]; + /** + * True when pointers are set but did NOT choose the backend. This is exactly + * the configuration that used to flip silently, so it is reported rather than + * inferred from the two other fields by every caller. + */ + pointer_ignored: boolean; + /** Operator-facing note naming the variable to change, or null. */ + warning: string | null; +} +/** + * Resolve the mode for this process from an explicit setting alone. + * + * Precedence: the first mode key that carries a value wins and RETURNS — the + * pointer keys are not even read on that path, which is what makes an explicit + * `KNOWLEDGE_MODE=local` authoritative on a machine whose shell exports a URL + * and a key. With no mode key set the answer is `local`, the safe default, + * regardless of what pointers exist. + * + * Throws only on an unusable mode value (never on pointer state) so a typo in + * the one variable that matters fails loudly instead of quietly reading the + * wrong store. + */ +export declare function resolveKnowledgeModeSelection(env?: NodeJS.ProcessEnv): KnowledgeModeResolution; +/** + * The env to hand @hasna/contracts, with the mode we resolved stamped on top. + * + * Load-bearing in BOTH directions. Stamping `cloud` keeps the transport from + * refusing a mode we deliberately chose; stamping `local` is what stops + * `resolveClientTransport` from re-deriving cloud out of the ambient pointer + * vars we just decided to ignore. Handing it the raw environment instead would + * put the backend choice back in a second layer. + */ +export declare function pinnedTransportEnv(env: NodeJS.ProcessEnv, mode: KnowledgeMode): NodeJS.ProcessEnv; +export interface KnowledgeModeReport extends KnowledgeModeResolution { + /** `local` -> the on-box store; `api` -> the HTTP `/v1` transport. */ + store_transport: 'local' | 'api'; + /** Whether an API key is available at all. Presence only — never the value. */ + api_key_present: boolean; + /** Whether the outbound request guard is refusing non-loopback traffic. */ + network_guard_active: boolean; +} +/** + * The payload behind `knowledge mode`. Deliberately derived from the + * environment alone: no store open, no config file read, no request. An + * operator on a machine that cannot reach the network still gets a truthful + * answer about which backend this CLI would use, which is the thing that was + * impossible to tell without reading source. + */ +export declare function knowledgeModeReport(env?: NodeJS.ProcessEnv): KnowledgeModeReport; diff --git a/dist/net-guard.d.ts b/dist/net-guard.d.ts new file mode 100644 index 0000000..e1ccd8e --- /dev/null +++ b/dist/net-guard.d.ts @@ -0,0 +1,77 @@ +/** + * @hasna/knowledge — outbound request guard. + * Copyright 2026 Hasna Inc. + * Licensed under the Apache License, Version 2.0 + * + * THE control that keeps a test run off the live store: while `NODE_ENV=test`, + * every knowledge-owned outbound HTTP request whose target is not loopback is + * refused before a socket is opened. + * + * It guards the EGRESS, not the environment, and that distinction is the whole + * design. Clearing the selector variables at startup — a preload, a + * `beforeAll`, a wrapper script — cannot work: a test file that assigns those + * variables at module scope runs AFTER any one-shot clear, `bun test` executes + * many files in one process with one preload, so a single file's leak reaches + * every later file, and a `bunfig.toml` preload resolves from the cwd and is + * simply absent when the suite is invoked from a subdirectory. Each of those + * produced a GREEN run with writes going out over HTTP. A check at the point of + * egress has none of those escape routes, because by then it does not matter + * which layer decided to make the request or when the variable was set. + * + * Loopback is allowed on purpose. Tests that stand up a `Bun.serve` on + * 127.0.0.1 and exercise the real HTTP transport against it are the good case — + * they are hermetic. Refusing them would push the suite toward stubbing the + * transport, which is precisely how an egress bug hides. + * + * There is NO opt-out. Every in-repo script that legitimately talks to a real + * endpoint (`scripts/smoke-*.mjs`) runs outside `bun test` and so is never + * under the guard; an escape hatch would only exist to be used by the next test + * that "just needs one real call". + * + * Messages never include the target host. The repo already refuses cloud + * configuration "without leaking the URL", and a refusal message is exactly the + * text that ends up pasted into a task comment or a CI log. + */ +/** Env var whose value `test` arms the guard. Set automatically by `bun test`. */ +export declare const NETWORK_GUARD_ENV = "NODE_ENV"; +export declare class KnowledgeNetworkGuardError extends Error { + readonly scheme: string; + readonly port: string; + constructor(message: string, details: { + scheme: string; + port: string; + }); +} +/** + * True while outbound non-loopback requests must be refused. + * + * Read per request rather than captured once at import: a module that sets + * `NODE_ENV` after this file loads must still be guarded, and the whole failure + * class this defends against is state that arrives later than expected. + */ +export declare function isNetworkGuardActive(env?: NodeJS.ProcessEnv): boolean; +/** + * True for every hostname that cannot leave this machine. + * + * Covers what `new URL()` actually produces, which is not always what was + * typed: `http://127.1` normalizes to `127.0.0.1`, IPv6 hostnames keep their + * brackets (`[::1]`), and an IPv4-mapped IPv6 address is compressed to + * `[::ffff:7f00:1]` rather than staying readable. `0.0.0.0` and `[::]` are NOT + * accepted — they are bind-any addresses, not loopback, and treating a + * wildcard as safe is how a guard gets talked past. + */ +export declare function isLoopbackHostname(hostname: string): boolean; +/** + * Refuse the request unless it stays on this machine (or the guard is off). + * + * Fail-closed on an unparseable target: while the guard is armed, "we could not + * tell where this was going" is not a reason to let it go. + */ +export declare function assertOutboundRequestAllowed(input: string | URL | Request, env?: NodeJS.ProcessEnv): void; +/** + * `fetch` with the guard in front of it. Installed permanently at the transport + * boundary rather than only when the guard is armed, so arming is decided per + * request by the environment and never by whatever it happened to be at the + * moment the client was constructed. + */ +export declare function guardedFetch(input: string | URL | Request, init?: RequestInit): Promise<Response>; diff --git a/dist/storage.js b/dist/storage.js index b5db12c..0f695f7 100644 --- a/dist/storage.js +++ b/dist/storage.js @@ -6611,26 +6611,6528 @@ function resolveStorageClient(name, env = process.env, overrides) { return { transport: "local", client: null }; } -// src/cloud-store.ts -var KNOWLEDGE_APP_SLUG = "knowledge"; -var MODE_ENV_KEYS = [ - "HASNA_KNOWLEDGE_STORAGE_MODE", - "HASNA_KNOWLEDGE_MODE", - "KNOWLEDGE_STORAGE_MODE", - "KNOWLEDGE_MODE" +// node_modules/@hasna/contracts/dist/client/transport.js +var __defProp3 = Object.defineProperty; +var __returnValue3 = (v) => v; +function __exportSetter3(name, newValue) { + this[name] = __returnValue3.bind(null, newValue); +} +var __export3 = (target, all) => { + for (var name in all) + __defProp3(target, name, { + get: all[name], + enumerable: true, + configurable: true, + set: __exportSetter3.bind(all, name) + }); +}; +var exports_external2 = {}; +__export3(exports_external2, { + void: () => voidType2, + util: () => util2, + unknown: () => unknownType2, + union: () => unionType2, + undefined: () => undefinedType2, + tuple: () => tupleType2, + transformer: () => effectsType2, + symbol: () => symbolType2, + string: () => stringType2, + strictObject: () => strictObjectType2, + setErrorMap: () => setErrorMap2, + set: () => setType2, + record: () => recordType2, + quotelessJson: () => quotelessJson2, + promise: () => promiseType2, + preprocess: () => preprocessType2, + pipeline: () => pipelineType2, + ostring: () => ostring2, + optional: () => optionalType2, + onumber: () => onumber2, + oboolean: () => oboolean2, + objectUtil: () => objectUtil2, + object: () => objectType2, + number: () => numberType2, + nullable: () => nullableType2, + null: () => nullType2, + never: () => neverType2, + nativeEnum: () => nativeEnumType2, + nan: () => nanType2, + map: () => mapType2, + makeIssue: () => makeIssue2, + literal: () => literalType2, + lazy: () => lazyType2, + late: () => late2, + isValid: () => isValid2, + isDirty: () => isDirty2, + isAsync: () => isAsync2, + isAborted: () => isAborted2, + intersection: () => intersectionType2, + instanceof: () => instanceOfType2, + getParsedType: () => getParsedType2, + getErrorMap: () => getErrorMap2, + function: () => functionType2, + enum: () => enumType2, + effect: () => effectsType2, + discriminatedUnion: () => discriminatedUnionType2, + defaultErrorMap: () => en_default2, + datetimeRegex: () => datetimeRegex2, + date: () => dateType2, + custom: () => custom2, + coerce: () => coerce2, + boolean: () => booleanType2, + bigint: () => bigIntType2, + array: () => arrayType2, + any: () => anyType2, + addIssueToContext: () => addIssueToContext2, + ZodVoid: () => ZodVoid2, + ZodUnknown: () => ZodUnknown2, + ZodUnion: () => ZodUnion2, + ZodUndefined: () => ZodUndefined2, + ZodType: () => ZodType2, + ZodTuple: () => ZodTuple2, + ZodTransformer: () => ZodEffects2, + ZodSymbol: () => ZodSymbol2, + ZodString: () => ZodString2, + ZodSet: () => ZodSet2, + ZodSchema: () => ZodType2, + ZodRecord: () => ZodRecord2, + ZodReadonly: () => ZodReadonly2, + ZodPromise: () => ZodPromise2, + ZodPipeline: () => ZodPipeline2, + ZodParsedType: () => ZodParsedType2, + ZodOptional: () => ZodOptional2, + ZodObject: () => ZodObject2, + ZodNumber: () => ZodNumber2, + ZodNullable: () => ZodNullable2, + ZodNull: () => ZodNull2, + ZodNever: () => ZodNever2, + ZodNativeEnum: () => ZodNativeEnum2, + ZodNaN: () => ZodNaN2, + ZodMap: () => ZodMap2, + ZodLiteral: () => ZodLiteral2, + ZodLazy: () => ZodLazy2, + ZodIssueCode: () => ZodIssueCode2, + ZodIntersection: () => ZodIntersection2, + ZodFunction: () => ZodFunction2, + ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind2, + ZodError: () => ZodError2, + ZodEnum: () => ZodEnum2, + ZodEffects: () => ZodEffects2, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion2, + ZodDefault: () => ZodDefault2, + ZodDate: () => ZodDate2, + ZodCatch: () => ZodCatch2, + ZodBranded: () => ZodBranded2, + ZodBoolean: () => ZodBoolean2, + ZodBigInt: () => ZodBigInt2, + ZodArray: () => ZodArray2, + ZodAny: () => ZodAny2, + Schema: () => ZodType2, + ParseStatus: () => ParseStatus2, + OK: () => OK2, + NEVER: () => NEVER2, + INVALID: () => INVALID2, + EMPTY_PATH: () => EMPTY_PATH2, + DIRTY: () => DIRTY2, + BRAND: () => BRAND2 +}); +var util2; +(function(util22) { + util22.assertEqual = (_) => {}; + function assertIs(_arg) {} + util22.assertIs = assertIs; + function assertNever(_x) { + throw new Error; + } + util22.assertNever = assertNever; + util22.arrayToEnum = (items) => { + const obj = {}; + for (const item of items) { + obj[item] = item; + } + return obj; + }; + util22.getValidEnumValues = (obj) => { + const validKeys = util22.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number"); + const filtered = {}; + for (const k of validKeys) { + filtered[k] = obj[k]; + } + return util22.objectValues(filtered); + }; + util22.objectValues = (obj) => { + return util22.objectKeys(obj).map(function(e) { + return obj[e]; + }); + }; + util22.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => { + const keys = []; + for (const key in object) { + if (Object.prototype.hasOwnProperty.call(object, key)) { + keys.push(key); + } + } + return keys; + }; + util22.find = (arr, checker) => { + for (const item of arr) { + if (checker(item)) + return item; + } + return; + }; + util22.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val; + function joinValues(array, separator = " | ") { + return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); + } + util22.joinValues = joinValues; + util22.jsonStringifyReplacer = (_, value) => { + if (typeof value === "bigint") { + return value.toString(); + } + return value; + }; +})(util2 || (util2 = {})); +var objectUtil2; +(function(objectUtil22) { + objectUtil22.mergeShapes = (first, second) => { + return { + ...first, + ...second + }; + }; +})(objectUtil2 || (objectUtil2 = {})); +var ZodParsedType2 = util2.arrayToEnum([ + "string", + "nan", + "number", + "integer", + "float", + "boolean", + "date", + "bigint", + "symbol", + "function", + "undefined", + "null", + "array", + "object", + "unknown", + "promise", + "void", + "never", + "map", + "set" +]); +var getParsedType2 = (data) => { + const t = typeof data; + switch (t) { + case "undefined": + return ZodParsedType2.undefined; + case "string": + return ZodParsedType2.string; + case "number": + return Number.isNaN(data) ? ZodParsedType2.nan : ZodParsedType2.number; + case "boolean": + return ZodParsedType2.boolean; + case "function": + return ZodParsedType2.function; + case "bigint": + return ZodParsedType2.bigint; + case "symbol": + return ZodParsedType2.symbol; + case "object": + if (Array.isArray(data)) { + return ZodParsedType2.array; + } + if (data === null) { + return ZodParsedType2.null; + } + if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { + return ZodParsedType2.promise; + } + if (typeof Map !== "undefined" && data instanceof Map) { + return ZodParsedType2.map; + } + if (typeof Set !== "undefined" && data instanceof Set) { + return ZodParsedType2.set; + } + if (typeof Date !== "undefined" && data instanceof Date) { + return ZodParsedType2.date; + } + return ZodParsedType2.object; + default: + return ZodParsedType2.unknown; + } +}; +var ZodIssueCode2 = util2.arrayToEnum([ + "invalid_type", + "invalid_literal", + "custom", + "invalid_union", + "invalid_union_discriminator", + "invalid_enum_value", + "unrecognized_keys", + "invalid_arguments", + "invalid_return_type", + "invalid_date", + "invalid_string", + "too_small", + "too_big", + "invalid_intersection_types", + "not_multiple_of", + "not_finite" +]); +var quotelessJson2 = (obj) => { + const json = JSON.stringify(obj, null, 2); + return json.replace(/"([^"]+)":/g, "$1:"); +}; + +class ZodError2 extends Error { + get errors() { + return this.issues; + } + constructor(issues) { + super(); + this.issues = []; + this.addIssue = (sub) => { + this.issues = [...this.issues, sub]; + }; + this.addIssues = (subs = []) => { + this.issues = [...this.issues, ...subs]; + }; + const actualProto = new.target.prototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } else { + this.__proto__ = actualProto; + } + this.name = "ZodError"; + this.issues = issues; + } + format(_mapper) { + const mapper = _mapper || function(issue) { + return issue.message; + }; + const fieldErrors = { _errors: [] }; + const processError = (error) => { + for (const issue of error.issues) { + if (issue.code === "invalid_union") { + issue.unionErrors.map(processError); + } else if (issue.code === "invalid_return_type") { + processError(issue.returnTypeError); + } else if (issue.code === "invalid_arguments") { + processError(issue.argumentsError); + } else if (issue.path.length === 0) { + fieldErrors._errors.push(mapper(issue)); + } else { + let curr = fieldErrors; + let i = 0; + while (i < issue.path.length) { + const el = issue.path[i]; + const terminal = i === issue.path.length - 1; + if (!terminal) { + curr[el] = curr[el] || { _errors: [] }; + } else { + curr[el] = curr[el] || { _errors: [] }; + curr[el]._errors.push(mapper(issue)); + } + curr = curr[el]; + i++; + } + } + } + }; + processError(this); + return fieldErrors; + } + static assert(value) { + if (!(value instanceof ZodError2)) { + throw new Error(`Not a ZodError: ${value}`); + } + } + toString() { + return this.message; + } + get message() { + return JSON.stringify(this.issues, util2.jsonStringifyReplacer, 2); + } + get isEmpty() { + return this.issues.length === 0; + } + flatten(mapper = (issue) => issue.message) { + const fieldErrors = {}; + const formErrors = []; + for (const sub of this.issues) { + if (sub.path.length > 0) { + const firstEl = sub.path[0]; + fieldErrors[firstEl] = fieldErrors[firstEl] || []; + fieldErrors[firstEl].push(mapper(sub)); + } else { + formErrors.push(mapper(sub)); + } + } + return { formErrors, fieldErrors }; + } + get formErrors() { + return this.flatten(); + } +} +ZodError2.create = (issues) => { + const error = new ZodError2(issues); + return error; +}; +var errorMap2 = (issue, _ctx) => { + let message; + switch (issue.code) { + case ZodIssueCode2.invalid_type: + if (issue.received === ZodParsedType2.undefined) { + message = "Required"; + } else { + message = `Expected ${issue.expected}, received ${issue.received}`; + } + break; + case ZodIssueCode2.invalid_literal: + message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util2.jsonStringifyReplacer)}`; + break; + case ZodIssueCode2.unrecognized_keys: + message = `Unrecognized key(s) in object: ${util2.joinValues(issue.keys, ", ")}`; + break; + case ZodIssueCode2.invalid_union: + message = `Invalid input`; + break; + case ZodIssueCode2.invalid_union_discriminator: + message = `Invalid discriminator value. Expected ${util2.joinValues(issue.options)}`; + break; + case ZodIssueCode2.invalid_enum_value: + message = `Invalid enum value. Expected ${util2.joinValues(issue.options)}, received '${issue.received}'`; + break; + case ZodIssueCode2.invalid_arguments: + message = `Invalid function arguments`; + break; + case ZodIssueCode2.invalid_return_type: + message = `Invalid function return type`; + break; + case ZodIssueCode2.invalid_date: + message = `Invalid date`; + break; + case ZodIssueCode2.invalid_string: + if (typeof issue.validation === "object") { + if ("includes" in issue.validation) { + message = `Invalid input: must include "${issue.validation.includes}"`; + if (typeof issue.validation.position === "number") { + message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`; + } + } else if ("startsWith" in issue.validation) { + message = `Invalid input: must start with "${issue.validation.startsWith}"`; + } else if ("endsWith" in issue.validation) { + message = `Invalid input: must end with "${issue.validation.endsWith}"`; + } else { + util2.assertNever(issue.validation); + } + } else if (issue.validation !== "regex") { + message = `Invalid ${issue.validation}`; + } else { + message = "Invalid"; + } + break; + case ZodIssueCode2.too_small: + if (issue.type === "array") + message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`; + else if (issue.type === "string") + message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`; + else if (issue.type === "number") + message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; + else if (issue.type === "bigint") + message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; + else if (issue.type === "date") + message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode2.too_big: + if (issue.type === "array") + message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`; + else if (issue.type === "string") + message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`; + else if (issue.type === "number") + message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; + else if (issue.type === "bigint") + message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; + else if (issue.type === "date") + message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode2.custom: + message = `Invalid input`; + break; + case ZodIssueCode2.invalid_intersection_types: + message = `Intersection results could not be merged`; + break; + case ZodIssueCode2.not_multiple_of: + message = `Number must be a multiple of ${issue.multipleOf}`; + break; + case ZodIssueCode2.not_finite: + message = "Number must be finite"; + break; + default: + message = _ctx.defaultError; + util2.assertNever(issue); + } + return { message }; +}; +var en_default2 = errorMap2; +var overrideErrorMap2 = en_default2; +function setErrorMap2(map) { + overrideErrorMap2 = map; +} +function getErrorMap2() { + return overrideErrorMap2; +} +var makeIssue2 = (params) => { + const { data, path, errorMaps, issueData } = params; + const fullPath = [...path, ...issueData.path || []]; + const fullIssue = { + ...issueData, + path: fullPath + }; + if (issueData.message !== undefined) { + return { + ...issueData, + path: fullPath, + message: issueData.message + }; + } + let errorMessage = ""; + const maps = errorMaps.filter((m) => !!m).slice().reverse(); + for (const map of maps) { + errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message; + } + return { + ...issueData, + path: fullPath, + message: errorMessage + }; +}; +var EMPTY_PATH2 = []; +function addIssueToContext2(ctx, issueData) { + const overrideMap = getErrorMap2(); + const issue = makeIssue2({ + issueData, + data: ctx.data, + path: ctx.path, + errorMaps: [ + ctx.common.contextualErrorMap, + ctx.schemaErrorMap, + overrideMap, + overrideMap === en_default2 ? undefined : en_default2 + ].filter((x) => !!x) + }); + ctx.common.issues.push(issue); +} + +class ParseStatus2 { + constructor() { + this.value = "valid"; + } + dirty() { + if (this.value === "valid") + this.value = "dirty"; + } + abort() { + if (this.value !== "aborted") + this.value = "aborted"; + } + static mergeArray(status, results) { + const arrayValue = []; + for (const s of results) { + if (s.status === "aborted") + return INVALID2; + if (s.status === "dirty") + status.dirty(); + arrayValue.push(s.value); + } + return { status: status.value, value: arrayValue }; + } + static async mergeObjectAsync(status, pairs) { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value + }); + } + return ParseStatus2.mergeObjectSync(status, syncPairs); + } + static mergeObjectSync(status, pairs) { + const finalObject = {}; + for (const pair of pairs) { + const { key, value } = pair; + if (key.status === "aborted") + return INVALID2; + if (value.status === "aborted") + return INVALID2; + if (key.status === "dirty") + status.dirty(); + if (value.status === "dirty") + status.dirty(); + if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) { + finalObject[key.value] = value.value; + } + } + return { status: status.value, value: finalObject }; + } +} +var INVALID2 = Object.freeze({ + status: "aborted" +}); +var DIRTY2 = (value) => ({ status: "dirty", value }); +var OK2 = (value) => ({ status: "valid", value }); +var isAborted2 = (x) => x.status === "aborted"; +var isDirty2 = (x) => x.status === "dirty"; +var isValid2 = (x) => x.status === "valid"; +var isAsync2 = (x) => typeof Promise !== "undefined" && x instanceof Promise; +var errorUtil2; +(function(errorUtil22) { + errorUtil22.errToObj = (message) => typeof message === "string" ? { message } : message || {}; + errorUtil22.toString = (message) => typeof message === "string" ? message : message?.message; +})(errorUtil2 || (errorUtil2 = {})); + +class ParseInputLazyPath2 { + constructor(parent, value, path, key) { + this._cachedPath = []; + this.parent = parent; + this.data = value; + this._path = path; + this._key = key; + } + get path() { + if (!this._cachedPath.length) { + if (Array.isArray(this._key)) { + this._cachedPath.push(...this._path, ...this._key); + } else { + this._cachedPath.push(...this._path, this._key); + } + } + return this._cachedPath; + } +} +var handleResult2 = (ctx, result) => { + if (isValid2(result)) { + return { success: true, data: result.value }; + } else { + if (!ctx.common.issues.length) { + throw new Error("Validation failed but no issues detected."); + } + return { + success: false, + get error() { + if (this._error) + return this._error; + const error = new ZodError2(ctx.common.issues); + this._error = error; + return this._error; + } + }; + } +}; +function processCreateParams2(params) { + if (!params) + return {}; + const { errorMap: errorMap22, invalid_type_error, required_error, description } = params; + if (errorMap22 && (invalid_type_error || required_error)) { + throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); + } + if (errorMap22) + return { errorMap: errorMap22, description }; + const customMap = (iss, ctx) => { + const { message } = params; + if (iss.code === "invalid_enum_value") { + return { message: message ?? ctx.defaultError }; + } + if (typeof ctx.data === "undefined") { + return { message: message ?? required_error ?? ctx.defaultError }; + } + if (iss.code !== "invalid_type") + return { message: ctx.defaultError }; + return { message: message ?? invalid_type_error ?? ctx.defaultError }; + }; + return { errorMap: customMap, description }; +} + +class ZodType2 { + get description() { + return this._def.description; + } + _getType(input) { + return getParsedType2(input.data); + } + _getOrReturnCtx(input, ctx) { + return ctx || { + common: input.parent.common, + data: input.data, + parsedType: getParsedType2(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + }; + } + _processInputParams(input) { + return { + status: new ParseStatus2, + ctx: { + common: input.parent.common, + data: input.data, + parsedType: getParsedType2(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + } + }; + } + _parseSync(input) { + const result = this._parse(input); + if (isAsync2(result)) { + throw new Error("Synchronous parse encountered promise."); + } + return result; + } + _parseAsync(input) { + const result = this._parse(input); + return Promise.resolve(result); + } + parse(data, params) { + const result = this.safeParse(data, params); + if (result.success) + return result.data; + throw result.error; + } + safeParse(data, params) { + const ctx = { + common: { + issues: [], + async: params?.async ?? false, + contextualErrorMap: params?.errorMap + }, + path: params?.path || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + const result = this._parseSync({ data, path: ctx.path, parent: ctx }); + return handleResult2(ctx, result); + } + "~validate"(data) { + const ctx = { + common: { + issues: [], + async: !!this["~standard"].async + }, + path: [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + if (!this["~standard"].async) { + try { + const result = this._parseSync({ data, path: [], parent: ctx }); + return isValid2(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }; + } catch (err) { + if (err?.message?.toLowerCase()?.includes("encountered")) { + this["~standard"].async = true; + } + ctx.common = { + issues: [], + async: true + }; + } + } + return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid2(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }); + } + async parseAsync(data, params) { + const result = await this.safeParseAsync(data, params); + if (result.success) + return result.data; + throw result.error; + } + async safeParseAsync(data, params) { + const ctx = { + common: { + issues: [], + contextualErrorMap: params?.errorMap, + async: true + }, + path: params?.path || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx }); + const result = await (isAsync2(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); + return handleResult2(ctx, result); + } + refine(check, message) { + const getIssueProperties = (val) => { + if (typeof message === "string" || typeof message === "undefined") { + return { message }; + } else if (typeof message === "function") { + return message(val); + } else { + return message; + } + }; + return this._refinement((val, ctx) => { + const result = check(val); + const setError = () => ctx.addIssue({ + code: ZodIssueCode2.custom, + ...getIssueProperties(val) + }); + if (typeof Promise !== "undefined" && result instanceof Promise) { + return result.then((data) => { + if (!data) { + setError(); + return false; + } else { + return true; + } + }); + } + if (!result) { + setError(); + return false; + } else { + return true; + } + }); + } + refinement(check, refinementData) { + return this._refinement((val, ctx) => { + if (!check(val)) { + ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData); + return false; + } else { + return true; + } + }); + } + _refinement(refinement) { + return new ZodEffects2({ + schema: this, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect: { type: "refinement", refinement } + }); + } + superRefine(refinement) { + return this._refinement(refinement); + } + constructor(def) { + this.spa = this.safeParseAsync; + this._def = def; + this.parse = this.parse.bind(this); + this.safeParse = this.safeParse.bind(this); + this.parseAsync = this.parseAsync.bind(this); + this.safeParseAsync = this.safeParseAsync.bind(this); + this.spa = this.spa.bind(this); + this.refine = this.refine.bind(this); + this.refinement = this.refinement.bind(this); + this.superRefine = this.superRefine.bind(this); + this.optional = this.optional.bind(this); + this.nullable = this.nullable.bind(this); + this.nullish = this.nullish.bind(this); + this.array = this.array.bind(this); + this.promise = this.promise.bind(this); + this.or = this.or.bind(this); + this.and = this.and.bind(this); + this.transform = this.transform.bind(this); + this.brand = this.brand.bind(this); + this.default = this.default.bind(this); + this.catch = this.catch.bind(this); + this.describe = this.describe.bind(this); + this.pipe = this.pipe.bind(this); + this.readonly = this.readonly.bind(this); + this.isNullable = this.isNullable.bind(this); + this.isOptional = this.isOptional.bind(this); + this["~standard"] = { + version: 1, + vendor: "zod", + validate: (data) => this["~validate"](data) + }; + } + optional() { + return ZodOptional2.create(this, this._def); + } + nullable() { + return ZodNullable2.create(this, this._def); + } + nullish() { + return this.nullable().optional(); + } + array() { + return ZodArray2.create(this); + } + promise() { + return ZodPromise2.create(this, this._def); + } + or(option) { + return ZodUnion2.create([this, option], this._def); + } + and(incoming) { + return ZodIntersection2.create(this, incoming, this._def); + } + transform(transform) { + return new ZodEffects2({ + ...processCreateParams2(this._def), + schema: this, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect: { type: "transform", transform } + }); + } + default(def) { + const defaultValueFunc = typeof def === "function" ? def : () => def; + return new ZodDefault2({ + ...processCreateParams2(this._def), + innerType: this, + defaultValue: defaultValueFunc, + typeName: ZodFirstPartyTypeKind2.ZodDefault + }); + } + brand() { + return new ZodBranded2({ + typeName: ZodFirstPartyTypeKind2.ZodBranded, + type: this, + ...processCreateParams2(this._def) + }); + } + catch(def) { + const catchValueFunc = typeof def === "function" ? def : () => def; + return new ZodCatch2({ + ...processCreateParams2(this._def), + innerType: this, + catchValue: catchValueFunc, + typeName: ZodFirstPartyTypeKind2.ZodCatch + }); + } + describe(description) { + const This = this.constructor; + return new This({ + ...this._def, + description + }); + } + pipe(target) { + return ZodPipeline2.create(this, target); + } + readonly() { + return ZodReadonly2.create(this); + } + isOptional() { + return this.safeParse(undefined).success; + } + isNullable() { + return this.safeParse(null).success; + } +} +var cuidRegex2 = /^c[^\s-]{8,}$/i; +var cuid2Regex2 = /^[0-9a-z]+$/; +var ulidRegex2 = /^[0-9A-HJKMNP-TV-Z]{26}$/i; +var uuidRegex2 = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; +var nanoidRegex2 = /^[a-z0-9_-]{21}$/i; +var jwtRegex2 = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/; +var durationRegex2 = /^[-+]?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)?)??$/; +var emailRegex2 = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; +var _emojiRegex2 = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; +var emojiRegex2; +var ipv4Regex2 = /^(?:(?: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])$/; +var ipv4CidrRegex2 = /^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/; +var ipv6Regex2 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/; +var ipv6CidrRegex2 = /^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; +var base64Regex2 = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; +var base64urlRegex2 = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/; +var dateRegexSource2 = `((\\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])))`; +var dateRegex2 = new RegExp(`^${dateRegexSource2}$`); +function timeRegexSource2(args) { + let secondsRegexSource = `[0-5]\\d`; + if (args.precision) { + secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`; + } else if (args.precision == null) { + secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`; + } + const secondsQuantifier = args.precision ? "+" : "?"; + return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`; +} +function timeRegex2(args) { + return new RegExp(`^${timeRegexSource2(args)}$`); +} +function datetimeRegex2(args) { + let regex = `${dateRegexSource2}T${timeRegexSource2(args)}`; + const opts = []; + opts.push(args.local ? `Z?` : `Z`); + if (args.offset) + opts.push(`([+-]\\d{2}:?\\d{2})`); + regex = `${regex}(${opts.join("|")})`; + return new RegExp(`^${regex}$`); +} +function isValidIP2(ip, version) { + if ((version === "v4" || !version) && ipv4Regex2.test(ip)) { + return true; + } + if ((version === "v6" || !version) && ipv6Regex2.test(ip)) { + return true; + } + return false; +} +function isValidJWT2(jwt, alg) { + if (!jwtRegex2.test(jwt)) + return false; + try { + const [header] = jwt.split("."); + if (!header) + return false; + const base64 = header.replace(/-/g, "+").replace(/_/g, "/").padEnd(header.length + (4 - header.length % 4) % 4, "="); + const decoded = JSON.parse(atob(base64)); + if (typeof decoded !== "object" || decoded === null) + return false; + if ("typ" in decoded && decoded?.typ !== "JWT") + return false; + if (!decoded.alg) + return false; + if (alg && decoded.alg !== alg) + return false; + return true; + } catch { + return false; + } +} +function isValidCidr2(ip, version) { + if ((version === "v4" || !version) && ipv4CidrRegex2.test(ip)) { + return true; + } + if ((version === "v6" || !version) && ipv6CidrRegex2.test(ip)) { + return true; + } + return false; +} + +class ZodString2 extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = String(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.string) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.string, + received: ctx2.parsedType + }); + return INVALID2; + } + const status = new ParseStatus2; + let ctx = undefined; + for (const check of this._def.checks) { + if (check.kind === "min") { + if (input.data.length < check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "string", + inclusive: true, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + if (input.data.length > check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "string", + inclusive: true, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "length") { + const tooBig = input.data.length > check.value; + const tooSmall = input.data.length < check.value; + if (tooBig || tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + if (tooBig) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "string", + inclusive: true, + exact: true, + message: check.message + }); + } else if (tooSmall) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "string", + inclusive: true, + exact: true, + message: check.message + }); + } + status.dirty(); + } + } else if (check.kind === "email") { + if (!emailRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "email", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "emoji") { + if (!emojiRegex2) { + emojiRegex2 = new RegExp(_emojiRegex2, "u"); + } + if (!emojiRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "emoji", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "uuid") { + if (!uuidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "uuid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "nanoid") { + if (!nanoidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "nanoid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cuid") { + if (!cuidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cuid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cuid2") { + if (!cuid2Regex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cuid2", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "ulid") { + if (!ulidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "ulid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "url") { + try { + new URL(input.data); + } catch { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "url", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "regex") { + check.regex.lastIndex = 0; + const testResult = check.regex.test(input.data); + if (!testResult) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "regex", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "trim") { + input.data = input.data.trim(); + } else if (check.kind === "includes") { + if (!input.data.includes(check.value, check.position)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { includes: check.value, position: check.position }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "toLowerCase") { + input.data = input.data.toLowerCase(); + } else if (check.kind === "toUpperCase") { + input.data = input.data.toUpperCase(); + } else if (check.kind === "startsWith") { + if (!input.data.startsWith(check.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { startsWith: check.value }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "endsWith") { + if (!input.data.endsWith(check.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { endsWith: check.value }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "datetime") { + const regex = datetimeRegex2(check); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "datetime", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "date") { + const regex = dateRegex2; + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "date", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "time") { + const regex = timeRegex2(check); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "time", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "duration") { + if (!durationRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "duration", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "ip") { + if (!isValidIP2(input.data, check.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "ip", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "jwt") { + if (!isValidJWT2(input.data, check.alg)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "jwt", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cidr") { + if (!isValidCidr2(input.data, check.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cidr", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "base64") { + if (!base64Regex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "base64", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "base64url") { + if (!base64urlRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "base64url", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + _regex(regex, validation, message) { + return this.refinement((data) => regex.test(data), { + validation, + code: ZodIssueCode2.invalid_string, + ...errorUtil2.errToObj(message) + }); + } + _addCheck(check) { + return new ZodString2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + email(message) { + return this._addCheck({ kind: "email", ...errorUtil2.errToObj(message) }); + } + url(message) { + return this._addCheck({ kind: "url", ...errorUtil2.errToObj(message) }); + } + emoji(message) { + return this._addCheck({ kind: "emoji", ...errorUtil2.errToObj(message) }); + } + uuid(message) { + return this._addCheck({ kind: "uuid", ...errorUtil2.errToObj(message) }); + } + nanoid(message) { + return this._addCheck({ kind: "nanoid", ...errorUtil2.errToObj(message) }); + } + cuid(message) { + return this._addCheck({ kind: "cuid", ...errorUtil2.errToObj(message) }); + } + cuid2(message) { + return this._addCheck({ kind: "cuid2", ...errorUtil2.errToObj(message) }); + } + ulid(message) { + return this._addCheck({ kind: "ulid", ...errorUtil2.errToObj(message) }); + } + base64(message) { + return this._addCheck({ kind: "base64", ...errorUtil2.errToObj(message) }); + } + base64url(message) { + return this._addCheck({ + kind: "base64url", + ...errorUtil2.errToObj(message) + }); + } + jwt(options) { + return this._addCheck({ kind: "jwt", ...errorUtil2.errToObj(options) }); + } + ip(options) { + return this._addCheck({ kind: "ip", ...errorUtil2.errToObj(options) }); + } + cidr(options) { + return this._addCheck({ kind: "cidr", ...errorUtil2.errToObj(options) }); + } + datetime(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "datetime", + precision: null, + offset: false, + local: false, + message: options + }); + } + return this._addCheck({ + kind: "datetime", + precision: typeof options?.precision === "undefined" ? null : options?.precision, + offset: options?.offset ?? false, + local: options?.local ?? false, + ...errorUtil2.errToObj(options?.message) + }); + } + date(message) { + return this._addCheck({ kind: "date", message }); + } + time(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "time", + precision: null, + message: options + }); + } + return this._addCheck({ + kind: "time", + precision: typeof options?.precision === "undefined" ? null : options?.precision, + ...errorUtil2.errToObj(options?.message) + }); + } + duration(message) { + return this._addCheck({ kind: "duration", ...errorUtil2.errToObj(message) }); + } + regex(regex, message) { + return this._addCheck({ + kind: "regex", + regex, + ...errorUtil2.errToObj(message) + }); + } + includes(value, options) { + return this._addCheck({ + kind: "includes", + value, + position: options?.position, + ...errorUtil2.errToObj(options?.message) + }); + } + startsWith(value, message) { + return this._addCheck({ + kind: "startsWith", + value, + ...errorUtil2.errToObj(message) + }); + } + endsWith(value, message) { + return this._addCheck({ + kind: "endsWith", + value, + ...errorUtil2.errToObj(message) + }); + } + min(minLength, message) { + return this._addCheck({ + kind: "min", + value: minLength, + ...errorUtil2.errToObj(message) + }); + } + max(maxLength, message) { + return this._addCheck({ + kind: "max", + value: maxLength, + ...errorUtil2.errToObj(message) + }); + } + length(len, message) { + return this._addCheck({ + kind: "length", + value: len, + ...errorUtil2.errToObj(message) + }); + } + nonempty(message) { + return this.min(1, errorUtil2.errToObj(message)); + } + trim() { + return new ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "trim" }] + }); + } + toLowerCase() { + return new ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "toLowerCase" }] + }); + } + toUpperCase() { + return new ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "toUpperCase" }] + }); + } + get isDatetime() { + return !!this._def.checks.find((ch) => ch.kind === "datetime"); + } + get isDate() { + return !!this._def.checks.find((ch) => ch.kind === "date"); + } + get isTime() { + return !!this._def.checks.find((ch) => ch.kind === "time"); + } + get isDuration() { + return !!this._def.checks.find((ch) => ch.kind === "duration"); + } + get isEmail() { + return !!this._def.checks.find((ch) => ch.kind === "email"); + } + get isURL() { + return !!this._def.checks.find((ch) => ch.kind === "url"); + } + get isEmoji() { + return !!this._def.checks.find((ch) => ch.kind === "emoji"); + } + get isUUID() { + return !!this._def.checks.find((ch) => ch.kind === "uuid"); + } + get isNANOID() { + return !!this._def.checks.find((ch) => ch.kind === "nanoid"); + } + get isCUID() { + return !!this._def.checks.find((ch) => ch.kind === "cuid"); + } + get isCUID2() { + return !!this._def.checks.find((ch) => ch.kind === "cuid2"); + } + get isULID() { + return !!this._def.checks.find((ch) => ch.kind === "ulid"); + } + get isIP() { + return !!this._def.checks.find((ch) => ch.kind === "ip"); + } + get isCIDR() { + return !!this._def.checks.find((ch) => ch.kind === "cidr"); + } + get isBase64() { + return !!this._def.checks.find((ch) => ch.kind === "base64"); + } + get isBase64url() { + return !!this._def.checks.find((ch) => ch.kind === "base64url"); + } + get minLength() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxLength() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } +} +ZodString2.create = (params) => { + return new ZodString2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodString, + coerce: params?.coerce ?? false, + ...processCreateParams2(params) + }); +}; +function floatSafeRemainder2(val, step) { + const valDecCount = (val.toString().split(".")[1] || "").length; + const stepDecCount = (step.toString().split(".")[1] || "").length; + const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; + const valInt = Number.parseInt(val.toFixed(decCount).replace(".", "")); + const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", "")); + return valInt % stepInt / 10 ** decCount; +} + +class ZodNumber2 extends ZodType2 { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + this.step = this.multipleOf; + } + _parse(input) { + if (this._def.coerce) { + input.data = Number(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.number) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.number, + received: ctx2.parsedType + }); + return INVALID2; + } + let ctx = undefined; + const status = new ParseStatus2; + for (const check of this._def.checks) { + if (check.kind === "int") { + if (!util2.isInteger(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: "integer", + received: "float", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "min") { + const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "number", + inclusive: check.inclusive, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "number", + inclusive: check.inclusive, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "multipleOf") { + if (floatSafeRemainder2(input.data, check.value) !== 0) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_multiple_of, + multipleOf: check.value, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "finite") { + if (!Number.isFinite(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_finite, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil2.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil2.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil2.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil2.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new ZodNumber2({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil2.toString(message) + } + ] + }); + } + _addCheck(check) { + return new ZodNumber2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + int(message) { + return this._addCheck({ + kind: "int", + message: errorUtil2.toString(message) + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: false, + message: errorUtil2.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: false, + message: errorUtil2.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: true, + message: errorUtil2.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: true, + message: errorUtil2.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil2.toString(message) + }); + } + finite(message) { + return this._addCheck({ + kind: "finite", + message: errorUtil2.toString(message) + }); + } + safe(message) { + return this._addCheck({ + kind: "min", + inclusive: true, + value: Number.MIN_SAFE_INTEGER, + message: errorUtil2.toString(message) + })._addCheck({ + kind: "max", + inclusive: true, + value: Number.MAX_SAFE_INTEGER, + message: errorUtil2.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } + get isInt() { + return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util2.isInteger(ch.value)); + } + get isFinite() { + let max = null; + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") { + return true; + } else if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } else if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return Number.isFinite(min) && Number.isFinite(max); + } +} +ZodNumber2.create = (params) => { + return new ZodNumber2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodNumber, + coerce: params?.coerce || false, + ...processCreateParams2(params) + }); +}; + +class ZodBigInt2 extends ZodType2 { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + } + _parse(input) { + if (this._def.coerce) { + try { + input.data = BigInt(input.data); + } catch { + return this._getInvalidInput(input); + } + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.bigint) { + return this._getInvalidInput(input); + } + let ctx = undefined; + const status = new ParseStatus2; + for (const check of this._def.checks) { + if (check.kind === "min") { + const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + type: "bigint", + minimum: check.value, + inclusive: check.inclusive, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + type: "bigint", + maximum: check.value, + inclusive: check.inclusive, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "multipleOf") { + if (input.data % check.value !== BigInt(0)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_multiple_of, + multipleOf: check.value, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + _getInvalidInput(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.bigint, + received: ctx.parsedType + }); + return INVALID2; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil2.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil2.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil2.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil2.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new ZodBigInt2({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil2.toString(message) + } + ] + }); + } + _addCheck(check) { + return new ZodBigInt2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: false, + message: errorUtil2.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: false, + message: errorUtil2.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: true, + message: errorUtil2.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: true, + message: errorUtil2.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil2.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } +} +ZodBigInt2.create = (params) => { + return new ZodBigInt2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodBigInt, + coerce: params?.coerce ?? false, + ...processCreateParams2(params) + }); +}; + +class ZodBoolean2 extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = Boolean(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.boolean) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.boolean, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodBoolean2.create = (params) => { + return new ZodBoolean2({ + typeName: ZodFirstPartyTypeKind2.ZodBoolean, + coerce: params?.coerce || false, + ...processCreateParams2(params) + }); +}; + +class ZodDate2 extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = new Date(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.date) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.date, + received: ctx2.parsedType + }); + return INVALID2; + } + if (Number.isNaN(input.data.getTime())) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_date + }); + return INVALID2; + } + const status = new ParseStatus2; + let ctx = undefined; + for (const check of this._def.checks) { + if (check.kind === "min") { + if (input.data.getTime() < check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + message: check.message, + inclusive: true, + exact: false, + minimum: check.value, + type: "date" + }); + status.dirty(); + } + } else if (check.kind === "max") { + if (input.data.getTime() > check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + message: check.message, + inclusive: true, + exact: false, + maximum: check.value, + type: "date" + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { + status: status.value, + value: new Date(input.data.getTime()) + }; + } + _addCheck(check) { + return new ZodDate2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + min(minDate, message) { + return this._addCheck({ + kind: "min", + value: minDate.getTime(), + message: errorUtil2.toString(message) + }); + } + max(maxDate, message) { + return this._addCheck({ + kind: "max", + value: maxDate.getTime(), + message: errorUtil2.toString(message) + }); + } + get minDate() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min != null ? new Date(min) : null; + } + get maxDate() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max != null ? new Date(max) : null; + } +} +ZodDate2.create = (params) => { + return new ZodDate2({ + checks: [], + coerce: params?.coerce || false, + typeName: ZodFirstPartyTypeKind2.ZodDate, + ...processCreateParams2(params) + }); +}; + +class ZodSymbol2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.symbol) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.symbol, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodSymbol2.create = (params) => { + return new ZodSymbol2({ + typeName: ZodFirstPartyTypeKind2.ZodSymbol, + ...processCreateParams2(params) + }); +}; + +class ZodUndefined2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.undefined, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodUndefined2.create = (params) => { + return new ZodUndefined2({ + typeName: ZodFirstPartyTypeKind2.ZodUndefined, + ...processCreateParams2(params) + }); +}; + +class ZodNull2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.null) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.null, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodNull2.create = (params) => { + return new ZodNull2({ + typeName: ZodFirstPartyTypeKind2.ZodNull, + ...processCreateParams2(params) + }); +}; + +class ZodAny2 extends ZodType2 { + constructor() { + super(...arguments); + this._any = true; + } + _parse(input) { + return OK2(input.data); + } +} +ZodAny2.create = (params) => { + return new ZodAny2({ + typeName: ZodFirstPartyTypeKind2.ZodAny, + ...processCreateParams2(params) + }); +}; + +class ZodUnknown2 extends ZodType2 { + constructor() { + super(...arguments); + this._unknown = true; + } + _parse(input) { + return OK2(input.data); + } +} +ZodUnknown2.create = (params) => { + return new ZodUnknown2({ + typeName: ZodFirstPartyTypeKind2.ZodUnknown, + ...processCreateParams2(params) + }); +}; + +class ZodNever2 extends ZodType2 { + _parse(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.never, + received: ctx.parsedType + }); + return INVALID2; + } +} +ZodNever2.create = (params) => { + return new ZodNever2({ + typeName: ZodFirstPartyTypeKind2.ZodNever, + ...processCreateParams2(params) + }); +}; + +class ZodVoid2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.void, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +} +ZodVoid2.create = (params) => { + return new ZodVoid2({ + typeName: ZodFirstPartyTypeKind2.ZodVoid, + ...processCreateParams2(params) + }); +}; + +class ZodArray2 extends ZodType2 { + _parse(input) { + const { ctx, status } = this._processInputParams(input); + const def = this._def; + if (ctx.parsedType !== ZodParsedType2.array) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.array, + received: ctx.parsedType + }); + return INVALID2; + } + if (def.exactLength !== null) { + const tooBig = ctx.data.length > def.exactLength.value; + const tooSmall = ctx.data.length < def.exactLength.value; + if (tooBig || tooSmall) { + addIssueToContext2(ctx, { + code: tooBig ? ZodIssueCode2.too_big : ZodIssueCode2.too_small, + minimum: tooSmall ? def.exactLength.value : undefined, + maximum: tooBig ? def.exactLength.value : undefined, + type: "array", + inclusive: true, + exact: true, + message: def.exactLength.message + }); + status.dirty(); + } + } + if (def.minLength !== null) { + if (ctx.data.length < def.minLength.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: def.minLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.minLength.message + }); + status.dirty(); + } + } + if (def.maxLength !== null) { + if (ctx.data.length > def.maxLength.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: def.maxLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.maxLength.message + }); + status.dirty(); + } + } + if (ctx.common.async) { + return Promise.all([...ctx.data].map((item, i) => { + return def.type._parseAsync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + })).then((result2) => { + return ParseStatus2.mergeArray(status, result2); + }); + } + const result = [...ctx.data].map((item, i) => { + return def.type._parseSync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + }); + return ParseStatus2.mergeArray(status, result); + } + get element() { + return this._def.type; + } + min(minLength, message) { + return new ZodArray2({ + ...this._def, + minLength: { value: minLength, message: errorUtil2.toString(message) } + }); + } + max(maxLength, message) { + return new ZodArray2({ + ...this._def, + maxLength: { value: maxLength, message: errorUtil2.toString(message) } + }); + } + length(len, message) { + return new ZodArray2({ + ...this._def, + exactLength: { value: len, message: errorUtil2.toString(message) } + }); + } + nonempty(message) { + return this.min(1, message); + } +} +ZodArray2.create = (schema, params) => { + return new ZodArray2({ + type: schema, + minLength: null, + maxLength: null, + exactLength: null, + typeName: ZodFirstPartyTypeKind2.ZodArray, + ...processCreateParams2(params) + }); +}; +function deepPartialify2(schema) { + if (schema instanceof ZodObject2) { + const newShape = {}; + for (const key in schema.shape) { + const fieldSchema = schema.shape[key]; + newShape[key] = ZodOptional2.create(deepPartialify2(fieldSchema)); + } + return new ZodObject2({ + ...schema._def, + shape: () => newShape + }); + } else if (schema instanceof ZodArray2) { + return new ZodArray2({ + ...schema._def, + type: deepPartialify2(schema.element) + }); + } else if (schema instanceof ZodOptional2) { + return ZodOptional2.create(deepPartialify2(schema.unwrap())); + } else if (schema instanceof ZodNullable2) { + return ZodNullable2.create(deepPartialify2(schema.unwrap())); + } else if (schema instanceof ZodTuple2) { + return ZodTuple2.create(schema.items.map((item) => deepPartialify2(item))); + } else { + return schema; + } +} + +class ZodObject2 extends ZodType2 { + constructor() { + super(...arguments); + this._cached = null; + this.nonstrict = this.passthrough; + this.augment = this.extend; + } + _getCached() { + if (this._cached !== null) + return this._cached; + const shape = this._def.shape(); + const keys = util2.objectKeys(shape); + this._cached = { shape, keys }; + return this._cached; + } + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.object) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx2.parsedType + }); + return INVALID2; + } + const { status, ctx } = this._processInputParams(input); + const { shape, keys: shapeKeys } = this._getCached(); + const extraKeys = []; + if (!(this._def.catchall instanceof ZodNever2 && this._def.unknownKeys === "strip")) { + for (const key in ctx.data) { + if (!shapeKeys.includes(key)) { + extraKeys.push(key); + } + } + } + const pairs = []; + for (const key of shapeKeys) { + const keyValidator = shape[key]; + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: keyValidator._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (this._def.catchall instanceof ZodNever2) { + const unknownKeys = this._def.unknownKeys; + if (unknownKeys === "passthrough") { + for (const key of extraKeys) { + pairs.push({ + key: { status: "valid", value: key }, + value: { status: "valid", value: ctx.data[key] } + }); + } + } else if (unknownKeys === "strict") { + if (extraKeys.length > 0) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.unrecognized_keys, + keys: extraKeys + }); + status.dirty(); + } + } else if (unknownKeys === "strip") {} else { + throw new Error(`Internal ZodObject error: invalid unknownKeys value.`); + } + } else { + const catchall = this._def.catchall; + for (const key of extraKeys) { + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: catchall._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + } + if (ctx.common.async) { + return Promise.resolve().then(async () => { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value, + alwaysSet: pair.alwaysSet + }); + } + return syncPairs; + }).then((syncPairs) => { + return ParseStatus2.mergeObjectSync(status, syncPairs); + }); + } else { + return ParseStatus2.mergeObjectSync(status, pairs); + } + } + get shape() { + return this._def.shape(); + } + strict(message) { + errorUtil2.errToObj; + return new ZodObject2({ + ...this._def, + unknownKeys: "strict", + ...message !== undefined ? { + errorMap: (issue, ctx) => { + const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError; + if (issue.code === "unrecognized_keys") + return { + message: errorUtil2.errToObj(message).message ?? defaultError + }; + return { + message: defaultError + }; + } + } : {} + }); + } + strip() { + return new ZodObject2({ + ...this._def, + unknownKeys: "strip" + }); + } + passthrough() { + return new ZodObject2({ + ...this._def, + unknownKeys: "passthrough" + }); + } + extend(augmentation) { + return new ZodObject2({ + ...this._def, + shape: () => ({ + ...this._def.shape(), + ...augmentation + }) + }); + } + merge(merging) { + const merged = new ZodObject2({ + unknownKeys: merging._def.unknownKeys, + catchall: merging._def.catchall, + shape: () => ({ + ...this._def.shape(), + ...merging._def.shape() + }), + typeName: ZodFirstPartyTypeKind2.ZodObject + }); + return merged; + } + setKey(key, schema) { + return this.augment({ [key]: schema }); + } + catchall(index) { + return new ZodObject2({ + ...this._def, + catchall: index + }); + } + pick(mask) { + const shape = {}; + for (const key of util2.objectKeys(mask)) { + if (mask[key] && this.shape[key]) { + shape[key] = this.shape[key]; + } + } + return new ZodObject2({ + ...this._def, + shape: () => shape + }); + } + omit(mask) { + const shape = {}; + for (const key of util2.objectKeys(this.shape)) { + if (!mask[key]) { + shape[key] = this.shape[key]; + } + } + return new ZodObject2({ + ...this._def, + shape: () => shape + }); + } + deepPartial() { + return deepPartialify2(this); + } + partial(mask) { + const newShape = {}; + for (const key of util2.objectKeys(this.shape)) { + const fieldSchema = this.shape[key]; + if (mask && !mask[key]) { + newShape[key] = fieldSchema; + } else { + newShape[key] = fieldSchema.optional(); + } + } + return new ZodObject2({ + ...this._def, + shape: () => newShape + }); + } + required(mask) { + const newShape = {}; + for (const key of util2.objectKeys(this.shape)) { + if (mask && !mask[key]) { + newShape[key] = this.shape[key]; + } else { + const fieldSchema = this.shape[key]; + let newField = fieldSchema; + while (newField instanceof ZodOptional2) { + newField = newField._def.innerType; + } + newShape[key] = newField; + } + } + return new ZodObject2({ + ...this._def, + shape: () => newShape + }); + } + keyof() { + return createZodEnum2(util2.objectKeys(this.shape)); + } +} +ZodObject2.create = (shape, params) => { + return new ZodObject2({ + shape: () => shape, + unknownKeys: "strip", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; +ZodObject2.strictCreate = (shape, params) => { + return new ZodObject2({ + shape: () => shape, + unknownKeys: "strict", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; +ZodObject2.lazycreate = (shape, params) => { + return new ZodObject2({ + shape, + unknownKeys: "strip", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; + +class ZodUnion2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const options = this._def.options; + function handleResults(results) { + for (const result of results) { + if (result.result.status === "valid") { + return result.result; + } + } + for (const result of results) { + if (result.result.status === "dirty") { + ctx.common.issues.push(...result.ctx.common.issues); + return result.result; + } + } + const unionErrors = results.map((result) => new ZodError2(result.ctx.common.issues)); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union, + unionErrors + }); + return INVALID2; + } + if (ctx.common.async) { + return Promise.all(options.map(async (option) => { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + return { + result: await option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }), + ctx: childCtx + }; + })).then(handleResults); + } else { + let dirty = undefined; + const issues = []; + for (const option of options) { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + const result = option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }); + if (result.status === "valid") { + return result; + } else if (result.status === "dirty" && !dirty) { + dirty = { result, ctx: childCtx }; + } + if (childCtx.common.issues.length) { + issues.push(childCtx.common.issues); + } + } + if (dirty) { + ctx.common.issues.push(...dirty.ctx.common.issues); + return dirty.result; + } + const unionErrors = issues.map((issues2) => new ZodError2(issues2)); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union, + unionErrors + }); + return INVALID2; + } + } + get options() { + return this._def.options; + } +} +ZodUnion2.create = (types, params) => { + return new ZodUnion2({ + options: types, + typeName: ZodFirstPartyTypeKind2.ZodUnion, + ...processCreateParams2(params) + }); +}; +var getDiscriminator2 = (type) => { + if (type instanceof ZodLazy2) { + return getDiscriminator2(type.schema); + } else if (type instanceof ZodEffects2) { + return getDiscriminator2(type.innerType()); + } else if (type instanceof ZodLiteral2) { + return [type.value]; + } else if (type instanceof ZodEnum2) { + return type.options; + } else if (type instanceof ZodNativeEnum2) { + return util2.objectValues(type.enum); + } else if (type instanceof ZodDefault2) { + return getDiscriminator2(type._def.innerType); + } else if (type instanceof ZodUndefined2) { + return [undefined]; + } else if (type instanceof ZodNull2) { + return [null]; + } else if (type instanceof ZodOptional2) { + return [undefined, ...getDiscriminator2(type.unwrap())]; + } else if (type instanceof ZodNullable2) { + return [null, ...getDiscriminator2(type.unwrap())]; + } else if (type instanceof ZodBranded2) { + return getDiscriminator2(type.unwrap()); + } else if (type instanceof ZodReadonly2) { + return getDiscriminator2(type.unwrap()); + } else if (type instanceof ZodCatch2) { + return getDiscriminator2(type._def.innerType); + } else { + return []; + } +}; + +class ZodDiscriminatedUnion2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.object) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx.parsedType + }); + return INVALID2; + } + const discriminator = this.discriminator; + const discriminatorValue = ctx.data[discriminator]; + const option = this.optionsMap.get(discriminatorValue); + if (!option) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union_discriminator, + options: Array.from(this.optionsMap.keys()), + path: [discriminator] + }); + return INVALID2; + } + if (ctx.common.async) { + return option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } else { + return option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } + } + get discriminator() { + return this._def.discriminator; + } + get options() { + return this._def.options; + } + get optionsMap() { + return this._def.optionsMap; + } + static create(discriminator, options, params) { + const optionsMap = new Map; + for (const type of options) { + const discriminatorValues = getDiscriminator2(type.shape[discriminator]); + if (!discriminatorValues.length) { + throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`); + } + for (const value of discriminatorValues) { + if (optionsMap.has(value)) { + throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`); + } + optionsMap.set(value, type); + } + } + return new ZodDiscriminatedUnion2({ + typeName: ZodFirstPartyTypeKind2.ZodDiscriminatedUnion, + discriminator, + options, + optionsMap, + ...processCreateParams2(params) + }); + } +} +function mergeValues2(a, b) { + const aType = getParsedType2(a); + const bType = getParsedType2(b); + if (a === b) { + return { valid: true, data: a }; + } else if (aType === ZodParsedType2.object && bType === ZodParsedType2.object) { + const bKeys = util2.objectKeys(b); + const sharedKeys = util2.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); + const newObj = { ...a, ...b }; + for (const key of sharedKeys) { + const sharedValue = mergeValues2(a[key], b[key]); + if (!sharedValue.valid) { + return { valid: false }; + } + newObj[key] = sharedValue.data; + } + return { valid: true, data: newObj }; + } else if (aType === ZodParsedType2.array && bType === ZodParsedType2.array) { + if (a.length !== b.length) { + return { valid: false }; + } + const newArray = []; + for (let index = 0;index < a.length; index++) { + const itemA = a[index]; + const itemB = b[index]; + const sharedValue = mergeValues2(itemA, itemB); + if (!sharedValue.valid) { + return { valid: false }; + } + newArray.push(sharedValue.data); + } + return { valid: true, data: newArray }; + } else if (aType === ZodParsedType2.date && bType === ZodParsedType2.date && +a === +b) { + return { valid: true, data: a }; + } else { + return { valid: false }; + } +} + +class ZodIntersection2 extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const handleParsed = (parsedLeft, parsedRight) => { + if (isAborted2(parsedLeft) || isAborted2(parsedRight)) { + return INVALID2; + } + const merged = mergeValues2(parsedLeft.value, parsedRight.value); + if (!merged.valid) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_intersection_types + }); + return INVALID2; + } + if (isDirty2(parsedLeft) || isDirty2(parsedRight)) { + status.dirty(); + } + return { status: status.value, value: merged.data }; + }; + if (ctx.common.async) { + return Promise.all([ + this._def.left._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), + this._def.right._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }) + ]).then(([left, right]) => handleParsed(left, right)); + } else { + return handleParsed(this._def.left._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), this._def.right._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + })); + } + } +} +ZodIntersection2.create = (left, right, params) => { + return new ZodIntersection2({ + left, + right, + typeName: ZodFirstPartyTypeKind2.ZodIntersection, + ...processCreateParams2(params) + }); +}; + +class ZodTuple2 extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.array) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.array, + received: ctx.parsedType + }); + return INVALID2; + } + if (ctx.data.length < this._def.items.length) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + return INVALID2; + } + const rest = this._def.rest; + if (!rest && ctx.data.length > this._def.items.length) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + status.dirty(); + } + const items = [...ctx.data].map((item, itemIndex) => { + const schema = this._def.items[itemIndex] || this._def.rest; + if (!schema) + return null; + return schema._parse(new ParseInputLazyPath2(ctx, item, ctx.path, itemIndex)); + }).filter((x) => !!x); + if (ctx.common.async) { + return Promise.all(items).then((results) => { + return ParseStatus2.mergeArray(status, results); + }); + } else { + return ParseStatus2.mergeArray(status, items); + } + } + get items() { + return this._def.items; + } + rest(rest) { + return new ZodTuple2({ + ...this._def, + rest + }); + } +} +ZodTuple2.create = (schemas, params) => { + if (!Array.isArray(schemas)) { + throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); + } + return new ZodTuple2({ + items: schemas, + typeName: ZodFirstPartyTypeKind2.ZodTuple, + rest: null, + ...processCreateParams2(params) + }); +}; + +class ZodRecord2 extends ZodType2 { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.object) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx.parsedType + }); + return INVALID2; + } + const pairs = []; + const keyType = this._def.keyType; + const valueType = this._def.valueType; + for (const key in ctx.data) { + pairs.push({ + key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, key)), + value: valueType._parse(new ParseInputLazyPath2(ctx, ctx.data[key], ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (ctx.common.async) { + return ParseStatus2.mergeObjectAsync(status, pairs); + } else { + return ParseStatus2.mergeObjectSync(status, pairs); + } + } + get element() { + return this._def.valueType; + } + static create(first, second, third) { + if (second instanceof ZodType2) { + return new ZodRecord2({ + keyType: first, + valueType: second, + typeName: ZodFirstPartyTypeKind2.ZodRecord, + ...processCreateParams2(third) + }); + } + return new ZodRecord2({ + keyType: ZodString2.create(), + valueType: first, + typeName: ZodFirstPartyTypeKind2.ZodRecord, + ...processCreateParams2(second) + }); + } +} + +class ZodMap2 extends ZodType2 { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.map) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.map, + received: ctx.parsedType + }); + return INVALID2; + } + const keyType = this._def.keyType; + const valueType = this._def.valueType; + const pairs = [...ctx.data.entries()].map(([key, value], index) => { + return { + key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, [index, "key"])), + value: valueType._parse(new ParseInputLazyPath2(ctx, value, ctx.path, [index, "value"])) + }; + }); + if (ctx.common.async) { + const finalMap = new Map; + return Promise.resolve().then(async () => { + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID2; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + }); + } else { + const finalMap = new Map; + for (const pair of pairs) { + const key = pair.key; + const value = pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID2; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + } + } +} +ZodMap2.create = (keyType, valueType, params) => { + return new ZodMap2({ + valueType, + keyType, + typeName: ZodFirstPartyTypeKind2.ZodMap, + ...processCreateParams2(params) + }); +}; + +class ZodSet2 extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.set) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.set, + received: ctx.parsedType + }); + return INVALID2; + } + const def = this._def; + if (def.minSize !== null) { + if (ctx.data.size < def.minSize.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: def.minSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.minSize.message + }); + status.dirty(); + } + } + if (def.maxSize !== null) { + if (ctx.data.size > def.maxSize.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: def.maxSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.maxSize.message + }); + status.dirty(); + } + } + const valueType = this._def.valueType; + function finalizeSet(elements2) { + const parsedSet = new Set; + for (const element of elements2) { + if (element.status === "aborted") + return INVALID2; + if (element.status === "dirty") + status.dirty(); + parsedSet.add(element.value); + } + return { status: status.value, value: parsedSet }; + } + const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath2(ctx, item, ctx.path, i))); + if (ctx.common.async) { + return Promise.all(elements).then((elements2) => finalizeSet(elements2)); + } else { + return finalizeSet(elements); + } + } + min(minSize, message) { + return new ZodSet2({ + ...this._def, + minSize: { value: minSize, message: errorUtil2.toString(message) } + }); + } + max(maxSize, message) { + return new ZodSet2({ + ...this._def, + maxSize: { value: maxSize, message: errorUtil2.toString(message) } + }); + } + size(size, message) { + return this.min(size, message).max(size, message); + } + nonempty(message) { + return this.min(1, message); + } +} +ZodSet2.create = (valueType, params) => { + return new ZodSet2({ + valueType, + minSize: null, + maxSize: null, + typeName: ZodFirstPartyTypeKind2.ZodSet, + ...processCreateParams2(params) + }); +}; + +class ZodFunction2 extends ZodType2 { + constructor() { + super(...arguments); + this.validate = this.implement; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.function) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.function, + received: ctx.parsedType + }); + return INVALID2; + } + function makeArgsIssue(args, error) { + return makeIssue2({ + data: args, + path: ctx.path, + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap2(), en_default2].filter((x) => !!x), + issueData: { + code: ZodIssueCode2.invalid_arguments, + argumentsError: error + } + }); + } + function makeReturnsIssue(returns, error) { + return makeIssue2({ + data: returns, + path: ctx.path, + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap2(), en_default2].filter((x) => !!x), + issueData: { + code: ZodIssueCode2.invalid_return_type, + returnTypeError: error + } + }); + } + const params = { errorMap: ctx.common.contextualErrorMap }; + const fn = ctx.data; + if (this._def.returns instanceof ZodPromise2) { + const me = this; + return OK2(async function(...args) { + const error = new ZodError2([]); + const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { + error.addIssue(makeArgsIssue(args, e)); + throw error; + }); + const result = await Reflect.apply(fn, this, parsedArgs); + const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => { + error.addIssue(makeReturnsIssue(result, e)); + throw error; + }); + return parsedReturns; + }); + } else { + const me = this; + return OK2(function(...args) { + const parsedArgs = me._def.args.safeParse(args, params); + if (!parsedArgs.success) { + throw new ZodError2([makeArgsIssue(args, parsedArgs.error)]); + } + const result = Reflect.apply(fn, this, parsedArgs.data); + const parsedReturns = me._def.returns.safeParse(result, params); + if (!parsedReturns.success) { + throw new ZodError2([makeReturnsIssue(result, parsedReturns.error)]); + } + return parsedReturns.data; + }); + } + } + parameters() { + return this._def.args; + } + returnType() { + return this._def.returns; + } + args(...items) { + return new ZodFunction2({ + ...this._def, + args: ZodTuple2.create(items).rest(ZodUnknown2.create()) + }); + } + returns(returnType) { + return new ZodFunction2({ + ...this._def, + returns: returnType + }); + } + implement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + strictImplement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + static create(args, returns, params) { + return new ZodFunction2({ + args: args ? args : ZodTuple2.create([]).rest(ZodUnknown2.create()), + returns: returns || ZodUnknown2.create(), + typeName: ZodFirstPartyTypeKind2.ZodFunction, + ...processCreateParams2(params) + }); + } +} + +class ZodLazy2 extends ZodType2 { + get schema() { + return this._def.getter(); + } + _parse(input) { + const { ctx } = this._processInputParams(input); + const lazySchema = this._def.getter(); + return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); + } +} +ZodLazy2.create = (getter, params) => { + return new ZodLazy2({ + getter, + typeName: ZodFirstPartyTypeKind2.ZodLazy, + ...processCreateParams2(params) + }); +}; + +class ZodLiteral2 extends ZodType2 { + _parse(input) { + if (input.data !== this._def.value) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_literal, + expected: this._def.value + }); + return INVALID2; + } + return { status: "valid", value: input.data }; + } + get value() { + return this._def.value; + } +} +ZodLiteral2.create = (value, params) => { + return new ZodLiteral2({ + value, + typeName: ZodFirstPartyTypeKind2.ZodLiteral, + ...processCreateParams2(params) + }); +}; +function createZodEnum2(values, params) { + return new ZodEnum2({ + values, + typeName: ZodFirstPartyTypeKind2.ZodEnum, + ...processCreateParams2(params) + }); +} + +class ZodEnum2 extends ZodType2 { + _parse(input) { + if (typeof input.data !== "string") { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext2(ctx, { + expected: util2.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode2.invalid_type + }); + return INVALID2; + } + if (!this._cache) { + this._cache = new Set(this._def.values); + } + if (!this._cache.has(input.data)) { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_enum_value, + options: expectedValues + }); + return INVALID2; + } + return OK2(input.data); + } + get options() { + return this._def.values; + } + get enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Values() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + extract(values, newDef = this._def) { + return ZodEnum2.create(values, { + ...this._def, + ...newDef + }); + } + exclude(values, newDef = this._def) { + return ZodEnum2.create(this.options.filter((opt) => !values.includes(opt)), { + ...this._def, + ...newDef + }); + } +} +ZodEnum2.create = createZodEnum2; + +class ZodNativeEnum2 extends ZodType2 { + _parse(input) { + const nativeEnumValues = util2.getValidEnumValues(this._def.values); + const ctx = this._getOrReturnCtx(input); + if (ctx.parsedType !== ZodParsedType2.string && ctx.parsedType !== ZodParsedType2.number) { + const expectedValues = util2.objectValues(nativeEnumValues); + addIssueToContext2(ctx, { + expected: util2.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode2.invalid_type + }); + return INVALID2; + } + if (!this._cache) { + this._cache = new Set(util2.getValidEnumValues(this._def.values)); + } + if (!this._cache.has(input.data)) { + const expectedValues = util2.objectValues(nativeEnumValues); + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_enum_value, + options: expectedValues + }); + return INVALID2; + } + return OK2(input.data); + } + get enum() { + return this._def.values; + } +} +ZodNativeEnum2.create = (values, params) => { + return new ZodNativeEnum2({ + values, + typeName: ZodFirstPartyTypeKind2.ZodNativeEnum, + ...processCreateParams2(params) + }); +}; + +class ZodPromise2 extends ZodType2 { + unwrap() { + return this._def.type; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.promise && ctx.common.async === false) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.promise, + received: ctx.parsedType + }); + return INVALID2; + } + const promisified = ctx.parsedType === ZodParsedType2.promise ? ctx.data : Promise.resolve(ctx.data); + return OK2(promisified.then((data) => { + return this._def.type.parseAsync(data, { + path: ctx.path, + errorMap: ctx.common.contextualErrorMap + }); + })); + } +} +ZodPromise2.create = (schema, params) => { + return new ZodPromise2({ + type: schema, + typeName: ZodFirstPartyTypeKind2.ZodPromise, + ...processCreateParams2(params) + }); +}; + +class ZodEffects2 extends ZodType2 { + innerType() { + return this._def.schema; + } + sourceType() { + return this._def.schema._def.typeName === ZodFirstPartyTypeKind2.ZodEffects ? this._def.schema.sourceType() : this._def.schema; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const effect = this._def.effect || null; + const checkCtx = { + addIssue: (arg) => { + addIssueToContext2(ctx, arg); + if (arg.fatal) { + status.abort(); + } else { + status.dirty(); + } + }, + get path() { + return ctx.path; + } + }; + checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx); + if (effect.type === "preprocess") { + const processed = effect.transform(ctx.data, checkCtx); + if (ctx.common.async) { + return Promise.resolve(processed).then(async (processed2) => { + if (status.value === "aborted") + return INVALID2; + const result = await this._def.schema._parseAsync({ + data: processed2, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID2; + if (result.status === "dirty") + return DIRTY2(result.value); + if (status.value === "dirty") + return DIRTY2(result.value); + return result; + }); + } else { + if (status.value === "aborted") + return INVALID2; + const result = this._def.schema._parseSync({ + data: processed, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID2; + if (result.status === "dirty") + return DIRTY2(result.value); + if (status.value === "dirty") + return DIRTY2(result.value); + return result; + } + } + if (effect.type === "refinement") { + const executeRefinement = (acc) => { + const result = effect.refinement(acc, checkCtx); + if (ctx.common.async) { + return Promise.resolve(result); + } + if (result instanceof Promise) { + throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); + } + return acc; + }; + if (ctx.common.async === false) { + const inner = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inner.status === "aborted") + return INVALID2; + if (inner.status === "dirty") + status.dirty(); + executeRefinement(inner.value); + return { status: status.value, value: inner.value }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { + if (inner.status === "aborted") + return INVALID2; + if (inner.status === "dirty") + status.dirty(); + return executeRefinement(inner.value).then(() => { + return { status: status.value, value: inner.value }; + }); + }); + } + } + if (effect.type === "transform") { + if (ctx.common.async === false) { + const base = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (!isValid2(base)) + return INVALID2; + const result = effect.transform(base.value, checkCtx); + if (result instanceof Promise) { + throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); + } + return { status: status.value, value: result }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { + if (!isValid2(base)) + return INVALID2; + return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ + status: status.value, + value: result + })); + }); + } + } + util2.assertNever(effect); + } +} +ZodEffects2.create = (schema, effect, params) => { + return new ZodEffects2({ + schema, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect, + ...processCreateParams2(params) + }); +}; +ZodEffects2.createWithPreprocess = (preprocess, schema, params) => { + return new ZodEffects2({ + schema, + effect: { type: "preprocess", transform: preprocess }, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + ...processCreateParams2(params) + }); +}; + +class ZodOptional2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType === ZodParsedType2.undefined) { + return OK2(undefined); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } +} +ZodOptional2.create = (type, params) => { + return new ZodOptional2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodOptional, + ...processCreateParams2(params) + }); +}; + +class ZodNullable2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType === ZodParsedType2.null) { + return OK2(null); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } +} +ZodNullable2.create = (type, params) => { + return new ZodNullable2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodNullable, + ...processCreateParams2(params) + }); +}; + +class ZodDefault2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + let data = ctx.data; + if (ctx.parsedType === ZodParsedType2.undefined) { + data = this._def.defaultValue(); + } + return this._def.innerType._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + removeDefault() { + return this._def.innerType; + } +} +ZodDefault2.create = (type, params) => { + return new ZodDefault2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodDefault, + defaultValue: typeof params.default === "function" ? params.default : () => params.default, + ...processCreateParams2(params) + }); +}; + +class ZodCatch2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const newCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + } + }; + const result = this._def.innerType._parse({ + data: newCtx.data, + path: newCtx.path, + parent: { + ...newCtx + } + }); + if (isAsync2(result)) { + return result.then((result2) => { + return { + status: "valid", + value: result2.status === "valid" ? result2.value : this._def.catchValue({ + get error() { + return new ZodError2(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + }); + } else { + return { + status: "valid", + value: result.status === "valid" ? result.value : this._def.catchValue({ + get error() { + return new ZodError2(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + } + } + removeCatch() { + return this._def.innerType; + } +} +ZodCatch2.create = (type, params) => { + return new ZodCatch2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodCatch, + catchValue: typeof params.catch === "function" ? params.catch : () => params.catch, + ...processCreateParams2(params) + }); +}; + +class ZodNaN2 extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.nan) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.nan, + received: ctx.parsedType + }); + return INVALID2; + } + return { status: "valid", value: input.data }; + } +} +ZodNaN2.create = (params) => { + return new ZodNaN2({ + typeName: ZodFirstPartyTypeKind2.ZodNaN, + ...processCreateParams2(params) + }); +}; +var BRAND2 = Symbol("zod_brand"); + +class ZodBranded2 extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const data = ctx.data; + return this._def.type._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + unwrap() { + return this._def.type; + } +} + +class ZodPipeline2 extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.common.async) { + const handleAsync = async () => { + const inResult = await this._def.in._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID2; + if (inResult.status === "dirty") { + status.dirty(); + return DIRTY2(inResult.value); + } else { + return this._def.out._parseAsync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + }; + return handleAsync(); + } else { + const inResult = this._def.in._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID2; + if (inResult.status === "dirty") { + status.dirty(); + return { + status: "dirty", + value: inResult.value + }; + } else { + return this._def.out._parseSync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + } + } + static create(a, b) { + return new ZodPipeline2({ + in: a, + out: b, + typeName: ZodFirstPartyTypeKind2.ZodPipeline + }); + } +} + +class ZodReadonly2 extends ZodType2 { + _parse(input) { + const result = this._def.innerType._parse(input); + const freeze = (data) => { + if (isValid2(data)) { + data.value = Object.freeze(data.value); + } + return data; + }; + return isAsync2(result) ? result.then((data) => freeze(data)) : freeze(result); + } + unwrap() { + return this._def.innerType; + } +} +ZodReadonly2.create = (type, params) => { + return new ZodReadonly2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodReadonly, + ...processCreateParams2(params) + }); +}; +function cleanParams2(params, data) { + const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params; + const p2 = typeof p === "string" ? { message: p } : p; + return p2; +} +function custom2(check, _params = {}, fatal) { + if (check) + return ZodAny2.create().superRefine((data, ctx) => { + const r = check(data); + if (r instanceof Promise) { + return r.then((r2) => { + if (!r2) { + const params = cleanParams2(_params, data); + const _fatal = params.fatal ?? fatal ?? true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + }); + } + if (!r) { + const params = cleanParams2(_params, data); + const _fatal = params.fatal ?? fatal ?? true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + return; + }); + return ZodAny2.create(); +} +var late2 = { + object: ZodObject2.lazycreate +}; +var ZodFirstPartyTypeKind2; +(function(ZodFirstPartyTypeKind22) { + ZodFirstPartyTypeKind22["ZodString"] = "ZodString"; + ZodFirstPartyTypeKind22["ZodNumber"] = "ZodNumber"; + ZodFirstPartyTypeKind22["ZodNaN"] = "ZodNaN"; + ZodFirstPartyTypeKind22["ZodBigInt"] = "ZodBigInt"; + ZodFirstPartyTypeKind22["ZodBoolean"] = "ZodBoolean"; + ZodFirstPartyTypeKind22["ZodDate"] = "ZodDate"; + ZodFirstPartyTypeKind22["ZodSymbol"] = "ZodSymbol"; + ZodFirstPartyTypeKind22["ZodUndefined"] = "ZodUndefined"; + ZodFirstPartyTypeKind22["ZodNull"] = "ZodNull"; + ZodFirstPartyTypeKind22["ZodAny"] = "ZodAny"; + ZodFirstPartyTypeKind22["ZodUnknown"] = "ZodUnknown"; + ZodFirstPartyTypeKind22["ZodNever"] = "ZodNever"; + ZodFirstPartyTypeKind22["ZodVoid"] = "ZodVoid"; + ZodFirstPartyTypeKind22["ZodArray"] = "ZodArray"; + ZodFirstPartyTypeKind22["ZodObject"] = "ZodObject"; + ZodFirstPartyTypeKind22["ZodUnion"] = "ZodUnion"; + ZodFirstPartyTypeKind22["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion"; + ZodFirstPartyTypeKind22["ZodIntersection"] = "ZodIntersection"; + ZodFirstPartyTypeKind22["ZodTuple"] = "ZodTuple"; + ZodFirstPartyTypeKind22["ZodRecord"] = "ZodRecord"; + ZodFirstPartyTypeKind22["ZodMap"] = "ZodMap"; + ZodFirstPartyTypeKind22["ZodSet"] = "ZodSet"; + ZodFirstPartyTypeKind22["ZodFunction"] = "ZodFunction"; + ZodFirstPartyTypeKind22["ZodLazy"] = "ZodLazy"; + ZodFirstPartyTypeKind22["ZodLiteral"] = "ZodLiteral"; + ZodFirstPartyTypeKind22["ZodEnum"] = "ZodEnum"; + ZodFirstPartyTypeKind22["ZodEffects"] = "ZodEffects"; + ZodFirstPartyTypeKind22["ZodNativeEnum"] = "ZodNativeEnum"; + ZodFirstPartyTypeKind22["ZodOptional"] = "ZodOptional"; + ZodFirstPartyTypeKind22["ZodNullable"] = "ZodNullable"; + ZodFirstPartyTypeKind22["ZodDefault"] = "ZodDefault"; + ZodFirstPartyTypeKind22["ZodCatch"] = "ZodCatch"; + ZodFirstPartyTypeKind22["ZodPromise"] = "ZodPromise"; + ZodFirstPartyTypeKind22["ZodBranded"] = "ZodBranded"; + ZodFirstPartyTypeKind22["ZodPipeline"] = "ZodPipeline"; + ZodFirstPartyTypeKind22["ZodReadonly"] = "ZodReadonly"; +})(ZodFirstPartyTypeKind2 || (ZodFirstPartyTypeKind2 = {})); +var instanceOfType2 = (cls, params = { + message: `Input not instance of ${cls.name}` +}) => custom2((data) => data instanceof cls, params); +var stringType2 = ZodString2.create; +var numberType2 = ZodNumber2.create; +var nanType2 = ZodNaN2.create; +var bigIntType2 = ZodBigInt2.create; +var booleanType2 = ZodBoolean2.create; +var dateType2 = ZodDate2.create; +var symbolType2 = ZodSymbol2.create; +var undefinedType2 = ZodUndefined2.create; +var nullType2 = ZodNull2.create; +var anyType2 = ZodAny2.create; +var unknownType2 = ZodUnknown2.create; +var neverType2 = ZodNever2.create; +var voidType2 = ZodVoid2.create; +var arrayType2 = ZodArray2.create; +var objectType2 = ZodObject2.create; +var strictObjectType2 = ZodObject2.strictCreate; +var unionType2 = ZodUnion2.create; +var discriminatedUnionType2 = ZodDiscriminatedUnion2.create; +var intersectionType2 = ZodIntersection2.create; +var tupleType2 = ZodTuple2.create; +var recordType2 = ZodRecord2.create; +var mapType2 = ZodMap2.create; +var setType2 = ZodSet2.create; +var functionType2 = ZodFunction2.create; +var lazyType2 = ZodLazy2.create; +var literalType2 = ZodLiteral2.create; +var enumType2 = ZodEnum2.create; +var nativeEnumType2 = ZodNativeEnum2.create; +var promiseType2 = ZodPromise2.create; +var effectsType2 = ZodEffects2.create; +var optionalType2 = ZodOptional2.create; +var nullableType2 = ZodNullable2.create; +var preprocessType2 = ZodEffects2.createWithPreprocess; +var pipelineType2 = ZodPipeline2.create; +var ostring2 = () => stringType2().optional(); +var onumber2 = () => numberType2().optional(); +var oboolean2 = () => booleanType2().optional(); +var coerce2 = { + string: (arg) => ZodString2.create({ ...arg, coerce: true }), + number: (arg) => ZodNumber2.create({ ...arg, coerce: true }), + boolean: (arg) => ZodBoolean2.create({ + ...arg, + coerce: true + }), + bigint: (arg) => ZodBigInt2.create({ ...arg, coerce: true }), + date: (arg) => ZodDate2.create({ ...arg, coerce: true }) +}; +var NEVER2 = INVALID2; +var SCHEMA_IDS2 = { + actorRef: "hasna.actor_ref.v1", + resourceRef: "hasna.resource_ref.v1", + evidenceRef: "hasna.evidence_ref.v1", + workRun: "hasna.work_run.v1", + decisionEnvelope: "hasna.decision_envelope.v1", + costEstimate: "hasna.cost_estimate.v1", + capabilityCard: "hasna.capability_card.v1", + providerLiveModeStandard: "hasna.provider_live_mode_standard.v1", + contextPack: "hasna.context_pack.v1", + integrationRef: "hasna.integration_ref.v1", + projectManifest: "hasna.project_manifest.v1", + projectPanel: "hasna.project_panel.v1", + projectSnapshot: "hasna.project_snapshot.v1", + renderManifest: "hasna.render_manifest.v1", + agentTrajectory: "hasna.agent_trajectory.v1", + validationPlan: "hasna.validation_plan.v1", + proofBundle: "hasna.proof_bundle.v1", + scaffoldManifest: "hasna.scaffold_manifest.v1", + scaffoldInstallRecord: "hasna.scaffold_install_record.v1", + appCloudManifest: "hasna.app_cloud_manifest.v1", + noCloudEvidencePack: "hasna.no_cloud_evidence_pack.v1", + serviceContract: "hasna.service_contract.v1", + commsEventEnvelope: "hasna.comms_event_envelope.v1", + commsChannelMetadata: "hasna.comms_channel_metadata.v1", + commsMessageMetadata: "hasna.comms_message_metadata.v1", + app: "hasna.app.v1", + release: "hasna.release.v1", + rolloutRecord: "hasna.rollout_record.v1", + announcement: "hasna.announcement.v1", + audience: "hasna.audience.v1" +}; +var SchemaIdSchema2 = exports_external2.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/); +var TimestampSchema2 = exports_external2.string().datetime(); +var NonEmptyStringSchema2 = exports_external2.string().trim().min(1); +var UriSchema2 = NonEmptyStringSchema2.refine((value) => value.startsWith("artifact://") || value.startsWith("repo://") || value.startsWith("project://") || value.startsWith("dashboard://") || value.startsWith("render://") || value.startsWith("integration://") || value.startsWith("task://") || value.startsWith("todo://") || value.startsWith("file://") || value.startsWith("files://") || value.startsWith("mailery://") || value.startsWith("conversation://") || value.startsWith("knowledge://") || value.startsWith("memento://") || value.startsWith("https://") || value.startsWith("http://") || value.startsWith("git+https://"), "URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"); +var Sha256DigestSchema2 = exports_external2.string().regex(/^[a-fA-F0-9]{64}$/); +var HashStringSchema2 = exports_external2.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/); +var MetadataSchema2 = exports_external2.record(exports_external2.unknown()); +var TagsSchema2 = exports_external2.array(exports_external2.string().min(1)).default([]); +var OptionalTimestampSchema2 = TimestampSchema2.nullable().optional(); +var TerminalStatuses2 = new Set(["succeeded", "failed", "cancelled", "blocked", "skipped"]); +var ContractStatusSchema2 = exports_external2.enum([ + "pending", + "running", + "succeeded", + "failed", + "cancelled", + "blocked", + "skipped", + "unknown" +]); +function contractBaseSchema2(schema) { + return exports_external2.object({ + schema: exports_external2.literal(schema), + id: exports_external2.string().min(1), + createdAt: TimestampSchema2, + updatedAt: OptionalTimestampSchema2, + metadata: MetadataSchema2.optional() + }).strict(); +} +var ContractEnvelopeSchema2 = exports_external2.object({ + schema: SchemaIdSchema2, + id: exports_external2.string().min(1), + createdAt: TimestampSchema2, + updatedAt: OptionalTimestampSchema2, + metadata: MetadataSchema2.optional() +}).strict(); +var ActorKindSchema2 = exports_external2.enum([ + "agent", + "human", + "service", + "model", + "workflow", + "system" +]); +var ActorRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.actorRef).extend({ + kind: ActorKindSchema2, + name: exports_external2.string().min(1).optional(), + provider: exports_external2.string().min(1).optional(), + accountId: exports_external2.string().min(1).optional(), + machineId: exports_external2.string().min(1).optional(), + capabilities: exports_external2.array(exports_external2.string().min(1)).default([]) +}).strict(); +var ActorPointerSchema2 = exports_external2.object({ + kind: ActorKindSchema2, + id: exports_external2.string().min(1), + name: exports_external2.string().min(1).optional(), + provider: exports_external2.string().min(1).optional(), + accountId: exports_external2.string().min(1).optional(), + machineId: exports_external2.string().min(1).optional() +}).strict(); +var ResourceKindSchema2 = exports_external2.enum([ + "task", + "project", + "repo", + "run", + "loop", + "workflow", + "action", + "event", + "integration", + "session", + "machine", + "model", + "tool", + "file", + "document", + "url", + "artifact", + "knowledge", + "email", + "conversation", + "dashboard", + "render", + "panel", + "report", + "commit", + "branch", + "pull_request", + "issue", + "comment", + "verification", + "finding", + "context_pack", + "proof_bundle", + "memento", + "eval", + "budget", + "cost", + "alert", + "incident", + "app", + "release", + "rollout", + "announcement", + "audience", + "feedback", + "unknown" +]); +var ResourceRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.resourceRef).extend({ + kind: ResourceKindSchema2, + name: exports_external2.string().min(1).optional(), + uri: UriSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + if (!value.uri && !(value.externalId && value.sourcePackage)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Resource refs require uri or both sourcePackage and externalId", + path: ["uri"] + }); + } +}); +var ResourcePointerSchema2 = exports_external2.object({ + kind: ResourceKindSchema2, + id: exports_external2.string().min(1), + name: exports_external2.string().min(1).optional(), + uri: UriSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + if (!value.uri && Boolean(value.externalId) !== Boolean(value.sourcePackage)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Resource pointers with external package locators require both sourcePackage and externalId", + path: value.externalId ? ["sourcePackage"] : ["externalId"] + }); + } +}); +var EvidenceKindSchema2 = exports_external2.enum([ + "file", + "command_output", + "screenshot", + "log", + "diff", + "report", + "artifact", + "url", + "video", + "har", + "test_result", + "metric", + "trace", + "other" +]); +var RedactionStateSchema2 = exports_external2.enum(["none", "partial", "full", "unknown"]); +var EvidenceRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.evidenceRef).extend({ + kind: EvidenceKindSchema2, + uri: UriSchema2, + sha256: Sha256DigestSchema2.optional(), + summary: exports_external2.string().min(1).optional(), + contentType: exports_external2.string().min(1).optional(), + sizeBytes: exports_external2.number().int().nonnegative().optional(), + redaction: RedactionStateSchema2.default("unknown"), + producer: ActorPointerSchema2.optional(), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + tags: TagsSchema2 +}).strict(); +var EvidencePointerSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: EvidenceKindSchema2.optional(), + uri: UriSchema2.optional(), + sha256: Sha256DigestSchema2.optional(), + summary: exports_external2.string().min(1).optional() +}).strict(); +var CostEstimateSchema2 = contractBaseSchema2(SCHEMA_IDS2.costEstimate).extend({ + currency: exports_external2.string().regex(/^[A-Z]{3}$/).default("USD"), + amountMicros: exports_external2.number().int().nonnegative(), + provider: exports_external2.string().min(1).optional(), + model: exports_external2.string().min(1).optional(), + accountId: exports_external2.string().min(1).optional(), + promptTokens: exports_external2.number().int().nonnegative().optional(), + completionTokens: exports_external2.number().int().nonnegative().optional(), + totalTokens: exports_external2.number().int().nonnegative().optional(), + basis: exports_external2.enum(["actual", "estimated", "budget", "limit"]).default("estimated"), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.promptTokens !== undefined && value.completionTokens !== undefined && value.totalTokens !== undefined && value.totalTokens !== value.promptTokens + value.completionTokens) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "totalTokens must equal promptTokens plus completionTokens when all are present", + path: ["totalTokens"] + }); + } +}); +var DecisionStatusSchema2 = exports_external2.enum([ + "allowed", + "denied", + "warned", + "approval_required", + "selected", + "skipped", + "unknown" +]); +var DecisionEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.decisionEnvelope).extend({ + decisionType: exports_external2.enum([ + "guardrail", + "model_route", + "tool_select", + "budget", + "secret_access", + "approval", + "policy", + "other" + ]), + status: DecisionStatusSchema2, + actor: ActorPointerSchema2.optional(), + traceId: exports_external2.string().min(1).optional(), + inputHash: HashStringSchema2.optional(), + policyBundleId: exports_external2.string().min(1).optional(), + selected: exports_external2.array(ResourcePointerSchema2).default([]), + skipped: exports_external2.array(ResourcePointerSchema2).default([]), + reason: exports_external2.string().min(1), + obligations: exports_external2.array(exports_external2.string().min(1)).default([]), + redactions: exports_external2.array(exports_external2.string().min(1)).default([]), + costEstimate: CostEstimateSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "selected" && value.selected.length === 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Selected decisions require at least one selected resource", path: ["selected"] }); + } + if (value.status === "skipped" && value.skipped.length === 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Skipped decisions require at least one skipped resource", path: ["skipped"] }); + } + if (value.status === "denied") { + if (value.selected.length > 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Denied decisions cannot include selected resources", path: ["selected"] }); + } + if (!value.policyBundleId && value.evidenceRefs.length === 0 && value.obligations.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Denied decisions require policy, evidence, or obligations", + path: ["policyBundleId"] + }); + } + } + if (value.status === "approval_required" && value.obligations.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Approval-required decisions require actionable obligations", + path: ["obligations"] + }); + } +}); +var CapabilityCardSchema2 = contractBaseSchema2(SCHEMA_IDS2.capabilityCard).extend({ + kind: exports_external2.enum(["model", "tool", "machine", "agent", "lane", "connector", "service"]), + name: exports_external2.string().min(1), + version: exports_external2.string().min(1).optional(), + status: exports_external2.enum(["available", "unavailable", "degraded", "unknown"]).default("unknown"), + capabilities: exports_external2.array(exports_external2.string().min(1)).default([]), + limitations: exports_external2.array(exports_external2.string().min(1)).default([]), + riskLevel: exports_external2.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), + costEstimate: CostEstimateSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict(); +var ProviderModeSchema2 = exports_external2.enum(["mock", "fixture", "sandbox", "read_only_live", "live_mutating"]); +var ProviderSideEffectClassSchema2 = exports_external2.enum([ + "none", + "read_only", + "external_notification", + "external_mutation", + "money_movement", + "dns_or_domain_change", + "bulk_message_or_call", + "legal_or_filing", + "compute_or_infra_mutation", + "irreversible" +]); +var CredentialRequirementSchema2 = exports_external2.object({ + refName: NonEmptyStringSchema2, + requiredForModes: exports_external2.array(ProviderModeSchema2).min(1), + allowedSecretInputs: exports_external2.array(exports_external2.enum(["credential_ref", "lease_ref"])).min(1).default(["credential_ref"]), + failClosedDiagnostic: NonEmptyStringSchema2, + revocationCheck: exports_external2.boolean().default(true) +}).strict(); +var ProviderOperationCardSchema2 = exports_external2.object({ + operation: NonEmptyStringSchema2, + supportedModes: exports_external2.array(ProviderModeSchema2).min(1), + sideEffectClass: ProviderSideEffectClassSchema2, + requiresApproval: exports_external2.boolean().default(false), + requiresIdempotencyKey: exports_external2.boolean().default(false), + requiresSandboxEvidence: exports_external2.boolean().default(false), + requiresRollbackOrRevocation: exports_external2.boolean().default(false), + rollbackOrRevocation: NonEmptyStringSchema2.optional(), + noSideEffectSmoke: NonEmptyStringSchema2.optional(), + reconciliation: NonEmptyStringSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (value.supportedModes.includes("live_mutating")) { + if (value.sideEffectClass === "none" || value.sideEffectClass === "read_only") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations must declare a side-effecting class", + path: ["sideEffectClass"] + }); + } + if (!value.requiresApproval) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require approval", + path: ["requiresApproval"] + }); + } + if (!value.requiresIdempotencyKey) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require idempotency keys", + path: ["requiresIdempotencyKey"] + }); + } + if (!value.requiresSandboxEvidence) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require sandbox evidence before live proof", + path: ["requiresSandboxEvidence"] + }); + } + if (!value.requiresRollbackOrRevocation || !value.rollbackOrRevocation) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require rollback or revocation instructions", + path: ["rollbackOrRevocation"] + }); + } + if (!value.reconciliation) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating operations require reconciliation behavior", + path: ["reconciliation"] + }); + } + } +}); +var ProviderCapabilityCardSchema2 = exports_external2.object({ + providerId: NonEmptyStringSchema2, + appId: NonEmptyStringSchema2, + adapterId: NonEmptyStringSchema2, + ownerPackage: NonEmptyStringSchema2, + modes: exports_external2.array(ProviderModeSchema2).min(1), + defaultMode: ProviderModeSchema2, + credentialRequirements: exports_external2.array(CredentialRequirementSchema2).default([]), + operations: exports_external2.array(ProviderOperationCardSchema2).min(1), + rateLimitPosture: NonEmptyStringSchema2, + costPosture: NonEmptyStringSchema2.optional(), + auditEvents: exports_external2.array(NonEmptyStringSchema2).default([]), + redactionRules: exports_external2.array(NonEmptyStringSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (!value.modes.includes(value.defaultMode)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "defaultMode must be one of modes", + path: ["defaultMode"] + }); + } + const operationModes = new Set(value.operations.flatMap((operation) => operation.supportedModes)); + for (const mode of operationModes) { + if (!value.modes.includes(mode)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `operation mode ${mode} is not declared in provider modes`, + path: ["operations"] + }); + } + } + if (operationModes.has("live_mutating")) { + const liveCredential = value.credentialRequirements.some((credential) => credential.requiredForModes.includes("live_mutating")); + if (!liveCredential) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating providers require at least one live credential reference requirement", + path: ["credentialRequirements"] + }); + } + if (value.auditEvents.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "live_mutating providers require audit events", + path: ["auditEvents"] + }); + } + } +}); +var ProviderLiveModeTargetSchema2 = exports_external2.object({ + appId: NonEmptyStringSchema2, + repo: NonEmptyStringSchema2, + priority: exports_external2.enum(["p0", "p1", "p2"]).default("p1"), + requiredEvidence: exports_external2.array(NonEmptyStringSchema2).min(1), + firstOperations: exports_external2.array(NonEmptyStringSchema2).min(1), + blockedUntil: exports_external2.array(NonEmptyStringSchema2).default([]) +}).strict(); +var ProviderLiveModeStandardSchema2 = contractBaseSchema2(SCHEMA_IDS2.providerLiveModeStandard).extend({ + name: NonEmptyStringSchema2, + version: NonEmptyStringSchema2, + modes: exports_external2.array(ProviderModeSchema2).refine((modes) => ["mock", "fixture", "sandbox", "read_only_live", "live_mutating"].every((mode) => modes.includes(mode)), "provider live-mode standard must include every canonical provider mode"), + requiredCapabilityFields: exports_external2.array(NonEmptyStringSchema2).min(1), + liveMutationGate: exports_external2.object({ + requiredMode: exports_external2.literal("live_mutating"), + requiredChecks: exports_external2.array(NonEmptyStringSchema2).min(1), + forbiddenBypassSignals: exports_external2.array(NonEmptyStringSchema2).min(1), + disabledLiveSmoke: NonEmptyStringSchema2 + }).strict(), + noSideEffectSmoke: exports_external2.object({ + requiredForModes: exports_external2.array(ProviderModeSchema2).min(1), + commandEvidence: exports_external2.array(NonEmptyStringSchema2).min(1), + secretOutputScan: exports_external2.boolean().default(true) + }).strict(), + credentialPolicy: exports_external2.object({ + acceptedInputs: exports_external2.array(exports_external2.enum(["credential_ref", "lease_ref"])).min(1), + rawSecretInputsAllowed: exports_external2.literal(false), + missingCredentialBehavior: exports_external2.literal("fail_closed"), + revocationCheckRequired: exports_external2.boolean().default(true) + }).strict(), + operationCards: exports_external2.array(ProviderCapabilityCardSchema2).min(1), + firstAdoptionTargets: exports_external2.array(ProviderLiveModeTargetSchema2).min(1), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const firstTargetApps = new Set(value.firstAdoptionTargets.map((target) => target.appId)); + const operationApps = new Set(value.operationCards.map((card) => card.appId)); + for (const appId of firstTargetApps) { + if (!operationApps.has(appId)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `first adoption target ${appId} requires a provider capability card`, + path: ["firstAdoptionTargets"] + }); + } + } +}); +var ContextPackItemSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + title: exports_external2.string().min(1).optional(), + summary: exports_external2.string().min(1), + text: exports_external2.string().optional(), + tokens: exports_external2.number().int().nonnegative().optional(), + source: EvidencePointerSchema2, + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict(); +var ContextPackSchema2 = contractBaseSchema2(SCHEMA_IDS2.contextPack).extend({ + objective: exports_external2.string().min(1), + budget: exports_external2.object({ + maxTokens: exports_external2.number().int().positive().optional(), + maxBytes: exports_external2.number().int().positive().optional() + }).strict().optional(), + items: exports_external2.array(ContextPackItemSchema2).default([]), + citations: exports_external2.array(EvidencePointerSchema2).default([]), + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown"), + permissions: exports_external2.array(exports_external2.string().min(1)).default([]), + redactions: exports_external2.array(exports_external2.string().min(1)).default([]), + conflicts: exports_external2.array(exports_external2.string().min(1)).default([]), + uncertainty: exports_external2.string().min(1).optional() +}).strict(); +var RelativeProjectPathSchema2 = NonEmptyStringSchema2.refine((value) => !value.startsWith("/") && !value.includes("\\") && !value.split("/").includes(".."), "Project paths must be relative and cannot contain parent-directory segments"); +var ProjectSlugSchema2 = exports_external2.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "Project slugs must be lowercase dashed identifiers"); +var ProjectClassificationSchema2 = exports_external2.enum(["public", "internal", "private", "sensitive"]); +var ProjectStatusSchema2 = exports_external2.enum(["draft", "active", "paused", "archived"]); +var ProjectIntegrationKindSchema2 = exports_external2.enum([ + "todos", + "files", + "mailery", + "conversations", + "knowledge", + "mementos", + "reports", + "actions", + "render", + "contracts", + "custom" +]); +var IntegrationRefSchema2 = contractBaseSchema2(SCHEMA_IDS2.integrationRef).extend({ + kind: ProjectIntegrationKindSchema2, + name: exports_external2.string().min(1), + projectId: ProjectSlugSchema2.optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + externalId: NonEmptyStringSchema2.optional(), + uri: UriSchema2.optional(), + enabled: exports_external2.boolean().default(true), + readOnly: exports_external2.boolean().default(true), + capabilities: exports_external2.array(exports_external2.string().min(1)).default([]), + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown"), + resourceRef: ResourcePointerSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + config: MetadataSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (!value.uri && !(value.sourcePackage && value.externalId) && !value.resourceRef) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Integration refs require uri, resourceRef, or both sourcePackage and externalId", + path: ["uri"] + }); + } +}); +var ProjectLayoutSchema2 = exports_external2.object({ + schemaRoot: RelativeProjectPathSchema2.default(".hasna/project"), + dashboardManifest: RelativeProjectPathSchema2.default(".hasna/project/dashboard.render.json"), + snapshotsDir: RelativeProjectPathSchema2.default(".hasna/project/snapshots"), + documentsDir: RelativeProjectPathSchema2.default("documents"), + reportsDir: RelativeProjectPathSchema2.default("reports"), + evidenceDir: RelativeProjectPathSchema2.default(".hasna/project/evidence"), + privateDir: RelativeProjectPathSchema2.default(".hasna/project/private") +}).strict(); +var ProjectManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectManifest).extend({ + projectId: ProjectSlugSchema2, + slug: ProjectSlugSchema2, + name: exports_external2.string().min(1), + summary: exports_external2.string().min(1).optional(), + status: ProjectStatusSchema2.default("active"), + classification: ProjectClassificationSchema2.default("private"), + owner: ActorPointerSchema2.optional(), + layout: ProjectLayoutSchema2.default({}), + integrations: exports_external2.array(IntegrationRefSchema2).default([]), + renderManifests: exports_external2.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + const integrationIds = new Set; + const renderManifestIds = new Set; + if (value.projectId !== value.slug) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "projectId and slug must match for canonical project manifests", + path: ["slug"] + }); + } + for (const [index, integration] of value.integrations.entries()) { + if (integrationIds.has(integration.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project manifest integration ids must be unique", + path: ["integrations", index, "id"] + }); + } + integrationIds.add(integration.id); + if (integration.projectId && integration.projectId !== value.projectId) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Integration projectId must match the manifest projectId", + path: ["integrations", index, "projectId"] + }); + } + } + for (const [index, renderManifest] of value.renderManifests.entries()) { + if (renderManifest.kind !== "render") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project renderManifests must use resource kind render", + path: ["renderManifests", index, "kind"] + }); + } + if (renderManifestIds.has(renderManifest.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project renderManifest refs must be unique", + path: ["renderManifests", index, "id"] + }); + } + renderManifestIds.add(renderManifest.id); + } +}); +var RenderImportKindSchema2 = exports_external2.enum(["local", "package", "provider", "url"]); +var RenderImportSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: RenderImportKindSchema2, + specifier: exports_external2.string().min(1), + path: RelativeProjectPathSchema2.optional(), + packageName: exports_external2.string().min(1).optional(), + uri: UriSchema2.optional(), + provider: ProjectIntegrationKindSchema2.optional(), + schemaId: SchemaIdSchema2.optional(), + integrity: HashStringSchema2.optional(), + resourceRef: ResourcePointerSchema2.optional(), + optional: exports_external2.boolean().default(false) +}).strict().superRefine((value, ctx) => { + if (value.kind === "local" && !value.path) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Local render imports require path", path: ["path"] }); + } + if (value.kind === "package" && !value.packageName) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Package render imports require packageName", path: ["packageName"] }); + } + if (value.kind === "provider" && !value.provider) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Provider render imports require provider", path: ["provider"] }); + } + if (value.kind === "url" && !value.uri) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "URL render imports require uri", path: ["uri"] }); + } +}); +var RenderViewKindSchema2 = exports_external2.enum(["dashboard", "canvas", "panel", "report", "document", "custom"]); +var RenderViewSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + title: exports_external2.string().min(1), + kind: RenderViewKindSchema2, + default: exports_external2.boolean().default(false), + entry: RelativeProjectPathSchema2.optional(), + imports: exports_external2.array(RenderImportSchema2).default([]), + panelRefs: exports_external2.array(ResourcePointerSchema2).default([]), + dataRefs: exports_external2.array(ResourcePointerSchema2).default([]), + layout: MetadataSchema2.optional() +}).strict(); +var RenderManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.renderManifest).extend({ + projectId: ProjectSlugSchema2, + name: exports_external2.string().min(1), + version: exports_external2.string().min(1), + manifestPath: RelativeProjectPathSchema2.default(".hasna/project/dashboard.render.json"), + renderer: exports_external2.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), + views: exports_external2.array(RenderViewSchema2).min(1), + imports: exports_external2.array(RenderImportSchema2).default([]), + theme: MetadataSchema2.optional(), + compatibility: exports_external2.object({ + minProjectsVersion: exports_external2.string().min(1).optional(), + minContractsVersion: exports_external2.string().min(1).optional() + }).strict().optional(), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const defaults = value.views.filter((view) => view.default); + const viewIds = new Set; + const importIds = new Set; + if (defaults.length > 1) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Render manifests can have at most one default view", path: ["views"] }); + } + for (const [index, importRef] of value.imports.entries()) { + if (importIds.has(importRef.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Render manifest import ids must be unique", + path: ["imports", index, "id"] + }); + } + importIds.add(importRef.id); + } + for (const [viewIndex, view] of value.views.entries()) { + if (viewIds.has(view.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Render manifest view ids must be unique", + path: ["views", viewIndex, "id"] + }); + } + viewIds.add(view.id); + const viewImportIds = new Set; + for (const [importIndex, importRef] of view.imports.entries()) { + if (viewImportIds.has(importRef.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Render view import ids must be unique", + path: ["views", viewIndex, "imports", importIndex, "id"] + }); + } + viewImportIds.add(importRef.id); + } + for (const [panelIndex, panelRef] of view.panelRefs.entries()) { + if (panelRef.kind !== "panel") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Render view panelRefs must use resource kind panel", + path: ["views", viewIndex, "panelRefs", panelIndex, "kind"] + }); + } + } + } +}); +var ProjectPanelStateSchema2 = exports_external2.enum(["ready", "empty", "loading", "error", "auth_required", "unavailable", "stale"]); +var ProjectPanelKindSchema2 = exports_external2.enum([ + "overview", + "tasks", + "files", + "mailery", + "conversations", + "knowledge", + "mementos", + "reports", + "actions", + "timeline", + "risks", + "documents", + "custom" +]); +var ProjectPanelMetricSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + label: exports_external2.string().min(1), + value: exports_external2.union([exports_external2.string(), exports_external2.number(), exports_external2.boolean()]), + unit: exports_external2.string().min(1).optional(), + status: exports_external2.enum(["good", "warning", "critical", "unknown"]).default("unknown"), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict(); +var ProjectPanelItemSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + title: exports_external2.string().min(1), + summary: exports_external2.string().min(1).optional(), + status: exports_external2.string().min(1).optional(), + priority: exports_external2.enum(["low", "medium", "high", "critical", "unknown"]).default("unknown"), + timestamp: TimestampSchema2.optional(), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + metadata: MetadataSchema2.optional() +}).strict(); +var ProjectRenderFragmentSchema2 = exports_external2.object({ + renderer: exports_external2.enum(["json_render", "react_flow", "markdown", "html", "custom"]).default("json_render"), + title: exports_external2.string().min(1).optional(), + entry: RelativeProjectPathSchema2.optional(), + imports: exports_external2.array(RenderImportSchema2).default([]), + spec: MetadataSchema2.default({}) +}).strict(); +var ProjectPanelSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectPanel).extend({ + projectId: ProjectSlugSchema2, + provider: exports_external2.object({ + kind: ProjectIntegrationKindSchema2, + id: exports_external2.string().min(1), + name: exports_external2.string().min(1).optional(), + sourcePackage: NonEmptyStringSchema2.optional(), + externalId: NonEmptyStringSchema2.optional() + }).strict(), + kind: ProjectPanelKindSchema2, + title: exports_external2.string().min(1), + summary: exports_external2.string().min(1).optional(), + state: ProjectPanelStateSchema2.default("ready"), + stateReason: exports_external2.string().min(1).optional(), + generatedAt: TimestampSchema2, + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown"), + metrics: exports_external2.array(ProjectPanelMetricSchema2).default([]), + items: exports_external2.array(ProjectPanelItemSchema2).default([]), + actions: exports_external2.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + renderFragment: ProjectRenderFragmentSchema2.optional(), + warnings: exports_external2.array(exports_external2.string().min(1)).default([]) +}).strict().superRefine((value, ctx) => { + const reasonStates = new Set(["error", "auth_required", "unavailable", "stale"]); + const metricIds = new Set; + const itemIds = new Set; + if (reasonStates.has(value.state) && !value.stateReason) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Non-ready provider states require stateReason", + path: ["stateReason"] + }); + } + if (value.state === "ready" && value.metrics.length === 0 && value.items.length === 0 && !value.renderFragment) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels", + path: ["state"] + }); + } + for (const [index, metric] of value.metrics.entries()) { + if (metricIds.has(metric.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project panel metric ids must be unique", + path: ["metrics", index, "id"] + }); + } + metricIds.add(metric.id); + } + for (const [index, item] of value.items.entries()) { + if (itemIds.has(item.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project panel item ids must be unique", + path: ["items", index, "id"] + }); + } + itemIds.add(item.id); + } + for (const [index, action] of value.actions.entries()) { + if (action.kind !== "action") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project panel actions must use resource kind action", + path: ["actions", index, "kind"] + }); + } + } +}); +var ProjectSnapshotSchema2 = contractBaseSchema2(SCHEMA_IDS2.projectSnapshot).extend({ + projectId: ProjectSlugSchema2, + generatedAt: TimestampSchema2, + status: ContractStatusSchema2.default("unknown"), + manifestRef: ResourcePointerSchema2, + renderManifestRef: ResourcePointerSchema2.optional(), + panels: exports_external2.array(ProjectPanelSchema2).default([]), + contextPacks: exports_external2.array(ContextPackSchema2).default([]), + proofBundleRefs: exports_external2.array(ResourcePointerSchema2).default([]), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + warnings: exports_external2.array(exports_external2.string().min(1)).default([]), + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown") +}).strict().superRefine((value, ctx) => { + const panelIds = new Set; + const contextPackIds = new Set; + if (value.manifestRef.kind !== "project") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot manifestRef must use resource kind project", + path: ["manifestRef", "kind"] + }); + } + if (value.renderManifestRef && value.renderManifestRef.kind !== "render") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot renderManifestRef must use resource kind render", + path: ["renderManifestRef", "kind"] + }); + } + for (const [index, proofBundleRef] of value.proofBundleRefs.entries()) { + if (proofBundleRef.kind !== "proof_bundle") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot proofBundleRefs must use resource kind proof_bundle", + path: ["proofBundleRefs", index, "kind"] + }); + } + } + for (const [index, panel] of value.panels.entries()) { + if (panel.projectId !== value.projectId) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Panel projectId must match snapshot projectId", + path: ["panels", index, "projectId"] + }); + } + if (panelIds.has(panel.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot panel ids must be unique", + path: ["panels", index, "id"] + }); + } + panelIds.add(panel.id); + } + for (const [index, contextPack] of value.contextPacks.entries()) { + if (contextPackIds.has(contextPack.id)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Project snapshot context pack ids must be unique", + path: ["contextPacks", index, "id"] + }); + } + contextPackIds.add(contextPack.id); + } +}); +var ValidationCheckSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: exports_external2.enum(["command", "test", "typecheck", "lint", "eval", "security", "review", "deploy", "smoke", "manual", "other"]), + required: exports_external2.boolean().default(true), + command: exports_external2.string().min(1).optional(), + expected: exports_external2.string().min(1).optional(), + timeoutMs: exports_external2.number().int().positive().optional(), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const actionableKinds = new Set(["command", "test", "typecheck", "lint", "smoke", "eval"]); + if (actionableKinds.has(value.kind) && !value.command && !value.expected) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Actionable validation checks require command or expected", + path: ["command"] + }); + } +}); +var ValidationPlanSchema2 = contractBaseSchema2(SCHEMA_IDS2.validationPlan).extend({ + objective: exports_external2.string().min(1), + subject: ResourcePointerSchema2.optional(), + checks: exports_external2.array(ValidationCheckSchema2).min(1), + verifier: ActorPointerSchema2.optional(), + requiredEvidenceKinds: exports_external2.array(EvidenceKindSchema2).default([]) +}).strict(); +var ScaffoldTypeSchema2 = exports_external2.enum([ + "open_source", + "internal_app", + "platform", + "app", + "agent", + "content", + "overlay", + "other" +]); +var ScaffoldStatusSchema2 = exports_external2.enum(["draft", "active", "deprecated", "archived"]); +var ScaffoldCapabilitySchema2 = exports_external2.enum([ + "cli", + "mcp", + "library", + "sdk", + "rest_api", + "dashboard", + "database", + "auth", + "billing", + "worker", + "daemon", + "native", + "browser_extension", + "ai_provider", + "media_pipeline", + "data_pipeline", + "tests", + "ci", + "deployment", + "docs", + "other" +]); +var ScaffoldEnvVarSchema2 = exports_external2.object({ + key: exports_external2.string().regex(/^[A-Z][A-Z0-9_]*$/), + description: exports_external2.string().min(1), + required: exports_external2.boolean().default(false), + ["secret"]: exports_external2.boolean().default(false), + group: exports_external2.string().min(1).optional(), + default: exports_external2.string().optional() +}).strict().superRefine((value, ctx) => { + if (value.secret && value.default !== undefined) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Secret scaffold env vars cannot include defaults", + path: ["default"] + }); + } +}); +var ScaffoldScriptSchema2 = exports_external2.object({ + name: exports_external2.string().min(1), + command: exports_external2.string().min(1), + description: exports_external2.string().min(1).optional(), + required: exports_external2.boolean().default(false) +}).strict(); +var ScaffoldOutputShapeSchema2 = exports_external2.object({ + packageManager: exports_external2.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), + languages: exports_external2.array(exports_external2.string().min(1)).default([]), + requiredFiles: exports_external2.array(exports_external2.string().min(1)).default([]), + requiredDirectories: exports_external2.array(exports_external2.string().min(1)).default([]), + optionalDirectories: exports_external2.array(exports_external2.string().min(1)).default([]) +}).strict(); +var ScaffoldManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.scaffoldManifest).extend({ + name: exports_external2.string().min(1), + version: exports_external2.string().min(1), + summary: exports_external2.string().min(1), + type: ScaffoldTypeSchema2, + status: ScaffoldStatusSchema2.default("draft"), + capabilities: exports_external2.array(ScaffoldCapabilitySchema2).default([]), + techStack: exports_external2.array(exports_external2.string().min(1)).default([]), + tags: TagsSchema2, + source: ResourcePointerSchema2.optional(), + output: ScaffoldOutputShapeSchema2, + env: exports_external2.array(ScaffoldEnvVarSchema2).default([]), + scripts: exports_external2.array(ScaffoldScriptSchema2).default([]), + validationChecks: exports_external2.array(ValidationCheckSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.source?.uri?.startsWith("file://")) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Public scaffold manifest source refs cannot use local file:// URIs", + path: ["source", "uri"] + }); + } + if (value.status === "active" && value.validationChecks.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Active scaffold manifests require validation checks", + path: ["validationChecks"] + }); + } + if (value.status === "active" && value.output.requiredFiles.length === 0 && value.output.requiredDirectories.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Active scaffold manifests require at least one required file or directory", + path: ["output"] + }); + } +}); +var ScaffoldInstallStatusSchema2 = exports_external2.enum(["installed", "failed", "cancelled", "partial", "unknown"]); +var ScaffoldInstallRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.scaffoldInstallRecord).extend({ + scaffoldId: exports_external2.string().min(1), + scaffoldVersion: exports_external2.string().min(1).optional(), + manifestRef: ResourcePointerSchema2.optional(), + target: ResourcePointerSchema2, + status: ScaffoldInstallStatusSchema2, + installedAt: TimestampSchema2.optional(), + installer: ActorPointerSchema2.optional(), + packageManager: exports_external2.enum(["bun", "npm", "pnpm", "yarn", "cargo", "pip", "other"]).optional(), + options: MetadataSchema2.optional(), + generatedFiles: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + proofBundleRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "installed" && !value.installedAt) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Installed scaffold records require installedAt", + path: ["installedAt"] + }); + } + if (value.status === "installed" && value.generatedFiles.length === 0 && value.evidenceRefs.length === 0 && value.proofBundleRefs.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Installed scaffold records require generated files, evidence, or proof bundle refs", + path: ["generatedFiles"] + }); + } + if ((value.status === "failed" || value.status === "partial") && value.evidenceRefs.length === 0 && value.proofBundleRefs.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Failed or partial scaffold records require evidence or proof bundle refs", + path: ["evidenceRefs"] + }); + } +}); +var AppIdSchema2 = exports_external2.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "App ids must be lowercase dashed identifiers"); +var NpmPackageNameSchema2 = exports_external2.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/, "Must be a valid npm package name"); +var SemverSchema2 = exports_external2.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/, "Must be a semver version"); +var GitShaSchema2 = exports_external2.string().regex(/^[0-9a-f]{7,40}$/, "Must be a lowercase git sha (7-40 hex chars)"); +var GithubUrlSchema2 = NonEmptyStringSchema2.refine((value) => value.startsWith("https://github.com/") || value.startsWith("git+https://github.com/"), "GitHub URLs must start with https://github.com/ or git+https://github.com/"); +var AppLifecycleSchema2 = exports_external2.enum(["active", "stub", "deprecated", "archived"]); +var ReleaseChannelSchema2 = exports_external2.enum(["stable", "beta", "canary", "internal"]); +var AppMcpSurfaceSchema2 = exports_external2.object({ + transport: exports_external2.enum(["http", "stdio"]).default("http"), + bin: exports_external2.string().min(1).optional(), + url: UriSchema2.optional() +}).strict(); +var AppHttpSurfaceSchema2 = exports_external2.object({ + healthPath: exports_external2.string().min(1).default("/health"), + port: exports_external2.number().int().positive().optional(), + baseUrl: UriSchema2.optional() +}).strict(); +var AppSurfacesSchema2 = exports_external2.object({ + bins: exports_external2.array(exports_external2.string().min(1)).default([]), + mcp: AppMcpSurfaceSchema2.optional(), + http: AppHttpSurfaceSchema2.optional() +}).strict(); +var AppSchema2 = contractBaseSchema2(SCHEMA_IDS2.app).extend({ + appId: AppIdSchema2, + npmName: NpmPackageNameSchema2, + repoFolder: AppIdSchema2, + githubUrl: GithubUrlSchema2, + projectSlug: ProjectSlugSchema2, + surfaces: AppSurfacesSchema2.default({}), + lifecycle: AppLifecycleSchema2, + releaseChannel: ReleaseChannelSchema2.default("stable"), + summary: exports_external2.string().min(1).optional(), + tags: TagsSchema2 +}).strict().superRefine((value, ctx) => { + const seenBins = new Set; + for (const [index, bin] of value.surfaces.bins.entries()) { + if (seenBins.has(bin)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "App surface bins must be unique", + path: ["surfaces", "bins", index] + }); + } + seenBins.add(bin); + } +}); +var PublishPathSchema2 = exports_external2.enum(["skill", "ci", "backfilled"]); +var ReleaseSchema2 = contractBaseSchema2(SCHEMA_IDS2.release).extend({ + appId: AppIdSchema2, + package: NpmPackageNameSchema2, + version: SemverSchema2, + gitSha: GitShaSchema2, + publishedAt: TimestampSchema2, + publishPath: PublishPathSchema2, + changelogRef: ResourcePointerSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.publishPath !== "backfilled" && value.evidenceRefs.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "skill and ci releases require publish evidence; only backfilled releases may omit it", + path: ["evidenceRefs"] + }); + } +}); +var RolloutActionSchema2 = exports_external2.enum(["install", "update", "rollback", "freeze-blocked"]); +var RolloutVerificationSchema2 = exports_external2.object({ + cliVersion: exports_external2.string().min(1).optional(), + mcpHealth: exports_external2.enum(["ok", "degraded", "unavailable", "not_checked"]).optional() +}).strict().superRefine((value, ctx) => { + if (!value.cliVersion && value.mcpHealth === undefined) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Rollout verification requires at least one concrete verifier field" + }); + } +}); +var RolloutRecordSchema2 = contractBaseSchema2(SCHEMA_IDS2.rolloutRecord).extend({ + appId: AppIdSchema2, + package: NpmPackageNameSchema2, + version: SemverSchema2, + machine: NonEmptyStringSchema2, + action: RolloutActionSchema2, + result: ContractStatusSchema2, + verifiedBy: RolloutVerificationSchema2.optional(), + at: TimestampSchema2, + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.action === "freeze-blocked" && value.result !== "blocked" && value.result !== "skipped") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "freeze-blocked rollout records must report result blocked or skipped", + path: ["result"] + }); + } + const hasConcreteVerification = Boolean(value.verifiedBy?.cliVersion) || value.verifiedBy?.mcpHealth !== undefined && value.verifiedBy.mcpHealth !== "not_checked"; + const hasVerifierFields = value.verifiedBy ? Object.keys(value.verifiedBy).length > 0 : false; + if ((value.action === "install" || value.action === "update") && value.result === "succeeded" && (!value.verifiedBy || hasVerifierFields && !hasConcreteVerification)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Succeeded install/update rollout records require concrete verification", + path: ["verifiedBy"] + }); + } +}); +var AnnouncementChannelKindSchema2 = exports_external2.enum([ + "email", + "telegram", + "slack", + "discord", + "x", + "blog", + "rss", + "webhook", + "github", + "other" +]); +var AnnouncementDeliveryStatusSchema2 = exports_external2.enum([ + "pending", + "queued", + "sent", + "failed", + "skipped", + "suppressed" +]); +var AnnouncementChannelSchema2 = exports_external2.object({ + channel: AnnouncementChannelKindSchema2, + status: AnnouncementDeliveryStatusSchema2, + deliveredAt: TimestampSchema2.optional(), + detail: exports_external2.string().min(1).optional() +}).strict().superRefine((value, ctx) => { + if (value.status === "sent" && !value.deliveredAt) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Sent announcement channels require deliveredAt", + path: ["deliveredAt"] + }); + } + if (value.status === "failed" && !value.detail) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Failed announcement channels require detail", + path: ["detail"] + }); + } +}); +var AnnouncementSchema2 = contractBaseSchema2(SCHEMA_IDS2.announcement).extend({ + campaignId: NonEmptyStringSchema2, + appId: AppIdSchema2.optional(), + releaseRef: ResourcePointerSchema2.optional(), + channels: exports_external2.array(AnnouncementChannelSchema2).min(1), + audienceRef: ResourcePointerSchema2, + sentAt: TimestampSchema2 +}).strict().superRefine((value, ctx) => { + if (value.releaseRef && value.releaseRef.kind !== "release") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Announcement releaseRef must use resource kind release", + path: ["releaseRef", "kind"] + }); + } + if (value.audienceRef.kind !== "audience") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Announcement audienceRef must use resource kind audience", + path: ["audienceRef", "kind"] + }); + } +}); +var AudiencePredicateKindSchema2 = exports_external2.enum(["tag", "attribute", "group"]); +var AudiencePredicateOpSchema2 = exports_external2.enum(["eq", "neq", "in", "not_in", "exists", "not_exists"]); +var AudiencePredicateValueSchema2 = exports_external2.union([exports_external2.string(), exports_external2.number(), exports_external2.boolean()]); +var AudiencePredicateSchema2 = exports_external2.object({ + kind: AudiencePredicateKindSchema2, + key: exports_external2.string().min(1).optional(), + op: AudiencePredicateOpSchema2.default("eq"), + value: AudiencePredicateValueSchema2.optional(), + values: exports_external2.array(AudiencePredicateValueSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.kind === "attribute" && !value.key) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Attribute predicates require key", + path: ["key"] + }); + } + if ((value.op === "eq" || value.op === "neq") && value.value === undefined) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "eq/neq predicates require value", + path: ["value"] + }); + } + if ((value.op === "in" || value.op === "not_in") && value.values.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "in/not_in predicates require values", + path: ["values"] + }); + } +}); +var AudienceDefinitionSchema2 = exports_external2.object({ + match: exports_external2.enum(["all", "any"]).default("all"), + predicates: exports_external2.array(AudiencePredicateSchema2).min(1) +}).strict(); +var ConsentPolicySchema2 = exports_external2.enum(["opt_in", "opt_out", "transactional", "none"]); +var AudienceSchema2 = contractBaseSchema2(SCHEMA_IDS2.audience).extend({ + audienceId: AppIdSchema2, + name: NonEmptyStringSchema2, + definition: AudienceDefinitionSchema2, + consentPolicy: ConsentPolicySchema2, + suppressionSyncedAt: OptionalTimestampSchema2 +}).strict(); +var FORBIDDEN_SHARED_CLOUD_RUNTIMES2 = ["@hasna/cloud", "open-cloud"]; +var AppCloudProviderSchema2 = exports_external2.enum([ + "aws", + "gcp", + "azure", + "cloudflare", + "vercel", + "neon", + "supabase", + "postgres", + "s3", + "rds", + "other" +]); +var AppCloudResourceSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + provider: AppCloudProviderSchema2, + kind: exports_external2.enum([ + "database", + "bucket", + "queue", + "secret", + "function", + "worker", + "cache", + "topic", + "scheduler", + "object_store", + "other" + ]), + ownerPackage: exports_external2.string().min(1), + region: exports_external2.string().min(1).optional(), + accountId: exports_external2.string().min(1).optional(), + uri: UriSchema2.optional(), + machineScoped: exports_external2.boolean().default(false) +}).strict(); +var AppCloudManifestSchema2 = contractBaseSchema2(SCHEMA_IDS2.appCloudManifest).extend({ + packageName: exports_external2.string().min(1), + packageVersion: exports_external2.string().min(1).optional(), + appId: exports_external2.string().min(1), + repository: ResourcePointerSchema2.optional(), + storageMode: exports_external2.enum(["local_only", "app_owned_cloud", "hybrid_local_cache", "external_service"]), + cloudBoundary: exports_external2.enum(["none", "app_owned", "external_service", "local_cache"]), + cloudResources: exports_external2.array(AppCloudResourceSchema2).default([]), + localCache: exports_external2.object({ + path: exports_external2.string().min(1).optional(), + pullMode: exports_external2.enum(["manual", "daemon", "ci", "none"]).default("manual"), + conflictPolicy: exports_external2.enum(["cloud_wins", "local_wins", "merge", "manual_review"]).default("manual_review") + }).strict().optional(), + forbiddenSharedRuntimes: exports_external2.array(exports_external2.string().min(1)).default([...FORBIDDEN_SHARED_CLOUD_RUNTIMES2]), + dependencies: exports_external2.array(exports_external2.string().min(1)).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const effectiveForbiddenRuntimes = new Set([...FORBIDDEN_SHARED_CLOUD_RUNTIMES2, ...value.forbiddenSharedRuntimes]); + if (effectiveForbiddenRuntimes.has(value.packageName)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "App-owned cloud manifests cannot be for a forbidden runtime", + path: ["packageName"] + }); + } + for (const runtime of FORBIDDEN_SHARED_CLOUD_RUNTIMES2) { + if (!value.forbiddenSharedRuntimes.includes(runtime)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `forbiddenSharedRuntimes must include ${runtime}`, + path: ["forbiddenSharedRuntimes"] + }); + } + } + for (const runtime of effectiveForbiddenRuntimes) { + if (value.dependencies.includes(runtime)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `App-owned cloud manifests cannot depend on ${runtime}`, + path: ["dependencies"] + }); + } + } + if (value.storageMode === "local_only" && value.cloudBoundary !== "none") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "local_only storage requires cloudBoundary none", + path: ["cloudBoundary"] + }); + } + if (value.storageMode === "app_owned_cloud" && value.cloudBoundary !== "app_owned") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "app_owned_cloud storage requires cloudBoundary app_owned", + path: ["cloudBoundary"] + }); + } + if (value.storageMode === "hybrid_local_cache") { + if (value.cloudBoundary !== "local_cache") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "hybrid_local_cache storage requires cloudBoundary local_cache", + path: ["cloudBoundary"] + }); + } + if (!value.localCache) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "hybrid_local_cache storage requires localCache settings", + path: ["localCache"] + }); + } + } + if (value.storageMode === "external_service") { + if (value.cloudBoundary !== "external_service") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "external_service storage requires cloudBoundary external_service", + path: ["cloudBoundary"] + }); + } + if (value.cloudResources.length > 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "external_service storage must not declare app-owned cloudResources", + path: ["cloudResources"] + }); + } + } + if ((value.storageMode === "app_owned_cloud" || value.storageMode === "hybrid_local_cache") && value.cloudResources.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Cloud-backed storage modes require explicit app-owned cloudResources", + path: ["cloudResources"] + }); + } + if (value.cloudBoundary === "none" && value.cloudResources.length > 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "cloudBoundary none cannot declare cloudResources", + path: ["cloudResources"] + }); + } + value.cloudResources.forEach((resource, index) => { + if (resource.ownerPackage !== value.packageName) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Cloud resources must be owned by the app package that declares the manifest", + path: ["cloudResources", index, "ownerPackage"] + }); + } + }); +}); +var NoCloudCheckKindSchema2 = exports_external2.enum([ + "package_manifest", + "lockfile", + "source_import", + "runtime_config", + "packed_artifact", + "published_metadata", + "app_cloud_manifest", + "remote_config", + "boundary_doc", + "other" +]); +var NoCloudFindingSeveritySchema2 = exports_external2.enum(["low", "medium", "high", "critical"]); +var NoCloudFindingSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: NoCloudCheckKindSchema2, + severity: NoCloudFindingSeveritySchema2, + path: exports_external2.string().min(1).optional(), + packageName: exports_external2.string().min(1).optional(), + pattern: exports_external2.string().min(1), + message: exports_external2.string().min(1), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict(); +var NoCloudCheckResultSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: NoCloudCheckKindSchema2, + status: ContractStatusSchema2, + target: exports_external2.string().min(1), + command: exports_external2.string().min(1).optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + findings: exports_external2.array(NoCloudFindingSchema2).default([]) +}).strict(); +var NoCloudEvidencePackSchema2 = contractBaseSchema2(SCHEMA_IDS2.noCloudEvidencePack).extend({ + subject: ResourcePointerSchema2, + packageName: exports_external2.string().min(1).optional(), + packageVersion: exports_external2.string().min(1).optional(), + generatedBy: ActorPointerSchema2.optional(), + scanMode: exports_external2.enum(["source_tree", "packed_artifact", "published_metadata", "runtime_config", "workspace", "ci"]), + status: ContractStatusSchema2, + verdict: exports_external2.enum(["passed", "failed", "warning", "not_run"]), + appCloudManifest: AppCloudManifestSchema2.optional(), + checks: exports_external2.array(NoCloudCheckResultSchema2).min(1), + findings: exports_external2.array(NoCloudFindingSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + const allFindings = [...value.findings, ...value.checks.flatMap((check) => check.findings)]; + const blockingFindings = allFindings.filter((finding) => finding.severity === "high" || finding.severity === "critical"); + if (value.verdict === "passed") { + if (value.status !== "succeeded") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Passed no-cloud evidence requires succeeded status", path: ["status"] }); + } + if (blockingFindings.length > 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Passed no-cloud evidence cannot include high or critical findings", path: ["findings"] }); + } + if (value.checks.some((check) => check.status !== "succeeded")) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Passed no-cloud evidence requires every check to be succeeded", path: ["checks"] }); + } + } + if (value.verdict === "failed" && allFindings.length === 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Failed no-cloud evidence requires findings", path: ["findings"] }); + } + if (value.status === "succeeded" && value.checks.some((check) => check.status === "failed")) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Succeeded no-cloud evidence cannot contain failed checks", path: ["checks"] }); + } + value.checks.forEach((check, index) => { + const checkBlockingFindings = check.findings.filter((finding) => finding.severity === "high" || finding.severity === "critical"); + if (check.status === "succeeded" && checkBlockingFindings.length > 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Succeeded no-cloud checks cannot contain high or critical findings", + path: ["checks", index, "findings"] + }); + } + }); +}); +var ProofCheckResultSchema2 = exports_external2.object({ + checkId: exports_external2.string().min(1), + status: ContractStatusSchema2, + summary: exports_external2.string().min(1).optional(), + startedAt: OptionalTimestampSchema2, + finishedAt: OptionalTimestampSchema2, + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict(); +var ProofBundleSchema2 = contractBaseSchema2(SCHEMA_IDS2.proofBundle).extend({ + subject: ResourcePointerSchema2, + validationPlanRef: ResourcePointerSchema2.optional(), + status: ContractStatusSchema2, + verdict: exports_external2.enum(["passed", "failed", "inconclusive", "not_run"]).default("inconclusive"), + checks: exports_external2.array(ProofCheckResultSchema2).default([]), + verifier: ActorPointerSchema2.optional(), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + residualRisks: exports_external2.array(exports_external2.string().min(1)).default([]), + freshness: exports_external2.enum(["fresh", "stale", "unknown"]).default("unknown") +}).strict().superRefine((value, ctx) => { + if (value.verdict === "passed") { + if (value.status !== "succeeded") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles must have status succeeded", + path: ["status"] + }); + } + if (value.checks.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles require at least one check result", + path: ["checks"] + }); + } + value.checks.forEach((check, index) => { + if (check.status !== "succeeded") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles require all checks to have status succeeded", + path: ["checks", index, "status"] + }); + } + }); + const hasEvidence = value.evidenceRefs.length > 0 || value.checks.some((check) => check.evidenceRefs.length > 0); + if (!hasEvidence) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles require evidence", + path: ["evidenceRefs"] + }); + } + if (!value.verifier) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Passed proof bundles require a verifier", + path: ["verifier"] + }); + } + } + if (value.verdict === "not_run" && value.checks.length > 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Not-run proof bundles cannot include check results", + path: ["checks"] + }); + } + if (value.verdict === "failed" && !value.checks.some((check) => check.status === "failed") && value.evidenceRefs.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Failed proof bundles require a failed check or evidence", + path: ["checks"] + }); + } +}); +var WorkRunSchema2 = contractBaseSchema2(SCHEMA_IDS2.workRun).extend({ + objective: exports_external2.string().min(1), + status: ContractStatusSchema2, + actor: ActorPointerSchema2, + traceId: exports_external2.string().min(1).optional(), + startedAt: OptionalTimestampSchema2, + finishedAt: OptionalTimestampSchema2, + constraints: exports_external2.array(exports_external2.string().min(1)).default([]), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + decisions: exports_external2.array(DecisionEnvelopeSchema2).default([]), + costEstimates: exports_external2.array(CostEstimateSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + validationPlanRefs: exports_external2.array(ResourcePointerSchema2).default([]), + proofBundleRefs: exports_external2.array(ResourcePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.startedAt && value.finishedAt && Date.parse(value.finishedAt) < Date.parse(value.startedAt)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "finishedAt must be after or equal to startedAt", + path: ["finishedAt"] + }); + } + if (TerminalStatuses2.has(value.status) && !value.finishedAt) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Terminal work runs require finishedAt", + path: ["finishedAt"] + }); + } + const hasEvidence = value.evidenceRefs.length > 0 || value.proofBundleRefs.length > 0; + if (value.status === "succeeded" && !hasEvidence) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Succeeded work runs require evidence or a proof bundle", + path: ["evidenceRefs"] + }); + } + if ((value.status === "failed" || value.status === "blocked") && !hasEvidence && value.decisions.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Failed or blocked work runs require evidence, a proof bundle, or a decision record", + path: ["evidenceRefs"] + }); + } +}); +var TrajectoryEventSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + at: TimestampSchema2, + kind: exports_external2.enum(["message", "tool_call", "command", "file_change", "error", "test", "decision", "verification", "status", "other"]), + summary: exports_external2.string().min(1), + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]), + costEstimate: CostEstimateSchema2.optional() +}).strict(); +var AgentTrajectorySchema2 = contractBaseSchema2(SCHEMA_IDS2.agentTrajectory).extend({ + actor: ActorPointerSchema2, + workRunRef: ResourcePointerSchema2.optional(), + events: exports_external2.array(TrajectoryEventSchema2).default([]), + outcome: exports_external2.enum(["succeeded", "failed", "cancelled", "blocked", "unknown"]).default("unknown"), + proofBundleRef: ResourcePointerSchema2.optional() +}).strict(); +var SERVICE_CONTRACT_VERSION2 = "v1"; +var RepoClassSchema2 = exports_external2.enum(["library", "cli-with-store", "service", "saas"]); +var DEPLOYMENT_MODES2 = ["local", "self-hosted", "cloud"]; +var DeploymentModeSchema2 = exports_external2.enum(DEPLOYMENT_MODES2); +var ServiceSurfaceStatusSchema2 = exports_external2.enum(["supported", "deferred", "unsupported"]); +var ServiceAuthModeSchema2 = exports_external2.enum(["none", "local-only", "api-key", "session", "service-token", "custom"]); +var ServiceEndpointSchema2 = exports_external2.object({ + method: exports_external2.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]), + path: exports_external2.string().regex(/^\/[A-Za-z0-9_./:*-]*$/, "Endpoint paths must be absolute HTTP paths"), + public: exports_external2.boolean().default(false), + description: exports_external2.string().min(1).optional() +}).strict(); +var DeploymentReadinessGateSchema2 = exports_external2.object({ + id: exports_external2.string().min(1), + kind: exports_external2.enum(["auth", "storage", "secret-ref", "migration", "health", "readiness", "redaction", "smoke", "operator", "other"]), + required: exports_external2.boolean().default(true), + command: exports_external2.string().min(1).optional(), + evidenceRef: EvidencePointerSchema2.optional(), + status: exports_external2.enum(["pending", "passed", "failed", "blocked", "deferred"]).default("pending"), + summary: exports_external2.string().min(1).optional() +}).strict().superRefine((value, ctx) => { + if ((value.status === "passed" || value.status === "failed" || value.status === "blocked") && !value.command && !value.evidenceRef && !value.summary) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Terminal readiness gates require command, evidenceRef, or summary", + path: ["status"] + }); + } +}); +var ServiceSurfaceSchema2 = exports_external2.object({ + name: exports_external2.string().min(1), + status: ServiceSurfaceStatusSchema2, + bin: exports_external2.string().min(1).optional(), + mcpBin: exports_external2.string().min(1).optional(), + authMode: ServiceAuthModeSchema2, + deploymentModes: exports_external2.array(DeploymentModeSchema2).min(1), + health: ServiceEndpointSchema2.optional(), + readiness: ServiceEndpointSchema2.optional(), + version: ServiceEndpointSchema2.optional(), + apiBasePath: exports_external2.string().regex(/^\/v[0-9]+$/, "Stable API base path must be /vN").optional(), + openApiPath: exports_external2.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(), + deferReason: exports_external2.string().min(1).optional(), + readinessGates: exports_external2.array(DeploymentReadinessGateSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.status === "supported") { + if (!value.bin) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Supported service surfaces require a serve bin", path: ["bin"] }); + } + if (!value.health) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Supported service surfaces require a health endpoint", path: ["health"] }); + } + if (!value.version) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Supported service surfaces require a version endpoint", path: ["version"] }); + } + } + if ((value.status === "deferred" || value.status === "unsupported") && !value.deferReason) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Deferred or unsupported service surfaces require a deferReason", + path: ["deferReason"] + }); + } + if (value.health && value.health.path !== "/health") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Health endpoint must be /health", path: ["health", "path"] }); + } + if (value.readiness && value.readiness.path !== "/ready") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Readiness endpoint must be /ready", path: ["readiness", "path"] }); + } + if (value.version && value.version.path !== "/version") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Version endpoint must be /version", path: ["version", "path"] }); + } +}); +var STORAGE_MODES2 = ["local", "cloud"]; +var StorageModeSchema2 = exports_external2.enum(STORAGE_MODES2); +var AppNameSchema2 = exports_external2.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "App names must be lowercase dashed identifiers"); +var ALLOWED_BIN_SUFFIXES2 = [ + "", + "-cli", + "-mcp", + "-serve", + "-worker", + "-runner", + "-daemon", + "-migrate", + "-doctor" +]; +function allowedBinsForName2(name) { + return ALLOWED_BIN_SUFFIXES2.map((suffix) => `${name}${suffix}`); +} +function databaseUrlSecretRefFor2(name) { + return `hasna/oss/${name}/database-url`; +} +var StorageContractSchema2 = exports_external2.object({ + mode: StorageModeSchema2, + envPrefix: exports_external2.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(), + aliasEnvPrefix: exports_external2.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(), + databaseUrlSecretRef: exports_external2.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(), + sqlitePath: exports_external2.string().min(1).optional() +}).strict(); +var ServiceContractManifestSchema2 = exports_external2.object({ + $schema: exports_external2.string().min(1).optional(), + schema: exports_external2.literal(SCHEMA_IDS2.serviceContract), + name: AppNameSchema2, + class: RepoClassSchema2, + contractVersion: exports_external2.literal(SERVICE_CONTRACT_VERSION2), + kitVersion: exports_external2.string().min(1), + description: exports_external2.string().min(1).optional(), + bins: exports_external2.array(exports_external2.string().min(1)).default([]), + storage: StorageContractSchema2.optional(), + deploymentModes: exports_external2.array(DeploymentModeSchema2).default(["local"]), + serviceSurfaces: exports_external2.array(ServiceSurfaceSchema2).default([]), + metadata: MetadataSchema2.optional() +}).strict().superRefine((value, ctx) => { + const allowed = new Set(allowedBinsForName2(value.name)); + const seenBins = new Set; + for (const [index, bin] of value.bins.entries()) { + if (seenBins.has(bin)) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "Duplicate bin declaration", path: ["bins", index] }); + } + seenBins.add(bin); + if (!allowed.has(bin)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `Bin "${bin}" is not allowlisted for app "${value.name}"; allowed: ${[...allowed].join(", ")}`, + path: ["bins", index] + }); + } + } + const hasBin = (suffix) => seenBins.has(`${value.name}${suffix}`); + if (value.storage) { + const upper = value.name.toUpperCase().replace(/-/g, "_"); + if (value.storage.envPrefix && value.storage.envPrefix !== `HASNA_${upper}_`) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `storage.envPrefix must be HASNA_${upper}_`, + path: ["storage", "envPrefix"] + }); + } + if (value.storage.databaseUrlSecretRef && value.storage.databaseUrlSecretRef !== databaseUrlSecretRefFor2(value.name)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `storage.databaseUrlSecretRef must be ${databaseUrlSecretRefFor2(value.name)}`, + path: ["storage", "databaseUrlSecretRef"] + }); + } + if (value.storage.mode === "cloud" && !value.storage.databaseUrlSecretRef) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)", + path: ["storage", "databaseUrlSecretRef"] + }); + } + } + if (value.class === "library") { + if (value.storage) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "library repos must not declare storage", path: ["storage"] }); + } + if (hasBin("-serve") || hasBin("-mcp")) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "library repos must not ship a -serve or -mcp bin", + path: ["bins"] + }); + } + } + if (value.class === "cli-with-store") { + if (!value.storage) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "cli-with-store repos must declare storage", path: ["storage"] }); + } else if (value.storage.mode === "local" && !value.storage.sqlitePath) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)", + path: ["storage", "sqlitePath"] + }); + } + if (!seenBins.has(value.name)) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: `cli-with-store repos must ship the "${value.name}" bin`, path: ["bins"] }); + } + } + if (value.class === "service") { + if (!value.storage) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "service repos must declare storage", path: ["storage"] }); + } + if (!hasBin("-serve")) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: `service repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); + } + if (value.serviceSurfaces.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "service repos must declare at least one service surface", + path: ["serviceSurfaces"] + }); + } + } + if (value.class === "saas") { + if (!value.storage) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "saas repos must declare storage", path: ["storage"] }); + } else if (value.storage.mode !== "cloud") { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "saas repos must use cloud storage mode", path: ["storage", "mode"] }); + } + if (!hasBin("-serve")) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: `saas repos must ship the "${value.name}-serve" bin`, path: ["bins"] }); + } + if (value.serviceSurfaces.length === 0) { + ctx.addIssue({ code: exports_external2.ZodIssueCode.custom, message: "saas repos must declare at least one service surface", path: ["serviceSurfaces"] }); + } + } + for (const [index, surface] of value.serviceSurfaces.entries()) { + if (surface.bin && !seenBins.has(surface.bin)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `Service surface bin "${surface.bin}" must be declared in bins`, + path: ["serviceSurfaces", index, "bin"] + }); + } + if (surface.mcpBin && !seenBins.has(surface.mcpBin)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `Service surface MCP bin "${surface.mcpBin}" must be declared in bins`, + path: ["serviceSurfaces", index, "mcpBin"] + }); + } + for (const [modeIndex, deploymentMode] of surface.deploymentModes.entries()) { + if (!value.deploymentModes.includes(deploymentMode)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `Service surface deployment mode "${deploymentMode}" must be declared in deploymentModes`, + path: ["serviceSurfaces", index, "deploymentModes", modeIndex] + }); + } + } + } +}); +var HealthResponseSchema2 = exports_external2.object({ + status: exports_external2.enum(["ok", "degraded", "unavailable"]), + version: exports_external2.string().min(1), + mode: StorageModeSchema2 +}).strict(); +var ReadyResponseSchema2 = exports_external2.object({ + ready: exports_external2.boolean(), + reason: exports_external2.string().min(1).optional() +}).strict(); +var VersionResponseSchema2 = exports_external2.object({ + version: exports_external2.string().min(1) +}).strict(); +var CommsSeveritySchema2 = exports_external2.enum(["info", "notice", "breaking", "critical"]); +var CommsEventTypeSchema2 = exports_external2.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/, "Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"); +var COMMS_SEVERITY_TAGS2 = ["FREEZE", "UNFREEZE", "BREAKING", "CUTOVER", "POLICY", "RELEASE"]; +var CommsSeverityTagSchema2 = exports_external2.enum(COMMS_SEVERITY_TAGS2); +var CommsScopeSchema2 = exports_external2.enum(["fleet", "package", "machine"]); +var CommsEventEnvelopeSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsEventEnvelope).extend({ + type: CommsEventTypeSchema2, + severity: CommsSeveritySchema2, + scope: CommsScopeSchema2, + summary: exports_external2.string().min(1).optional(), + source: ActorPointerSchema2.optional(), + affected_packages: exports_external2.array(NonEmptyStringSchema2).default([]), + affected_machines: exports_external2.array(NonEmptyStringSchema2).default([]), + action_required: exports_external2.boolean().default(false), + ack_by: TimestampSchema2.optional(), + dedupe_key: NonEmptyStringSchema2, + resourceRefs: exports_external2.array(ResourcePointerSchema2).default([]), + evidenceRefs: exports_external2.array(EvidencePointerSchema2).default([]) +}).strict().superRefine((value, ctx) => { + if (value.scope === "package" && value.affected_packages.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Package-scoped comms events require affected_packages", + path: ["affected_packages"] + }); + } + if (value.scope === "machine" && value.affected_machines.length === 0) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Machine-scoped comms events require affected_machines", + path: ["affected_machines"] + }); + } + if (value.ack_by && !value.action_required) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Comms events with an ack_by deadline require action_required", + path: ["action_required"] + }); + } + if (value.type === "fleet.freeze" || value.type === "fleet.unfreeze") { + if (value.severity !== "critical") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `${value.type} events are always critical`, + path: ["severity"] + }); + } + if (value.scope !== "fleet") { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `${value.type} events are always fleet-scoped`, + path: ["scope"] + }); + } + if (!value.action_required) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `${value.type} events require action_required`, + path: ["action_required"] + }); + } + } +}); +var CommsChannelClassSchema2 = exports_external2.enum(["fleet", "package", "product", "loop-lane", "initiative", "personal"]); +var CommsChannelNoiseSchema2 = exports_external2.enum(["quiet", "work", "firehose"]); +var CommsUntilHorizonSchema2 = NonEmptyStringSchema2.refine((value) => /^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(value), "until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"); +var CommsChannelMetadataSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsChannelMetadata).extend({ + class: CommsChannelClassSchema2, + noise: CommsChannelNoiseSchema2.optional(), + owner: NonEmptyStringSchema2.optional(), + until: CommsUntilHorizonSchema2.optional(), + successor: NonEmptyStringSchema2.optional() +}).strict().superRefine((value, ctx) => { + if (value.class === "initiative") { + if (!value.owner) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Initiative channels require an owner", + path: ["owner"] + }); + } + if (!value.until) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: "Initiative channels require an until horizon (date or gate id)", + path: ["until"] + }); + } + } +}); +var COMMS_SEVERITY_TAG_INFO2 = { + FREEZE: { defaultSeverity: "critical", allowedSeverities: ["critical"], requiredEventType: "fleet.freeze" }, + UNFREEZE: { defaultSeverity: "critical", allowedSeverities: ["critical"], requiredEventType: "fleet.unfreeze" }, + BREAKING: { defaultSeverity: "breaking", allowedSeverities: ["breaking"], requiredEventType: null }, + CUTOVER: { defaultSeverity: "notice", allowedSeverities: ["notice", "breaking"], requiredEventType: null }, + POLICY: { defaultSeverity: "breaking", allowedSeverities: ["notice", "breaking"], requiredEventType: null }, + RELEASE: { defaultSeverity: "info", allowedSeverities: ["info", "notice"], requiredEventType: null } +}; +var CommsMessageMetadataSchema2 = contractBaseSchema2(SCHEMA_IDS2.commsMessageMetadata).extend({ + tag: CommsSeverityTagSchema2, + envelope: CommsEventEnvelopeSchema2 +}).strict().superRefine((value, ctx) => { + const info = COMMS_SEVERITY_TAG_INFO2[value.tag]; + if (!info.allowedSeverities.includes(value.envelope.severity)) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `[${value.tag}] posts allow severities ${info.allowedSeverities.join(", ")}`, + path: ["envelope", "severity"] + }); + } + if (info.requiredEventType && value.envelope.type !== info.requiredEventType) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `[${value.tag}] posts require event type ${info.requiredEventType}`, + path: ["envelope", "type"] + }); + } + for (const [tag, tagInfo] of Object.entries(COMMS_SEVERITY_TAG_INFO2)) { + if (tagInfo.requiredEventType === value.envelope.type && value.tag !== tag) { + ctx.addIssue({ + code: exports_external2.ZodIssueCode.custom, + message: `${value.envelope.type} events must use the [${tag}] tag`, + path: ["tag"] + }); + } + } +}); +var ContractSchemaRegistry2 = { + [SCHEMA_IDS2.actorRef]: ActorRefSchema2, + [SCHEMA_IDS2.resourceRef]: ResourceRefSchema2, + [SCHEMA_IDS2.evidenceRef]: EvidenceRefSchema2, + [SCHEMA_IDS2.workRun]: WorkRunSchema2, + [SCHEMA_IDS2.decisionEnvelope]: DecisionEnvelopeSchema2, + [SCHEMA_IDS2.costEstimate]: CostEstimateSchema2, + [SCHEMA_IDS2.capabilityCard]: CapabilityCardSchema2, + [SCHEMA_IDS2.providerLiveModeStandard]: ProviderLiveModeStandardSchema2, + [SCHEMA_IDS2.contextPack]: ContextPackSchema2, + [SCHEMA_IDS2.integrationRef]: IntegrationRefSchema2, + [SCHEMA_IDS2.projectManifest]: ProjectManifestSchema2, + [SCHEMA_IDS2.projectPanel]: ProjectPanelSchema2, + [SCHEMA_IDS2.projectSnapshot]: ProjectSnapshotSchema2, + [SCHEMA_IDS2.renderManifest]: RenderManifestSchema2, + [SCHEMA_IDS2.agentTrajectory]: AgentTrajectorySchema2, + [SCHEMA_IDS2.validationPlan]: ValidationPlanSchema2, + [SCHEMA_IDS2.proofBundle]: ProofBundleSchema2, + [SCHEMA_IDS2.scaffoldManifest]: ScaffoldManifestSchema2, + [SCHEMA_IDS2.scaffoldInstallRecord]: ScaffoldInstallRecordSchema2, + [SCHEMA_IDS2.appCloudManifest]: AppCloudManifestSchema2, + [SCHEMA_IDS2.noCloudEvidencePack]: NoCloudEvidencePackSchema2, + [SCHEMA_IDS2.serviceContract]: ServiceContractManifestSchema2, + [SCHEMA_IDS2.commsEventEnvelope]: CommsEventEnvelopeSchema2, + [SCHEMA_IDS2.commsChannelMetadata]: CommsChannelMetadataSchema2, + [SCHEMA_IDS2.commsMessageMetadata]: CommsMessageMetadataSchema2, + [SCHEMA_IDS2.app]: AppSchema2, + [SCHEMA_IDS2.release]: ReleaseSchema2, + [SCHEMA_IDS2.rolloutRecord]: RolloutRecordSchema2, + [SCHEMA_IDS2.announcement]: AnnouncementSchema2, + [SCHEMA_IDS2.audience]: AudienceSchema2 +}; +function envToken2(name) { + return name.toUpperCase().replace(/-/g, "_"); +} +function clientTransportEnvKeys2(name) { + const envSegment = envToken2(name); + return { + modeKeys: [ + `HASNA_${envSegment}_STORAGE_MODE`, + `HASNA_${envSegment}_MODE`, + `${envSegment}_STORAGE_MODE`, + `${envSegment}_MODE` + ], + apiUrlKeys: [`HASNA_${envSegment}_API_URL`, `${envSegment}_API_URL`], + apiKeyKeys: [`HASNA_${envSegment}_API_KEY`, `${envSegment}_API_KEY`] + }; +} +var IDEMPOTENT_METHODS2 = new Set(["GET", "HEAD", "PUT", "DELETE", "OPTIONS"]); + +// src/generated/storage-kit/mode.ts +var DEPRECATED_STORAGE_MODE_ALIASES2 = [ + "remote", + "hybrid", + "self_hosted" ]; -var API_URL_ENV_KEYS = ["HASNA_KNOWLEDGE_API_URL", "KNOWLEDGE_API_URL"]; -var API_KEY_ENV_KEYS = ["HASNA_KNOWLEDGE_API_KEY", "KNOWLEDGE_API_KEY"]; -function hasAnyEnv(env, keys) { - return keys.some((k) => (env[k] ?? "").trim().length > 0); +function normalizeStorageMode2(value) { + const normalized = value.trim().toLowerCase().replace(/-/g, "_"); + if (normalized === "local") + return { mode: "local", deprecatedAlias: null }; + if (normalized === "cloud") + return { mode: "cloud", deprecatedAlias: null }; + if (DEPRECATED_STORAGE_MODE_ALIASES2.includes(normalized)) { + return { mode: "cloud", deprecatedAlias: normalized }; + } + throw new Error(`Unknown storage mode: ${value}. Use local or cloud.`); +} +function envToken3(name) { + return name.toUpperCase().replace(/-/g, "_"); +} +function storageEnvKeys(name) { + const token = envToken3(name); + return { + modeKeys: [`HASNA_${token}_STORAGE_MODE`, `${token}_STORAGE_MODE`], + databaseUrlKeys: [`HASNA_${token}_DATABASE_URL`, `${token}_DATABASE_URL`] + }; +} +function firstEnv(env, keys) { + for (const key of keys) { + const value = env[key]?.trim(); + if (value) + return { key, value }; + } + return null; +} +function resolveStorageMode(name, env = process.env) { + const { modeKeys, databaseUrlKeys } = storageEnvKeys(name); + const dbHit = firstEnv(env, databaseUrlKeys); + const databaseUrlPresent = Boolean(dbHit); + const databaseUrlSource = dbHit ? dbHit.key : null; + const modeHit = firstEnv(env, modeKeys); + if (!modeHit) { + return { + mode: "local", + source: "default", + deprecatedAlias: null, + databaseUrlPresent, + databaseUrlSource, + warning: null + }; + } + const { mode, deprecatedAlias } = normalizeStorageMode2(modeHit.value); + const warnings = []; + if (deprecatedAlias) { + warnings.push(`Deprecated storage mode '${deprecatedAlias}' from ${modeHit.key} is treated as 'cloud'. Set ${modeKeys[0]}=cloud instead.`); + } + if (mode === "cloud" && !databaseUrlPresent) { + warnings.push(`cloud mode needs ${databaseUrlKeys[0]} (PURE REMOTE: reads and writes go to cloud Postgres).`); + } + if (modeHit.key !== modeKeys[0]) { + warnings.push(`Using alias env ${modeHit.key}; the canonical key is ${modeKeys[0]}.`); + } + return { + mode, + source: modeHit.key, + deprecatedAlias, + databaseUrlPresent, + databaseUrlSource, + warning: warnings.length > 0 ? warnings.join(" ") : null + }; +} +function resolveDatabaseUrl(name, env = process.env) { + const { databaseUrlKeys } = storageEnvKeys(name); + const hit = firstEnv(env, databaseUrlKeys); + return hit ? hit.value : null; +} +// src/generated/storage-kit/tls.ts +import { readFileSync as readFileSync2 } from "fs"; +function sslModeFromConnectionString(connectionString) { + const queryStart = connectionString.indexOf("?"); + const params = new URLSearchParams(queryStart === -1 ? "" : connectionString.slice(queryStart + 1)); + const sslmode = params.get("sslmode")?.trim().toLowerCase(); + if (sslmode) { + switch (sslmode) { + case "disable": + case "prefer": + case "require": + case "verify-ca": + case "verify-full": + return sslmode; + case "allow": + return "prefer"; + default: + throw new Error(`Unknown sslmode '${sslmode}' in connection string.`); + } + } + const ssl = params.get("ssl")?.trim().toLowerCase(); + if (ssl && ["1", "true", "yes", "on", "require"].includes(ssl)) + return "require"; + return "disable"; +} +function loadCaBundle(options) { + const env = options.env ?? process.env; + if (options.ca && options.ca.trim()) + return options.ca; + const path = options.caCertPath ?? env.PGSSLROOTCERT ?? env.NODE_EXTRA_CA_CERTS; + if (path && path.trim()) + return readFileSync2(path.trim(), "utf8"); + return null; +} +function resolveTlsConfig(connectionString, options = {}) { + const mode = sslModeFromConnectionString(connectionString); + if (mode === "disable") { + return; + } + const ca = loadCaBundle(options); + if (mode === "prefer" || mode === "require") { + return ca ? { rejectUnauthorized: false, ca } : { rejectUnauthorized: false }; + } + if (!ca) { + throw new Error(`sslmode=${mode} requires a CA bundle. Set PGSSLROOTCERT (or pass caCertPath/ca) to the ` + `Amazon RDS global bundle: https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem`); + } + return { rejectUnauthorized: true, ca }; +} +// src/generated/storage-kit/query.ts +function wrapExecutor(executor) { + return { + async query(sql, params) { + const result = await executor.query(sql, params); + return { rows: result.rows, rowCount: result.rowCount ?? result.rows.length }; + }, + async many(sql, params) { + const result = await executor.query(sql, params); + return result.rows; + }, + async get(sql, params) { + const result = await executor.query(sql, params); + return result.rows[0] ?? null; + }, + async one(sql, params) { + const result = await executor.query(sql, params); + if (result.rows.length !== 1) { + throw new Error(`Expected exactly one row, got ${result.rows.length}.`); + } + return result.rows[0]; + }, + async execute(sql, params) { + await executor.query(sql, params); + } + }; +} +function createQueryClient(pool) { + const base = wrapExecutor(pool); + return { + ...base, + pool, + async transaction(fn) { + const client = await pool.connect(); + try { + await client.query("BEGIN"); + const result = await fn(wrapExecutor(client)); + await client.query("COMMIT"); + return result; + } catch (error) { + try { + await client.query("ROLLBACK"); + } catch {} + throw error; + } finally { + client.release(); + } + }, + async close() { + await pool.end(); + } + }; +} +// src/generated/storage-kit/pool.ts +import pg from "pg"; +function createPgPool(options) { + const ssl = resolveTlsConfig(options.connectionString, { + ...options.ca !== undefined ? { ca: options.ca } : {}, + ...options.caCertPath !== undefined ? { caCertPath: options.caCertPath } : {}, + ...options.env !== undefined ? { env: options.env } : {} + }); + const config = { connectionString: options.connectionString }; + if (ssl !== undefined) + config.ssl = ssl; + if (options.max !== undefined) + config.max = options.max; + if (options.idleTimeoutMillis !== undefined) + config.idleTimeoutMillis = options.idleTimeoutMillis; + if (options.connectionTimeoutMillis !== undefined) + config.connectionTimeoutMillis = options.connectionTimeoutMillis; + if (options.applicationName !== undefined) + config.application_name = options.applicationName; + return new pg.Pool(config); +} +function createCloudPoolFromEnv(appName, options = {}) { + const env = options.env ?? process.env; + const resolution = resolveStorageMode(appName, env); + if (resolution.mode !== "cloud") { + throw new Error(`createCloudPoolFromEnv requires ${appName} storage mode 'cloud', got '${resolution.mode}'. ` + `Set HASNA_${appName.toUpperCase().replace(/-/g, "_")}_STORAGE_MODE=cloud.`); + } + const connectionString = resolveDatabaseUrl(appName, env); + if (!connectionString) { + throw new Error(`cloud mode for ${appName} needs a database URL. Set ` + `HASNA_${appName.toUpperCase().replace(/-/g, "_")}_DATABASE_URL.`); + } + const pool = createPgPool({ + connectionString, + ...options.ca !== undefined ? { ca: options.ca } : {}, + ...options.caCertPath !== undefined ? { caCertPath: options.caCertPath } : {}, + env, + ...options.max !== undefined ? { max: options.max } : {}, + ...options.idleTimeoutMillis !== undefined ? { idleTimeoutMillis: options.idleTimeoutMillis } : {}, + ...options.connectionTimeoutMillis !== undefined ? { connectionTimeoutMillis: options.connectionTimeoutMillis } : {}, + ...options.applicationName !== undefined ? { applicationName: options.applicationName } : {} + }); + return { + client: createQueryClient(pool), + connectionSource: resolution.databaseUrlSource ?? "unknown" + }; +} +// src/generated/storage-kit/migrations.ts +import { createHash } from "crypto"; +var DEFAULT_MIGRATION_LEDGER_TABLE = "schema_migrations"; +function checksumSql(sql) { + const normalized = sql.trim().replace(/\r\n/g, ` +`); + return `sha256:${createHash("sha256").update(normalized).digest("hex")}`; +} +function defineMigration(id, sql) { + return Object.freeze({ id, sql: sql.trim(), checksum: checksumSql(sql) }); +} +function hasTransaction(client) { + return typeof client.transaction === "function"; +} + +class MigrationLedger { + client; + migrations; + ledgerTable; + constructor(client, migrations, options = {}) { + this.client = client; + this.migrations = migrations; + this.ledgerTable = options.ledgerTable ?? DEFAULT_MIGRATION_LEDGER_TABLE; + const seen = new Set; + for (const migration of migrations) { + if (seen.has(migration.id)) + throw new Error(`Duplicate migration id: ${migration.id}`); + seen.add(migration.id); + } + } + async ensureLedger() { + await this.client.execute(`CREATE TABLE IF NOT EXISTS ${this.ledgerTable} ( + id TEXT PRIMARY KEY, + checksum TEXT NOT NULL, + applied_at TIMESTAMPTZ NOT NULL DEFAULT now() + )`); + } + async listApplied() { + await this.ensureLedger(); + return this.readApplied(); + } + async readApplied() { + const rows = await this.client.many(`SELECT id, checksum, applied_at FROM ${this.ledgerTable} ORDER BY id ASC`); + return rows.map((row) => ({ + id: row.id, + checksum: row.checksum, + appliedAt: row.applied_at instanceof Date ? row.applied_at.toISOString() : String(row.applied_at) + })); + } + buildPlan(applied) { + const known = new Set(this.migrations.map((m) => m.id)); + for (const row of applied) { + if (!known.has(row.id)) { + throw new Error(`Applied migration '${row.id}' is not recognized by this build (downgrade?).`); + } + } + const appliedById = new Map(applied.map((row) => [row.id, row])); + for (const migration of this.migrations) { + const existing = appliedById.get(migration.id); + if (existing && existing.checksum !== migration.checksum) { + throw new Error(`Migration checksum mismatch for '${migration.id}': the SQL changed after it was applied.`); + } + } + return this.migrations.map((migration) => ({ + migration, + state: appliedById.has(migration.id) ? "already_applied" : "pending" + })); + } + async migrate(opts = {}) { + const dryRun = opts.dryRun === true; + await this.ensureLedger(); + const applied = await this.readApplied(); + const plan = this.buildPlan(applied); + if (dryRun) + return { dryRun, applied, plan }; + for (const item of plan) { + if (item.state === "already_applied") + continue; + await this.applyPendingMigration(item.migration); + } + return { dryRun, applied: await this.readApplied(), plan }; + } + async applyPendingMigration(migration) { + const apply = async (client) => { + await client.execute(migration.sql); + await client.execute(`INSERT INTO ${this.ledgerTable} (id, checksum, applied_at) VALUES ($1, $2, now())`, [migration.id, migration.checksum]); + }; + if (hasTransaction(this.client)) { + await this.client.transaction(apply); + return; + } + await this.client.execute("BEGIN"); + try { + await apply(this.client); + await this.client.execute("COMMIT"); + } catch (error) { + try { + await this.client.execute("ROLLBACK"); + } catch {} + throw error; + } + } +} +function createMigrationLedger(client, migrations, options = {}) { + return new MigrationLedger(client, migrations, options); +} +// src/generated/storage-kit/health.ts +async function checkHealth(client) { + const start = Date.now(); + try { + await client.get("SELECT 1 AS ok"); + return { ok: true, latencyMs: Date.now() - start }; + } catch (error) { + return { + ok: false, + latencyMs: Date.now() - start, + error: error instanceof Error ? error.message : String(error) + }; + } +} +async function checkReady(client, migrations, options = {}) { + const start = Date.now(); + try { + const ledger = new MigrationLedger(client, migrations, options); + const result = await ledger.migrate({ dryRun: true }); + const pending = result.plan.filter((item) => item.state === "pending").map((item) => item.migration.id); + return { ok: pending.length === 0, latencyMs: Date.now() - start, pendingMigrations: pending }; + } catch (error) { + return { + ok: false, + latencyMs: Date.now() - start, + pendingMigrations: [], + error: error instanceof Error ? error.message : String(error) + }; + } +} + +// src/generated/storage-kit/index.ts +var KIT_VERSION = "0.4.0"; + +// src/net-guard.ts +var NETWORK_GUARD_ENV = "NODE_ENV"; + +class KnowledgeNetworkGuardError extends Error { + scheme; + port; + constructor(message, details) { + super(message); + this.name = "KnowledgeNetworkGuardError"; + this.scheme = details.scheme; + this.port = details.port; + } +} +function isNetworkGuardActive(env = process.env) { + return (env[NETWORK_GUARD_ENV] ?? "").trim().toLowerCase() === "test"; +} +function isIpv4Loopback(hostname) { + const parts = hostname.split("."); + if (parts.length !== 4) + return false; + if (!parts.every((part) => /^\d{1,3}$/.test(part) && Number(part) <= 255)) + return false; + return parts[0] === "127"; +} +function isLoopbackHostname(hostname) { + const host = hostname.trim().toLowerCase(); + if (host.length === 0) + return false; + if (host === "localhost" || host.endsWith(".localhost")) + return true; + if (isIpv4Loopback(host)) + return true; + if (!host.startsWith("[") || !host.endsWith("]")) + return false; + const v6 = host.slice(1, -1); + if (v6 === "::1" || /^(0:){7}1$/.test(v6)) + return true; + const tail = v6.split(":").pop() ?? ""; + if (/^(::ffff:|::)/.test(v6) && isIpv4Loopback(tail)) + return true; + return /^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(v6); +} +function targetUrl(input) { + if (typeof input === "string") + return input; + if (input instanceof URL) + return input.href; + return input.url; +} +function assertOutboundRequestAllowed(input, env = process.env) { + if (!isNetworkGuardActive(env)) + return; + const raw = targetUrl(input); + let url; + try { + url = new URL(raw); + } catch { + throw new KnowledgeNetworkGuardError(`knowledge: refused an outbound request with an unparseable target while ${NETWORK_GUARD_ENV}=test. ` + "Under test, only loopback requests are permitted.", { scheme: "unknown", port: "" }); + } + if (isLoopbackHostname(url.hostname)) + return; + throw new KnowledgeNetworkGuardError(`knowledge: refused a non-loopback ${url.protocol.replace(":", "")} request while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). This process resolved to the cloud backend under test, which means a " + "read or write was about to leave the machine and reach the live store. Select the mode explicitly " + `(${"HASNA_KNOWLEDGE_STORAGE_MODE"}=local) or point the API URL at 127.0.0.1 for a hermetic test.`, { scheme: url.protocol.replace(":", ""), port: url.port }); +} +function guardedFetch(input, init) { + assertOutboundRequestAllowed(input); + return fetch(input, init); } -function withInferredCloudMode(env) { - if (hasAnyEnv(env, MODE_ENV_KEYS)) - return env; - if (hasAnyEnv(env, API_URL_ENV_KEYS) && hasAnyEnv(env, API_KEY_ENV_KEYS)) { - return { ...env, HASNA_KNOWLEDGE_STORAGE_MODE: "cloud" }; + +// src/knowledge-mode.ts +var KNOWLEDGE_APP_SLUG = "knowledge"; +var ENV_KEYS = clientTransportEnvKeys2(KNOWLEDGE_APP_SLUG); +var KNOWLEDGE_MODE_ENV_KEYS = ENV_KEYS.modeKeys; +var KNOWLEDGE_API_URL_ENV_KEYS = ENV_KEYS.apiUrlKeys; +var KNOWLEDGE_API_KEY_ENV_KEYS = ENV_KEYS.apiKeyKeys; +function presentEnvNames(env, keys) { + return keys.filter((key) => (env[key] ?? "").trim().length > 0); +} +function resolveKnowledgeModeSelection(env = process.env) { + const pointers = [ + ...presentEnvNames(env, KNOWLEDGE_API_URL_ENV_KEYS), + ...presentEnvNames(env, KNOWLEDGE_API_KEY_ENV_KEYS) + ]; + const canonicalModeKey = KNOWLEDGE_MODE_ENV_KEYS[0]; + for (const name of KNOWLEDGE_MODE_ENV_KEYS) { + const value = env[name]?.trim(); + if (!value) + continue; + let normalized; + try { + normalized = normalizeStorageMode2(value); + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + throw new Error(`knowledge: ${name}=${value} is not a valid mode. ${message}`); + } + const warnings = []; + if (normalized.deprecatedAlias) { + warnings.push(`Deprecated mode '${normalized.deprecatedAlias}' from ${name} is treated as 'cloud'. Prefer ${canonicalModeKey}=cloud.`); + } + if (name !== canonicalModeKey) { + warnings.push(`Using alias env ${name}; the canonical key is ${canonicalModeKey}.`); + } + if (normalized.mode === "local" && pointers.length > 0) { + warnings.push(`${name}=local pins the on-box store; ${pointers.join(", ")} are set but ignored.`); + } + return { + mode: normalized.mode, + source: { kind: "env", name, value }, + pointer_env_present: pointers, + pointer_ignored: normalized.mode === "local" && pointers.length > 0, + warning: warnings.length > 0 ? warnings.join(" ") : null + }; } - return env; + return { + mode: "local", + source: { kind: "default", name: null, value: null }, + pointer_env_present: pointers, + pointer_ignored: pointers.length > 0, + warning: pointers.length > 0 ? `${pointers.join(", ")} are set but do NOT select a backend: mode is local by default. ` + `Set ${canonicalModeKey}=cloud to route reads and writes to the API, or unset those vars to silence this note.` : null + }; +} +function pinnedTransportEnv(env, mode2) { + return { ...env, [KNOWLEDGE_MODE_ENV_KEYS[0]]: mode2 }; +} +function knowledgeModeReport(env = process.env) { + const resolution = resolveKnowledgeModeSelection(env); + return { + ...resolution, + store_transport: resolution.mode === "cloud" ? "api" : "local", + api_key_present: presentEnvNames(env, KNOWLEDGE_API_KEY_ENV_KEYS).length > 0, + network_guard_active: isNetworkGuardActive(env) + }; +} + +// src/cloud-store.ts +function transportOverrides(env) { + return { + fetchImpl: guardedFetch, + ...isNetworkGuardActive(env) ? { retry: false } : {} + }; } var KNOWLEDGE_RESOURCE = "notes"; function toQuery(options) { @@ -6650,8 +13152,8 @@ function wrap(client) { baseUrl: client.baseUrl, async list(options = {}) { const wantLimit = options.limit ?? 200; - const query = toQuery({ ...options, limit: Math.min(Math.max(wantLimit, 1), 200) }); - const res = await client.list(KNOWLEDGE_RESOURCE, { query }); + const query2 = toQuery({ ...options, limit: Math.min(Math.max(wantLimit, 1), 200) }); + const res = await client.list(KNOWLEDGE_RESOURCE, { query: query2 }); let items = res.items; if (options.archivedOnly) items = items.filter((x) => x.archived === true); @@ -6696,13 +13198,17 @@ function isNotFound(error) { return Boolean(error && typeof error === "object" && error.status === 404); } function resolveKnowledgeCloudStore(env = process.env) { - const resolved = resolveStorageClient(KNOWLEDGE_APP_SLUG, withInferredCloudMode(env)); + if (resolveKnowledgeModeSelection(env).mode !== "cloud") + return null; + const resolved = resolveStorageClient(KNOWLEDGE_APP_SLUG, pinnedTransportEnv(env, "cloud"), transportOverrides(env)); if (resolved.transport !== "cloud-http") return null; return wrap(resolved.client); } function isKnowledgeApiMode(env = process.env) { - return resolveStorageClient(KNOWLEDGE_APP_SLUG, withInferredCloudMode(env)).transport === "cloud-http"; + if (resolveKnowledgeModeSelection(env).mode !== "cloud") + return false; + return resolveStorageClient(KNOWLEDGE_APP_SLUG, pinnedTransportEnv(env, "cloud"), transportOverrides(env)).transport === "cloud-http"; } async function fetchAllCloudItems(store) { const pageSize = 200; @@ -7177,593 +13683,230 @@ function migrateKnowledgeDb(path) { if (needsMigration8(db)) applyMigration8(db); if (needsMigration9(db)) - applyMigration9(db); - return { path, schema_version: getSchemaVersion(db) }; - } finally { - db.close(); - } -} -function getSchemaVersion(db) { - const row = db.query("SELECT MAX(version) AS version FROM schema_versions").get(); - return row?.version ?? 0; -} -function count(db, table) { - const row = db.query(`SELECT COUNT(*) AS n FROM ${table}`).get(); - return row?.n ?? 0; -} -function quoteIdentifier(identifier) { - return `"${identifier.replaceAll('"', '""')}"`; -} -function tableExists(db, table) { - const row = db.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get(table); - return Boolean(row); -} -function columnExists(db, table, column) { - if (!tableExists(db, table)) - return false; - const columns = db.query(`PRAGMA table_info(${quoteIdentifier(table)})`).all(); - return columns.some((row) => row.name === column); -} -function ensureColumn(db, table, column, definition) { - if (!columnExists(db, table, column)) { - db.exec(`ALTER TABLE ${quoteIdentifier(table)} ADD COLUMN ${quoteIdentifier(column)} ${definition};`); - } -} -function needsMigration7(db) { - return getSchemaVersion(db) < 7 || !columnExists(db, "knowledge_sync_changes", "logical_clock") || !columnExists(db, "knowledge_sync_changes", "bundle_id") || !tableExists(db, "knowledge_sync_table_clocks") || !tableExists(db, "knowledge_sync_imports"); -} -function applyMigration7(db) { - if (!tableExists(db, "knowledge_sync_changes")) - db.exec(MIGRATION_6); - ensureColumn(db, "knowledge_sync_changes", "logical_clock", "INTEGER NOT NULL DEFAULT 0"); - ensureColumn(db, "knowledge_sync_changes", "bundle_id", "TEXT"); - db.exec(MIGRATION_7_TABLES_AND_INDEXES); -} -function needsMigration8(db) { - return getSchemaVersion(db) < 8 || !columnExists(db, "wiki_pages", "valid_from") || !columnExists(db, "wiki_pages", "valid_to") || !columnExists(db, "wiki_pages", "supersedes") || !columnExists(db, "wiki_pages", "superseded_by") || !columnExists(db, "wiki_pages", "confidence") || !columnExists(db, "wiki_pages", "last_verified_at"); -} -function applyMigration8(db) { - if (!tableExists(db, "wiki_pages")) - db.exec(MIGRATION_1); - ensureColumn(db, "wiki_pages", "valid_from", "TEXT"); - ensureColumn(db, "wiki_pages", "valid_to", "TEXT"); - ensureColumn(db, "wiki_pages", "supersedes", "TEXT"); - ensureColumn(db, "wiki_pages", "superseded_by", "TEXT"); - ensureColumn(db, "wiki_pages", "confidence", "REAL"); - ensureColumn(db, "wiki_pages", "last_verified_at", "TEXT"); - db.exec(` - UPDATE wiki_pages - SET valid_from = COALESCE(valid_from, created_at), - last_verified_at = COALESCE(last_verified_at, updated_at), - confidence = COALESCE(confidence, 0.8) - WHERE valid_from IS NULL OR last_verified_at IS NULL OR confidence IS NULL; - `); - db.exec(MIGRATION_8_TABLES_AND_INDEXES); -} -function ftsUsesDiacriticFolding(db) { - const row = db.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts"); - return Boolean(row?.sql && row.sql.includes("remove_diacritics")); -} -function needsMigration9(db) { - if (!tableExists(db, "chunks_fts")) - return false; - return getSchemaVersion(db) < 9 || !ftsUsesDiacriticFolding(db); -} -function applyMigration9(db) { - if (!tableExists(db, "chunks_fts")) - return; - if (ftsUsesDiacriticFolding(db)) { - db.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));"); - return; - } - db.exec(MIGRATION_9_REBUILD_FTS); -} -function getKnowledgeDbStats(path) { - const db = openKnowledgeDb(path); - try { - return { - schema_version: getSchemaVersion(db), - sources: count(db, "sources"), - source_revisions: count(db, "source_revisions"), - chunks: count(db, "chunks"), - wiki_pages: count(db, "wiki_pages"), - citations: count(db, "citations"), - indexes: count(db, "knowledge_indexes"), - runs: count(db, "runs"), - run_events: count(db, "run_events"), - redaction_findings: count(db, "redaction_findings"), - audit_events: count(db, "audit_events"), - approval_gates: count(db, "approval_gates"), - storage_objects: count(db, "storage_objects"), - embeddings: count(db, "chunk_embeddings"), - vector_entries: count(db, "vector_index_entries"), - reindex_queue: count(db, "reindex_queue"), - knowledge_machines: count(db, "knowledge_machines"), - sync_snapshots: count(db, "knowledge_sync_snapshots"), - sync_changes: count(db, "knowledge_sync_changes"), - sync_conflicts: count(db, "knowledge_sync_conflicts"), - sync_table_clocks: count(db, "knowledge_sync_table_clocks"), - sync_imports: count(db, "knowledge_sync_imports") - }; - } finally { - db.close(); - } -} - -// src/db/storage-sync.ts -var STORAGE_TABLES = [ - "sources", - "wiki_pages", - "source_revisions", - "chunks", - "chunk_embeddings", - "wiki_backlinks", - "citations", - "knowledge_indexes", - "runs", - "run_events", - "provider_usage", - "redaction_findings", - "storage_objects", - "audit_events", - "approval_gates", - "vector_index_entries", - "reindex_queue", - "knowledge_machines", - "knowledge_sync_snapshots", - "knowledge_sync_changes", - "knowledge_sync_conflicts", - "knowledge_sync_table_clocks", - "knowledge_sync_imports" -]; -var KNOWLEDGE_STORAGE_TABLES = STORAGE_TABLES; -var DEPRECATED_CLOUD_ALIASES = ["remote", "hybrid", "self_hosted"]; -var KNOWLEDGE_STORAGE_MODE_ENV = "HASNA_KNOWLEDGE_STORAGE_MODE"; -var KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV = "KNOWLEDGE_STORAGE_MODE"; -var STORAGE_MODE_ENV = [KNOWLEDGE_STORAGE_MODE_ENV, KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV]; -function readEnv(name) { - const value = process.env[name]?.trim(); - return value || undefined; -} -function normalizeStorageMode2(value) { - const normalized = value?.trim().toLowerCase().replace(/-/g, "_"); - if (normalized === "local") - return "local"; - if (normalized === "cloud") - return "cloud"; - if (normalized && DEPRECATED_CLOUD_ALIASES.includes(normalized)) - return "cloud"; - return; -} -function openScopedDb(options = {}) { - const workspace = ensureKnowledgeWorkspace(resolveScopedWorkspace(options.scope, options.cwd).home); - migrateKnowledgeDb(workspace.knowledgeDbPath); - return { - db: openKnowledgeDb(workspace.knowledgeDbPath), - path: workspace.knowledgeDbPath, - scope: options.scope ?? "global" - }; -} -function getStorageMode() { - const mode = normalizeStorageMode2(readEnv(KNOWLEDGE_STORAGE_MODE_ENV)) ?? normalizeStorageMode2(readEnv(KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV)); - if (mode) - return mode; - return "local"; -} -function getSyncMetaAll(options = {}) { - const local = openScopedDb(options); - try { - ensureSyncMetaTable(local.db); - return local.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all(); - } finally { - local.db.close(); - } -} -function getStorageStatus(options = {}) { - const local = openScopedDb(options); - try { - ensureSyncMetaTable(local.db); - const sync = local.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all(); - return { - mode: getStorageMode(), - service: "knowledge", - scope: local.scope, - databasePath: local.path, - tables: STORAGE_TABLES, - sync - }; - } finally { - local.db.close(); - } -} -function resolveTables(tables) { - if (!tables || tables.length === 0) - return [...STORAGE_TABLES]; - const allowed = new Set(STORAGE_TABLES); - const requested = tables.map((table) => table.trim()).filter(Boolean); - const invalid = requested.filter((table) => !allowed.has(table)); - if (invalid.length > 0) - throw new Error(`Unknown knowledge sync table(s): ${invalid.join(", ")}`); - return requested; -} -function parseStorageTables(value) { - if (!value) - return; - return resolveTables(Array.isArray(value) ? value : value.split(",")); -} -function ensureSyncMetaTable(db) { - db.exec(` - CREATE TABLE IF NOT EXISTS _knowledge_sync_meta ( - table_name TEXT NOT NULL, - last_synced_at TEXT, - direction TEXT NOT NULL CHECK(direction IN ('push', 'pull')), - PRIMARY KEY (table_name, direction) - ) - `); -} -// src/generated/storage-kit/mode.ts -var DEPRECATED_STORAGE_MODE_ALIASES2 = [ - "remote", - "hybrid", - "self_hosted" -]; -function normalizeStorageMode3(value) { - const normalized = value.trim().toLowerCase().replace(/-/g, "_"); - if (normalized === "local") - return { mode: "local", deprecatedAlias: null }; - if (normalized === "cloud") - return { mode: "cloud", deprecatedAlias: null }; - if (DEPRECATED_STORAGE_MODE_ALIASES2.includes(normalized)) { - return { mode: "cloud", deprecatedAlias: normalized }; + applyMigration9(db); + return { path, schema_version: getSchemaVersion(db) }; + } finally { + db.close(); } - throw new Error(`Unknown storage mode: ${value}. Use local or cloud.`); -} -function envToken2(name) { - return name.toUpperCase().replace(/-/g, "_"); } -function storageEnvKeys(name) { - const token = envToken2(name); - return { - modeKeys: [`HASNA_${token}_STORAGE_MODE`, `${token}_STORAGE_MODE`], - databaseUrlKeys: [`HASNA_${token}_DATABASE_URL`, `${token}_DATABASE_URL`] - }; -} -function firstEnv(env, keys) { - for (const key of keys) { - const value = env[key]?.trim(); - if (value) - return { key, value }; - } - return null; +function getSchemaVersion(db) { + const row = db.query("SELECT MAX(version) AS version FROM schema_versions").get(); + return row?.version ?? 0; } -function resolveStorageMode(name, env = process.env) { - const { modeKeys, databaseUrlKeys } = storageEnvKeys(name); - const dbHit = firstEnv(env, databaseUrlKeys); - const databaseUrlPresent = Boolean(dbHit); - const databaseUrlSource = dbHit ? dbHit.key : null; - const modeHit = firstEnv(env, modeKeys); - if (!modeHit) { - return { - mode: "local", - source: "default", - deprecatedAlias: null, - databaseUrlPresent, - databaseUrlSource, - warning: null - }; - } - const { mode, deprecatedAlias } = normalizeStorageMode3(modeHit.value); - const warnings = []; - if (deprecatedAlias) { - warnings.push(`Deprecated storage mode '${deprecatedAlias}' from ${modeHit.key} is treated as 'cloud'. Set ${modeKeys[0]}=cloud instead.`); - } - if (mode === "cloud" && !databaseUrlPresent) { - warnings.push(`cloud mode needs ${databaseUrlKeys[0]} (PURE REMOTE: reads and writes go to cloud Postgres).`); - } - if (modeHit.key !== modeKeys[0]) { - warnings.push(`Using alias env ${modeHit.key}; the canonical key is ${modeKeys[0]}.`); - } - return { - mode, - source: modeHit.key, - deprecatedAlias, - databaseUrlPresent, - databaseUrlSource, - warning: warnings.length > 0 ? warnings.join(" ") : null - }; +function count(db, table) { + const row = db.query(`SELECT COUNT(*) AS n FROM ${table}`).get(); + return row?.n ?? 0; } -function resolveDatabaseUrl(name, env = process.env) { - const { databaseUrlKeys } = storageEnvKeys(name); - const hit = firstEnv(env, databaseUrlKeys); - return hit ? hit.value : null; +function quoteIdentifier(identifier) { + return `"${identifier.replaceAll('"', '""')}"`; } -// src/generated/storage-kit/tls.ts -import { readFileSync as readFileSync2 } from "fs"; -function sslModeFromConnectionString(connectionString) { - const queryStart = connectionString.indexOf("?"); - const params = new URLSearchParams(queryStart === -1 ? "" : connectionString.slice(queryStart + 1)); - const sslmode = params.get("sslmode")?.trim().toLowerCase(); - if (sslmode) { - switch (sslmode) { - case "disable": - case "prefer": - case "require": - case "verify-ca": - case "verify-full": - return sslmode; - case "allow": - return "prefer"; - default: - throw new Error(`Unknown sslmode '${sslmode}' in connection string.`); - } - } - const ssl = params.get("ssl")?.trim().toLowerCase(); - if (ssl && ["1", "true", "yes", "on", "require"].includes(ssl)) - return "require"; - return "disable"; +function tableExists(db, table) { + const row = db.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get(table); + return Boolean(row); } -function loadCaBundle(options) { - const env = options.env ?? process.env; - if (options.ca && options.ca.trim()) - return options.ca; - const path = options.caCertPath ?? env.PGSSLROOTCERT ?? env.NODE_EXTRA_CA_CERTS; - if (path && path.trim()) - return readFileSync2(path.trim(), "utf8"); - return null; +function columnExists(db, table, column) { + if (!tableExists(db, table)) + return false; + const columns = db.query(`PRAGMA table_info(${quoteIdentifier(table)})`).all(); + return columns.some((row) => row.name === column); } -function resolveTlsConfig(connectionString, options = {}) { - const mode = sslModeFromConnectionString(connectionString); - if (mode === "disable") { - return; - } - const ca = loadCaBundle(options); - if (mode === "prefer" || mode === "require") { - return ca ? { rejectUnauthorized: false, ca } : { rejectUnauthorized: false }; - } - if (!ca) { - throw new Error(`sslmode=${mode} requires a CA bundle. Set PGSSLROOTCERT (or pass caCertPath/ca) to the ` + `Amazon RDS global bundle: https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem`); +function ensureColumn(db, table, column, definition) { + if (!columnExists(db, table, column)) { + db.exec(`ALTER TABLE ${quoteIdentifier(table)} ADD COLUMN ${quoteIdentifier(column)} ${definition};`); } - return { rejectUnauthorized: true, ca }; -} -// src/generated/storage-kit/query.ts -function wrapExecutor(executor) { - return { - async query(sql, params) { - const result = await executor.query(sql, params); - return { rows: result.rows, rowCount: result.rowCount ?? result.rows.length }; - }, - async many(sql, params) { - const result = await executor.query(sql, params); - return result.rows; - }, - async get(sql, params) { - const result = await executor.query(sql, params); - return result.rows[0] ?? null; - }, - async one(sql, params) { - const result = await executor.query(sql, params); - if (result.rows.length !== 1) { - throw new Error(`Expected exactly one row, got ${result.rows.length}.`); - } - return result.rows[0]; - }, - async execute(sql, params) { - await executor.query(sql, params); - } - }; } -function createQueryClient(pool) { - const base = wrapExecutor(pool); - return { - ...base, - pool, - async transaction(fn) { - const client = await pool.connect(); - try { - await client.query("BEGIN"); - const result = await fn(wrapExecutor(client)); - await client.query("COMMIT"); - return result; - } catch (error) { - try { - await client.query("ROLLBACK"); - } catch {} - throw error; - } finally { - client.release(); - } - }, - async close() { - await pool.end(); - } - }; +function needsMigration7(db) { + return getSchemaVersion(db) < 7 || !columnExists(db, "knowledge_sync_changes", "logical_clock") || !columnExists(db, "knowledge_sync_changes", "bundle_id") || !tableExists(db, "knowledge_sync_table_clocks") || !tableExists(db, "knowledge_sync_imports"); } -// src/generated/storage-kit/pool.ts -import pg from "pg"; -function createPgPool(options) { - const ssl = resolveTlsConfig(options.connectionString, { - ...options.ca !== undefined ? { ca: options.ca } : {}, - ...options.caCertPath !== undefined ? { caCertPath: options.caCertPath } : {}, - ...options.env !== undefined ? { env: options.env } : {} - }); - const config = { connectionString: options.connectionString }; - if (ssl !== undefined) - config.ssl = ssl; - if (options.max !== undefined) - config.max = options.max; - if (options.idleTimeoutMillis !== undefined) - config.idleTimeoutMillis = options.idleTimeoutMillis; - if (options.connectionTimeoutMillis !== undefined) - config.connectionTimeoutMillis = options.connectionTimeoutMillis; - if (options.applicationName !== undefined) - config.application_name = options.applicationName; - return new pg.Pool(config); +function applyMigration7(db) { + if (!tableExists(db, "knowledge_sync_changes")) + db.exec(MIGRATION_6); + ensureColumn(db, "knowledge_sync_changes", "logical_clock", "INTEGER NOT NULL DEFAULT 0"); + ensureColumn(db, "knowledge_sync_changes", "bundle_id", "TEXT"); + db.exec(MIGRATION_7_TABLES_AND_INDEXES); } -function createCloudPoolFromEnv(appName, options = {}) { - const env = options.env ?? process.env; - const resolution = resolveStorageMode(appName, env); - if (resolution.mode !== "cloud") { - throw new Error(`createCloudPoolFromEnv requires ${appName} storage mode 'cloud', got '${resolution.mode}'. ` + `Set HASNA_${appName.toUpperCase().replace(/-/g, "_")}_STORAGE_MODE=cloud.`); - } - const connectionString = resolveDatabaseUrl(appName, env); - if (!connectionString) { - throw new Error(`cloud mode for ${appName} needs a database URL. Set ` + `HASNA_${appName.toUpperCase().replace(/-/g, "_")}_DATABASE_URL.`); - } - const pool = createPgPool({ - connectionString, - ...options.ca !== undefined ? { ca: options.ca } : {}, - ...options.caCertPath !== undefined ? { caCertPath: options.caCertPath } : {}, - env, - ...options.max !== undefined ? { max: options.max } : {}, - ...options.idleTimeoutMillis !== undefined ? { idleTimeoutMillis: options.idleTimeoutMillis } : {}, - ...options.connectionTimeoutMillis !== undefined ? { connectionTimeoutMillis: options.connectionTimeoutMillis } : {}, - ...options.applicationName !== undefined ? { applicationName: options.applicationName } : {} - }); - return { - client: createQueryClient(pool), - connectionSource: resolution.databaseUrlSource ?? "unknown" - }; +function needsMigration8(db) { + return getSchemaVersion(db) < 8 || !columnExists(db, "wiki_pages", "valid_from") || !columnExists(db, "wiki_pages", "valid_to") || !columnExists(db, "wiki_pages", "supersedes") || !columnExists(db, "wiki_pages", "superseded_by") || !columnExists(db, "wiki_pages", "confidence") || !columnExists(db, "wiki_pages", "last_verified_at"); } -// src/generated/storage-kit/migrations.ts -import { createHash } from "crypto"; -var DEFAULT_MIGRATION_LEDGER_TABLE = "schema_migrations"; -function checksumSql(sql) { - const normalized = sql.trim().replace(/\r\n/g, ` -`); - return `sha256:${createHash("sha256").update(normalized).digest("hex")}`; +function applyMigration8(db) { + if (!tableExists(db, "wiki_pages")) + db.exec(MIGRATION_1); + ensureColumn(db, "wiki_pages", "valid_from", "TEXT"); + ensureColumn(db, "wiki_pages", "valid_to", "TEXT"); + ensureColumn(db, "wiki_pages", "supersedes", "TEXT"); + ensureColumn(db, "wiki_pages", "superseded_by", "TEXT"); + ensureColumn(db, "wiki_pages", "confidence", "REAL"); + ensureColumn(db, "wiki_pages", "last_verified_at", "TEXT"); + db.exec(` + UPDATE wiki_pages + SET valid_from = COALESCE(valid_from, created_at), + last_verified_at = COALESCE(last_verified_at, updated_at), + confidence = COALESCE(confidence, 0.8) + WHERE valid_from IS NULL OR last_verified_at IS NULL OR confidence IS NULL; + `); + db.exec(MIGRATION_8_TABLES_AND_INDEXES); } -function defineMigration(id, sql) { - return Object.freeze({ id, sql: sql.trim(), checksum: checksumSql(sql) }); +function ftsUsesDiacriticFolding(db) { + const row = db.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts"); + return Boolean(row?.sql && row.sql.includes("remove_diacritics")); } -function hasTransaction(client) { - return typeof client.transaction === "function"; +function needsMigration9(db) { + if (!tableExists(db, "chunks_fts")) + return false; + return getSchemaVersion(db) < 9 || !ftsUsesDiacriticFolding(db); } - -class MigrationLedger { - client; - migrations; - ledgerTable; - constructor(client, migrations, options = {}) { - this.client = client; - this.migrations = migrations; - this.ledgerTable = options.ledgerTable ?? DEFAULT_MIGRATION_LEDGER_TABLE; - const seen = new Set; - for (const migration of migrations) { - if (seen.has(migration.id)) - throw new Error(`Duplicate migration id: ${migration.id}`); - seen.add(migration.id); - } - } - async ensureLedger() { - await this.client.execute(`CREATE TABLE IF NOT EXISTS ${this.ledgerTable} ( - id TEXT PRIMARY KEY, - checksum TEXT NOT NULL, - applied_at TIMESTAMPTZ NOT NULL DEFAULT now() - )`); - } - async listApplied() { - await this.ensureLedger(); - return this.readApplied(); - } - async readApplied() { - const rows = await this.client.many(`SELECT id, checksum, applied_at FROM ${this.ledgerTable} ORDER BY id ASC`); - return rows.map((row) => ({ - id: row.id, - checksum: row.checksum, - appliedAt: row.applied_at instanceof Date ? row.applied_at.toISOString() : String(row.applied_at) - })); - } - buildPlan(applied) { - const known = new Set(this.migrations.map((m) => m.id)); - for (const row of applied) { - if (!known.has(row.id)) { - throw new Error(`Applied migration '${row.id}' is not recognized by this build (downgrade?).`); - } - } - const appliedById = new Map(applied.map((row) => [row.id, row])); - for (const migration of this.migrations) { - const existing = appliedById.get(migration.id); - if (existing && existing.checksum !== migration.checksum) { - throw new Error(`Migration checksum mismatch for '${migration.id}': the SQL changed after it was applied.`); - } - } - return this.migrations.map((migration) => ({ - migration, - state: appliedById.has(migration.id) ? "already_applied" : "pending" - })); - } - async migrate(opts = {}) { - const dryRun = opts.dryRun === true; - await this.ensureLedger(); - const applied = await this.readApplied(); - const plan = this.buildPlan(applied); - if (dryRun) - return { dryRun, applied, plan }; - for (const item of plan) { - if (item.state === "already_applied") - continue; - await this.applyPendingMigration(item.migration); - } - return { dryRun, applied: await this.readApplied(), plan }; +function applyMigration9(db) { + if (!tableExists(db, "chunks_fts")) + return; + if (ftsUsesDiacriticFolding(db)) { + db.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));"); + return; } - async applyPendingMigration(migration) { - const apply = async (client) => { - await client.execute(migration.sql); - await client.execute(`INSERT INTO ${this.ledgerTable} (id, checksum, applied_at) VALUES ($1, $2, now())`, [migration.id, migration.checksum]); + db.exec(MIGRATION_9_REBUILD_FTS); +} +function getKnowledgeDbStats(path) { + const db = openKnowledgeDb(path); + try { + return { + schema_version: getSchemaVersion(db), + sources: count(db, "sources"), + source_revisions: count(db, "source_revisions"), + chunks: count(db, "chunks"), + wiki_pages: count(db, "wiki_pages"), + citations: count(db, "citations"), + indexes: count(db, "knowledge_indexes"), + runs: count(db, "runs"), + run_events: count(db, "run_events"), + redaction_findings: count(db, "redaction_findings"), + audit_events: count(db, "audit_events"), + approval_gates: count(db, "approval_gates"), + storage_objects: count(db, "storage_objects"), + embeddings: count(db, "chunk_embeddings"), + vector_entries: count(db, "vector_index_entries"), + reindex_queue: count(db, "reindex_queue"), + knowledge_machines: count(db, "knowledge_machines"), + sync_snapshots: count(db, "knowledge_sync_snapshots"), + sync_changes: count(db, "knowledge_sync_changes"), + sync_conflicts: count(db, "knowledge_sync_conflicts"), + sync_table_clocks: count(db, "knowledge_sync_table_clocks"), + sync_imports: count(db, "knowledge_sync_imports") }; - if (hasTransaction(this.client)) { - await this.client.transaction(apply); - return; - } - await this.client.execute("BEGIN"); - try { - await apply(this.client); - await this.client.execute("COMMIT"); - } catch (error) { - try { - await this.client.execute("ROLLBACK"); - } catch {} - throw error; - } + } finally { + db.close(); } } -function createMigrationLedger(client, migrations, options = {}) { - return new MigrationLedger(client, migrations, options); + +// src/db/storage-sync.ts +var STORAGE_TABLES = [ + "sources", + "wiki_pages", + "source_revisions", + "chunks", + "chunk_embeddings", + "wiki_backlinks", + "citations", + "knowledge_indexes", + "runs", + "run_events", + "provider_usage", + "redaction_findings", + "storage_objects", + "audit_events", + "approval_gates", + "vector_index_entries", + "reindex_queue", + "knowledge_machines", + "knowledge_sync_snapshots", + "knowledge_sync_changes", + "knowledge_sync_conflicts", + "knowledge_sync_table_clocks", + "knowledge_sync_imports" +]; +var KNOWLEDGE_STORAGE_TABLES = STORAGE_TABLES; +var DEPRECATED_CLOUD_ALIASES = ["remote", "hybrid", "self_hosted"]; +var KNOWLEDGE_STORAGE_MODE_ENV = "HASNA_KNOWLEDGE_STORAGE_MODE"; +var KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV = "KNOWLEDGE_STORAGE_MODE"; +var STORAGE_MODE_ENV = [KNOWLEDGE_STORAGE_MODE_ENV, KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV]; +function readEnv(name) { + const value = process.env[name]?.trim(); + return value || undefined; } -// src/generated/storage-kit/health.ts -async function checkHealth(client) { - const start = Date.now(); +function normalizeStorageMode3(value) { + const normalized = value?.trim().toLowerCase().replace(/-/g, "_"); + if (normalized === "local") + return "local"; + if (normalized === "cloud") + return "cloud"; + if (normalized && DEPRECATED_CLOUD_ALIASES.includes(normalized)) + return "cloud"; + return; +} +function openScopedDb(options = {}) { + const workspace = ensureKnowledgeWorkspace(resolveScopedWorkspace(options.scope, options.cwd).home); + migrateKnowledgeDb(workspace.knowledgeDbPath); + return { + db: openKnowledgeDb(workspace.knowledgeDbPath), + path: workspace.knowledgeDbPath, + scope: options.scope ?? "global" + }; +} +function getStorageMode() { + const mode2 = normalizeStorageMode3(readEnv(KNOWLEDGE_STORAGE_MODE_ENV)) ?? normalizeStorageMode3(readEnv(KNOWLEDGE_STORAGE_MODE_FALLBACK_ENV)); + if (mode2) + return mode2; + return "local"; +} +function getSyncMetaAll(options = {}) { + const local = openScopedDb(options); try { - await client.get("SELECT 1 AS ok"); - return { ok: true, latencyMs: Date.now() - start }; - } catch (error) { - return { - ok: false, - latencyMs: Date.now() - start, - error: error instanceof Error ? error.message : String(error) - }; + ensureSyncMetaTable(local.db); + return local.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all(); + } finally { + local.db.close(); } } -async function checkReady(client, migrations, options = {}) { - const start = Date.now(); +function getStorageStatus(options = {}) { + const local = openScopedDb(options); try { - const ledger = new MigrationLedger(client, migrations, options); - const result = await ledger.migrate({ dryRun: true }); - const pending = result.plan.filter((item) => item.state === "pending").map((item) => item.migration.id); - return { ok: pending.length === 0, latencyMs: Date.now() - start, pendingMigrations: pending }; - } catch (error) { + ensureSyncMetaTable(local.db); + const sync = local.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all(); return { - ok: false, - latencyMs: Date.now() - start, - pendingMigrations: [], - error: error instanceof Error ? error.message : String(error) + mode: getStorageMode(), + service: "knowledge", + scope: local.scope, + databasePath: local.path, + tables: STORAGE_TABLES, + sync }; + } finally { + local.db.close(); } } - -// src/generated/storage-kit/index.ts -var KIT_VERSION = "0.4.0"; - +function resolveTables(tables) { + if (!tables || tables.length === 0) + return [...STORAGE_TABLES]; + const allowed = new Set(STORAGE_TABLES); + const requested = tables.map((table) => table.trim()).filter(Boolean); + const invalid = requested.filter((table) => !allowed.has(table)); + if (invalid.length > 0) + throw new Error(`Unknown knowledge sync table(s): ${invalid.join(", ")}`); + return requested; +} +function parseStorageTables(value) { + if (!value) + return; + return resolveTables(Array.isArray(value) ? value : value.split(",")); +} +function ensureSyncMetaTable(db) { + db.exec(` + CREATE TABLE IF NOT EXISTS _knowledge_sync_meta ( + table_name TEXT NOT NULL, + last_synced_at TEXT, + direction TEXT NOT NULL CHECK(direction IN ('push', 'pull')), + PRIMARY KEY (table_name, direction) + ) + `); +} // src/db/remote-storage.ts var KNOWLEDGE_APP_NAME = "knowledge"; function createKnowledgeCloudClient() { @@ -8117,7 +14260,7 @@ export { resolveStorageMode, resolveDatabaseUrl, parseStorageTables, - normalizeStorageMode3 as normalizeCloudStorageMode, + normalizeStorageMode2 as normalizeCloudStorageMode, getSyncMetaAll, getStorageStatus, getStorageMode, diff --git a/src/cli.ts b/src/cli.ts index 9750339..2145bb2 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -7,6 +7,13 @@ import { defaultStorePath, ensureStore, importLegacyGlobalStore, type KnowledgeItem } from './store'; import { resolveItemStore, type ItemStore } from './item-store'; import { isKnowledgeApiMode } from './cloud-store'; +import { + KNOWLEDGE_API_KEY_ENV_KEYS, + KNOWLEDGE_API_URL_ENV_KEYS, + KNOWLEDGE_MODE_ENV_KEYS, + knowledgeModeReport, + type KnowledgeModeReport, +} from './knowledge-mode'; import { openKnowledgeDb } from './knowledge-db'; import { createKnowledgeService } from './service'; import { createKnowledgeProjectPanel, formatKnowledgeProjectPanel } from './project-panel'; @@ -117,7 +124,7 @@ interface ParseResult { } const EVENTS_COMMANDS = ['events', 'webhooks']; -const COMMANDS = ['add', 'list', 'get', 'delete', 'update', 'archive', 'restore', 'upsert', 'untag', 'export', 'prune', 'dedupe', 'stats', 'inventory', 'project-panel', 'paths', 'setup', 'auth', 'storage', 'machines', 'sync', 'db', 'wiki', 'app-wiki', 'source', 'ingest', 'reindex', 'search', 'context', 'proposals', 'web', 'ask', 'build', 'embeddings', 'providers', 'safety', 'help', ...EVENTS_COMMANDS]; +const COMMANDS = ['add', 'list', 'get', 'delete', 'update', 'archive', 'restore', 'upsert', 'untag', 'export', 'prune', 'dedupe', 'stats', 'inventory', 'project-panel', 'paths', 'mode', 'setup', 'auth', 'storage', 'machines', 'sync', 'db', 'wiki', 'app-wiki', 'source', 'ingest', 'reindex', 'search', 'context', 'proposals', 'web', 'ask', 'build', 'embeddings', 'providers', 'safety', 'help', ...EVENTS_COMMANDS]; const COMMAND_ALIASES: Record<string, string> = { ls: 'list', rm: 'delete', @@ -325,6 +332,7 @@ Commands: inventory Show all local knowledge layers and previews project-panel Emit Projects dashboard project-panel contract paths Show resolved workspace/store paths + mode Report the resolved backend (local or cloud) and why setup Configure local, hosted, or canonical example S3 mode auth login|whoami|logout Manage hosted API credentials storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path|import-legacy @@ -454,6 +462,7 @@ function printCommandHelp(command: string): void { if (command === 'inventory') { console.log('Usage: knowledge inventory [--scope local|global|project] [--limit <n>] [--include-archived] [--verbose] [--json]'); return; } if (command === 'project-panel') { console.log('Usage: knowledge project-panel --project <id|name|slug> [--scope project|local|global] [--limit <n>] [--include-archived] [--json|--contract]'); return; } if (command === 'paths') { console.log('Usage: knowledge paths [--scope local|global|project] [--verbose] [--json]'); return; } + if (command === 'mode') { console.log(`Usage: knowledge mode [--json]\n Reports which backend this process would use — local (on-box store) or cloud (HTTP /v1) — and\n which env var selected it. Reads the environment only: no store is opened, no config file is read,\n and no request is made, so it is safe on a machine with no config and no network.\n Selection is EXPLICIT-ONLY: set ${KNOWLEDGE_MODE_ENV_KEYS[0]}=local|cloud. Setting only\n ${KNOWLEDGE_API_URL_ENV_KEYS[0]} / ${KNOWLEDGE_API_KEY_ENV_KEYS[0]} does NOT switch backends;\n those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`); return; } if (command === 'setup') { console.log('Usage: knowledge setup --mode local|hosted [--api-url https://...] [--canonical-example] [--scope local|global|project] [--json]'); return; } if (command === 'auth') { console.log('Usage: knowledge auth login|whoami|logout [--api-key <key>] [--email <email>] [--org <slug>] [--api-url https://...] [--scope local|global|project] [--json]'); return; } if (command === 'storage') { console.log('Usage: knowledge storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path [--approve-write --approved-by <name>] [--scope local|global|project] [--json]\n knowledge storage import-legacy [--dry-run] [--scope global] [--json]'); return; } @@ -516,6 +525,29 @@ function compactObjectFallback(data: unknown): string { return lines.join('\n'); } +/** + * Human rendering of `knowledge mode`. States the backend first, then the exact + * env var that chose it, then any pointer vars that are present and ignored — + * the configuration that used to switch backends silently. NAMES only: one of + * those variables holds an API key and another holds a URL. + */ +function formatMode(report: KnowledgeModeReport): string { + const backend = report.mode === 'cloud' ? 'cloud (HTTP /v1 API)' : 'local (on-box store)'; + const chose = report.source.kind === 'env' + ? `selected by ${report.source.name}=${report.source.value}` + : `default (no mode var set; set ${KNOWLEDGE_MODE_ENV_KEYS[0]}=cloud to use the API)`; + const lines = [`Knowledge mode: ${backend}`, ` ${chose}`]; + if (report.pointer_env_present.length > 0) { + const verb = report.pointer_ignored ? 'present but IGNORED for mode selection' : 'present'; + lines.push(` Pointer env ${verb}: ${report.pointer_env_present.join(', ')}`); + } + if (report.network_guard_active) { + lines.push(' Outbound guard: ACTIVE (NODE_ENV=test) — non-loopback requests are refused.'); + } + if (report.warning) lines.push(` Note: ${report.warning}`); + return lines.join('\n'); +} + function formatPaths(paths: Record<string, any>): string { return [ `Knowledge paths (${paths.scope})`, @@ -802,11 +834,11 @@ async function run(argv: string[]): Promise<void> { if (flags.completions) { const shell = flags.completions; if (shell === 'bash') { - console.log(`_knowledge() { local cur; cur="${"$"}{COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge`); + console.log(`_knowledge() { local cur; cur="${"$"}{COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge`); } else if (shell === 'zsh') { - console.log(`#compdef knowledge\n_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"\{created,title\}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"\{search,loops,runs\}:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"\{local,hosted\}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"\{local,global,project\}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`); + console.log(`#compdef knowledge\n_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"\{created,title\}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"\{search,loops,runs\}:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"\{local,hosted\}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"\{local,global,project\}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`); } else if (shell === 'fish') { - console.log(`complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables`); + console.log(`complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables`); } else { throw new Error("Invalid --completions value. Use 'bash', 'zsh', or 'fish'."); } @@ -838,6 +870,20 @@ async function run(argv: string[]): Promise<void> { return; } + // Answered BEFORE the service is constructed, and deliberately so. The point + // of this command is to tell an operator which backend the CLI resolved + // without changing anything on the way to the answer, and a diagnostic that + // creates the store it is reporting on is worse than no diagnostic: in the + // sibling mementos fix the equivalent command created a 720 KB database via a + // pre-command hook, which then made an isolation assertion unfalsifiable + // because the file it checked for already existed. Keep this above every + // store, config, and db touch. + if (command === 'mode') { + const report = knowledgeModeReport(process.env); + output(flags.json || flags.verbose ? { ok: true, ...report } : formatMode(report), flags.json, flags); + return; + } + const serviceScope = command === 'project-panel' || command === 'app-wiki' ? (flags.scope ?? 'project') : flags.scope; const service = createKnowledgeService({ scope: serviceScope }); if (command === 'storage') { diff --git a/src/cloud-store.ts b/src/cloud-store.ts index 7a8e6fa..fa11235 100644 --- a/src/cloud-store.ts +++ b/src/cloud-store.ts @@ -3,58 +3,52 @@ * Copyright 2026 Hasna Inc. * Licensed under the Apache License, Version 2.0 * - * This is the client-side piece that makes `mode=self_hosted` real for the - * knowledge CLI/MCP. When the client-flip contract resolves to `cloud-http` - * (i.e. HASNA_KNOWLEDGE_STORAGE_MODE=self_hosted AND HASNA_KNOWLEDGE_API_URL + - * HASNA_KNOWLEDGE_API_KEY are set), ALL knowledge-item reads and writes are - * routed to the app's cloud HTTP API (`https://knowledge.md/v1/notes`) - * with the bearer key — NOT the local db.json store, NOT a raw DSN. + * This is the client-side piece that makes `mode=cloud` real for the knowledge + * CLI/MCP. When the mode resolves to cloud, ALL knowledge-item reads and writes + * are routed to the app's HTTP API (`/v1/notes`) with the bearer key — NOT the + * local db.json store, NOT a raw DSN. Otherwise this returns `null` and the CLI + * uses its local db.json store (fully reversible: set the mode back to local). * - * When the flip does not resolve to cloud, this returns `null` and the CLI uses - * its local db.json store exactly as before (fully reversible: unset the env - * vars -> local). + * MODE SELECTION LIVES IN knowledge-mode.ts AND IS EXPLICIT-ONLY. The presence + * of `HASNA_KNOWLEDGE_API_URL` / `HASNA_KNOWLEDGE_API_KEY` does NOT select the + * cloud backend — those two are pointers, and treating them as a selector is + * what let an ambient pair of exported shell variables route a test suite's + * writes to the live store. Every entry point below resolves the mode first and + * hands the contracts resolver a mode-PINNED env, so the presence-inference + * inside @hasna/contracts cannot pick a backend behind us either. * * SAFETY: never logs, returns, or embeds the API key. The key lives only inside - * the HTTP transport created by @hasna/contracts. + * the HTTP transport created by @hasna/contracts. Every transport this module + * builds has the outbound request guard in front of its fetch, so a cloud + * request that somehow resolves under `NODE_ENV=test` is refused at the socket + * boundary instead of reaching the live store. */ import { resolveStorageClient, type HasnaStorageClient } from '@hasna/contracts/client/storage'; import type { KnowledgeItem } from './store'; +import { + KNOWLEDGE_APP_SLUG, + pinnedTransportEnv, + resolveKnowledgeModeSelection, +} from './knowledge-mode.js'; +import { guardedFetch, isNetworkGuardActive } from './net-guard.js'; -/** App slug used for the client-flip env keys (HASNA_KNOWLEDGE_*). */ -export const KNOWLEDGE_APP_SLUG = 'knowledge'; +export { KNOWLEDGE_APP_SLUG }; /** - * Storage-mode env keys the contracts client-flip inspects, in priority order. - * Mirrors `clientTransportEnvKeys('knowledge')` in @hasna/contracts. - */ -const MODE_ENV_KEYS = [ - 'HASNA_KNOWLEDGE_STORAGE_MODE', - 'HASNA_KNOWLEDGE_MODE', - 'KNOWLEDGE_STORAGE_MODE', - 'KNOWLEDGE_MODE', -] as const; -const API_URL_ENV_KEYS = ['HASNA_KNOWLEDGE_API_URL', 'KNOWLEDGE_API_URL'] as const; -const API_KEY_ENV_KEYS = ['HASNA_KNOWLEDGE_API_KEY', 'KNOWLEDGE_API_KEY'] as const; - -function hasAnyEnv(env: NodeJS.ProcessEnv, keys: readonly string[]): boolean { - return keys.some((k) => (env[k] ?? '').trim().length > 0); -} - -/** - * The fleet flip writes exactly two vars per app — - * `HASNA_KNOWLEDGE_API_URL` + `HASNA_KNOWLEDGE_API_KEY` — and no STORAGE_MODE. - * Presence of BOTH is the self_hosted trigger. When no explicit storage-mode - * var is present we infer `cloud` so the contracts resolver routes every - * read/write to the HTTP client. An explicit storage-mode var always wins - * (e.g. `...STORAGE_MODE=local` pins local), so the cloud flip stays fully - * reversible: unset either the API URL or the API key -> local db.json. + * Transport overrides applied to every cloud client this module builds. + * + * `fetchImpl` is the request-boundary guard and is installed unconditionally — + * it decides per request, so a client constructed before `NODE_ENV` is set is + * still guarded. `retry: false` only while the guard is armed: a refusal is not + * a transient network error, and the contracts transport treats a thrown + * fetch error as retryable, so without this each refused request would sleep + * through two pointless backoffs before surfacing the same failure. */ -function withInferredCloudMode(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv { - if (hasAnyEnv(env, MODE_ENV_KEYS)) return env; // explicit mode wins - if (hasAnyEnv(env, API_URL_ENV_KEYS) && hasAnyEnv(env, API_KEY_ENV_KEYS)) { - return { ...env, HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud' }; - } - return env; +function transportOverrides(env: NodeJS.ProcessEnv) { + return { + fetchImpl: guardedFetch, + ...(isNetworkGuardActive(env) ? { retry: false as const } : {}), + }; } /** Cloud resource path served under /v1 by knowledge-serve. */ @@ -173,25 +167,34 @@ function isNotFound(error: unknown): boolean { /** * Resolve the cloud knowledge store from the environment. Returns a ready - * {@link KnowledgeCloudStore} when the client-flip resolves to cloud-http, else - * `null` so the caller uses the local db.json store. Throws if cloud was - * requested but misconfigured (never silent local drift). + * {@link KnowledgeCloudStore} when the mode is explicitly cloud, else `null` so + * the caller uses the local db.json store. Throws if cloud was requested but + * misconfigured (never silent local drift). + * + * On the local path the contracts resolver is not called at all: no transport is + * built, no key is read, and there is nothing for a second layer to infer from. */ export function resolveKnowledgeCloudStore(env: NodeJS.ProcessEnv = process.env): KnowledgeCloudStore | null { - const resolved = resolveStorageClient(KNOWLEDGE_APP_SLUG, withInferredCloudMode(env)); + if (resolveKnowledgeModeSelection(env).mode !== 'cloud') return null; + const resolved = resolveStorageClient(KNOWLEDGE_APP_SLUG, pinnedTransportEnv(env, 'cloud'), transportOverrides(env)); if (resolved.transport !== 'cloud-http') return null; return wrap(resolved.client); } /** - * True when the client-flip resolves to the cloud HTTP transport (self_hosted / - * cloud). This is the single mode signal the whole client uses: item commands - * route to the ApiStore, and the local sqlite catalog is refused (never a silent - * split-brain write). Local mode (default) returns false. Throws only when cloud - * was requested but misconfigured — matching the item Store, never silent drift. + * True when this process routes knowledge items to the cloud HTTP transport. + * The single mode signal the whole client uses: item commands route to the + * ApiStore, and the local sqlite catalog is refused (never a silent split-brain + * write). Local — the default, and the answer whenever no mode var says + * otherwise — returns false. Throws only when cloud was explicitly requested + * but misconfigured, matching the item Store: never silent drift. */ export function isKnowledgeApiMode(env: NodeJS.ProcessEnv = process.env): boolean { - return resolveStorageClient(KNOWLEDGE_APP_SLUG, withInferredCloudMode(env)).transport === 'cloud-http'; + if (resolveKnowledgeModeSelection(env).mode !== 'cloud') return false; + return ( + resolveStorageClient(KNOWLEDGE_APP_SLUG, pinnedTransportEnv(env, 'cloud'), transportOverrides(env)).transport + === 'cloud-http' + ); } /** diff --git a/src/index.ts b/src/index.ts index f5092f1..f23aac7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -47,6 +47,26 @@ export { type KnowledgeCloudListOptions, type KnowledgeCloudPatch, } from './cloud-store.js'; +export { + KNOWLEDGE_API_KEY_ENV_KEYS, + KNOWLEDGE_API_URL_ENV_KEYS, + KNOWLEDGE_MODE_ENV_KEYS, + knowledgeModeReport, + pinnedTransportEnv, + resolveKnowledgeModeSelection, + type KnowledgeMode, + type KnowledgeModeReport, + type KnowledgeModeResolution, + type KnowledgeModeSource, +} from './knowledge-mode.js'; +export { + NETWORK_GUARD_ENV, + KnowledgeNetworkGuardError, + assertOutboundRequestAllowed, + guardedFetch, + isLoopbackHostname, + isNetworkGuardActive, +} from './net-guard.js'; export { buildKnowledgeAgentContextPack, type KnowledgeAgentContextCitation, diff --git a/src/item-store.ts b/src/item-store.ts index 5e788ee..5f08ca1 100644 --- a/src/item-store.ts +++ b/src/item-store.ts @@ -8,11 +8,15 @@ * - ApiItemStore -> HTTP `/v1` + bearer key (self_hosted / cloud) via * @hasna/contracts client transport. * - * Mode resolver: presence of HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY - * (and/or a *_STORAGE_MODE var) => api transport; otherwise local. `self_hosted` - * and `cloud` BOTH use ApiItemStore (identical client code; only URL/key differ — - * that distinction is server-side tenancy, not client). An explicit `--store` - * path override always pins to the local transport (fully reversible). + * Mode resolver: an EXPLICIT mode var (`HASNA_KNOWLEDGE_STORAGE_MODE=cloud` and + * its aliases, see knowledge-mode.ts) selects the api transport; everything else + * — including a machine whose shell exports HASNA_KNOWLEDGE_API_URL and + * HASNA_KNOWLEDGE_API_KEY — is local. Presence of a URL or key is a pointer, not + * a selection: it says where the cloud is, not that this process should write to + * it. `self_hosted` normalizes to `cloud` and uses ApiItemStore (identical + * client code; only URL/key differ — that distinction is server-side tenancy, + * not client). An explicit `--store` path override always pins to the local + * transport (fully reversible). * * EVERY knowledge-item CLI command routes through this Store. No item command * touches the JSON file or the HTTP client directly — that is the split-brain @@ -226,9 +230,9 @@ export interface ResolveItemStoreOptions { /** * Resolve the single item Store for this invocation. Returns the ApiItemStore - * when the client-flip resolves to the cloud HTTP transport, otherwise the - * LocalItemStore. An explicit `--store` override always yields the local - * transport so the flip stays fully reversible. + * only when the mode is explicitly cloud, otherwise the LocalItemStore. An + * explicit `--store` override always yields the local transport so the flip + * stays fully reversible. */ export function resolveItemStore(options: ResolveItemStoreOptions): ItemStore { const cloud = options.storePathOverridden ? null : resolveKnowledgeCloudStore(options.env ?? process.env); diff --git a/src/knowledge-mode.ts b/src/knowledge-mode.ts new file mode 100644 index 0000000..e1b2e40 --- /dev/null +++ b/src/knowledge-mode.ts @@ -0,0 +1,191 @@ +/** + * @hasna/knowledge — explicit client mode selection. + * Copyright 2026 Hasna Inc. + * Licensed under the Apache License, Version 2.0 + * + * ONE question, answered in ONE place: does this process read and write the + * on-box store, or the app's HTTP API? + * + * The rule is EXPLICIT-ONLY. A mode env var selects the mode; the presence of an + * API URL or an API key never does. Those two are *pointers* — they say where + * the cloud is and how to authenticate to it, not that we should be talking to + * it. Selection by presence is what made an ambient `HASNA_KNOWLEDGE_API_URL` + + * `HASNA_KNOWLEDGE_API_KEY` exported in a login shell silently route a test + * suite's writes to the live store: every pane inherited the variables from the + * tmux server, nothing in the CLI said which backend it had picked, and the + * symptom surfaced as a flood of unrelated test failures. + * + * Two layers used to infer cloud from presence, and BOTH had to be closed: + * 1. this package's own resolver (deleted — it lived in cloud-store.ts), and + * 2. `resolveClientTransport` in @hasna/contracts, which independently maps + * "url and key are both set" to cloud. + * So callers must not hand the raw environment to the contracts resolver. They + * pass {@link pinnedTransportEnv}, which stamps the mode WE resolved over + * whatever the ambient environment says, in both directions. With the mode + * pinned, the contracts presence-inference can never fire, and the two layers + * cannot disagree about which store is authoritative. + * + * Nothing here reads a credential value, opens a file, or makes a request, so + * `knowledge mode` can report the resolved backend on a machine with no config + * and no network. + */ +import { clientTransportEnvKeys } from '@hasna/contracts/client'; +import { normalizeStorageMode, type StorageMode } from './generated/storage-kit/index.js'; +import { isNetworkGuardActive } from './net-guard.js'; + +/** App slug behind every `HASNA_KNOWLEDGE_*` / `KNOWLEDGE_*` env key. */ +export const KNOWLEDGE_APP_SLUG = 'knowledge'; + +const ENV_KEYS = clientTransportEnvKeys(KNOWLEDGE_APP_SLUG); + +/** + * Mode env keys in precedence order, canonical first. Sourced from + * @hasna/contracts rather than restated here: this list has to be the SAME list + * the transport resolver consults, or a key we ignore could still flip the + * transport underneath us. + */ +export const KNOWLEDGE_MODE_ENV_KEYS: readonly string[] = ENV_KEYS.modeKeys; +/** Pointer keys: where the cloud is. Never a mode selector. */ +export const KNOWLEDGE_API_URL_ENV_KEYS: readonly string[] = ENV_KEYS.apiUrlKeys; +/** Pointer keys: how to authenticate. Never a mode selector, never logged. */ +export const KNOWLEDGE_API_KEY_ENV_KEYS: readonly string[] = ENV_KEYS.apiKeyKeys; + +/** `local` = on-box store. `cloud` = the app's HTTP `/v1` API. */ +export type KnowledgeMode = StorageMode; + +export interface KnowledgeModeSource { + /** `env` when a mode var selected it, `default` when nothing did. */ + kind: 'env' | 'default'; + /** The env key that selected the mode, or null for the default. */ + name: string | null; + /** The mode var's own value (`local` / `cloud` / a deprecated alias). Never a pointer value. */ + value: string | null; +} + +export interface KnowledgeModeResolution { + mode: KnowledgeMode; + source: KnowledgeModeSource; + /** + * NAMES of pointer vars that are set. Names only, never values: one of these + * holds an API key and another holds a URL, and this object is printed by the + * `mode` reporter and embedded in error messages. + */ + pointer_env_present: string[]; + /** + * True when pointers are set but did NOT choose the backend. This is exactly + * the configuration that used to flip silently, so it is reported rather than + * inferred from the two other fields by every caller. + */ + pointer_ignored: boolean; + /** Operator-facing note naming the variable to change, or null. */ + warning: string | null; +} + +function presentEnvNames(env: NodeJS.ProcessEnv, keys: readonly string[]): string[] { + return keys.filter((key) => (env[key] ?? '').trim().length > 0); +} + +/** + * Resolve the mode for this process from an explicit setting alone. + * + * Precedence: the first mode key that carries a value wins and RETURNS — the + * pointer keys are not even read on that path, which is what makes an explicit + * `KNOWLEDGE_MODE=local` authoritative on a machine whose shell exports a URL + * and a key. With no mode key set the answer is `local`, the safe default, + * regardless of what pointers exist. + * + * Throws only on an unusable mode value (never on pointer state) so a typo in + * the one variable that matters fails loudly instead of quietly reading the + * wrong store. + */ +export function resolveKnowledgeModeSelection(env: NodeJS.ProcessEnv = process.env): KnowledgeModeResolution { + const pointers = [ + ...presentEnvNames(env, KNOWLEDGE_API_URL_ENV_KEYS), + ...presentEnvNames(env, KNOWLEDGE_API_KEY_ENV_KEYS), + ]; + const canonicalModeKey = KNOWLEDGE_MODE_ENV_KEYS[0]; + + for (const name of KNOWLEDGE_MODE_ENV_KEYS) { + const value = env[name]?.trim(); + if (!value) continue; + // Name the offending key in the failure. `Unknown storage mode: hosted` on + // its own leaves the operator guessing which of four vars to edit. + let normalized: ReturnType<typeof normalizeStorageMode>; + try { + normalized = normalizeStorageMode(value); + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + throw new Error(`knowledge: ${name}=${value} is not a valid mode. ${message}`); + } + const warnings: string[] = []; + if (normalized.deprecatedAlias) { + warnings.push( + `Deprecated mode '${normalized.deprecatedAlias}' from ${name} is treated as 'cloud'. Prefer ${canonicalModeKey}=cloud.`, + ); + } + if (name !== canonicalModeKey) { + warnings.push(`Using alias env ${name}; the canonical key is ${canonicalModeKey}.`); + } + if (normalized.mode === 'local' && pointers.length > 0) { + warnings.push(`${name}=local pins the on-box store; ${pointers.join(', ')} are set but ignored.`); + } + return { + mode: normalized.mode, + source: { kind: 'env', name, value }, + pointer_env_present: pointers, + pointer_ignored: normalized.mode === 'local' && pointers.length > 0, + warning: warnings.length > 0 ? warnings.join(' ') : null, + }; + } + + return { + mode: 'local', + source: { kind: 'default', name: null, value: null }, + pointer_env_present: pointers, + pointer_ignored: pointers.length > 0, + warning: + pointers.length > 0 + ? `${pointers.join(', ')} are set but do NOT select a backend: mode is local by default. ` + + `Set ${canonicalModeKey}=cloud to route reads and writes to the API, or unset those vars to silence this note.` + : null, + }; +} + +/** + * The env to hand @hasna/contracts, with the mode we resolved stamped on top. + * + * Load-bearing in BOTH directions. Stamping `cloud` keeps the transport from + * refusing a mode we deliberately chose; stamping `local` is what stops + * `resolveClientTransport` from re-deriving cloud out of the ambient pointer + * vars we just decided to ignore. Handing it the raw environment instead would + * put the backend choice back in a second layer. + */ +export function pinnedTransportEnv(env: NodeJS.ProcessEnv, mode: KnowledgeMode): NodeJS.ProcessEnv { + return { ...env, [KNOWLEDGE_MODE_ENV_KEYS[0]]: mode }; +} + +export interface KnowledgeModeReport extends KnowledgeModeResolution { + /** `local` -> the on-box store; `api` -> the HTTP `/v1` transport. */ + store_transport: 'local' | 'api'; + /** Whether an API key is available at all. Presence only — never the value. */ + api_key_present: boolean; + /** Whether the outbound request guard is refusing non-loopback traffic. */ + network_guard_active: boolean; +} + +/** + * The payload behind `knowledge mode`. Deliberately derived from the + * environment alone: no store open, no config file read, no request. An + * operator on a machine that cannot reach the network still gets a truthful + * answer about which backend this CLI would use, which is the thing that was + * impossible to tell without reading source. + */ +export function knowledgeModeReport(env: NodeJS.ProcessEnv = process.env): KnowledgeModeReport { + const resolution = resolveKnowledgeModeSelection(env); + return { + ...resolution, + store_transport: resolution.mode === 'cloud' ? 'api' : 'local', + api_key_present: presentEnvNames(env, KNOWLEDGE_API_KEY_ENV_KEYS).length > 0, + network_guard_active: isNetworkGuardActive(env), + }; +} diff --git a/src/net-guard.ts b/src/net-guard.ts new file mode 100644 index 0000000..97e6351 --- /dev/null +++ b/src/net-guard.ts @@ -0,0 +1,140 @@ +/** + * @hasna/knowledge — outbound request guard. + * Copyright 2026 Hasna Inc. + * Licensed under the Apache License, Version 2.0 + * + * THE control that keeps a test run off the live store: while `NODE_ENV=test`, + * every knowledge-owned outbound HTTP request whose target is not loopback is + * refused before a socket is opened. + * + * It guards the EGRESS, not the environment, and that distinction is the whole + * design. Clearing the selector variables at startup — a preload, a + * `beforeAll`, a wrapper script — cannot work: a test file that assigns those + * variables at module scope runs AFTER any one-shot clear, `bun test` executes + * many files in one process with one preload, so a single file's leak reaches + * every later file, and a `bunfig.toml` preload resolves from the cwd and is + * simply absent when the suite is invoked from a subdirectory. Each of those + * produced a GREEN run with writes going out over HTTP. A check at the point of + * egress has none of those escape routes, because by then it does not matter + * which layer decided to make the request or when the variable was set. + * + * Loopback is allowed on purpose. Tests that stand up a `Bun.serve` on + * 127.0.0.1 and exercise the real HTTP transport against it are the good case — + * they are hermetic. Refusing them would push the suite toward stubbing the + * transport, which is precisely how an egress bug hides. + * + * There is NO opt-out. Every in-repo script that legitimately talks to a real + * endpoint (`scripts/smoke-*.mjs`) runs outside `bun test` and so is never + * under the guard; an escape hatch would only exist to be used by the next test + * that "just needs one real call". + * + * Messages never include the target host. The repo already refuses cloud + * configuration "without leaking the URL", and a refusal message is exactly the + * text that ends up pasted into a task comment or a CI log. + */ + +/** Env var whose value `test` arms the guard. Set automatically by `bun test`. */ +export const NETWORK_GUARD_ENV = 'NODE_ENV'; + +export class KnowledgeNetworkGuardError extends Error { + readonly scheme: string; + readonly port: string; + constructor(message: string, details: { scheme: string; port: string }) { + super(message); + this.name = 'KnowledgeNetworkGuardError'; + this.scheme = details.scheme; + this.port = details.port; + } +} + +/** + * True while outbound non-loopback requests must be refused. + * + * Read per request rather than captured once at import: a module that sets + * `NODE_ENV` after this file loads must still be guarded, and the whole failure + * class this defends against is state that arrives later than expected. + */ +export function isNetworkGuardActive(env: NodeJS.ProcessEnv = process.env): boolean { + return (env[NETWORK_GUARD_ENV] ?? '').trim().toLowerCase() === 'test'; +} + +/** IPv4 dotted-quad in 127.0.0.0/8. */ +function isIpv4Loopback(hostname: string): boolean { + const parts = hostname.split('.'); + if (parts.length !== 4) return false; + if (!parts.every((part) => /^\d{1,3}$/.test(part) && Number(part) <= 255)) return false; + return parts[0] === '127'; +} + +/** + * True for every hostname that cannot leave this machine. + * + * Covers what `new URL()` actually produces, which is not always what was + * typed: `http://127.1` normalizes to `127.0.0.1`, IPv6 hostnames keep their + * brackets (`[::1]`), and an IPv4-mapped IPv6 address is compressed to + * `[::ffff:7f00:1]` rather than staying readable. `0.0.0.0` and `[::]` are NOT + * accepted — they are bind-any addresses, not loopback, and treating a + * wildcard as safe is how a guard gets talked past. + */ +export function isLoopbackHostname(hostname: string): boolean { + const host = hostname.trim().toLowerCase(); + if (host.length === 0) return false; + if (host === 'localhost' || host.endsWith('.localhost')) return true; + if (isIpv4Loopback(host)) return true; + if (!host.startsWith('[') || !host.endsWith(']')) return false; + const v6 = host.slice(1, -1); + if (v6 === '::1' || /^(0:){7}1$/.test(v6)) return true; + // IPv4-mapped/compatible loopback, e.g. ::ffff:127.0.0.1 -> ::ffff:7f00:1. + const tail = v6.split(':').pop() ?? ''; + if (/^(::ffff:|::)/.test(v6) && isIpv4Loopback(tail)) return true; + return /^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(v6); +} + +function targetUrl(input: string | URL | Request): string { + if (typeof input === 'string') return input; + if (input instanceof URL) return input.href; + return input.url; +} + +/** + * Refuse the request unless it stays on this machine (or the guard is off). + * + * Fail-closed on an unparseable target: while the guard is armed, "we could not + * tell where this was going" is not a reason to let it go. + */ +export function assertOutboundRequestAllowed( + input: string | URL | Request, + env: NodeJS.ProcessEnv = process.env, +): void { + if (!isNetworkGuardActive(env)) return; + const raw = targetUrl(input); + let url: URL; + try { + url = new URL(raw); + } catch { + throw new KnowledgeNetworkGuardError( + `knowledge: refused an outbound request with an unparseable target while ${NETWORK_GUARD_ENV}=test. ` + + 'Under test, only loopback requests are permitted.', + { scheme: 'unknown', port: '' }, + ); + } + if (isLoopbackHostname(url.hostname)) return; + throw new KnowledgeNetworkGuardError( + `knowledge: refused a non-loopback ${url.protocol.replace(':', '')} request while ${NETWORK_GUARD_ENV}=test ` + + '(target host withheld on purpose). This process resolved to the cloud backend under test, which means a ' + + 'read or write was about to leave the machine and reach the live store. Select the mode explicitly ' + + `(${'HASNA_KNOWLEDGE_STORAGE_MODE'}=local) or point the API URL at 127.0.0.1 for a hermetic test.`, + { scheme: url.protocol.replace(':', ''), port: url.port }, + ); +} + +/** + * `fetch` with the guard in front of it. Installed permanently at the transport + * boundary rather than only when the guard is armed, so arming is decided per + * request by the environment and never by whatever it happened to be at the + * moment the client was constructed. + */ +export function guardedFetch(input: string | URL | Request, init?: RequestInit): Promise<Response> { + assertOutboundRequestAllowed(input); + return fetch(input as Parameters<typeof fetch>[0], init); +} diff --git a/tests/cli.test.ts b/tests/cli.test.ts index 68fd1b4..19cf4d7 100644 --- a/tests/cli.test.ts +++ b/tests/cli.test.ts @@ -10,6 +10,7 @@ import { tmpdir } from 'node:os'; import { delimiter, join, dirname, resolve } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; import { migrateKnowledgeDb, openKnowledgeDb } from '../src/knowledge-db'; +import { KNOWLEDGE_API_KEY_ENV_KEYS, KNOWLEDGE_API_URL_ENV_KEYS } from '../src/knowledge-mode'; import { createKnowledgeService } from '../src/service'; import { parseSourceRef } from '../src/source-ref'; import { recordStorageObjects } from '../src/storage-contract'; @@ -24,10 +25,35 @@ const packageJson = JSON.parse(readFileSync(join(__dirname, '..', 'package.json' bin: Record<string, string>; }; +/** + * The env every spawned CLI gets: the parent's, minus the cloud pointer vars, + * plus the caller's overrides. + * + * Those two variables are exported in a login shell on developer machines and + * inherited by every pane from the tmux server, so a child that gets the parent + * environment verbatim is configured differently from one run in CI. That is not + * hypothetical: `auth whoami` reports `authenticated: true` purely from the + * presence of an API key, so this suite's hosted-auth contract test measured the + * developer's shell rather than the temp auth dir it had just created, and + * failed for a reason that had nothing to do with the code under test. + * + * This is DEFENCE IN DEPTH, not the control. The control is the outbound request + * guard in src/net-guard.ts, which refuses non-loopback traffic under + * NODE_ENV=test no matter how the variables got set or when. Stripping here only + * removes the noise; it cannot be relied on, because a test that assigns the + * vars at module scope runs after any clearing step. A caller that genuinely + * wants them passes them explicitly and wins, since the overrides land last. + */ +function childEnv(env?: Record<string, string>): Record<string, string> { + const inherited = { ...process.env } as Record<string, string>; + for (const key of [...KNOWLEDGE_API_URL_ENV_KEYS, ...KNOWLEDGE_API_KEY_ENV_KEYS]) delete inherited[key]; + return { ...inherited, ...(env ?? {}) }; +} + function runCli(args: string[], cwd?: string, env?: Record<string, string>) { return Bun.spawnSync(['bun', CLI, ...args], { cwd, - env: env ? { ...process.env, ...env } : undefined, + env: childEnv(env), stdout: 'pipe', stderr: 'pipe' }); @@ -40,7 +66,7 @@ function homeEnv(home: string): Record<string, string> { function runCliWithInput(args: string[], input: string, cwd?: string, env?: Record<string, string>) { const result = spawnSync('bun', [CLI, ...args], { cwd, - env: env ? { ...process.env, ...env } : undefined, + env: childEnv(env), input, maxBuffer: 64 * 1024 * 1024, }); @@ -63,7 +89,7 @@ function runKnowledgeBin(args: string[], cwd?: string, env?: Record<string, stri ].join('\n')); return Bun.spawnSync(['bun', wrapper, ...args], { cwd, - env: env ? { ...process.env, ...env } : undefined, + env: childEnv(env), stdout: 'pipe', stderr: 'pipe', }); @@ -73,7 +99,7 @@ function runBuiltKnowledgeBin(args: string[], cwd?: string, env?: Record<string, const builtCli = join(__dirname, '..', packageJson.bin.knowledge); return Bun.spawnSync(['bun', builtCli, ...args], { cwd, - env: env ? { ...process.env, ...env } : undefined, + env: childEnv(env), stdout: 'pipe', stderr: 'pipe', }); @@ -1399,7 +1425,7 @@ describe('knowledge cli', () => { console.log(JSON.stringify(result)); `; const child = Bun.spawnSync(['bun', '-e', script], { - env: { ...process.env, ...homeEnv(home) }, + env: childEnv(homeEnv(home)), stdout: 'pipe', stderr: 'pipe', }); diff --git a/tests/cloud-inventory.test.ts b/tests/cloud-inventory.test.ts index 41db7da..9cdac26 100644 --- a/tests/cloud-inventory.test.ts +++ b/tests/cloud-inventory.test.ts @@ -36,7 +36,11 @@ beforeAll(() => { for (const k of ['HASNA_KNOWLEDGE_API_URL', 'HASNA_KNOWLEDGE_API_KEY', 'HASNA_KNOWLEDGE_STORAGE_MODE']) savedEnv[k] = process.env[k]; process.env.HASNA_KNOWLEDGE_API_URL = `http://127.0.0.1:${server.port}`; process.env.HASNA_KNOWLEDGE_API_KEY = 'k_fake_test_key'; - delete process.env.HASNA_KNOWLEDGE_STORAGE_MODE; + // Explicit, because presence of the URL + key no longer selects a backend. + // The endpoint is 127.0.0.1, so the outbound guard permits these requests — + // this test doubles as the positive control that hermetic cloud-mode traffic + // still flows while the guard is armed. + process.env.HASNA_KNOWLEDGE_STORAGE_MODE = 'cloud'; }); afterAll(() => { diff --git a/tests/cloud-store.test.ts b/tests/cloud-store.test.ts index 88b7620..452b697 100644 --- a/tests/cloud-store.test.ts +++ b/tests/cloud-store.test.ts @@ -45,15 +45,31 @@ describe('knowledge cloud-store resolver (self_hosted client flip)', () => { expect(store!.baseUrl).toBe('https://knowledge.md/v1'); }); - test('routes to cloud when ONLY API url+key are set (fleet-flip writes no STORAGE_MODE)', () => { - // Regression: the machines flip writes exactly two vars per app - // (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY) and no STORAGE_MODE. - // Presence of both must trigger the cloud-http client, else the installed - // CLI silently keeps reading the local db.json even with the flip applied. + test('stays local when ONLY API url+key are set — presence is not a selection', () => { + // INVERTED, deliberately. This case used to route to cloud so that a fleet + // flip writing only the two pointer vars would take effect. That made the + // backend a function of ambient environment: those two variables exported in + // a login shell are inherited by every pane from the tmux server, so a test + // run believing it was isolated wrote to the live store, and it surfaced as + // 99 unrelated test failures rather than as "you are pointed at production". + // + // The flip must now write an explicit mode as well. That is a coordination + // cost paid once, against a class of silent production writes. const store = resolveKnowledgeCloudStore({ HASNA_KNOWLEDGE_API_URL: 'https://knowledge.md', HASNA_KNOWLEDGE_API_KEY: 'k_fake_test_key', } as NodeJS.ProcessEnv); + expect(store).toBeNull(); + }); + + test('the same pointers WITH an explicit cloud mode do route to cloud', () => { + // The other half of the inverted case above: nothing about reaching the + // cloud got harder, it just has to be asked for. + const store = resolveKnowledgeCloudStore({ + HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud', + HASNA_KNOWLEDGE_API_URL: 'https://knowledge.md', + HASNA_KNOWLEDGE_API_KEY: 'k_fake_test_key', + } as NodeJS.ProcessEnv); expect(store).not.toBeNull(); expect(store!.baseUrl).toBe('https://knowledge.md/v1'); }); diff --git a/tests/knowledge-mode.test.ts b/tests/knowledge-mode.test.ts new file mode 100644 index 0000000..81b2c0a --- /dev/null +++ b/tests/knowledge-mode.test.ts @@ -0,0 +1,215 @@ +/** + * @hasna/knowledge + * Copyright 2026 Hasna Inc. + * Licensed under the Apache License, Version 2.0 + * + * Mode selection must be EXPLICIT. These tests exist because the opposite — + * selecting the backend from the presence of an API URL and an API key — routed + * a full test run's writes at the live store on any machine whose login shell + * exported those two variables, and reported it as 99 unrelated test failures. + * + * Every case passes an explicit `env` object rather than mutating + * `process.env`. `bun test` runs all files in one process, so a module-scope or + * `beforeAll` assignment here would leak into every later file in the run — + * which is exactly the leak this defect class travels on. + */ +import { describe, expect, test } from 'bun:test'; +import { + KNOWLEDGE_API_KEY_ENV_KEYS, + KNOWLEDGE_API_URL_ENV_KEYS, + KNOWLEDGE_MODE_ENV_KEYS, + knowledgeModeReport, + pinnedTransportEnv, + resolveKnowledgeModeSelection, +} from '../src/knowledge-mode'; +import { isKnowledgeApiMode, resolveKnowledgeCloudStore } from '../src/cloud-store'; +import { resolveItemStore } from '../src/item-store'; + +/** A syntactically valid but fake pointer pair. Not a real endpoint, not a real key. */ +const FAKE_URL = 'https://knowledge.invalid'; +const FAKE_KEY = 'k_fake_test_key'; + +const POINTER_ONLY = { + HASNA_KNOWLEDGE_API_URL: FAKE_URL, + HASNA_KNOWLEDGE_API_KEY: FAKE_KEY, +} as NodeJS.ProcessEnv; + +describe('knowledge mode selection is explicit, never inferred from a pointer', () => { + test('the env key contract comes from @hasna/contracts, canonical key first', () => { + expect(KNOWLEDGE_MODE_ENV_KEYS[0]).toBe('HASNA_KNOWLEDGE_STORAGE_MODE'); + expect([...KNOWLEDGE_MODE_ENV_KEYS]).toEqual([ + 'HASNA_KNOWLEDGE_STORAGE_MODE', + 'HASNA_KNOWLEDGE_MODE', + 'KNOWLEDGE_STORAGE_MODE', + 'KNOWLEDGE_MODE', + ]); + expect([...KNOWLEDGE_API_URL_ENV_KEYS]).toEqual(['HASNA_KNOWLEDGE_API_URL', 'KNOWLEDGE_API_URL']); + expect([...KNOWLEDGE_API_KEY_ENV_KEYS]).toEqual(['HASNA_KNOWLEDGE_API_KEY', 'KNOWLEDGE_API_KEY']); + }); + + test('an empty environment is local by default', () => { + const resolved = resolveKnowledgeModeSelection({} as NodeJS.ProcessEnv); + expect(resolved.mode).toBe('local'); + expect(resolved.source).toEqual({ kind: 'default', name: null, value: null }); + expect(resolved.pointer_env_present).toEqual([]); + expect(resolved.pointer_ignored).toBe(false); + expect(resolved.warning).toBeNull(); + }); + + test('REGRESSION: url + key with no mode var stays LOCAL and says the pointers were ignored', () => { + // The defect. Under the old resolver this environment — which is what an + // ambient exported pair looks like — selected the cloud backend, so a test + // suite that believed it was isolated wrote to the live store. + const resolved = resolveKnowledgeModeSelection(POINTER_ONLY); + expect(resolved.mode).toBe('local'); + expect(resolved.source.kind).toBe('default'); + expect(resolved.pointer_ignored).toBe(true); + expect(resolved.pointer_env_present).toEqual(['HASNA_KNOWLEDGE_API_URL', 'HASNA_KNOWLEDGE_API_KEY']); + // The note has to name the variable the operator must set, or "it went + // local" is just as mysterious as "it went cloud" used to be. + expect(resolved.warning).toContain('HASNA_KNOWLEDGE_STORAGE_MODE=cloud'); + expect(resolved.warning).toContain('HASNA_KNOWLEDGE_API_URL'); + }); + + test('REGRESSION: the alias pointer keys do not select cloud either', () => { + const resolved = resolveKnowledgeModeSelection({ + KNOWLEDGE_API_URL: FAKE_URL, + KNOWLEDGE_API_KEY: FAKE_KEY, + } as NodeJS.ProcessEnv); + expect(resolved.mode).toBe('local'); + expect(resolved.pointer_env_present).toEqual(['KNOWLEDGE_API_URL', 'KNOWLEDGE_API_KEY']); + }); + + test('an explicit cloud mode selects cloud and names the key that did it', () => { + const resolved = resolveKnowledgeModeSelection({ + ...POINTER_ONLY, + HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud', + } as NodeJS.ProcessEnv); + expect(resolved.mode).toBe('cloud'); + expect(resolved.source).toEqual({ kind: 'env', name: 'HASNA_KNOWLEDGE_STORAGE_MODE', value: 'cloud' }); + expect(resolved.pointer_ignored).toBe(false); + expect(resolved.warning).toBeNull(); + }); + + test('an explicit local mode outranks the pointers', () => { + const resolved = resolveKnowledgeModeSelection({ + ...POINTER_ONLY, + HASNA_KNOWLEDGE_STORAGE_MODE: 'local', + } as NodeJS.ProcessEnv); + expect(resolved.mode).toBe('local'); + expect(resolved.source.name).toBe('HASNA_KNOWLEDGE_STORAGE_MODE'); + expect(resolved.pointer_ignored).toBe(true); + }); + + test('the first mode key wins and the later ones are not consulted', () => { + const resolved = resolveKnowledgeModeSelection({ + HASNA_KNOWLEDGE_STORAGE_MODE: 'local', + HASNA_KNOWLEDGE_MODE: 'cloud', + KNOWLEDGE_MODE: 'cloud', + } as NodeJS.ProcessEnv); + expect(resolved.mode).toBe('local'); + expect(resolved.source.name).toBe('HASNA_KNOWLEDGE_STORAGE_MODE'); + }); + + test('an alias mode key still selects, and says it is an alias', () => { + const resolved = resolveKnowledgeModeSelection({ KNOWLEDGE_MODE: 'cloud' } as NodeJS.ProcessEnv); + expect(resolved.mode).toBe('cloud'); + expect(resolved.source.name).toBe('KNOWLEDGE_MODE'); + expect(resolved.warning).toContain('canonical key is HASNA_KNOWLEDGE_STORAGE_MODE'); + }); + + test("the deprecated 'self_hosted' value normalizes to cloud with a note", () => { + const resolved = resolveKnowledgeModeSelection({ + ...POINTER_ONLY, + HASNA_KNOWLEDGE_STORAGE_MODE: 'self_hosted', + } as NodeJS.ProcessEnv); + expect(resolved.mode).toBe('cloud'); + expect(resolved.warning).toContain("Deprecated mode 'self_hosted'"); + }); + + test('whitespace-only mode vars are treated as unset, not as an error', () => { + const resolved = resolveKnowledgeModeSelection({ + HASNA_KNOWLEDGE_STORAGE_MODE: ' ', + KNOWLEDGE_MODE: 'cloud', + } as NodeJS.ProcessEnv); + expect(resolved.mode).toBe('cloud'); + expect(resolved.source.name).toBe('KNOWLEDGE_MODE'); + }); + + test('an unusable mode value throws and names the offending variable', () => { + expect(() => + resolveKnowledgeModeSelection({ HASNA_KNOWLEDGE_MODE: 'hosted' } as NodeJS.ProcessEnv), + ).toThrow('HASNA_KNOWLEDGE_MODE=hosted'); + }); +}); + +describe('the resolved mode reaches the real store resolvers', () => { + test('resolveItemStore returns the LOCAL transport under a pointer-only env', () => { + // Asserted through the resolver every item command actually calls, not by + // reasoning about the environment: the mode is only fixed once this returns. + const store = resolveItemStore({ + storePath: '/tmp/knowledge-mode-test-does-not-exist/db.json', + storePathOverridden: false, + env: POINTER_ONLY, + }); + expect(store.kind).toBe('local'); + expect(store.location).not.toMatch(/^https?:/); + }); + + test('resolveItemStore returns the API transport when the mode is explicitly cloud', () => { + const store = resolveItemStore({ + storePath: '/tmp/knowledge-mode-test-does-not-exist/db.json', + storePathOverridden: false, + env: { ...POINTER_ONLY, HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud' } as NodeJS.ProcessEnv, + }); + expect(store.kind).toBe('api'); + expect(store.location).toBe(`${FAKE_URL}/v1`); + }); + + test('isKnowledgeApiMode and resolveKnowledgeCloudStore agree with the selection', () => { + expect(isKnowledgeApiMode(POINTER_ONLY)).toBe(false); + expect(resolveKnowledgeCloudStore(POINTER_ONLY)).toBeNull(); + const cloudEnv = { ...POINTER_ONLY, HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud' } as NodeJS.ProcessEnv; + expect(isKnowledgeApiMode(cloudEnv)).toBe(true); + expect(resolveKnowledgeCloudStore(cloudEnv)).not.toBeNull(); + }); + + test('pinnedTransportEnv overwrites an ambient mode var in both directions', () => { + // This is what stops @hasna/contracts from re-deriving cloud from the + // pointers after we have decided the answer is local. + expect(pinnedTransportEnv(POINTER_ONLY, 'local').HASNA_KNOWLEDGE_STORAGE_MODE).toBe('local'); + expect( + pinnedTransportEnv({ HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud' } as NodeJS.ProcessEnv, 'local') + .HASNA_KNOWLEDGE_STORAGE_MODE, + ).toBe('local'); + expect(pinnedTransportEnv(POINTER_ONLY, 'cloud').HASNA_KNOWLEDGE_STORAGE_MODE).toBe('cloud'); + }); +}); + +describe('the mode report is safe to print', () => { + test('reports the resolved backend, the guard state, and pointer NAMES only', () => { + const report = knowledgeModeReport({ ...POINTER_ONLY, NODE_ENV: 'test' } as NodeJS.ProcessEnv); + expect(report.mode).toBe('local'); + expect(report.store_transport).toBe('local'); + expect(report.api_key_present).toBe(true); + expect(report.network_guard_active).toBe(true); + + // The whole serialized report must not carry either pointer VALUE: this + // object is printed by `knowledge mode` and pasted into task comments. + const serialized = JSON.stringify(report); + expect(serialized).not.toContain(FAKE_KEY); + expect(serialized).not.toContain(FAKE_URL); + expect(serialized).toContain('HASNA_KNOWLEDGE_API_KEY'); + }); + + test('reports cloud when cloud is selected, and no guard outside test', () => { + const report = knowledgeModeReport({ + ...POINTER_ONLY, + HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud', + NODE_ENV: 'production', + } as NodeJS.ProcessEnv); + expect(report.mode).toBe('cloud'); + expect(report.store_transport).toBe('api'); + expect(report.network_guard_active).toBe(false); + }); +}); diff --git a/tests/net-guard.test.ts b/tests/net-guard.test.ts new file mode 100644 index 0000000..f28e5aa --- /dev/null +++ b/tests/net-guard.test.ts @@ -0,0 +1,199 @@ +/** + * @hasna/knowledge + * Copyright 2026 Hasna Inc. + * Licensed under the Apache License, Version 2.0 + * + * The request-boundary guard: while `NODE_ENV=test`, a non-loopback outbound + * request is refused before a socket is opened. + * + * This is the PRIMARY control, and it is tested at the transport, not at a stub. + * Clearing the selector env vars is defence in depth only: a test file that + * assigns them at module scope runs after any one-shot clear, one `bun test` + * process shares one preload so a single file's leak reaches every later file, + * and a `bunfig.toml` preload is simply absent when the suite is run from a + * subdirectory. Each of those produced a green run with live writes. Guarding + * the egress survives all three, because at that point it no longer matters + * which layer decided to make the request or when the variable was set. + * + * The loopback case is a positive control on purpose: if the guard blocked + * hermetic 127.0.0.1 servers, the suite would be pushed toward stubbing the + * transport, and a stub proves nothing about egress. + */ +import { afterAll, beforeAll, describe, expect, test } from 'bun:test'; +import { + KnowledgeNetworkGuardError, + NETWORK_GUARD_ENV, + assertOutboundRequestAllowed, + isLoopbackHostname, + isNetworkGuardActive, +} from '../src/net-guard'; +import { resolveKnowledgeCloudStore } from '../src/cloud-store'; + +const GUARDED = { NODE_ENV: 'test' } as NodeJS.ProcessEnv; +const UNGUARDED = { NODE_ENV: 'production' } as NodeJS.ProcessEnv; +const FAKE_KEY = 'k_fake_test_key'; +/** Reserved TLD: guaranteed never to resolve, so a leak here cannot reach anything. */ +const NON_LOOPBACK = 'https://knowledge.invalid'; + +describe('loopback classification', () => { + test('accepts every hostname that cannot leave this machine', () => { + for (const host of [ + 'localhost', + 'LOCALHOST', + 'app.localhost', + '127.0.0.1', + '127.1.2.3', + // `new URL('http://127.1')` normalizes to this — the guard sees the + // normalized form, not what was typed. + new URL('http://127.1').hostname, + '[::1]', + '[0:0:0:0:0:0:0:1]', + // IPv4-mapped loopback is compressed by URL parsing: ::ffff:127.0.0.1 + // becomes ::ffff:7f00:1, which no naive string check would catch. + new URL('http://[::ffff:127.0.0.1]').hostname, + ]) { + expect(isLoopbackHostname(host)).toBe(true); + } + }); + + test('rejects wildcards and anything routable', () => { + // 0.0.0.0 and [::] are bind-any addresses, NOT loopback. Accepting a + // wildcard as "safe" is how a guard gets talked past. + for (const host of ['0.0.0.0', '[::]', '', ' ', 'knowledge.invalid', '127.0.0.1.example', '10.0.0.1', '[fe80::1]']) { + expect(isLoopbackHostname(host)).toBe(false); + } + }); +}); + +describe('guard arming', () => { + test(`armed only by ${NETWORK_GUARD_ENV}=test`, () => { + expect(isNetworkGuardActive(GUARDED)).toBe(true); + expect(isNetworkGuardActive({ NODE_ENV: 'TEST' } as NodeJS.ProcessEnv)).toBe(true); + expect(isNetworkGuardActive(UNGUARDED)).toBe(false); + expect(isNetworkGuardActive({} as NodeJS.ProcessEnv)).toBe(false); + }); + + test('this very suite runs with the guard armed', () => { + // If bun ever stops defaulting NODE_ENV=test, every egress assertion below + // would silently start proving nothing. Fail here instead. + expect(isNetworkGuardActive()).toBe(true); + }); +}); + +describe('assertOutboundRequestAllowed', () => { + test('permits loopback targets in every accepted input shape', () => { + expect(() => assertOutboundRequestAllowed('http://127.0.0.1:8080/v1/notes', GUARDED)).not.toThrow(); + expect(() => assertOutboundRequestAllowed(new URL('http://localhost/v1/notes'), GUARDED)).not.toThrow(); + expect(() => assertOutboundRequestAllowed(new Request('http://[::1]:9/v1/notes'), GUARDED)).not.toThrow(); + }); + + test('refuses a non-loopback target while armed', () => { + expect(() => assertOutboundRequestAllowed(`${NON_LOOPBACK}/v1/notes`, GUARDED)).toThrow( + KnowledgeNetworkGuardError, + ); + }); + + test('the refusal never names the target host', () => { + // A refusal message is exactly the text that gets pasted into a task + // comment or a CI log, so it reports the scheme and port and nothing else. + try { + assertOutboundRequestAllowed('https://knowledge.invalid:8443/v1/notes', GUARDED); + throw new Error('expected the guard to refuse'); + } catch (error) { + expect(error).toBeInstanceOf(KnowledgeNetworkGuardError); + const guardError = error as KnowledgeNetworkGuardError; + expect(guardError.message).not.toContain('knowledge.invalid'); + expect(guardError.message).toContain('non-loopback https request'); + expect(guardError.scheme).toBe('https'); + expect(guardError.port).toBe('8443'); + } + }); + + test('fails closed on an unparseable target', () => { + expect(() => assertOutboundRequestAllowed('not a url', GUARDED)).toThrow(KnowledgeNetworkGuardError); + }); + + test('permits everything when not armed', () => { + expect(() => assertOutboundRequestAllowed(`${NON_LOOPBACK}/v1/notes`, UNGUARDED)).not.toThrow(); + expect(() => assertOutboundRequestAllowed('not a url', UNGUARDED)).not.toThrow(); + }); +}); + +describe('the guard sits at the cloud transport boundary', () => { + test('a cloud read against a non-loopback endpoint is refused, not attempted', async () => { + // Explicit cloud mode, so nothing about the mode fix is doing the work here: + // this is the transport refusing to emit the request. The failure must be + // the guard, NOT an HTTP status and NOT a DNS error — either of those would + // mean a socket was opened. + const store = resolveKnowledgeCloudStore({ + HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud', + HASNA_KNOWLEDGE_API_URL: NON_LOOPBACK, + HASNA_KNOWLEDGE_API_KEY: FAKE_KEY, + NODE_ENV: 'test', + } as NodeJS.ProcessEnv); + expect(store).not.toBeNull(); + expect(store!.baseUrl).toBe(`${NON_LOOPBACK}/v1`); + + let caught: unknown = null; + try { + await store!.list({ limit: 1 }); + } catch (error) { + caught = error; + } + expect(caught).toBeInstanceOf(KnowledgeNetworkGuardError); + expect(String(caught)).not.toContain('knowledge.invalid'); + }); + + test('a cloud write against a non-loopback endpoint is refused too', async () => { + const store = resolveKnowledgeCloudStore({ + HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud', + HASNA_KNOWLEDGE_API_URL: NON_LOOPBACK, + HASNA_KNOWLEDGE_API_KEY: FAKE_KEY, + NODE_ENV: 'test', + } as NodeJS.ProcessEnv); + let caught: unknown = null; + try { + await store!.create({ title: 'guarded', content: 'must never leave the machine' }); + } catch (error) { + caught = error; + } + expect(caught).toBeInstanceOf(KnowledgeNetworkGuardError); + }); +}); + +describe('loopback cloud traffic still works (positive control)', () => { + let server: { port: number; stop: () => void }; + const seen: string[] = []; + + beforeAll(() => { + server = Bun.serve({ + port: 0, + hostname: '127.0.0.1', + fetch(req) { + const url = new URL(req.url); + seen.push(`${req.method} ${url.pathname}`); + return new Response(JSON.stringify({ items: [], total: 0 }), { + headers: { 'content-type': 'application/json' }, + }); + }, + }); + }); + + afterAll(() => { + server.stop(); + }); + + test('the real HTTP transport reaches a 127.0.0.1 server while the guard is armed', async () => { + const store = resolveKnowledgeCloudStore({ + HASNA_KNOWLEDGE_STORAGE_MODE: 'cloud', + HASNA_KNOWLEDGE_API_URL: `http://127.0.0.1:${server.port}`, + HASNA_KNOWLEDGE_API_KEY: FAKE_KEY, + NODE_ENV: 'test', + } as NodeJS.ProcessEnv); + const result = await store!.list({ limit: 1 }); + expect(result.items).toEqual([]); + // Proves the request was really emitted rather than short-circuited: the + // server recorded it. + expect(seen).toContain('GET /v1/notes'); + }); +}); From 691cb7c105e1896ffea6b75fa532d5d8548f7a76 Mon Sep 17 00:00:00 2001 From: Andrei Hasna <andrei@hasna.com> Date: Tue, 28 Jul 2026 03:58:04 +0300 Subject: [PATCH 2/3] fix(net-guard): route web source-ref ingestion through the guard, and state its scope MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Self-review found the guard's own header claiming it covered "every knowledge-owned outbound HTTP request" while src/source-ingest.ts readWebText called global fetch directly. Under NODE_ENV=test a `web://` or `https://` source ref would still have reached the network. Nothing in the suite ingests a web ref, which is exactly why it was easy to leave open — the cloud transport was the visible hole and this one was not. readWebText now uses guardedFetch, with a test that a non-loopback web source-ref ingest is refused and that the refusal does not name the host. The header now states the scope precisely instead of overclaiming: covered are the cloud item transport and web source ingestion; NOT covered are third-party SDK transports with their own HTTP stacks (@aws-sdk/client-s3, the `ai` provider clients), which are credential-gated and driven with --fake in tests. A guard people believe covers more than it does is worse than a narrow one. bun test, ambient selectors left as-is: 307 pass / 2 skip / 1 fail across 310 tests in 42 files. The one red is the pre-existing tests/cli.test.ts:3044 context-pack case. Refs: todos f22a263f --- bin/knowledge-mcp.js | 2 +- bin/knowledge.js | 350 ++++++++++++++++++++-------------------- dist/index.js | 2 +- dist/net-guard.d.ts | 13 +- src/net-guard.ts | 13 +- src/source-ingest.ts | 7 +- tests/net-guard.test.ts | 25 +++ 7 files changed, 230 insertions(+), 182 deletions(-) diff --git a/bin/knowledge-mcp.js b/bin/knowledge-mcp.js index 8c42dd8..0c6234e 100755 --- a/bin/knowledge-mcp.js +++ b/bin/knowledge-mcp.js @@ -30846,7 +30846,7 @@ async function readS3Text2(uri, config2, safetyPolicy) { async function readWebText(uri, safetyPolicy) { if (safetyPolicy) assertWebSearchAllowed(safetyPolicy); - const response = await fetch(uri, { + const response = await guardedFetch(uri, { headers: { accept: "text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5", "user-agent": "@hasna/knowledge source-ingest" diff --git a/bin/knowledge.js b/bin/knowledge.js index ad18e7a..4f4195e 100755 --- a/bin/knowledge.js +++ b/bin/knowledge.js @@ -1,101 +1,101 @@ #!/usr/bin/env bun // @bun -var Pb=Object.create;var{getPrototypeOf:Cb,defineProperty:Z5,getOwnPropertyNames:Tb}=Object;var Sb=Object.prototype.hasOwnProperty;function Zb($){return this[$]}var vb,yb,hb=($,_,U)=>{var W=$!=null&&typeof $==="object";if(W){var J=_?vb??=new WeakMap:yb??=new WeakMap,X=J.get($);if(X)return X}U=$!=null?Pb(Cb($)):{};let G=_||!$||!$.__esModule?Z5(U,"default",{value:$,enumerable:!0}):U;for(let Q of Tb($))if(!Sb.call(G,Q))Z5(G,Q,{get:Zb.bind($,Q),enumerable:!0});if(W)J.set($,G);return G};var G0=($,_)=>()=>(_||$((_={exports:{}}).exports,_),_.exports);var xb=($)=>$;function mb($,_){this[$]=xb.bind(null,_)}var g6=($,_)=>{for(var U in _)Z5($,U,{get:_[U],enumerable:!0,configurable:!0,set:mb.bind(_,U)})};var y=($,_)=>()=>($&&(_=$($=0)),_);var C$=import.meta.require;function F($,_,U){function W(Q,Y){if(!Q._zod)Object.defineProperty(Q,"_zod",{value:{def:Y,constr:G,traits:new Set},enumerable:!1});if(Q._zod.traits.has($))return;Q._zod.traits.add($),_(Q,Y);let j=G.prototype,O=Object.keys(j);for(let B=0;B<O.length;B++){let V=O[B];if(!(V in Q))Q[V]=j[V].bind(Q)}}let J=U?.Parent??Object;class X extends J{}Object.defineProperty(X,"name",{value:$});function G(Q){var Y;let j=U?.Parent?new X:this;W(j,Q),(Y=j._zod).deferred??(Y.deferred=[]);for(let O of j._zod.deferred)O();return j}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(Q)=>{if(U?.Parent&&Q instanceof U.Parent)return!0;return Q?._zod?.traits?.has($)}}),Object.defineProperty(G,"name",{value:$}),G}function __($){if($)Object.assign(v0,$);return v0}var M3,ZX,vX,y6,y0,v0;var h0=y(()=>{ZX=Object.freeze({status:"aborted"});vX=Symbol("zod_brand");y6=class y6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};y0=class y0 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}};(M3=globalThis).__zod_globalConfig??(M3.__zod_globalConfig={});v0=globalThis.__zod_globalConfig});var f={};g6(f,{unwrapMessage:()=>GJ,uint8ArrayToHex:()=>VT,uint8ArrayToBase64url:()=>BT,uint8ArrayToBase64:()=>w3,stringifyPrimitive:()=>I,slugify:()=>HQ,shallowClone:()=>RQ,safeExtend:()=>DT,required:()=>OT,randomString:()=>JT,propertyKeyTypes:()=>jJ,promiseAllObject:()=>UT,primitiveTypes:()=>AQ,prefixIssues:()=>k_,pick:()=>QT,partial:()=>qT,parsedType:()=>w,optionalKeys:()=>bQ,omit:()=>YT,objectClone:()=>eC,numKeys:()=>WT,nullish:()=>m4,normalizeParams:()=>S,mergeDefs:()=>Y4,merge:()=>zT,jsonStringifyReplacer:()=>g2,joinValues:()=>K,issue:()=>w2,isPlainObject:()=>d4,isObject:()=>x0,hexToUint8Array:()=>HT,getSizableOrigin:()=>DJ,getParsedType:()=>XT,getLengthableOrigin:()=>zJ,getEnumValues:()=>QJ,getElementAtPath:()=>_T,floatSafeRemainder:()=>BQ,finalizeIssue:()=>K_,extend:()=>jT,explicitlyAborted:()=>KQ,escapeRegex:()=>t_,esc:()=>yX,defineLazy:()=>E$,createTransparentProxy:()=>GT,cloneDef:()=>$T,clone:()=>N_,cleanRegex:()=>YJ,cleanEnum:()=>LT,captureStackTrace:()=>hX,cached:()=>I2,base64urlToUint8Array:()=>NT,base64ToUint8Array:()=>I3,assignProp:()=>u4,assertNotEqual:()=>oC,assertNever:()=>aC,assertIs:()=>tC,assertEqual:()=>pC,assert:()=>sC,allowsEval:()=>VQ,aborted:()=>n4,NUMBER_FORMAT_RANGES:()=>FQ,Class:()=>k3,BIGINT_FORMAT_RANGES:()=>EQ});function pC($){return $}function oC($){return $}function tC($){}function aC($){throw Error("Unexpected value in exhaustive check")}function sC($){}function QJ($){let _=Object.values($).filter((W)=>typeof W==="number");return Object.entries($).filter(([W,J])=>_.indexOf(+W)===-1).map(([W,J])=>J)}function K($,_="|"){return $.map((U)=>I(U)).join(_)}function g2($,_){if(typeof _==="bigint")return _.toString();return _}function I2($){return{get value(){{let U=$();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function m4($){return $===null||$===void 0}function YJ($){let _=$.startsWith("^")?1:0,U=$.endsWith("$")?$.length-1:$.length;return $.slice(_,U)}function BQ($,_){let U=$/_,W=Math.round(U),J=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-W)<J)return 0;return U-W}function E$($,_,U){let W=void 0;Object.defineProperty($,_,{get(){if(W===g3)return;if(W===void 0)W=g3,W=U();return W},set(J){Object.defineProperty($,_,{value:J})},configurable:!0})}function eC($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function u4($,_,U){Object.defineProperty($,_,{value:U,writable:!0,enumerable:!0,configurable:!0})}function Y4(...$){let _={};for(let U of $){let W=Object.getOwnPropertyDescriptors(U);Object.assign(_,W)}return Object.defineProperties({},_)}function $T($){return Y4($._zod.def)}function _T($,_){if(!_)return $;return _.reduce((U,W)=>U?.[W],$)}function UT($){let _=Object.keys($),U=_.map((W)=>$[W]);return Promise.all(U).then((W)=>{let J={};for(let X=0;X<_.length;X++)J[_[X]]=W[X];return J})}function JT($=10){let U="";for(let W=0;W<$;W++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function yX($){return JSON.stringify($)}function HQ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function x0($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function d4($){if(x0($)===!1)return!1;let _=$.constructor;if(_===void 0)return!0;if(typeof _!=="function")return!0;let U=_.prototype;if(x0(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function RQ($){if(d4($))return{...$};if(Array.isArray($))return[...$];if($ instanceof Map)return new Map($);if($ instanceof Set)return new Set($);return $}function WT($){let _=0;for(let U in $)if(Object.prototype.hasOwnProperty.call($,U))_++;return _}function t_($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function N_($,_,U){let W=new $._zod.constr(_??$._zod.def);if(!_||U?.parent)W._zod.parent=$;return W}function S($){let _=$;if(!_)return{};if(typeof _==="string")return{error:()=>_};if(_?.message!==void 0){if(_?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");_.error=_.message}if(delete _.message,typeof _.error==="string")return{..._,error:()=>_.error};return _}function GT($){let _;return new Proxy({},{get(U,W,J){return _??(_=$()),Reflect.get(_,W,J)},set(U,W,J,X){return _??(_=$()),Reflect.set(_,W,J,X)},has(U,W){return _??(_=$()),Reflect.has(_,W)},deleteProperty(U,W){return _??(_=$()),Reflect.deleteProperty(_,W)},ownKeys(U){return _??(_=$()),Reflect.ownKeys(_)},getOwnPropertyDescriptor(U,W){return _??(_=$()),Reflect.getOwnPropertyDescriptor(_,W)},defineProperty(U,W,J){return _??(_=$()),Reflect.defineProperty(_,W,J)}})}function I($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function bQ($){return Object.keys($).filter((_)=>{return $[_]._zod.optin==="optional"&&$[_]._zod.optout==="optional"})}function QT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;G[Q]=U.shape[Q]}return u4(this,"shape",G),G},checks:[]});return N_($,X)}function YT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={...$._zod.def.shape};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;delete G[Q]}return u4(this,"shape",G),G},checks:[]});return N_($,X)}function jT($,_){if(!d4(_))throw Error("Invalid input to extend: expected a plain object");let U=$._zod.def.checks;if(U&&U.length>0){let X=$._zod.def.shape;for(let G in _)if(Object.getOwnPropertyDescriptor(X,G)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let J=Y4($._zod.def,{get shape(){let X={...$._zod.def.shape,..._};return u4(this,"shape",X),X}});return N_($,J)}function DT($,_){if(!d4(_))throw Error("Invalid input to safeExtend: expected a plain object");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._};return u4(this,"shape",W),W}});return N_($,U)}function zT($,_){if($._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._._zod.def.shape};return u4(this,"shape",W),W},get catchall(){return _._zod.def.catchall},checks:_._zod.def.checks??[]});return N_($,U)}function qT($,_,U){let J=_._zod.def.checks;if(J&&J.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let G=Y4(_._zod.def,{get shape(){let Q=_._zod.def.shape,Y={...Q};if(U)for(let j in U){if(!(j in Q))throw Error(`Unrecognized key: "${j}"`);if(!U[j])continue;Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j]}else for(let j in Q)Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j];return u4(this,"shape",Y),Y},checks:[]});return N_(_,G)}function OT($,_,U){let W=Y4(_._zod.def,{get shape(){let J=_._zod.def.shape,X={...J};if(U)for(let G in U){if(!(G in X))throw Error(`Unrecognized key: "${G}"`);if(!U[G])continue;X[G]=new $({type:"nonoptional",innerType:J[G]})}else for(let G in J)X[G]=new $({type:"nonoptional",innerType:J[G]});return u4(this,"shape",X),X}});return N_(_,W)}function n4($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue!==!0)return!0;return!1}function KQ($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue===!1)return!0;return!1}function k_($,_){return _.map((U)=>{var W;return(W=U).path??(W.path=[]),U.path.unshift($),U})}function GJ($){return typeof $==="string"?$:$?.message}function K_($,_,U){let W=$.message?$.message:GJ($.inst?._zod.def?.error?.($))??GJ(_?.error?.($))??GJ(U.customError?.($))??GJ(U.localeError?.($))??"Invalid input",{inst:J,continue:X,input:G,...Q}=$;if(Q.path??(Q.path=[]),Q.message=W,_?.reportInput)Q.input=G;return Q}function DJ($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function zJ($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function w($){let _=typeof $;switch(_){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let U=$;if(U&&Object.getPrototypeOf(U)!==Object.prototype&&"constructor"in U&&U.constructor)return U.constructor.name}}return _}function w2(...$){let[_,U,W]=$;if(typeof _==="string")return{message:_,code:"custom",input:U,inst:W};return{..._}}function LT($){return Object.entries($).filter(([_,U])=>{return Number.isNaN(Number.parseInt(_,10))}).map((_)=>_[1])}function I3($){let _=atob($),U=new Uint8Array(_.length);for(let W=0;W<_.length;W++)U[W]=_.charCodeAt(W);return U}function w3($){let _="";for(let U=0;U<$.length;U++)_+=String.fromCharCode($[U]);return btoa(_)}function NT($){let _=$.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-_.length%4)%4);return I3(_+U)}function BT($){return w3($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function HT($){let _=$.replace(/^0x/,"");if(_.length%2!==0)throw Error("Invalid hex string length");let U=new Uint8Array(_.length/2);for(let W=0;W<_.length;W+=2)U[W/2]=Number.parseInt(_.slice(W,W+2),16);return U}function VT($){return Array.from($).map((_)=>_.toString(16).padStart(2,"0")).join("")}class k3{constructor(...$){}}var g3,hX,VQ,XT=($)=>{let _=typeof $;switch(_){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${_}`)}},jJ,AQ,FQ,EQ;var p=y(()=>{h0();g3=Symbol("evaluating");hX="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};VQ=I2(()=>{if(v0.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});jJ=new Set(["string","number","symbol"]),AQ=new Set(["string","number","bigint","boolean","symbol","undefined"]);FQ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},EQ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function k2($,_=(U)=>U.message){let U={},W=[];for(let J of $.issues)if(J.path.length>0)U[J.path[0]]=U[J.path[0]]||[],U[J.path[0]].push(_(J));else W.push(_(J));return{formErrors:W,fieldErrors:U}}function f2($,_=(U)=>U.message){let U={_errors:[]},W=(J,X=[])=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((Q)=>W({issues:Q},[...X,...G.path]));else if(G.code==="invalid_key")W({issues:G.issues},[...X,...G.path]);else if(G.code==="invalid_element")W({issues:G.issues},[...X,...G.path]);else{let Q=[...X,...G.path];if(Q.length===0)U._errors.push(_(G));else{let Y=U,j=0;while(j<Q.length){let O=Q[j];if(j!==Q.length-1)Y[O]=Y[O]||{_errors:[]};else Y[O]=Y[O]||{_errors:[]},Y[O]._errors.push(_(G));Y=Y[O],j++}}}};return W($),U}function xX($,_=(U)=>U.message){let U={errors:[]},W=(J,X=[])=>{var G,Q;for(let Y of J.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((j)=>W({issues:j},[...X,...Y.path]));else if(Y.code==="invalid_key")W({issues:Y.issues},[...X,...Y.path]);else if(Y.code==="invalid_element")W({issues:Y.issues},[...X,...Y.path]);else{let j=[...X,...Y.path];if(j.length===0){U.errors.push(_(Y));continue}let O=U,B=0;while(B<j.length){let V=j[B],L=B===j.length-1;if(typeof V==="string")O.properties??(O.properties={}),(G=O.properties)[V]??(G[V]={errors:[]}),O=O.properties[V];else O.items??(O.items=[]),(Q=O.items)[V]??(Q[V]={errors:[]}),O=O.items[V];if(L)O.errors.push(_(Y));B++}}};return W($),U}function P3($){let _=[],U=$.map((W)=>typeof W==="object"?W.key:W);for(let W of U)if(typeof W==="number")_.push(`[${W}]`);else if(typeof W==="symbol")_.push(`[${JSON.stringify(String(W))}]`);else if(/[^\w$]/.test(W))_.push(`[${JSON.stringify(W)}]`);else{if(_.length)_.push(".");_.push(W)}return _.join("")}function mX($){let _=[],U=[...$.issues].sort((W,J)=>(W.path??[]).length-(J.path??[]).length);for(let W of U)if(_.push(`\u2716 ${W.message}`),W.path?.length)_.push(` \u2192 at ${P3(W.path)}`);return _.join(` -`)}var f3=($,_)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:_,enumerable:!1}),$.message=JSON.stringify(_,g2,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},qJ,f_;var MQ=y(()=>{h0();p();qJ=F("$ZodError",f3),f_=F("$ZodError",f3,{Parent:Error})});var P2=($)=>(_,U,W,J)=>{let X=W?{...W,async:!1}:{async:!1},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)throw new y6;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>K_(Y,X,__())));throw hX(Q,J?.callee),Q}return G.value},uX,C2=($)=>async(_,U,W,J)=>{let X=W?{...W,async:!0}:{async:!0},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)G=await G;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>K_(Y,X,__())));throw hX(Q,J?.callee),Q}return G.value},dX,T2=($)=>(_,U,W)=>{let J=W?{...W,async:!1}:{async:!1},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)throw new y6;return X.issues.length?{success:!1,error:new($??qJ)(X.issues.map((G)=>K_(G,J,__())))}:{success:!0,data:X.value}},gQ,S2=($)=>async(_,U,W)=>{let J=W?{...W,async:!0}:{async:!0},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)X=await X;return X.issues.length?{success:!1,error:new $(X.issues.map((G)=>K_(G,J,__())))}:{success:!0,data:X.value}},IQ,nX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return P2($)(_,U,J)},AT,cX=($)=>(_,U,W)=>{return P2($)(_,U,W)},bT,lX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return C2($)(_,U,J)},FT,rX=($)=>async(_,U,W)=>{return C2($)(_,U,W)},ET,iX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return T2($)(_,U,J)},KT,pX=($)=>(_,U,W)=>{return T2($)(_,U,W)},MT,oX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return S2($)(_,U,J)},gT,tX=($)=>async(_,U,W)=>{return S2($)(_,U,W)},IT;var wQ=y(()=>{h0();MQ();p();uX=P2(f_),dX=C2(f_),gQ=T2(f_),IQ=S2(f_),AT=nX(f_),bT=cX(f_),FT=lX(f_),ET=rX(f_),KT=iX(f_),MT=pX(f_),gT=oX(f_),IT=tX(f_)});var P_={};g6(P_,{xid:()=>CQ,uuid7:()=>PT,uuid6:()=>fT,uuid4:()=>kT,uuid:()=>m0,uppercase:()=>JY,unicodeEmail:()=>C3,undefined:()=>_Y,ulid:()=>PQ,time:()=>pQ,string:()=>tQ,sha512_hex:()=>sT,sha512_base64url:()=>$S,sha512_base64:()=>eT,sha384_hex:()=>oT,sha384_base64url:()=>aT,sha384_base64:()=>tT,sha256_hex:()=>rT,sha256_base64url:()=>pT,sha256_base64:()=>iT,sha1_hex:()=>nT,sha1_base64url:()=>lT,sha1_base64:()=>cT,rfc5322Email:()=>TT,number:()=>OJ,null:()=>$Y,nanoid:()=>SQ,md5_hex:()=>mT,md5_base64url:()=>dT,md5_base64:()=>uT,mac:()=>uQ,lowercase:()=>UY,ksuid:()=>TQ,ipv6:()=>mQ,ipv4:()=>xQ,integer:()=>sQ,idnEmail:()=>ST,httpProtocol:()=>lQ,html5Email:()=>CT,hostname:()=>yT,hex:()=>xT,guid:()=>vQ,extendedDuration:()=>wT,emoji:()=>hQ,email:()=>yQ,e164:()=>rQ,duration:()=>ZQ,domain:()=>hT,datetime:()=>oQ,date:()=>iQ,cuid2:()=>fQ,cuid:()=>kQ,cidrv6:()=>nQ,cidrv4:()=>dQ,browserEmail:()=>ZT,boolean:()=>eQ,bigint:()=>aQ,base64url:()=>aX,base64:()=>cQ});function hQ(){return new RegExp(vT,"u")}function S3($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function pQ($){return new RegExp(`^${S3($)}$`)}function oQ($){let _=S3({precision:$.precision}),U=["Z"];if($.local)U.push("");if($.offset)U.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let W=`${_}(?:${U.join("|")})`;return new RegExp(`^${T3}T(?:${W})$`)}function LJ($,_){return new RegExp(`^[A-Za-z0-9+/]{${$}}${_}$`)}function NJ($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var kQ,fQ,PQ,CQ,TQ,SQ,ZQ,wT,vQ,m0=($)=>{if(!$)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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},kT,fT,PT,yQ,CT,TT,C3,ST,ZT,vT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",xQ,mQ,uQ=($)=>{let _=t_($??":");return new RegExp(`^(?:[0-9A-F]{2}${_}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${_}){5}[0-9a-f]{2}$`)},dQ,nQ,cQ,aX,yT,hT,lQ,rQ,T3="(?:(?:\\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])))",iQ,tQ=($)=>{let _=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${_}$`)},aQ,sQ,OJ,eQ,$Y,_Y,UY,JY,xT,mT,uT,dT,nT,cT,lT,rT,iT,pT,oT,tT,aT,sT,eT,$S;var sX=y(()=>{p();kQ=/^[cC][0-9a-z]{6,}$/,fQ=/^[0-9a-z]+$/,PQ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,CQ=/^[0-9a-vA-V]{20}$/,TQ=/^[A-Za-z0-9]{27}$/,SQ=/^[a-zA-Z0-9_-]{21}$/,ZQ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wT=/^[-+]?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)?)??$/,vQ=/^([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})$/,kT=m0(4),fT=m0(6),PT=m0(7),yQ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,CT=/^[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])?)*$/,TT=/^(([^<>()\[\]\\.,;:\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,}))$/,C3=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ST=C3,ZT=/^[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])?)*$/;xQ=/^(?:(?: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])$/,mQ=/^(([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}|:))$/,dQ=/^((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])$/,nQ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,cQ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,aX=/^[A-Za-z0-9_-]*$/,yT=/^(?=.{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])?)*\.?$/,hT=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,lQ=/^https?$/,rQ=/^\+[1-9]\d{6,14}$/,iQ=new RegExp(`^${T3}$`);aQ=/^-?\d+n?$/,sQ=/^-?\d+$/,OJ=/^-?\d+(?:\.\d+)?$/,eQ=/^(?:true|false)$/i,$Y=/^null$/i,_Y=/^undefined$/i,UY=/^[^A-Z]*$/,JY=/^[^a-z]*$/,xT=/^[0-9a-fA-F]*$/;mT=/^[0-9a-fA-F]{32}$/,uT=LJ(22,"=="),dT=NJ(22),nT=/^[0-9a-fA-F]{40}$/,cT=LJ(27,"="),lT=NJ(27),rT=/^[0-9a-fA-F]{64}$/,iT=LJ(43,"="),pT=NJ(43),oT=/^[0-9a-fA-F]{96}$/,tT=LJ(64,""),aT=NJ(64),sT=/^[0-9a-fA-F]{128}$/,eT=LJ(86,"=="),$S=NJ(86)});function Z3($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues))}var n$,v3,eX,$9,WY,XY,GY,QY,YY,jY,DY,zY,qY,Z2,OY,LY,NY,BY,HY,VY,RY,AY,bY;var _9=y(()=>{h0();sX();p();n$=F("$ZodCheck",($,_)=>{var U;$._zod??($._zod={}),$._zod.def=_,(U=$._zod).onattach??(U.onattach=[])}),v3={number:"number",bigint:"bigint",object:"date"},eX=F("$ZodCheckLessThan",($,_)=>{n$.init($,_);let U=v3[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.maximum:J.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(_.value<X)if(_.inclusive)J.maximum=_.value;else J.exclusiveMaximum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value<=_.value:W.value<_.value)return;W.issues.push({origin:U,code:"too_big",maximum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),$9=F("$ZodCheckGreaterThan",($,_)=>{n$.init($,_);let U=v3[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.minimum:J.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(_.value>X)if(_.inclusive)J.minimum=_.value;else J.exclusiveMinimum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value>=_.value:W.value>_.value)return;W.issues.push({origin:U,code:"too_small",minimum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),WY=F("$ZodCheckMultipleOf",($,_)=>{n$.init($,_),$._zod.onattach.push((U)=>{var W;(W=U._zod.bag).multipleOf??(W.multipleOf=_.value)}),$._zod.check=(U)=>{if(typeof U.value!==typeof _.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof U.value==="bigint"?U.value%_.value===BigInt(0):BQ(U.value,_.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:_.value,input:U.value,inst:$,continue:!_.abort})}}),XY=F("$ZodCheckNumberFormat",($,_)=>{n$.init($,_),_.format=_.format||"float64";let U=_.format?.includes("int"),W=U?"int":"number",[J,X]=FQ[_.format];$._zod.onattach.push((G)=>{let Q=G._zod.bag;if(Q.format=_.format,Q.minimum=J,Q.maximum=X,U)Q.pattern=sQ}),$._zod.check=(G)=>{let Q=G.value;if(U){if(!Number.isInteger(Q)){G.issues.push({expected:W,format:_.format,code:"invalid_type",continue:!1,input:Q,inst:$});return}if(!Number.isSafeInteger(Q)){if(Q>0)G.issues.push({input:Q,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});else G.issues.push({input:Q,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});return}}if(Q<J)G.issues.push({origin:"number",input:Q,code:"too_small",minimum:J,inclusive:!0,inst:$,continue:!_.abort});if(Q>X)G.issues.push({origin:"number",input:Q,code:"too_big",maximum:X,inclusive:!0,inst:$,continue:!_.abort})}}),GY=F("$ZodCheckBigIntFormat",($,_)=>{n$.init($,_);let[U,W]=EQ[_.format];$._zod.onattach.push((J)=>{let X=J._zod.bag;X.format=_.format,X.minimum=U,X.maximum=W}),$._zod.check=(J)=>{let X=J.value;if(X<U)J.issues.push({origin:"bigint",input:X,code:"too_small",minimum:U,inclusive:!0,inst:$,continue:!_.abort});if(X>W)J.issues.push({origin:"bigint",input:X,code:"too_big",maximum:W,inclusive:!0,inst:$,continue:!_.abort})}}),QY=F("$ZodCheckMaxSize",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum<J)W._zod.bag.maximum=_.maximum}),$._zod.check=(W)=>{let J=W.value;if(J.size<=_.maximum)return;W.issues.push({origin:DJ(J),code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),YY=F("$ZodCheckMinSize",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.size>=_.minimum)return;W.issues.push({origin:DJ(J),code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),jY=F("$ZodCheckSizeEquals",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.size,J.maximum=_.size,J.size=_.size}),$._zod.check=(W)=>{let J=W.value,X=J.size;if(X===_.size)return;let G=X>_.size;W.issues.push({origin:DJ(J),...G?{code:"too_big",maximum:_.size}:{code:"too_small",minimum:_.size},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),DY=F("$ZodCheckMaxLength",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum<J)W._zod.bag.maximum=_.maximum}),$._zod.check=(W)=>{let J=W.value;if(J.length<=_.maximum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),zY=F("$ZodCheckMinLength",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.length>=_.minimum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),qY=F("$ZodCheckLengthEquals",($,_)=>{var U;n$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.length,J.maximum=_.length,J.length=_.length}),$._zod.check=(W)=>{let J=W.value,X=J.length;if(X===_.length)return;let G=zJ(J),Q=X>_.length;W.issues.push({origin:G,...Q?{code:"too_big",maximum:_.length}:{code:"too_small",minimum:_.length},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),Z2=F("$ZodCheckStringFormat",($,_)=>{var U,W;if(n$.init($,_),$._zod.onattach.push((J)=>{let X=J._zod.bag;if(X.format=_.format,_.pattern)X.patterns??(X.patterns=new Set),X.patterns.add(_.pattern)}),_.pattern)(U=$._zod).check??(U.check=(J)=>{if(_.pattern.lastIndex=0,_.pattern.test(J.value))return;J.issues.push({origin:"string",code:"invalid_format",format:_.format,input:J.value,..._.pattern?{pattern:_.pattern.toString()}:{},inst:$,continue:!_.abort})});else(W=$._zod).check??(W.check=()=>{})}),OY=F("$ZodCheckRegex",($,_)=>{Z2.init($,_),$._zod.check=(U)=>{if(_.pattern.lastIndex=0,_.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:"regex",input:U.value,pattern:_.pattern.toString(),inst:$,continue:!_.abort})}}),LY=F("$ZodCheckLowerCase",($,_)=>{_.pattern??(_.pattern=UY),Z2.init($,_)}),NY=F("$ZodCheckUpperCase",($,_)=>{_.pattern??(_.pattern=JY),Z2.init($,_)}),BY=F("$ZodCheckIncludes",($,_)=>{n$.init($,_);let U=t_(_.includes),W=new RegExp(typeof _.position==="number"?`^.{${_.position}}${U}`:U);_.pattern=W,$._zod.onattach.push((J)=>{let X=J._zod.bag;X.patterns??(X.patterns=new Set),X.patterns.add(W)}),$._zod.check=(J)=>{if(J.value.includes(_.includes,_.position))return;J.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:_.includes,input:J.value,inst:$,continue:!_.abort})}}),HY=F("$ZodCheckStartsWith",($,_)=>{n$.init($,_);let U=new RegExp(`^${t_(_.prefix)}.*`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.startsWith(_.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:_.prefix,input:W.value,inst:$,continue:!_.abort})}}),VY=F("$ZodCheckEndsWith",($,_)=>{n$.init($,_);let U=new RegExp(`.*${t_(_.suffix)}$`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.endsWith(_.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:_.suffix,input:W.value,inst:$,continue:!_.abort})}});RY=F("$ZodCheckProperty",($,_)=>{n$.init($,_),$._zod.check=(U)=>{let W=_.schema._zod.run({value:U.value[_.property],issues:[]},{});if(W instanceof Promise)return W.then((J)=>Z3(J,U,_.property));Z3(W,U,_.property);return}}),AY=F("$ZodCheckMimeType",($,_)=>{n$.init($,_);let U=new Set(_.mime);$._zod.onattach.push((W)=>{W._zod.bag.mime=_.mime}),$._zod.check=(W)=>{if(U.has(W.value.type))return;W.issues.push({code:"invalid_value",values:_.mime,input:W.value.type,inst:$,continue:!_.abort})}}),bY=F("$ZodCheckOverwrite",($,_)=>{n$.init($,_),$._zod.check=(U)=>{U.value=_.tx(U.value)}})});class U9{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let U=$.split(` +var fE=Object.create;var{getPrototypeOf:CE,defineProperty:vG,getOwnPropertyNames:TE}=Object;var SE=Object.prototype.hasOwnProperty;function ZE($){return this[$]}var vE,yE,hE=($,_,U)=>{var W=$!=null&&typeof $==="object";if(W){var J=_?vE??=new WeakMap:yE??=new WeakMap,X=J.get($);if(X)return X}U=$!=null?fE(CE($)):{};let G=_||!$||!$.__esModule?vG(U,"default",{value:$,enumerable:!0}):U;for(let Q of TE($))if(!SE.call(G,Q))vG(G,Q,{get:ZE.bind($,Q),enumerable:!0});if(W)J.set($,G);return G};var G0=($,_)=>()=>(_||$((_={exports:{}}).exports,_),_.exports);var xE=($)=>$;function mE($,_){this[$]=xE.bind(null,_)}var I6=($,_)=>{for(var U in _)vG($,U,{get:_[U],enumerable:!0,configurable:!0,set:mE.bind(_,U)})};var y=($,_)=>()=>($&&(_=$($=0)),_);var C$=import.meta.require;function F($,_,U){function W(Q,Y){if(!Q._zod)Object.defineProperty(Q,"_zod",{value:{def:Y,constr:G,traits:new Set},enumerable:!1});if(Q._zod.traits.has($))return;Q._zod.traits.add($),_(Q,Y);let j=G.prototype,O=Object.keys(j);for(let B=0;B<O.length;B++){let V=O[B];if(!(V in Q))Q[V]=j[V].bind(Q)}}let J=U?.Parent??Object;class X extends J{}Object.defineProperty(X,"name",{value:$});function G(Q){var Y;let j=U?.Parent?new X:this;W(j,Q),(Y=j._zod).deferred??(Y.deferred=[]);for(let O of j._zod.deferred)O();return j}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(Q)=>{if(U?.Parent&&Q instanceof U.Parent)return!0;return Q?._zod?.traits?.has($)}}),Object.defineProperty(G,"name",{value:$}),G}function __($){if($)Object.assign(v0,$);return v0}var MH,vX,yX,y6,y0,v0;var h0=y(()=>{vX=Object.freeze({status:"aborted"});yX=Symbol("zod_brand");y6=class y6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};y0=class y0 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}};(MH=globalThis).__zod_globalConfig??(MH.__zod_globalConfig={});v0=globalThis.__zod_globalConfig});var P={};I6(P,{unwrapMessage:()=>GJ,uint8ArrayToHex:()=>VT,uint8ArrayToBase64url:()=>BT,uint8ArrayToBase64:()=>wH,stringifyPrimitive:()=>g,slugify:()=>VQ,shallowClone:()=>AQ,safeExtend:()=>DT,required:()=>OT,randomString:()=>JT,propertyKeyTypes:()=>jJ,promiseAllObject:()=>UT,primitiveTypes:()=>EQ,prefixIssues:()=>k_,pick:()=>QT,partial:()=>qT,parsedType:()=>w,optionalKeys:()=>FQ,omit:()=>YT,objectClone:()=>eC,numKeys:()=>WT,nullish:()=>m4,normalizeParams:()=>S,mergeDefs:()=>Y4,merge:()=>zT,jsonStringifyReplacer:()=>I2,joinValues:()=>b,issue:()=>w2,isPlainObject:()=>d4,isObject:()=>x0,hexToUint8Array:()=>HT,getSizableOrigin:()=>DJ,getParsedType:()=>XT,getLengthableOrigin:()=>zJ,getEnumValues:()=>QJ,getElementAtPath:()=>_T,floatSafeRemainder:()=>HQ,finalizeIssue:()=>b_,extend:()=>jT,explicitlyAborted:()=>MQ,escapeRegex:()=>t_,esc:()=>hX,defineLazy:()=>K$,createTransparentProxy:()=>GT,cloneDef:()=>$T,clone:()=>N_,cleanRegex:()=>YJ,cleanEnum:()=>LT,captureStackTrace:()=>xX,cached:()=>g2,base64urlToUint8Array:()=>NT,base64ToUint8Array:()=>gH,assignProp:()=>u4,assertNotEqual:()=>oC,assertNever:()=>aC,assertIs:()=>tC,assertEqual:()=>pC,assert:()=>sC,allowsEval:()=>RQ,aborted:()=>c4,NUMBER_FORMAT_RANGES:()=>KQ,Class:()=>kH,BIGINT_FORMAT_RANGES:()=>bQ});function pC($){return $}function oC($){return $}function tC($){}function aC($){throw Error("Unexpected value in exhaustive check")}function sC($){}function QJ($){let _=Object.values($).filter((W)=>typeof W==="number");return Object.entries($).filter(([W,J])=>_.indexOf(+W)===-1).map(([W,J])=>J)}function b($,_="|"){return $.map((U)=>g(U)).join(_)}function I2($,_){if(typeof _==="bigint")return _.toString();return _}function g2($){return{get value(){{let U=$();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function m4($){return $===null||$===void 0}function YJ($){let _=$.startsWith("^")?1:0,U=$.endsWith("$")?$.length-1:$.length;return $.slice(_,U)}function HQ($,_){let U=$/_,W=Math.round(U),J=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-W)<J)return 0;return U-W}function K$($,_,U){let W=void 0;Object.defineProperty($,_,{get(){if(W===IH)return;if(W===void 0)W=IH,W=U();return W},set(J){Object.defineProperty($,_,{value:J})},configurable:!0})}function eC($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function u4($,_,U){Object.defineProperty($,_,{value:U,writable:!0,enumerable:!0,configurable:!0})}function Y4(...$){let _={};for(let U of $){let W=Object.getOwnPropertyDescriptors(U);Object.assign(_,W)}return Object.defineProperties({},_)}function $T($){return Y4($._zod.def)}function _T($,_){if(!_)return $;return _.reduce((U,W)=>U?.[W],$)}function UT($){let _=Object.keys($),U=_.map((W)=>$[W]);return Promise.all(U).then((W)=>{let J={};for(let X=0;X<_.length;X++)J[_[X]]=W[X];return J})}function JT($=10){let U="";for(let W=0;W<$;W++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function hX($){return JSON.stringify($)}function VQ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function x0($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function d4($){if(x0($)===!1)return!1;let _=$.constructor;if(_===void 0)return!0;if(typeof _!=="function")return!0;let U=_.prototype;if(x0(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function AQ($){if(d4($))return{...$};if(Array.isArray($))return[...$];if($ instanceof Map)return new Map($);if($ instanceof Set)return new Set($);return $}function WT($){let _=0;for(let U in $)if(Object.prototype.hasOwnProperty.call($,U))_++;return _}function t_($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function N_($,_,U){let W=new $._zod.constr(_??$._zod.def);if(!_||U?.parent)W._zod.parent=$;return W}function S($){let _=$;if(!_)return{};if(typeof _==="string")return{error:()=>_};if(_?.message!==void 0){if(_?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");_.error=_.message}if(delete _.message,typeof _.error==="string")return{..._,error:()=>_.error};return _}function GT($){let _;return new Proxy({},{get(U,W,J){return _??(_=$()),Reflect.get(_,W,J)},set(U,W,J,X){return _??(_=$()),Reflect.set(_,W,J,X)},has(U,W){return _??(_=$()),Reflect.has(_,W)},deleteProperty(U,W){return _??(_=$()),Reflect.deleteProperty(_,W)},ownKeys(U){return _??(_=$()),Reflect.ownKeys(_)},getOwnPropertyDescriptor(U,W){return _??(_=$()),Reflect.getOwnPropertyDescriptor(_,W)},defineProperty(U,W,J){return _??(_=$()),Reflect.defineProperty(_,W,J)}})}function g($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function FQ($){return Object.keys($).filter((_)=>{return $[_]._zod.optin==="optional"&&$[_]._zod.optout==="optional"})}function QT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;G[Q]=U.shape[Q]}return u4(this,"shape",G),G},checks:[]});return N_($,X)}function YT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={...$._zod.def.shape};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;delete G[Q]}return u4(this,"shape",G),G},checks:[]});return N_($,X)}function jT($,_){if(!d4(_))throw Error("Invalid input to extend: expected a plain object");let U=$._zod.def.checks;if(U&&U.length>0){let X=$._zod.def.shape;for(let G in _)if(Object.getOwnPropertyDescriptor(X,G)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let J=Y4($._zod.def,{get shape(){let X={...$._zod.def.shape,..._};return u4(this,"shape",X),X}});return N_($,J)}function DT($,_){if(!d4(_))throw Error("Invalid input to safeExtend: expected a plain object");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._};return u4(this,"shape",W),W}});return N_($,U)}function zT($,_){if($._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._._zod.def.shape};return u4(this,"shape",W),W},get catchall(){return _._zod.def.catchall},checks:_._zod.def.checks??[]});return N_($,U)}function qT($,_,U){let J=_._zod.def.checks;if(J&&J.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let G=Y4(_._zod.def,{get shape(){let Q=_._zod.def.shape,Y={...Q};if(U)for(let j in U){if(!(j in Q))throw Error(`Unrecognized key: "${j}"`);if(!U[j])continue;Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j]}else for(let j in Q)Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j];return u4(this,"shape",Y),Y},checks:[]});return N_(_,G)}function OT($,_,U){let W=Y4(_._zod.def,{get shape(){let J=_._zod.def.shape,X={...J};if(U)for(let G in U){if(!(G in X))throw Error(`Unrecognized key: "${G}"`);if(!U[G])continue;X[G]=new $({type:"nonoptional",innerType:J[G]})}else for(let G in J)X[G]=new $({type:"nonoptional",innerType:J[G]});return u4(this,"shape",X),X}});return N_(_,W)}function c4($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue!==!0)return!0;return!1}function MQ($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue===!1)return!0;return!1}function k_($,_){return _.map((U)=>{var W;return(W=U).path??(W.path=[]),U.path.unshift($),U})}function GJ($){return typeof $==="string"?$:$?.message}function b_($,_,U){let W=$.message?$.message:GJ($.inst?._zod.def?.error?.($))??GJ(_?.error?.($))??GJ(U.customError?.($))??GJ(U.localeError?.($))??"Invalid input",{inst:J,continue:X,input:G,...Q}=$;if(Q.path??(Q.path=[]),Q.message=W,_?.reportInput)Q.input=G;return Q}function DJ($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function zJ($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function w($){let _=typeof $;switch(_){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let U=$;if(U&&Object.getPrototypeOf(U)!==Object.prototype&&"constructor"in U&&U.constructor)return U.constructor.name}}return _}function w2(...$){let[_,U,W]=$;if(typeof _==="string")return{message:_,code:"custom",input:U,inst:W};return{..._}}function LT($){return Object.entries($).filter(([_,U])=>{return Number.isNaN(Number.parseInt(_,10))}).map((_)=>_[1])}function gH($){let _=atob($),U=new Uint8Array(_.length);for(let W=0;W<_.length;W++)U[W]=_.charCodeAt(W);return U}function wH($){let _="";for(let U=0;U<$.length;U++)_+=String.fromCharCode($[U]);return btoa(_)}function NT($){let _=$.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-_.length%4)%4);return gH(_+U)}function BT($){return wH($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function HT($){let _=$.replace(/^0x/,"");if(_.length%2!==0)throw Error("Invalid hex string length");let U=new Uint8Array(_.length/2);for(let W=0;W<_.length;W+=2)U[W/2]=Number.parseInt(_.slice(W,W+2),16);return U}function VT($){return Array.from($).map((_)=>_.toString(16).padStart(2,"0")).join("")}class kH{constructor(...$){}}var IH,xX,RQ,XT=($)=>{let _=typeof $;switch(_){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${_}`)}},jJ,EQ,KQ,bQ;var p=y(()=>{h0();IH=Symbol("evaluating");xX="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};RQ=g2(()=>{if(v0.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});jJ=new Set(["string","number","symbol"]),EQ=new Set(["string","number","bigint","boolean","symbol","undefined"]);KQ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},bQ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function k2($,_=(U)=>U.message){let U={},W=[];for(let J of $.issues)if(J.path.length>0)U[J.path[0]]=U[J.path[0]]||[],U[J.path[0]].push(_(J));else W.push(_(J));return{formErrors:W,fieldErrors:U}}function P2($,_=(U)=>U.message){let U={_errors:[]},W=(J,X=[])=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((Q)=>W({issues:Q},[...X,...G.path]));else if(G.code==="invalid_key")W({issues:G.issues},[...X,...G.path]);else if(G.code==="invalid_element")W({issues:G.issues},[...X,...G.path]);else{let Q=[...X,...G.path];if(Q.length===0)U._errors.push(_(G));else{let Y=U,j=0;while(j<Q.length){let O=Q[j];if(j!==Q.length-1)Y[O]=Y[O]||{_errors:[]};else Y[O]=Y[O]||{_errors:[]},Y[O]._errors.push(_(G));Y=Y[O],j++}}}};return W($),U}function mX($,_=(U)=>U.message){let U={errors:[]},W=(J,X=[])=>{var G,Q;for(let Y of J.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((j)=>W({issues:j},[...X,...Y.path]));else if(Y.code==="invalid_key")W({issues:Y.issues},[...X,...Y.path]);else if(Y.code==="invalid_element")W({issues:Y.issues},[...X,...Y.path]);else{let j=[...X,...Y.path];if(j.length===0){U.errors.push(_(Y));continue}let O=U,B=0;while(B<j.length){let V=j[B],L=B===j.length-1;if(typeof V==="string")O.properties??(O.properties={}),(G=O.properties)[V]??(G[V]={errors:[]}),O=O.properties[V];else O.items??(O.items=[]),(Q=O.items)[V]??(Q[V]={errors:[]}),O=O.items[V];if(L)O.errors.push(_(Y));B++}}};return W($),U}function fH($){let _=[],U=$.map((W)=>typeof W==="object"?W.key:W);for(let W of U)if(typeof W==="number")_.push(`[${W}]`);else if(typeof W==="symbol")_.push(`[${JSON.stringify(String(W))}]`);else if(/[^\w$]/.test(W))_.push(`[${JSON.stringify(W)}]`);else{if(_.length)_.push(".");_.push(W)}return _.join("")}function uX($){let _=[],U=[...$.issues].sort((W,J)=>(W.path??[]).length-(J.path??[]).length);for(let W of U)if(_.push(`\u2716 ${W.message}`),W.path?.length)_.push(` \u2192 at ${fH(W.path)}`);return _.join(` +`)}var PH=($,_)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:_,enumerable:!1}),$.message=JSON.stringify(_,I2,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},qJ,P_;var IQ=y(()=>{h0();p();qJ=F("$ZodError",PH),P_=F("$ZodError",PH,{Parent:Error})});var f2=($)=>(_,U,W,J)=>{let X=W?{...W,async:!1}:{async:!1},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)throw new y6;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>b_(Y,X,__())));throw xX(Q,J?.callee),Q}return G.value},dX,C2=($)=>async(_,U,W,J)=>{let X=W?{...W,async:!0}:{async:!0},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)G=await G;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>b_(Y,X,__())));throw xX(Q,J?.callee),Q}return G.value},cX,T2=($)=>(_,U,W)=>{let J=W?{...W,async:!1}:{async:!1},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)throw new y6;return X.issues.length?{success:!1,error:new($??qJ)(X.issues.map((G)=>b_(G,J,__())))}:{success:!0,data:X.value}},gQ,S2=($)=>async(_,U,W)=>{let J=W?{...W,async:!0}:{async:!0},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)X=await X;return X.issues.length?{success:!1,error:new $(X.issues.map((G)=>b_(G,J,__())))}:{success:!0,data:X.value}},wQ,nX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return f2($)(_,U,J)},AT,lX=($)=>(_,U,W)=>{return f2($)(_,U,W)},ET,iX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return C2($)(_,U,J)},FT,rX=($)=>async(_,U,W)=>{return C2($)(_,U,W)},KT,pX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return T2($)(_,U,J)},bT,oX=($)=>(_,U,W)=>{return T2($)(_,U,W)},MT,tX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return S2($)(_,U,J)},IT,aX=($)=>async(_,U,W)=>{return S2($)(_,U,W)},gT;var kQ=y(()=>{h0();IQ();p();dX=f2(P_),cX=C2(P_),gQ=T2(P_),wQ=S2(P_),AT=nX(P_),ET=lX(P_),FT=iX(P_),KT=rX(P_),bT=pX(P_),MT=oX(P_),IT=tX(P_),gT=aX(P_)});var f_={};I6(f_,{xid:()=>TQ,uuid7:()=>fT,uuid6:()=>PT,uuid4:()=>kT,uuid:()=>m0,uppercase:()=>WY,unicodeEmail:()=>CH,undefined:()=>UY,ulid:()=>CQ,time:()=>oQ,string:()=>aQ,sha512_hex:()=>sT,sha512_base64url:()=>$S,sha512_base64:()=>eT,sha384_hex:()=>oT,sha384_base64url:()=>aT,sha384_base64:()=>tT,sha256_hex:()=>iT,sha256_base64url:()=>pT,sha256_base64:()=>rT,sha1_hex:()=>cT,sha1_base64url:()=>lT,sha1_base64:()=>nT,rfc5322Email:()=>TT,number:()=>OJ,null:()=>_Y,nanoid:()=>ZQ,md5_hex:()=>mT,md5_base64url:()=>dT,md5_base64:()=>uT,mac:()=>dQ,lowercase:()=>JY,ksuid:()=>SQ,ipv6:()=>uQ,ipv4:()=>mQ,integer:()=>eQ,idnEmail:()=>ST,httpProtocol:()=>iQ,html5Email:()=>CT,hostname:()=>yT,hex:()=>xT,guid:()=>yQ,extendedDuration:()=>wT,emoji:()=>xQ,email:()=>hQ,e164:()=>rQ,duration:()=>vQ,domain:()=>hT,datetime:()=>tQ,date:()=>pQ,cuid2:()=>fQ,cuid:()=>PQ,cidrv6:()=>nQ,cidrv4:()=>cQ,browserEmail:()=>ZT,boolean:()=>$Y,bigint:()=>sQ,base64url:()=>sX,base64:()=>lQ});function xQ(){return new RegExp(vT,"u")}function SH($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function oQ($){return new RegExp(`^${SH($)}$`)}function tQ($){let _=SH({precision:$.precision}),U=["Z"];if($.local)U.push("");if($.offset)U.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let W=`${_}(?:${U.join("|")})`;return new RegExp(`^${TH}T(?:${W})$`)}function LJ($,_){return new RegExp(`^[A-Za-z0-9+/]{${$}}${_}$`)}function NJ($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var PQ,fQ,CQ,TQ,SQ,ZQ,vQ,wT,yQ,m0=($)=>{if(!$)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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},kT,PT,fT,hQ,CT,TT,CH,ST,ZT,vT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mQ,uQ,dQ=($)=>{let _=t_($??":");return new RegExp(`^(?:[0-9A-F]{2}${_}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${_}){5}[0-9a-f]{2}$`)},cQ,nQ,lQ,sX,yT,hT,iQ,rQ,TH="(?:(?:\\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])))",pQ,aQ=($)=>{let _=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${_}$`)},sQ,eQ,OJ,$Y,_Y,UY,JY,WY,xT,mT,uT,dT,cT,nT,lT,iT,rT,pT,oT,tT,aT,sT,eT,$S;var eX=y(()=>{p();PQ=/^[cC][0-9a-z]{6,}$/,fQ=/^[0-9a-z]+$/,CQ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,TQ=/^[0-9a-vA-V]{20}$/,SQ=/^[A-Za-z0-9]{27}$/,ZQ=/^[a-zA-Z0-9_-]{21}$/,vQ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wT=/^[-+]?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)?)??$/,yQ=/^([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})$/,kT=m0(4),PT=m0(6),fT=m0(7),hQ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,CT=/^[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])?)*$/,TT=/^(([^<>()\[\]\\.,;:\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,}))$/,CH=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ST=CH,ZT=/^[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])?)*$/;mQ=/^(?:(?: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])$/,uQ=/^(([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}|:))$/,cQ=/^((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])$/,nQ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,lQ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,sX=/^[A-Za-z0-9_-]*$/,yT=/^(?=.{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])?)*\.?$/,hT=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,iQ=/^https?$/,rQ=/^\+[1-9]\d{6,14}$/,pQ=new RegExp(`^${TH}$`);sQ=/^-?\d+n?$/,eQ=/^-?\d+$/,OJ=/^-?\d+(?:\.\d+)?$/,$Y=/^(?:true|false)$/i,_Y=/^null$/i,UY=/^undefined$/i,JY=/^[^A-Z]*$/,WY=/^[^a-z]*$/,xT=/^[0-9a-fA-F]*$/;mT=/^[0-9a-fA-F]{32}$/,uT=LJ(22,"=="),dT=NJ(22),cT=/^[0-9a-fA-F]{40}$/,nT=LJ(27,"="),lT=NJ(27),iT=/^[0-9a-fA-F]{64}$/,rT=LJ(43,"="),pT=NJ(43),oT=/^[0-9a-fA-F]{96}$/,tT=LJ(64,""),aT=NJ(64),sT=/^[0-9a-fA-F]{128}$/,eT=LJ(86,"=="),$S=NJ(86)});function ZH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues))}var c$,vH,$9,_9,XY,GY,QY,YY,jY,DY,zY,qY,OY,Z2,LY,NY,BY,HY,VY,RY,AY,EY,FY;var U9=y(()=>{h0();eX();p();c$=F("$ZodCheck",($,_)=>{var U;$._zod??($._zod={}),$._zod.def=_,(U=$._zod).onattach??(U.onattach=[])}),vH={number:"number",bigint:"bigint",object:"date"},$9=F("$ZodCheckLessThan",($,_)=>{c$.init($,_);let U=vH[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.maximum:J.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(_.value<X)if(_.inclusive)J.maximum=_.value;else J.exclusiveMaximum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value<=_.value:W.value<_.value)return;W.issues.push({origin:U,code:"too_big",maximum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),_9=F("$ZodCheckGreaterThan",($,_)=>{c$.init($,_);let U=vH[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.minimum:J.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(_.value>X)if(_.inclusive)J.minimum=_.value;else J.exclusiveMinimum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value>=_.value:W.value>_.value)return;W.issues.push({origin:U,code:"too_small",minimum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),XY=F("$ZodCheckMultipleOf",($,_)=>{c$.init($,_),$._zod.onattach.push((U)=>{var W;(W=U._zod.bag).multipleOf??(W.multipleOf=_.value)}),$._zod.check=(U)=>{if(typeof U.value!==typeof _.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof U.value==="bigint"?U.value%_.value===BigInt(0):HQ(U.value,_.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:_.value,input:U.value,inst:$,continue:!_.abort})}}),GY=F("$ZodCheckNumberFormat",($,_)=>{c$.init($,_),_.format=_.format||"float64";let U=_.format?.includes("int"),W=U?"int":"number",[J,X]=KQ[_.format];$._zod.onattach.push((G)=>{let Q=G._zod.bag;if(Q.format=_.format,Q.minimum=J,Q.maximum=X,U)Q.pattern=eQ}),$._zod.check=(G)=>{let Q=G.value;if(U){if(!Number.isInteger(Q)){G.issues.push({expected:W,format:_.format,code:"invalid_type",continue:!1,input:Q,inst:$});return}if(!Number.isSafeInteger(Q)){if(Q>0)G.issues.push({input:Q,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});else G.issues.push({input:Q,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});return}}if(Q<J)G.issues.push({origin:"number",input:Q,code:"too_small",minimum:J,inclusive:!0,inst:$,continue:!_.abort});if(Q>X)G.issues.push({origin:"number",input:Q,code:"too_big",maximum:X,inclusive:!0,inst:$,continue:!_.abort})}}),QY=F("$ZodCheckBigIntFormat",($,_)=>{c$.init($,_);let[U,W]=bQ[_.format];$._zod.onattach.push((J)=>{let X=J._zod.bag;X.format=_.format,X.minimum=U,X.maximum=W}),$._zod.check=(J)=>{let X=J.value;if(X<U)J.issues.push({origin:"bigint",input:X,code:"too_small",minimum:U,inclusive:!0,inst:$,continue:!_.abort});if(X>W)J.issues.push({origin:"bigint",input:X,code:"too_big",maximum:W,inclusive:!0,inst:$,continue:!_.abort})}}),YY=F("$ZodCheckMaxSize",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum<J)W._zod.bag.maximum=_.maximum}),$._zod.check=(W)=>{let J=W.value;if(J.size<=_.maximum)return;W.issues.push({origin:DJ(J),code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),jY=F("$ZodCheckMinSize",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.size>=_.minimum)return;W.issues.push({origin:DJ(J),code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),DY=F("$ZodCheckSizeEquals",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.size,J.maximum=_.size,J.size=_.size}),$._zod.check=(W)=>{let J=W.value,X=J.size;if(X===_.size)return;let G=X>_.size;W.issues.push({origin:DJ(J),...G?{code:"too_big",maximum:_.size}:{code:"too_small",minimum:_.size},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),zY=F("$ZodCheckMaxLength",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum<J)W._zod.bag.maximum=_.maximum}),$._zod.check=(W)=>{let J=W.value;if(J.length<=_.maximum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),qY=F("$ZodCheckMinLength",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.length>=_.minimum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),OY=F("$ZodCheckLengthEquals",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.length,J.maximum=_.length,J.length=_.length}),$._zod.check=(W)=>{let J=W.value,X=J.length;if(X===_.length)return;let G=zJ(J),Q=X>_.length;W.issues.push({origin:G,...Q?{code:"too_big",maximum:_.length}:{code:"too_small",minimum:_.length},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),Z2=F("$ZodCheckStringFormat",($,_)=>{var U,W;if(c$.init($,_),$._zod.onattach.push((J)=>{let X=J._zod.bag;if(X.format=_.format,_.pattern)X.patterns??(X.patterns=new Set),X.patterns.add(_.pattern)}),_.pattern)(U=$._zod).check??(U.check=(J)=>{if(_.pattern.lastIndex=0,_.pattern.test(J.value))return;J.issues.push({origin:"string",code:"invalid_format",format:_.format,input:J.value,..._.pattern?{pattern:_.pattern.toString()}:{},inst:$,continue:!_.abort})});else(W=$._zod).check??(W.check=()=>{})}),LY=F("$ZodCheckRegex",($,_)=>{Z2.init($,_),$._zod.check=(U)=>{if(_.pattern.lastIndex=0,_.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:"regex",input:U.value,pattern:_.pattern.toString(),inst:$,continue:!_.abort})}}),NY=F("$ZodCheckLowerCase",($,_)=>{_.pattern??(_.pattern=JY),Z2.init($,_)}),BY=F("$ZodCheckUpperCase",($,_)=>{_.pattern??(_.pattern=WY),Z2.init($,_)}),HY=F("$ZodCheckIncludes",($,_)=>{c$.init($,_);let U=t_(_.includes),W=new RegExp(typeof _.position==="number"?`^.{${_.position}}${U}`:U);_.pattern=W,$._zod.onattach.push((J)=>{let X=J._zod.bag;X.patterns??(X.patterns=new Set),X.patterns.add(W)}),$._zod.check=(J)=>{if(J.value.includes(_.includes,_.position))return;J.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:_.includes,input:J.value,inst:$,continue:!_.abort})}}),VY=F("$ZodCheckStartsWith",($,_)=>{c$.init($,_);let U=new RegExp(`^${t_(_.prefix)}.*`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.startsWith(_.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:_.prefix,input:W.value,inst:$,continue:!_.abort})}}),RY=F("$ZodCheckEndsWith",($,_)=>{c$.init($,_);let U=new RegExp(`.*${t_(_.suffix)}$`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.endsWith(_.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:_.suffix,input:W.value,inst:$,continue:!_.abort})}});AY=F("$ZodCheckProperty",($,_)=>{c$.init($,_),$._zod.check=(U)=>{let W=_.schema._zod.run({value:U.value[_.property],issues:[]},{});if(W instanceof Promise)return W.then((J)=>ZH(J,U,_.property));ZH(W,U,_.property);return}}),EY=F("$ZodCheckMimeType",($,_)=>{c$.init($,_);let U=new Set(_.mime);$._zod.onattach.push((W)=>{W._zod.bag.mime=_.mime}),$._zod.check=(W)=>{if(U.has(W.value.type))return;W.issues.push({code:"invalid_value",values:_.mime,input:W.value.type,inst:$,continue:!_.abort})}}),FY=F("$ZodCheckOverwrite",($,_)=>{c$.init($,_),$._zod.check=(U)=>{U.value=_.tx(U.value)}})});class J9{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let U=$.split(` `).filter((X)=>X),W=Math.min(...U.map((X)=>X.length-X.trimStart().length)),J=U.map((X)=>X.slice(W)).map((X)=>" ".repeat(this.indent*2)+X);for(let X of J)this.content.push(X)}compile(){let $=Function,_=this?.args,W=[...(this?.content??[""]).map((J)=>` ${J}`)];return new $(..._,W.join(` -`))}}var FY;var EY=y(()=>{FY={major:4,minor:4,patch:3}});function lY($){if($==="")return!0;if(/\s/.test($))return!1;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}function s3($){if(!aX.test($))return!1;let _=$.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),U=_.padEnd(Math.ceil(_.length/4)*4,"=");return lY(U)}function e3($,_=null){try{let U=$.split(".");if(U.length!==3)return!1;let[W]=U;if(!W)return!1;let J=JSON.parse(atob(W));if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&(!("alg"in J)||J.alg!==_))return!1;return!0}catch{return!1}}function h3($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function G9($,_,U,W,J,X){let G=U in W;if($.issues.length){if(J&&X&&!G)return;_.issues.push(...k_(U,$.issues))}if(!G&&!J){if(!$.issues.length)_.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if($.value===void 0){if(G)_.value[U]=void 0}else _.value[U]=$.value}function $H($){let _=Object.keys($.shape);for(let W of _)if(!$.shape?.[W]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${W}": expected a Zod schema`);let U=bQ($.shape);return{...$,keys:_,keySet:new Set(_),numKeys:_.length,optionalKeys:new Set(U)}}function _H($,_,U,W,J,X){let G=[],Q=J.keySet,Y=J.catchall._zod,j=Y.def.type,O=Y.optin==="optional",B=Y.optout==="optional";for(let V in _){if(V==="__proto__")continue;if(Q.has(V))continue;if(j==="never"){G.push(V);continue}let L=Y.run({value:_[V],issues:[]},W);if(L instanceof Promise)$.push(L.then((N)=>G9(N,U,V,_,O,B)));else G9(L,U,V,_,O,B)}if(G.length)U.issues.push({code:"unrecognized_keys",keys:G,input:_,inst:X});if(!$.length)return U;return Promise.all($).then(()=>{return U})}function x3($,_,U,W){for(let X of $)if(X.issues.length===0)return _.value=X.value,_;let J=$.filter((X)=>!n4(X));if(J.length===1)return _.value=J[0].value,J[0];return _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>K_(G,W,__())))}),_}function m3($,_,U,W){let J=$.filter((X)=>X.issues.length===0);if(J.length===1)return _.value=J[0].value,_;if(J.length===0)_.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>K_(G,W,__())))});else _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:[],inclusive:!1});return _}function KY($,_){if($===_)return{valid:!0,data:$};if($ instanceof Date&&_ instanceof Date&&+$===+_)return{valid:!0,data:$};if(d4($)&&d4(_)){let U=Object.keys(_),W=Object.keys($).filter((X)=>U.indexOf(X)!==-1),J={...$,..._};for(let X of W){let G=KY($[X],_[X]);if(!G.valid)return{valid:!1,mergeErrorPath:[X,...G.mergeErrorPath]};J[X]=G.data}return{valid:!0,data:J}}if(Array.isArray($)&&Array.isArray(_)){if($.length!==_.length)return{valid:!1,mergeErrorPath:[]};let U=[];for(let W=0;W<$.length;W++){let J=$[W],X=_[W],G=KY(J,X);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};U.push(G.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function u3($,_,U){let W=new Map,J;for(let Q of _.issues)if(Q.code==="unrecognized_keys"){J??(J=Q);for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).l=!0}}else $.issues.push(Q);for(let Q of U.issues)if(Q.code==="unrecognized_keys")for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).r=!0}else $.issues.push(Q);let X=[...W].filter(([,Q])=>Q.l&&Q.r).map(([Q])=>Q);if(X.length&&J)$.issues.push({...J,keys:X});if(n4($))return $;let G=KY(_.value,U.value);if(!G.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(G.mergeErrorPath)}`);return $.value=G.data,$}function d3($,_){for(let U=$.length-1;U>=0;U--)if($[U]._zod[_]!=="optional")return U+1;return 0}function n3($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function c3($,_,U,W,J){for(let X=0;X<U.length;X++){let G=$[X],Q=X<W.length;if(G.issues.length){if(!Q&&X>=J){_.value.length=X;break}_.issues.push(...k_(X,G.issues))}_.value[X]=G.value}for(let X=_.value.length-1;X>=W.length;X--)if(U[X]._zod.optout==="optional"&&_.value[X]===void 0)_.value.length=X;else break;return _}function l3($,_,U,W,J,X,G){if($.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,$.issues));else U.issues.push({code:"invalid_key",origin:"map",input:J,inst:X,issues:$.issues.map((Q)=>K_(Q,G,__()))});if(_.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,_.issues));else U.issues.push({origin:"map",code:"invalid_element",input:J,inst:X,key:W,issues:_.issues.map((Q)=>K_(Q,G,__()))});U.value.set($.value,_.value)}function r3($,_){if($.issues.length)_.issues.push(...$.issues);_.value.add($.value)}function i3($,_){if(_===void 0&&($.issues.length||$.fallback))return{issues:[],value:void 0};return $}function p3($,_){if($.value===void 0)$.value=_.defaultValue;return $}function o3($,_){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:_});return $}function J9($,_,U){if($.issues.length)return $.aborted=!0,$;return _._zod.run({value:$.value,issues:$.issues,fallback:$.fallback},U)}function W9($,_,U){if($.issues.length)return $.aborted=!0,$;if((U.direction||"forward")==="forward"){let J=_.transform($.value,$);if(J instanceof Promise)return J.then((X)=>X9($,X,_.out,U));return X9($,J,_.out,U)}else{let J=_.reverseTransform($.value,$);if(J instanceof Promise)return J.then((X)=>X9($,X,_.in,U));return X9($,J,_.in,U)}}function X9($,_,U,W){if($.issues.length)return $.aborted=!0,$;return U._zod.run({value:_,issues:$.issues},W)}function t3($){return $.value=Object.freeze($.value),$}function a3($,_,U,W){if(!$){let J={code:"custom",input:U,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)J.params=W._zod.def.params;_.issues.push(w2(J))}}var D$,u0,u$,MY,gY,IY,wY,kY,fY,PY,CY,TY,SY,ZY,vY,yY,hY,xY,mY,uY,dY,nY,cY,rY,iY,pY,oY,tY,Q9,aY,BJ,Y9,sY,eY,$j,_j,Uj,Jj,Wj,Xj,Gj,Qj,UH,Yj,HJ,jj,Dj,zj,j9,qj,Oj,Lj,Nj,Bj,Hj,Vj,D9,Rj,Aj,bj,Fj,Ej,Kj,Mj,gj,z9,VJ,Ij,wj,kj,fj,Pj,Cj,Tj;var Sj=y(()=>{_9();h0();wQ();sX();p();EY();p();D$=F("$ZodType",($,_)=>{var U;$??($={}),$._zod.def=_,$._zod.bag=$._zod.bag||{},$._zod.version=FY;let W=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))W.unshift($);for(let J of W)for(let X of J._zod.onattach)X($);if(W.length===0)(U=$._zod).deferred??(U.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let J=(G,Q,Y)=>{let j=n4(G),O;for(let B of Q){if(B._zod.def.when){if(KQ(G))continue;if(!B._zod.def.when(G))continue}else if(j)continue;let V=G.issues.length,L=B._zod.check(G);if(L instanceof Promise&&Y?.async===!1)throw new y6;if(O||L instanceof Promise)O=(O??Promise.resolve()).then(async()=>{if(await L,G.issues.length===V)return;if(!j)j=n4(G,V)});else{if(G.issues.length===V)continue;if(!j)j=n4(G,V)}}if(O)return O.then(()=>{return G});return G},X=(G,Q,Y)=>{if(n4(G))return G.aborted=!0,G;let j=J(Q,W,Y);if(j instanceof Promise){if(Y.async===!1)throw new y6;return j.then((O)=>$._zod.parse(O,Y))}return $._zod.parse(j,Y)};$._zod.run=(G,Q)=>{if(Q.skipChecks)return $._zod.parse(G,Q);if(Q.direction==="backward"){let j=$._zod.parse({value:G.value,issues:[]},{...Q,skipChecks:!0});if(j instanceof Promise)return j.then((O)=>{return X(O,G,Q)});return X(j,G,Q)}let Y=$._zod.parse(G,Q);if(Y instanceof Promise){if(Q.async===!1)throw new y6;return Y.then((j)=>J(j,W,Q))}return J(Y,W,Q)}}E$($,"~standard",()=>({validate:(J)=>{try{let X=gQ($,J);return X.success?{value:X.data}:{issues:X.error?.issues}}catch(X){return IQ($,J).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}))}),u0=F("$ZodString",($,_)=>{D$.init($,_),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??tQ($._zod.bag),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=String(U.value)}catch(J){}if(typeof U.value==="string")return U;return U.issues.push({expected:"string",code:"invalid_type",input:U.value,inst:$}),U}}),u$=F("$ZodStringFormat",($,_)=>{Z2.init($,_),u0.init($,_)}),MY=F("$ZodGUID",($,_)=>{_.pattern??(_.pattern=vQ),u$.init($,_)}),gY=F("$ZodUUID",($,_)=>{if(_.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[_.version];if(W===void 0)throw Error(`Invalid UUID version: "${_.version}"`);_.pattern??(_.pattern=m0(W))}else _.pattern??(_.pattern=m0());u$.init($,_)}),IY=F("$ZodEmail",($,_)=>{_.pattern??(_.pattern=yQ),u$.init($,_)}),wY=F("$ZodURL",($,_)=>{u$.init($,_),$._zod.check=(U)=>{try{let W=U.value.trim();if(!_.normalize&&_.protocol?.source===lQ.source){if(!/^https?:\/\//i.test(W)){U.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:U.value,inst:$,continue:!_.abort});return}}let J=new URL(W);if(_.hostname){if(_.hostname.lastIndex=0,!_.hostname.test(J.hostname))U.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:_.hostname.source,input:U.value,inst:$,continue:!_.abort})}if(_.protocol){if(_.protocol.lastIndex=0,!_.protocol.test(J.protocol.endsWith(":")?J.protocol.slice(0,-1):J.protocol))U.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:_.protocol.source,input:U.value,inst:$,continue:!_.abort})}if(_.normalize)U.value=J.href;else U.value=W;return}catch(W){U.issues.push({code:"invalid_format",format:"url",input:U.value,inst:$,continue:!_.abort})}}}),kY=F("$ZodEmoji",($,_)=>{_.pattern??(_.pattern=hQ()),u$.init($,_)}),fY=F("$ZodNanoID",($,_)=>{_.pattern??(_.pattern=SQ),u$.init($,_)}),PY=F("$ZodCUID",($,_)=>{_.pattern??(_.pattern=kQ),u$.init($,_)}),CY=F("$ZodCUID2",($,_)=>{_.pattern??(_.pattern=fQ),u$.init($,_)}),TY=F("$ZodULID",($,_)=>{_.pattern??(_.pattern=PQ),u$.init($,_)}),SY=F("$ZodXID",($,_)=>{_.pattern??(_.pattern=CQ),u$.init($,_)}),ZY=F("$ZodKSUID",($,_)=>{_.pattern??(_.pattern=TQ),u$.init($,_)}),vY=F("$ZodISODateTime",($,_)=>{_.pattern??(_.pattern=oQ(_)),u$.init($,_)}),yY=F("$ZodISODate",($,_)=>{_.pattern??(_.pattern=iQ),u$.init($,_)}),hY=F("$ZodISOTime",($,_)=>{_.pattern??(_.pattern=pQ(_)),u$.init($,_)}),xY=F("$ZodISODuration",($,_)=>{_.pattern??(_.pattern=ZQ),u$.init($,_)}),mY=F("$ZodIPv4",($,_)=>{_.pattern??(_.pattern=xQ),u$.init($,_),$._zod.bag.format="ipv4"}),uY=F("$ZodIPv6",($,_)=>{_.pattern??(_.pattern=mQ),u$.init($,_),$._zod.bag.format="ipv6",$._zod.check=(U)=>{try{new URL(`http://[${U.value}]`)}catch{U.issues.push({code:"invalid_format",format:"ipv6",input:U.value,inst:$,continue:!_.abort})}}}),dY=F("$ZodMAC",($,_)=>{_.pattern??(_.pattern=uQ(_.delimiter)),u$.init($,_),$._zod.bag.format="mac"}),nY=F("$ZodCIDRv4",($,_)=>{_.pattern??(_.pattern=dQ),u$.init($,_)}),cY=F("$ZodCIDRv6",($,_)=>{_.pattern??(_.pattern=nQ),u$.init($,_),$._zod.check=(U)=>{let W=U.value.split("/");try{if(W.length!==2)throw Error();let[J,X]=W;if(!X)throw Error();let G=Number(X);if(`${G}`!==X)throw Error();if(G<0||G>128)throw Error();new URL(`http://[${J}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:$,continue:!_.abort})}}});rY=F("$ZodBase64",($,_)=>{_.pattern??(_.pattern=cQ),u$.init($,_),$._zod.bag.contentEncoding="base64",$._zod.check=(U)=>{if(lY(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:$,continue:!_.abort})}});iY=F("$ZodBase64URL",($,_)=>{_.pattern??(_.pattern=aX),u$.init($,_),$._zod.bag.contentEncoding="base64url",$._zod.check=(U)=>{if(s3(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:$,continue:!_.abort})}}),pY=F("$ZodE164",($,_)=>{_.pattern??(_.pattern=rQ),u$.init($,_)});oY=F("$ZodJWT",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(e3(U.value,_.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:$,continue:!_.abort})}}),tY=F("$ZodCustomStringFormat",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(_.fn(U.value))return;U.issues.push({code:"invalid_format",format:_.format,input:U.value,inst:$,continue:!_.abort})}}),Q9=F("$ZodNumber",($,_)=>{D$.init($,_),$._zod.pattern=$._zod.bag.pattern??OJ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Number(U.value)}catch(G){}let J=U.value;if(typeof J==="number"&&!Number.isNaN(J)&&Number.isFinite(J))return U;let X=typeof J==="number"?Number.isNaN(J)?"NaN":!Number.isFinite(J)?"Infinity":void 0:void 0;return U.issues.push({expected:"number",code:"invalid_type",input:J,inst:$,...X?{received:X}:{}}),U}}),aY=F("$ZodNumberFormat",($,_)=>{XY.init($,_),Q9.init($,_)}),BJ=F("$ZodBoolean",($,_)=>{D$.init($,_),$._zod.pattern=eQ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Boolean(U.value)}catch(X){}let J=U.value;if(typeof J==="boolean")return U;return U.issues.push({expected:"boolean",code:"invalid_type",input:J,inst:$}),U}}),Y9=F("$ZodBigInt",($,_)=>{D$.init($,_),$._zod.pattern=aQ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=BigInt(U.value)}catch(J){}if(typeof U.value==="bigint")return U;return U.issues.push({expected:"bigint",code:"invalid_type",input:U.value,inst:$}),U}}),sY=F("$ZodBigIntFormat",($,_)=>{GY.init($,_),Y9.init($,_)}),eY=F("$ZodSymbol",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J==="symbol")return U;return U.issues.push({expected:"symbol",code:"invalid_type",input:J,inst:$}),U}}),$j=F("$ZodUndefined",($,_)=>{D$.init($,_),$._zod.pattern=_Y,$._zod.values=new Set([void 0]),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"undefined",code:"invalid_type",input:J,inst:$}),U}}),_j=F("$ZodNull",($,_)=>{D$.init($,_),$._zod.pattern=$Y,$._zod.values=new Set([null]),$._zod.parse=(U,W)=>{let J=U.value;if(J===null)return U;return U.issues.push({expected:"null",code:"invalid_type",input:J,inst:$}),U}}),Uj=F("$ZodAny",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Jj=F("$ZodUnknown",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Wj=F("$ZodNever",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:$}),U}}),Xj=F("$ZodVoid",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"void",code:"invalid_type",input:J,inst:$}),U}}),Gj=F("$ZodDate",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=new Date(U.value)}catch(Q){}let J=U.value,X=J instanceof Date;if(X&&!Number.isNaN(J.getTime()))return U;return U.issues.push({expected:"date",code:"invalid_type",input:J,...X?{received:"Invalid Date"}:{},inst:$}),U}});Qj=F("$ZodArray",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!Array.isArray(J))return U.issues.push({expected:"array",code:"invalid_type",input:J,inst:$}),U;U.value=Array(J.length);let X=[];for(let G=0;G<J.length;G++){let Q=J[G],Y=_.element._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)X.push(Y.then((j)=>h3(j,U,G)));else h3(Y,U,G)}if(X.length)return Promise.all(X).then(()=>U);return U}});UH=F("$ZodObject",($,_)=>{if(D$.init($,_),!Object.getOwnPropertyDescriptor(_,"shape")?.get){let Q=_.shape;Object.defineProperty(_,"shape",{get:()=>{let Y={...Q};return Object.defineProperty(_,"shape",{value:Y}),Y}})}let W=I2(()=>$H(_));E$($._zod,"propValues",()=>{let Q=_.shape,Y={};for(let j in Q){let O=Q[j]._zod;if(O.values){Y[j]??(Y[j]=new Set);for(let B of O.values)Y[j].add(B)}}return Y});let J=x0,X=_.catchall,G;$._zod.parse=(Q,Y)=>{G??(G=W.value);let j=Q.value;if(!J(j))return Q.issues.push({expected:"object",code:"invalid_type",input:j,inst:$}),Q;Q.value={};let O=[],B=G.shape;for(let V of G.keys){let L=B[V],N=L._zod.optin==="optional",H=L._zod.optout==="optional",R=L._zod.run({value:j[V],issues:[]},Y);if(R instanceof Promise)O.push(R.then((b)=>G9(b,Q,V,j,N,H)));else G9(R,Q,V,j,N,H)}if(!X)return O.length?Promise.all(O).then(()=>Q):Q;return _H(O,j,Q,Y,W.value,$)}}),Yj=F("$ZodObjectJIT",($,_)=>{UH.init($,_);let U=$._zod.parse,W=I2(()=>$H(_)),J=(V)=>{let L=new U9(["shape","payload","ctx"]),N=W.value,H=(M)=>{let E=yX(M);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};L.write("const input = payload.value;");let R=Object.create(null),b=0;for(let M of N.keys)R[M]=`key_${b++}`;L.write("const newResult = {};");for(let M of N.keys){let E=R[M],g=yX(M),Z=V[M],k=Z?._zod?.optin==="optional",r=Z?._zod?.optout==="optional";if(L.write(`const ${E} = ${H(M)};`),k&&r)L.write(` - if (${E}.issues.length) { - if (${g} in input) { - payload.issues = payload.issues.concat(${E}.issues.map(iss => ({ +`))}}var KY;var bY=y(()=>{KY={major:4,minor:4,patch:3}});function iY($){if($==="")return!0;if(/\s/.test($))return!1;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}function sH($){if(!sX.test($))return!1;let _=$.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),U=_.padEnd(Math.ceil(_.length/4)*4,"=");return iY(U)}function eH($,_=null){try{let U=$.split(".");if(U.length!==3)return!1;let[W]=U;if(!W)return!1;let J=JSON.parse(atob(W));if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&(!("alg"in J)||J.alg!==_))return!1;return!0}catch{return!1}}function hH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function Q9($,_,U,W,J,X){let G=U in W;if($.issues.length){if(J&&X&&!G)return;_.issues.push(...k_(U,$.issues))}if(!G&&!J){if(!$.issues.length)_.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if($.value===void 0){if(G)_.value[U]=void 0}else _.value[U]=$.value}function $3($){let _=Object.keys($.shape);for(let W of _)if(!$.shape?.[W]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${W}": expected a Zod schema`);let U=FQ($.shape);return{...$,keys:_,keySet:new Set(_),numKeys:_.length,optionalKeys:new Set(U)}}function _3($,_,U,W,J,X){let G=[],Q=J.keySet,Y=J.catchall._zod,j=Y.def.type,O=Y.optin==="optional",B=Y.optout==="optional";for(let V in _){if(V==="__proto__")continue;if(Q.has(V))continue;if(j==="never"){G.push(V);continue}let L=Y.run({value:_[V],issues:[]},W);if(L instanceof Promise)$.push(L.then((N)=>Q9(N,U,V,_,O,B)));else Q9(L,U,V,_,O,B)}if(G.length)U.issues.push({code:"unrecognized_keys",keys:G,input:_,inst:X});if(!$.length)return U;return Promise.all($).then(()=>{return U})}function xH($,_,U,W){for(let X of $)if(X.issues.length===0)return _.value=X.value,_;let J=$.filter((X)=>!c4(X));if(J.length===1)return _.value=J[0].value,J[0];return _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>b_(G,W,__())))}),_}function mH($,_,U,W){let J=$.filter((X)=>X.issues.length===0);if(J.length===1)return _.value=J[0].value,_;if(J.length===0)_.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>b_(G,W,__())))});else _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:[],inclusive:!1});return _}function MY($,_){if($===_)return{valid:!0,data:$};if($ instanceof Date&&_ instanceof Date&&+$===+_)return{valid:!0,data:$};if(d4($)&&d4(_)){let U=Object.keys(_),W=Object.keys($).filter((X)=>U.indexOf(X)!==-1),J={...$,..._};for(let X of W){let G=MY($[X],_[X]);if(!G.valid)return{valid:!1,mergeErrorPath:[X,...G.mergeErrorPath]};J[X]=G.data}return{valid:!0,data:J}}if(Array.isArray($)&&Array.isArray(_)){if($.length!==_.length)return{valid:!1,mergeErrorPath:[]};let U=[];for(let W=0;W<$.length;W++){let J=$[W],X=_[W],G=MY(J,X);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};U.push(G.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function uH($,_,U){let W=new Map,J;for(let Q of _.issues)if(Q.code==="unrecognized_keys"){J??(J=Q);for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).l=!0}}else $.issues.push(Q);for(let Q of U.issues)if(Q.code==="unrecognized_keys")for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).r=!0}else $.issues.push(Q);let X=[...W].filter(([,Q])=>Q.l&&Q.r).map(([Q])=>Q);if(X.length&&J)$.issues.push({...J,keys:X});if(c4($))return $;let G=MY(_.value,U.value);if(!G.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(G.mergeErrorPath)}`);return $.value=G.data,$}function dH($,_){for(let U=$.length-1;U>=0;U--)if($[U]._zod[_]!=="optional")return U+1;return 0}function cH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function nH($,_,U,W,J){for(let X=0;X<U.length;X++){let G=$[X],Q=X<W.length;if(G.issues.length){if(!Q&&X>=J){_.value.length=X;break}_.issues.push(...k_(X,G.issues))}_.value[X]=G.value}for(let X=_.value.length-1;X>=W.length;X--)if(U[X]._zod.optout==="optional"&&_.value[X]===void 0)_.value.length=X;else break;return _}function lH($,_,U,W,J,X,G){if($.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,$.issues));else U.issues.push({code:"invalid_key",origin:"map",input:J,inst:X,issues:$.issues.map((Q)=>b_(Q,G,__()))});if(_.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,_.issues));else U.issues.push({origin:"map",code:"invalid_element",input:J,inst:X,key:W,issues:_.issues.map((Q)=>b_(Q,G,__()))});U.value.set($.value,_.value)}function iH($,_){if($.issues.length)_.issues.push(...$.issues);_.value.add($.value)}function rH($,_){if(_===void 0&&($.issues.length||$.fallback))return{issues:[],value:void 0};return $}function pH($,_){if($.value===void 0)$.value=_.defaultValue;return $}function oH($,_){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:_});return $}function W9($,_,U){if($.issues.length)return $.aborted=!0,$;return _._zod.run({value:$.value,issues:$.issues,fallback:$.fallback},U)}function X9($,_,U){if($.issues.length)return $.aborted=!0,$;if((U.direction||"forward")==="forward"){let J=_.transform($.value,$);if(J instanceof Promise)return J.then((X)=>G9($,X,_.out,U));return G9($,J,_.out,U)}else{let J=_.reverseTransform($.value,$);if(J instanceof Promise)return J.then((X)=>G9($,X,_.in,U));return G9($,J,_.in,U)}}function G9($,_,U,W){if($.issues.length)return $.aborted=!0,$;return U._zod.run({value:_,issues:$.issues},W)}function tH($){return $.value=Object.freeze($.value),$}function aH($,_,U,W){if(!$){let J={code:"custom",input:U,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)J.params=W._zod.def.params;_.issues.push(w2(J))}}var D$,u0,u$,IY,gY,wY,kY,PY,fY,CY,TY,SY,ZY,vY,yY,hY,xY,mY,uY,dY,cY,nY,lY,rY,pY,oY,tY,aY,Y9,sY,BJ,j9,eY,$j,_j,Uj,Jj,Wj,Xj,Gj,Qj,Yj,U3,jj,HJ,Dj,zj,qj,D9,Oj,Lj,Nj,Bj,Hj,Vj,Rj,z9,Aj,Ej,Fj,Kj,bj,Mj,Ij,gj,q9,VJ,wj,kj,Pj,fj,Cj,Tj,Sj;var Zj=y(()=>{U9();h0();kQ();eX();p();bY();p();D$=F("$ZodType",($,_)=>{var U;$??($={}),$._zod.def=_,$._zod.bag=$._zod.bag||{},$._zod.version=KY;let W=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))W.unshift($);for(let J of W)for(let X of J._zod.onattach)X($);if(W.length===0)(U=$._zod).deferred??(U.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let J=(G,Q,Y)=>{let j=c4(G),O;for(let B of Q){if(B._zod.def.when){if(MQ(G))continue;if(!B._zod.def.when(G))continue}else if(j)continue;let V=G.issues.length,L=B._zod.check(G);if(L instanceof Promise&&Y?.async===!1)throw new y6;if(O||L instanceof Promise)O=(O??Promise.resolve()).then(async()=>{if(await L,G.issues.length===V)return;if(!j)j=c4(G,V)});else{if(G.issues.length===V)continue;if(!j)j=c4(G,V)}}if(O)return O.then(()=>{return G});return G},X=(G,Q,Y)=>{if(c4(G))return G.aborted=!0,G;let j=J(Q,W,Y);if(j instanceof Promise){if(Y.async===!1)throw new y6;return j.then((O)=>$._zod.parse(O,Y))}return $._zod.parse(j,Y)};$._zod.run=(G,Q)=>{if(Q.skipChecks)return $._zod.parse(G,Q);if(Q.direction==="backward"){let j=$._zod.parse({value:G.value,issues:[]},{...Q,skipChecks:!0});if(j instanceof Promise)return j.then((O)=>{return X(O,G,Q)});return X(j,G,Q)}let Y=$._zod.parse(G,Q);if(Y instanceof Promise){if(Q.async===!1)throw new y6;return Y.then((j)=>J(j,W,Q))}return J(Y,W,Q)}}K$($,"~standard",()=>({validate:(J)=>{try{let X=gQ($,J);return X.success?{value:X.data}:{issues:X.error?.issues}}catch(X){return wQ($,J).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}))}),u0=F("$ZodString",($,_)=>{D$.init($,_),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??aQ($._zod.bag),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=String(U.value)}catch(J){}if(typeof U.value==="string")return U;return U.issues.push({expected:"string",code:"invalid_type",input:U.value,inst:$}),U}}),u$=F("$ZodStringFormat",($,_)=>{Z2.init($,_),u0.init($,_)}),IY=F("$ZodGUID",($,_)=>{_.pattern??(_.pattern=yQ),u$.init($,_)}),gY=F("$ZodUUID",($,_)=>{if(_.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[_.version];if(W===void 0)throw Error(`Invalid UUID version: "${_.version}"`);_.pattern??(_.pattern=m0(W))}else _.pattern??(_.pattern=m0());u$.init($,_)}),wY=F("$ZodEmail",($,_)=>{_.pattern??(_.pattern=hQ),u$.init($,_)}),kY=F("$ZodURL",($,_)=>{u$.init($,_),$._zod.check=(U)=>{try{let W=U.value.trim();if(!_.normalize&&_.protocol?.source===iQ.source){if(!/^https?:\/\//i.test(W)){U.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:U.value,inst:$,continue:!_.abort});return}}let J=new URL(W);if(_.hostname){if(_.hostname.lastIndex=0,!_.hostname.test(J.hostname))U.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:_.hostname.source,input:U.value,inst:$,continue:!_.abort})}if(_.protocol){if(_.protocol.lastIndex=0,!_.protocol.test(J.protocol.endsWith(":")?J.protocol.slice(0,-1):J.protocol))U.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:_.protocol.source,input:U.value,inst:$,continue:!_.abort})}if(_.normalize)U.value=J.href;else U.value=W;return}catch(W){U.issues.push({code:"invalid_format",format:"url",input:U.value,inst:$,continue:!_.abort})}}}),PY=F("$ZodEmoji",($,_)=>{_.pattern??(_.pattern=xQ()),u$.init($,_)}),fY=F("$ZodNanoID",($,_)=>{_.pattern??(_.pattern=ZQ),u$.init($,_)}),CY=F("$ZodCUID",($,_)=>{_.pattern??(_.pattern=PQ),u$.init($,_)}),TY=F("$ZodCUID2",($,_)=>{_.pattern??(_.pattern=fQ),u$.init($,_)}),SY=F("$ZodULID",($,_)=>{_.pattern??(_.pattern=CQ),u$.init($,_)}),ZY=F("$ZodXID",($,_)=>{_.pattern??(_.pattern=TQ),u$.init($,_)}),vY=F("$ZodKSUID",($,_)=>{_.pattern??(_.pattern=SQ),u$.init($,_)}),yY=F("$ZodISODateTime",($,_)=>{_.pattern??(_.pattern=tQ(_)),u$.init($,_)}),hY=F("$ZodISODate",($,_)=>{_.pattern??(_.pattern=pQ),u$.init($,_)}),xY=F("$ZodISOTime",($,_)=>{_.pattern??(_.pattern=oQ(_)),u$.init($,_)}),mY=F("$ZodISODuration",($,_)=>{_.pattern??(_.pattern=vQ),u$.init($,_)}),uY=F("$ZodIPv4",($,_)=>{_.pattern??(_.pattern=mQ),u$.init($,_),$._zod.bag.format="ipv4"}),dY=F("$ZodIPv6",($,_)=>{_.pattern??(_.pattern=uQ),u$.init($,_),$._zod.bag.format="ipv6",$._zod.check=(U)=>{try{new URL(`http://[${U.value}]`)}catch{U.issues.push({code:"invalid_format",format:"ipv6",input:U.value,inst:$,continue:!_.abort})}}}),cY=F("$ZodMAC",($,_)=>{_.pattern??(_.pattern=dQ(_.delimiter)),u$.init($,_),$._zod.bag.format="mac"}),nY=F("$ZodCIDRv4",($,_)=>{_.pattern??(_.pattern=cQ),u$.init($,_)}),lY=F("$ZodCIDRv6",($,_)=>{_.pattern??(_.pattern=nQ),u$.init($,_),$._zod.check=(U)=>{let W=U.value.split("/");try{if(W.length!==2)throw Error();let[J,X]=W;if(!X)throw Error();let G=Number(X);if(`${G}`!==X)throw Error();if(G<0||G>128)throw Error();new URL(`http://[${J}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:$,continue:!_.abort})}}});rY=F("$ZodBase64",($,_)=>{_.pattern??(_.pattern=lQ),u$.init($,_),$._zod.bag.contentEncoding="base64",$._zod.check=(U)=>{if(iY(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:$,continue:!_.abort})}});pY=F("$ZodBase64URL",($,_)=>{_.pattern??(_.pattern=sX),u$.init($,_),$._zod.bag.contentEncoding="base64url",$._zod.check=(U)=>{if(sH(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:$,continue:!_.abort})}}),oY=F("$ZodE164",($,_)=>{_.pattern??(_.pattern=rQ),u$.init($,_)});tY=F("$ZodJWT",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(eH(U.value,_.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:$,continue:!_.abort})}}),aY=F("$ZodCustomStringFormat",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(_.fn(U.value))return;U.issues.push({code:"invalid_format",format:_.format,input:U.value,inst:$,continue:!_.abort})}}),Y9=F("$ZodNumber",($,_)=>{D$.init($,_),$._zod.pattern=$._zod.bag.pattern??OJ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Number(U.value)}catch(G){}let J=U.value;if(typeof J==="number"&&!Number.isNaN(J)&&Number.isFinite(J))return U;let X=typeof J==="number"?Number.isNaN(J)?"NaN":!Number.isFinite(J)?"Infinity":void 0:void 0;return U.issues.push({expected:"number",code:"invalid_type",input:J,inst:$,...X?{received:X}:{}}),U}}),sY=F("$ZodNumberFormat",($,_)=>{GY.init($,_),Y9.init($,_)}),BJ=F("$ZodBoolean",($,_)=>{D$.init($,_),$._zod.pattern=$Y,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Boolean(U.value)}catch(X){}let J=U.value;if(typeof J==="boolean")return U;return U.issues.push({expected:"boolean",code:"invalid_type",input:J,inst:$}),U}}),j9=F("$ZodBigInt",($,_)=>{D$.init($,_),$._zod.pattern=sQ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=BigInt(U.value)}catch(J){}if(typeof U.value==="bigint")return U;return U.issues.push({expected:"bigint",code:"invalid_type",input:U.value,inst:$}),U}}),eY=F("$ZodBigIntFormat",($,_)=>{QY.init($,_),j9.init($,_)}),$j=F("$ZodSymbol",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J==="symbol")return U;return U.issues.push({expected:"symbol",code:"invalid_type",input:J,inst:$}),U}}),_j=F("$ZodUndefined",($,_)=>{D$.init($,_),$._zod.pattern=UY,$._zod.values=new Set([void 0]),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"undefined",code:"invalid_type",input:J,inst:$}),U}}),Uj=F("$ZodNull",($,_)=>{D$.init($,_),$._zod.pattern=_Y,$._zod.values=new Set([null]),$._zod.parse=(U,W)=>{let J=U.value;if(J===null)return U;return U.issues.push({expected:"null",code:"invalid_type",input:J,inst:$}),U}}),Jj=F("$ZodAny",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Wj=F("$ZodUnknown",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Xj=F("$ZodNever",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:$}),U}}),Gj=F("$ZodVoid",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"void",code:"invalid_type",input:J,inst:$}),U}}),Qj=F("$ZodDate",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=new Date(U.value)}catch(Q){}let J=U.value,X=J instanceof Date;if(X&&!Number.isNaN(J.getTime()))return U;return U.issues.push({expected:"date",code:"invalid_type",input:J,...X?{received:"Invalid Date"}:{},inst:$}),U}});Yj=F("$ZodArray",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!Array.isArray(J))return U.issues.push({expected:"array",code:"invalid_type",input:J,inst:$}),U;U.value=Array(J.length);let X=[];for(let G=0;G<J.length;G++){let Q=J[G],Y=_.element._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)X.push(Y.then((j)=>hH(j,U,G)));else hH(Y,U,G)}if(X.length)return Promise.all(X).then(()=>U);return U}});U3=F("$ZodObject",($,_)=>{if(D$.init($,_),!Object.getOwnPropertyDescriptor(_,"shape")?.get){let Q=_.shape;Object.defineProperty(_,"shape",{get:()=>{let Y={...Q};return Object.defineProperty(_,"shape",{value:Y}),Y}})}let W=g2(()=>$3(_));K$($._zod,"propValues",()=>{let Q=_.shape,Y={};for(let j in Q){let O=Q[j]._zod;if(O.values){Y[j]??(Y[j]=new Set);for(let B of O.values)Y[j].add(B)}}return Y});let J=x0,X=_.catchall,G;$._zod.parse=(Q,Y)=>{G??(G=W.value);let j=Q.value;if(!J(j))return Q.issues.push({expected:"object",code:"invalid_type",input:j,inst:$}),Q;Q.value={};let O=[],B=G.shape;for(let V of G.keys){let L=B[V],N=L._zod.optin==="optional",H=L._zod.optout==="optional",R=L._zod.run({value:j[V],issues:[]},Y);if(R instanceof Promise)O.push(R.then((E)=>Q9(E,Q,V,j,N,H)));else Q9(R,Q,V,j,N,H)}if(!X)return O.length?Promise.all(O).then(()=>Q):Q;return _3(O,j,Q,Y,W.value,$)}}),jj=F("$ZodObjectJIT",($,_)=>{U3.init($,_);let U=$._zod.parse,W=g2(()=>$3(_)),J=(V)=>{let L=new J9(["shape","payload","ctx"]),N=W.value,H=(M)=>{let K=hX(M);return`shape[${K}]._zod.run({ value: input[${K}], issues: [] }, ctx)`};L.write("const input = payload.value;");let R=Object.create(null),E=0;for(let M of N.keys)R[M]=`key_${E++}`;L.write("const newResult = {};");for(let M of N.keys){let K=R[M],I=hX(M),Z=V[M],k=Z?._zod?.optin==="optional",i=Z?._zod?.optout==="optional";if(L.write(`const ${K} = ${H(M)};`),k&&i)L.write(` + if (${K}.issues.length) { + if (${I} in input) { + payload.issues = payload.issues.concat(${K}.issues.map(iss => ({ ...iss, - path: iss.path ? [${g}, ...iss.path] : [${g}] + path: iss.path ? [${I}, ...iss.path] : [${I}] }))); } } - if (${E}.value === undefined) { - if (${g} in input) { - newResult[${g}] = undefined; + if (${K}.value === undefined) { + if (${I} in input) { + newResult[${I}] = undefined; } } else { - newResult[${g}] = ${E}.value; + newResult[${I}] = ${K}.value; } `);else if(!k)L.write(` - const ${E}_present = ${g} in input; - if (${E}.issues.length) { - payload.issues = payload.issues.concat(${E}.issues.map(iss => ({ + const ${K}_present = ${I} in input; + if (${K}.issues.length) { + payload.issues = payload.issues.concat(${K}.issues.map(iss => ({ ...iss, - path: iss.path ? [${g}, ...iss.path] : [${g}] + path: iss.path ? [${I}, ...iss.path] : [${I}] }))); } - if (!${E}_present && !${E}.issues.length) { + if (!${K}_present && !${K}.issues.length) { payload.issues.push({ code: "invalid_type", expected: "nonoptional", input: undefined, - path: [${g}] + path: [${I}] }); } - if (${E}_present) { - if (${E}.value === undefined) { - newResult[${g}] = undefined; + if (${K}_present) { + if (${K}.value === undefined) { + newResult[${I}] = undefined; } else { - newResult[${g}] = ${E}.value; + newResult[${I}] = ${K}.value; } } `);else L.write(` - if (${E}.issues.length) { - payload.issues = payload.issues.concat(${E}.issues.map(iss => ({ + if (${K}.issues.length) { + payload.issues = payload.issues.concat(${K}.issues.map(iss => ({ ...iss, - path: iss.path ? [${g}, ...iss.path] : [${g}] + path: iss.path ? [${I}, ...iss.path] : [${I}] }))); } - if (${E}.value === undefined) { - if (${g} in input) { - newResult[${g}] = undefined; + if (${K}.value === undefined) { + if (${I} in input) { + newResult[${I}] = undefined; } } else { - newResult[${g}] = ${E}.value; + newResult[${I}] = ${K}.value; } - `)}L.write("payload.value = newResult;"),L.write("return payload;");let A=L.compile();return(M,E)=>A(V,M,E)},X,G=x0,Q=!v0.jitless,j=Q&&VQ.value,O=_.catchall,B;$._zod.parse=(V,L)=>{B??(B=W.value);let N=V.value;if(!G(N))return V.issues.push({expected:"object",code:"invalid_type",input:N,inst:$}),V;if(Q&&j&&L?.async===!1&&L.jitless!==!0){if(!X)X=J(_.shape);if(V=X(V,L),!O)return V;return _H([],N,V,L,B,$)}return U(V,L)}});HJ=F("$ZodUnion",($,_)=>{D$.init($,_),E$($._zod,"optin",()=>_.options.some((W)=>W._zod.optin==="optional")?"optional":void 0),E$($._zod,"optout",()=>_.options.some((W)=>W._zod.optout==="optional")?"optional":void 0),E$($._zod,"values",()=>{if(_.options.every((W)=>W._zod.values))return new Set(_.options.flatMap((W)=>Array.from(W._zod.values)));return}),E$($._zod,"pattern",()=>{if(_.options.every((W)=>W._zod.pattern)){let W=_.options.map((J)=>J._zod.pattern);return new RegExp(`^(${W.map((J)=>YJ(J.source)).join("|")})$`)}return});let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else{if(Y.issues.length===0)return Y;G.push(Y)}}if(!X)return x3(G,W,$,J);return Promise.all(G).then((Q)=>{return x3(Q,W,$,J)})}});jj=F("$ZodXor",($,_)=>{HJ.init($,_),_.inclusive=!1;let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else G.push(Y)}if(!X)return m3(G,W,$,J);return Promise.all(G).then((Q)=>{return m3(Q,W,$,J)})}}),Dj=F("$ZodDiscriminatedUnion",($,_)=>{_.inclusive=!1,HJ.init($,_);let U=$._zod.parse;E$($._zod,"propValues",()=>{let J={};for(let X of _.options){let G=X._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(X)}"`);for(let[Q,Y]of Object.entries(G)){if(!J[Q])J[Q]=new Set;for(let j of Y)J[Q].add(j)}}return J});let W=I2(()=>{let J=_.options,X=new Map;for(let G of J){let Q=G._zod.propValues?.[_.discriminator];if(!Q||Q.size===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(G)}"`);for(let Y of Q){if(X.has(Y))throw Error(`Duplicate discriminator value "${String(Y)}"`);X.set(Y,G)}}return X});$._zod.parse=(J,X)=>{let G=J.value;if(!x0(G))return J.issues.push({code:"invalid_type",expected:"object",input:G,inst:$}),J;let Q=W.value.get(G?.[_.discriminator]);if(Q)return Q._zod.run(J,X);if(_.unionFallback||X.direction==="backward")return U(J,X);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:_.discriminator,options:Array.from(W.value.keys()),input:G,path:[_.discriminator],inst:$}),J}}),zj=F("$ZodIntersection",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value,X=_.left._zod.run({value:J,issues:[]},W),G=_.right._zod.run({value:J,issues:[]},W);if(X instanceof Promise||G instanceof Promise)return Promise.all([X,G]).then(([Y,j])=>{return u3(U,Y,j)});return u3(U,X,G)}});j9=F("$ZodTuple",($,_)=>{D$.init($,_);let U=_.items;$._zod.parse=(W,J)=>{let X=W.value;if(!Array.isArray(X))return W.issues.push({input:X,inst:$,expected:"tuple",code:"invalid_type"}),W;W.value=[];let G=[],Q=d3(U,"optin"),Y=d3(U,"optout");if(!_.rest){if(X.length<Q)return W.issues.push({code:"too_small",minimum:Q,inclusive:!0,input:X,inst:$,origin:"array"}),W;if(X.length>U.length)W.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:X,inst:$,origin:"array"})}let j=Array(U.length);for(let O=0;O<U.length;O++){let B=U[O]._zod.run({value:X[O],issues:[]},J);if(B instanceof Promise)G.push(B.then((V)=>{j[O]=V}));else j[O]=B}if(_.rest){let O=U.length-1,B=X.slice(U.length);for(let V of B){O++;let L=_.rest._zod.run({value:V,issues:[]},J);if(L instanceof Promise)G.push(L.then((N)=>n3(N,W,O)));else n3(L,W,O)}}if(G.length)return Promise.all(G).then(()=>c3(j,W,U,X,Y));return c3(j,W,U,X,Y)}});qj=F("$ZodRecord",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!d4(J))return U.issues.push({expected:"record",code:"invalid_type",input:J,inst:$}),U;let X=[],G=_.keyType._zod.values;if(G){U.value={};let Q=new Set;for(let j of G)if(typeof j==="string"||typeof j==="number"||typeof j==="symbol"){Q.add(typeof j==="number"?j.toString():j);let O=_.keyType._zod.run({value:j,issues:[]},W);if(O instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(O.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:O.issues.map((L)=>K_(L,W,__())),input:j,path:[j],inst:$});continue}let B=O.value,V=_.valueType._zod.run({value:J[j],issues:[]},W);if(V instanceof Promise)X.push(V.then((L)=>{if(L.issues.length)U.issues.push(...k_(j,L.issues));U.value[B]=L.value}));else{if(V.issues.length)U.issues.push(...k_(j,V.issues));U.value[B]=V.value}}let Y;for(let j in J)if(!Q.has(j))Y=Y??[],Y.push(j);if(Y&&Y.length>0)U.issues.push({code:"unrecognized_keys",input:J,inst:$,keys:Y})}else{U.value={};for(let Q of Reflect.ownKeys(J)){if(Q==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(J,Q))continue;let Y=_.keyType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof Q==="string"&&OJ.test(Q)&&Y.issues.length){let B=_.keyType._zod.run({value:Number(Q),issues:[]},W);if(B instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(B.issues.length===0)Y=B}if(Y.issues.length){if(_.mode==="loose")U.value[Q]=J[Q];else U.issues.push({code:"invalid_key",origin:"record",issues:Y.issues.map((B)=>K_(B,W,__())),input:Q,path:[Q],inst:$});continue}let O=_.valueType._zod.run({value:J[Q],issues:[]},W);if(O instanceof Promise)X.push(O.then((B)=>{if(B.issues.length)U.issues.push(...k_(Q,B.issues));U.value[Y.value]=B.value}));else{if(O.issues.length)U.issues.push(...k_(Q,O.issues));U.value[Y.value]=O.value}}}if(X.length)return Promise.all(X).then(()=>U);return U}}),Oj=F("$ZodMap",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Map))return U.issues.push({expected:"map",code:"invalid_type",input:J,inst:$}),U;let X=[];U.value=new Map;for(let[G,Q]of J){let Y=_.keyType._zod.run({value:G,issues:[]},W),j=_.valueType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise||j instanceof Promise)X.push(Promise.all([Y,j]).then(([O,B])=>{l3(O,B,U,G,J,$,W)}));else l3(Y,j,U,G,J,$,W)}if(X.length)return Promise.all(X).then(()=>U);return U}});Lj=F("$ZodSet",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Set))return U.issues.push({input:J,inst:$,expected:"set",code:"invalid_type"}),U;let X=[];U.value=new Set;for(let G of J){let Q=_.valueType._zod.run({value:G,issues:[]},W);if(Q instanceof Promise)X.push(Q.then((Y)=>r3(Y,U)));else r3(Q,U)}if(X.length)return Promise.all(X).then(()=>U);return U}});Nj=F("$ZodEnum",($,_)=>{D$.init($,_);let U=QJ(_.entries),W=new Set(U);$._zod.values=W,$._zod.pattern=new RegExp(`^(${U.filter((J)=>jJ.has(typeof J)).map((J)=>typeof J==="string"?t_(J):J.toString()).join("|")})$`),$._zod.parse=(J,X)=>{let G=J.value;if(W.has(G))return J;return J.issues.push({code:"invalid_value",values:U,input:G,inst:$}),J}}),Bj=F("$ZodLiteral",($,_)=>{if(D$.init($,_),_.values.length===0)throw Error("Cannot create literal schema with no valid values");let U=new Set(_.values);$._zod.values=U,$._zod.pattern=new RegExp(`^(${_.values.map((W)=>typeof W==="string"?t_(W):W?t_(W.toString()):String(W)).join("|")})$`),$._zod.parse=(W,J)=>{let X=W.value;if(U.has(X))return W;return W.issues.push({code:"invalid_value",values:_.values,input:X,inst:$}),W}}),Hj=F("$ZodFile",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(J instanceof File)return U;return U.issues.push({expected:"file",code:"invalid_type",input:J,inst:$}),U}}),Vj=F("$ZodTransform",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0($.constructor.name);let J=_.transform(U.value,U);if(W.async)return(J instanceof Promise?J:Promise.resolve(J)).then((G)=>{return U.value=G,U.fallback=!0,U});if(J instanceof Promise)throw new y6;return U.value=J,U.fallback=!0,U}});D9=F("$ZodOptional",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.optout="optional",E$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,void 0]):void 0}),E$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)})?$`):void 0}),$._zod.parse=(U,W)=>{if(_.innerType._zod.optin==="optional"){let J=U.value,X=_.innerType._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>i3(G,J));return i3(X,J)}if(U.value===void 0)return U;return _.innerType._zod.run(U,W)}}),Rj=F("$ZodExactOptional",($,_)=>{D9.init($,_),E$($._zod,"values",()=>_.innerType._zod.values),E$($._zod,"pattern",()=>_.innerType._zod.pattern),$._zod.parse=(U,W)=>{return _.innerType._zod.run(U,W)}}),Aj=F("$ZodNullable",($,_)=>{D$.init($,_),E$($._zod,"optin",()=>_.innerType._zod.optin),E$($._zod,"optout",()=>_.innerType._zod.optout),E$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)}|null)$`):void 0}),E$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,null]):void 0}),$._zod.parse=(U,W)=>{if(U.value===null)return U;return _.innerType._zod.run(U,W)}}),bj=F("$ZodDefault",($,_)=>{D$.init($,_),$._zod.optin="optional",E$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)return U.value=_.defaultValue,U;let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>p3(X,_));return p3(J,_)}});Fj=F("$ZodPrefault",($,_)=>{D$.init($,_),$._zod.optin="optional",E$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)U.value=_.defaultValue;return _.innerType._zod.run(U,W)}}),Ej=F("$ZodNonOptional",($,_)=>{D$.init($,_),E$($._zod,"values",()=>{let U=_.innerType._zod.values;return U?new Set([...U].filter((W)=>W!==void 0)):void 0}),$._zod.parse=(U,W)=>{let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>o3(X,$));return o3(J,$)}});Kj=F("$ZodSuccess",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0("ZodSuccess");let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{return U.value=X.issues.length===0,U});return U.value=J.issues.length===0,U}}),Mj=F("$ZodCatch",($,_)=>{D$.init($,_),$._zod.optin="optional",E$($._zod,"optout",()=>_.innerType._zod.optout),E$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{if(U.value=X.value,X.issues.length)U.value=_.catchValue({...U,error:{issues:X.issues.map((G)=>K_(G,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U});if(U.value=J.value,J.issues.length)U.value=_.catchValue({...U,error:{issues:J.issues.map((X)=>K_(X,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),gj=F("$ZodNaN",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(typeof U.value!=="number"||!Number.isNaN(U.value))return U.issues.push({input:U.value,inst:$,expected:"nan",code:"invalid_type"}),U;return U}}),z9=F("$ZodPipe",($,_)=>{D$.init($,_),E$($._zod,"values",()=>_.in._zod.values),E$($._zod,"optin",()=>_.in._zod.optin),E$($._zod,"optout",()=>_.out._zod.optout),E$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if(W.direction==="backward"){let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>J9(G,_.in,W));return J9(X,_.in,W)}let J=_.in._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>J9(X,_.out,W));return J9(J,_.out,W)}});VJ=F("$ZodCodec",($,_)=>{D$.init($,_),E$($._zod,"values",()=>_.in._zod.values),E$($._zod,"optin",()=>_.in._zod.optin),E$($._zod,"optout",()=>_.out._zod.optout),E$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if((W.direction||"forward")==="forward"){let X=_.in._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>W9(G,_,W));return W9(X,_,W)}else{let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>W9(G,_,W));return W9(X,_,W)}}});Ij=F("$ZodPreprocess",($,_)=>{z9.init($,_)}),wj=F("$ZodReadonly",($,_)=>{D$.init($,_),E$($._zod,"propValues",()=>_.innerType._zod.propValues),E$($._zod,"values",()=>_.innerType._zod.values),E$($._zod,"optin",()=>_.innerType?._zod?.optin),E$($._zod,"optout",()=>_.innerType?._zod?.optout),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then(t3);return t3(J)}});kj=F("$ZodTemplateLiteral",($,_)=>{D$.init($,_);let U=[];for(let W of _.parts)if(typeof W==="object"&&W!==null){if(!W._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...W._zod.traits].shift()}`);let J=W._zod.pattern instanceof RegExp?W._zod.pattern.source:W._zod.pattern;if(!J)throw Error(`Invalid template literal part: ${W._zod.traits}`);let X=J.startsWith("^")?1:0,G=J.endsWith("$")?J.length-1:J.length;U.push(J.slice(X,G))}else if(W===null||AQ.has(typeof W))U.push(t_(`${W}`));else throw Error(`Invalid template literal part: ${W}`);$._zod.pattern=new RegExp(`^${U.join("")}$`),$._zod.parse=(W,J)=>{if(typeof W.value!=="string")return W.issues.push({input:W.value,inst:$,expected:"string",code:"invalid_type"}),W;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(W.value))return W.issues.push({input:W.value,inst:$,code:"invalid_format",format:_.format??"template_literal",pattern:$._zod.pattern.source}),W;return W}}),fj=F("$ZodFunction",($,_)=>{return D$.init($,_),$._def=_,$._zod.def=_,$.implement=(U)=>{if(typeof U!=="function")throw Error("implement() must be called with a function");return function(...W){let J=$._def.input?uX($._def.input,W):W,X=Reflect.apply(U,this,J);if($._def.output)return uX($._def.output,X);return X}},$.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...W){let J=$._def.input?await dX($._def.input,W):W,X=await Reflect.apply(U,this,J);if($._def.output)return await dX($._def.output,X);return X}},$._zod.parse=(U,W)=>{if(typeof U.value!=="function")return U.issues.push({code:"invalid_type",expected:"function",input:U.value,inst:$}),U;if($._def.output&&$._def.output._zod.def.type==="promise")U.value=$.implementAsync(U.value);else U.value=$.implement(U.value);return U},$.input=(...U)=>{let W=$.constructor;if(Array.isArray(U[0]))return new W({type:"function",input:new j9({type:"tuple",items:U[0],rest:U[1]}),output:$._def.output});return new W({type:"function",input:U[0],output:$._def.output})},$.output=(U)=>{return new $.constructor({type:"function",input:$._def.input,output:U})},$}),Pj=F("$ZodPromise",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return Promise.resolve(U.value).then((J)=>_.innerType._zod.run({value:J,issues:[]},W))}}),Cj=F("$ZodLazy",($,_)=>{D$.init($,_),E$($._zod,"innerType",()=>{let U=_;if(!U._cachedInner)U._cachedInner=_.getter();return U._cachedInner}),E$($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),E$($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),E$($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),E$($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(U,W)=>{return $._zod.innerType._zod.run(U,W)}}),Tj=F("$ZodCustom",($,_)=>{n$.init($,_),D$.init($,_),$._zod.parse=(U,W)=>{return U},$._zod.check=(U)=>{let W=U.value,J=_.fn(W);if(J instanceof Promise)return J.then((X)=>a3(X,U,W,$));a3(J,U,W,$);return}})});function Zj(){return{localeError:JS()}}var JS=()=>{let $={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`;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 ${X}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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: ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"}`;return`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()} ${G.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${J.prefix}"`;if(X.format==="ends_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${X.suffix}"`;if(X.format==="includes")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`${U[X.format]??J.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${J.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${J.keys.length>1?"\u0629":""}: ${K(J.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var JH=y(()=>{p()});function vj(){return{localeError:WS()}}var WS=()=>{let $={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${J.expected}, daxil olan ${Q}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${X}, daxil olan ${Q}`}case"invalid_value":if(J.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${I(J.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${X.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(X.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${X.suffix}" il\u0259 bitm\u0259lidir`;if(X.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${X.includes}" daxil olmal\u0131d\u0131r`;if(X.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${X.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[X.format]??J.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${J.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${J.keys.length>1?"lar":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${J.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var WH=y(()=>{p()});function XH($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function yj(){return{localeError:XS()}}var XS=()=>{let $={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},W={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${J.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${X}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=XH(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=XH(Q,G.unit.one,G.unit.few,G.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.minimum.toString()} ${Y}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${J.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${J.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var GH=y(()=>{p()});function hj(){return{localeError:GS()}}var GS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;let G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(X.format==="emoji")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="datetime")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="date")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(X.format==="time")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="duration")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${G} ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${J.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u043E\u0432\u0435":""}: ${K(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var QH=y(()=>{p()});function xj(){return{localeError:QS()}}var QS=()=>{let $={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${J.expected}, s'ha rebut ${Q}`;return`Tipus inv\xE0lid: s'esperava ${X}, s'ha rebut ${Q}`}case"invalid_value":if(J.values.length===1)return`Valor inv\xE0lid: s'esperava ${I(J.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${K(J.values," o ")}`;case"too_big":{let X=J.inclusive?"com a m\xE0xim":"menys de",G=_(J.origin);if(G)return`Massa gran: s'esperava que ${J.origin??"el valor"} contingu\xE9s ${X} ${J.maximum.toString()} ${G.unit??"elements"}`;return`Massa gran: s'esperava que ${J.origin??"el valor"} fos ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"com a m\xEDnim":"m\xE9s de",G=_(J.origin);if(G)return`Massa petit: s'esperava que ${J.origin} contingu\xE9s ${X} ${J.minimum.toString()} ${G.unit}`;return`Massa petit: s'esperava que ${J.origin} fos ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${X.prefix}"`;if(X.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${X.suffix}"`;if(X.format==="includes")return`Format inv\xE0lid: ha d'incloure "${X.includes}"`;if(X.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${X.pattern}`;return`Format inv\xE0lid per a ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${J.divisor}`;case"unrecognized_keys":return`Clau${J.keys.length>1?"s":""} no reconeguda${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${J.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${J.origin}`;default:return"Entrada inv\xE0lida"}}};var YH=y(()=>{p()});function mj(){return{localeError:YS()}}var YS=()=>{let $={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function _(J){return $[J]??null}let U={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},W={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${J.expected}, obdr\u017Eeno ${Q}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${X}, obdr\u017Eeno ${Q}`}case"invalid_value":if(J.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${I(J.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.maximum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.minimum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${X.prefix}"`;if(X.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${X.suffix}"`;if(X.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${X.includes}"`;if(X.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${X.pattern}`;return`Neplatn\xFD form\xE1t ${U[X.format]??J.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${J.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${K(J.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${J.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${J.origin}`;default:return"Neplatn\xFD vstup"}}};var jH=y(()=>{p()});function uj(){return{localeError:jS()}}var jS=()=>{let $={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldigt input: forventede instanceof ${J.expected}, fik ${Q}`;return`Ugyldigt input: forventede ${X}, fik ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig v\xE6rdi: forventede ${I(J.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For stor: forventede ${Q??"value"} ${G.verb} ${X} ${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor: forventede ${Q??"value"} havde ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For lille: forventede ${Q} ${G.verb} ${X} ${J.minimum.toString()} ${G.unit}`;return`For lille: forventede ${Q} havde ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: skal starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: skal ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: skal indeholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${K(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${J.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${J.origin}`;default:return"Ugyldigt input"}}};var DH=y(()=>{p()});function dj(){return{localeError:DS()}}var DS=()=>{let $={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function _(J){return $[J]??null}let U={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},W={nan:"NaN",number:"Zahl",array:"Array"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${J.expected}, erhalten ${Q}`;return`Ung\xFCltige Eingabe: erwartet ${X}, erhalten ${Q}`}case"invalid_value":if(J.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${I(J.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ${G.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ist`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ${G.unit} hat`;return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ist`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ung\xFCltiger String: muss mit "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ung\xFCltiger String: muss mit "${X.suffix}" enden`;if(X.format==="includes")return`Ung\xFCltiger String: muss "${X.includes}" enthalten`;if(X.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${X.pattern} entsprechen`;return`Ung\xFCltig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${J.divisor} sein`;case"unrecognized_keys":return`${J.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${K(J.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${J.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${J.origin}`;default:return"Ung\xFCltige Eingabe"}}};var zH=y(()=>{p()});function nj(){return{localeError:zS()}}var zS=()=>{let $={string:{unit:"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},file:{unit:"bytes",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},array:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},set:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},map:{unit:"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"}};function _(J){return $[J]??null}let U={regex:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",email:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",date:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",time:"ISO \u03CE\u03C1\u03B1",duration:"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",ipv4:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",ipv6:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",mac:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",cidrv4:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",cidrv6:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",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",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",json_string:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",e164:"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",jwt:"JWT",template_literal:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(typeof J.expected==="string"&&/^[A-Z]/.test(J.expected))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 ${J.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`;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 ${X}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.maximum.toString()} ${G.unit??"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.minimum.toString()} ${G.unit}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${J.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${J.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${J.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${J.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var qH=y(()=>{p()});function RJ(){return{localeError:qS()}}var qS=()=>{let $={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Invalid input: expected ${X}, received ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${I(J.values[0])}`;return`Invalid option: expected one of ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Too big: expected ${J.origin??"value"} to have ${X}${J.maximum.toString()} ${G.unit??"elements"}`;return`Too big: expected ${J.origin??"value"} to be ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Too small: expected ${J.origin} to have ${X}${J.minimum.toString()} ${G.unit}`;return`Too small: expected ${J.origin} to be ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Invalid string: must start with "${X.prefix}"`;if(X.format==="ends_with")return`Invalid string: must end with "${X.suffix}"`;if(X.format==="includes")return`Invalid string: must include "${X.includes}"`;if(X.format==="regex")return`Invalid string: must match pattern ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${J.divisor}`;case"unrecognized_keys":return`Unrecognized key${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Invalid key in ${J.origin}`;case"invalid_union":if(J.options&&Array.isArray(J.options)&&J.options.length>0)return`Invalid discriminator value. Expected ${J.options.map((G)=>`'${G}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${J.origin}`;default:return"Invalid input"}}};var cj=y(()=>{p()});function lj(){return{localeError:OS()}}var OS=()=>{let $={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function _(J){return $[J]??null}let U={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},W={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${J.expected}, ricevi\u011Dis ${Q}`;return`Nevalida enigo: atendi\u011Dis ${X}, ricevi\u011Dis ${Q}`}case"invalid_value":if(J.values.length===1)return`Nevalida enigo: atendi\u011Dis ${I(J.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()} ${G.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Tro malgranda: atendi\u011Dis ke ${J.origin} havu ${X}${J.minimum.toString()} ${G.unit}`;return`Tro malgranda: atendi\u011Dis ke ${J.origin} estu ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${X.prefix}"`;if(X.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${X.suffix}"`;if(X.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${X.includes}"`;if(X.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${X.pattern}`;return`Nevalida ${U[X.format]??J.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${J.divisor}`;case"unrecognized_keys":return`Nekonata${J.keys.length>1?"j":""} \u015Dlosilo${J.keys.length>1?"j":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${J.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${J.origin}`;default:return"Nevalida enigo"}}};var OH=y(()=>{p()});function rj(){return{localeError:LS()}}var LS=()=>{let $={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${J.expected}, recibido ${Q}`;return`Entrada inv\xE1lida: se esperaba ${X}, recibido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: se esperaba ${I(J.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado grande: se esperaba que ${Q??"valor"} tuviera ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${Q??"valor"} fuera ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado peque\xF1o: se esperaba que ${Q} tuviera ${X}${J.minimum.toString()} ${G.unit}`;return`Demasiado peque\xF1o: se esperaba que ${Q} fuera ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${X.prefix}"`;if(X.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${X.suffix}"`;if(X.format==="includes")return`Cadena inv\xE1lida: debe incluir "${X.includes}"`;if(X.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${X.pattern}`;return`Inv\xE1lido ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Llave${J.keys.length>1?"s":""} desconocida${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${W[J.origin]??J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${W[J.origin]??J.origin}`;default:return"Entrada inv\xE1lida"}}};var LH=y(()=>{p()});function ij(){return{localeError:NS()}}var NS=()=>{let $={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${J.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${X} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(J.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${I(J.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;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 ${K(J.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(X.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(X.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${X.includes}" \u0628\u0627\u0634\u062F`;if(X.format==="regex")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${X.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[X.format]??J.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${J.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${J.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${K(J.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${J.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${J.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var NH=y(()=>{p()});function pj(){return{localeError:BS()}}var BS=()=>{let $={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function _(J){return $[J]??null}let U={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Virheellinen tyyppi: odotettiin instanceof ${J.expected}, oli ${Q}`;return`Virheellinen tyyppi: odotettiin ${X}, oli ${Q}`}case"invalid_value":if(J.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${I(J.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Liian suuri: ${G.subject} t\xE4ytyy olla ${X}${J.maximum.toString()} ${G.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Liian pieni: ${G.subject} t\xE4ytyy olla ${X}${J.minimum.toString()} ${G.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${X.prefix}"`;if(X.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${X.suffix}"`;if(X.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${X.includes}"`;if(X.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${X.pattern}`;return`Virheellinen ${U[X.format]??J.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${J.divisor} monikerta`;case"unrecognized_keys":return`${J.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${K(J.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var BH=y(()=>{p()});function oj(){return{localeError:HS()}}var HS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={string:"cha\xEEne",number:"nombre",int:"entier",boolean:"bool\xE9en",bigint:"grand entier",symbol:"symbole",undefined:"ind\xE9fini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : instanceof ${J.expected} attendu, ${Q} re\xE7u`;return`Entr\xE9e invalide : ${X} attendu, ${Q} re\xE7u`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : ${I(J.values[0])} attendu`;return`Option invalide : une valeur parmi ${K(J.values,"|")} attendue`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Trop grand : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Trop petit : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${K(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var HH=y(()=>{p()});function tj(){return{localeError:VS()}}var VS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : attendu instanceof ${J.expected}, re\xE7u ${Q}`;return`Entr\xE9e invalide : attendu ${X}, re\xE7u ${Q}`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : attendu ${I(J.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u2264":"<",G=_(J.origin);if(G)return`Trop grand : attendu que ${J.origin??"la valeur"} ait ${X}${J.maximum.toString()} ${G.unit}`;return`Trop grand : attendu que ${J.origin??"la valeur"} soit ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u2265":">",G=_(J.origin);if(G)return`Trop petit : attendu que ${J.origin} ait ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : attendu que ${J.origin} soit ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${K(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var VH=y(()=>{p()});function aj(){return{localeError:RS()}}var RS=()=>{let $={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},_={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(j)=>j?$[j]:void 0,W=(j)=>{let O=U(j);if(O)return O.label;return j??$.unknown.label},J=(j)=>`\u05D4${W(j)}`,X=(j)=>{return(U(j)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},G=(j)=>{if(!j)return null;return _[j]??null},Q={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},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"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},Y={nan:"NaN"};return(j)=>{switch(j.code){case"invalid_type":{let O=j.expected,B=Y[O??""]??W(O),V=w(j.input),L=Y[V]??$[V]?.label??V;if(/^[A-Z]/.test(j.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${j.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${B}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`}case"invalid_value":{if(j.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${I(j.values[0])}`;let O=j.values.map((L)=>I(L));if(j.values.length===2)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 ${O[0]} \u05D0\u05D5 ${O[1]}`;let B=O[O.length-1];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 ${O.slice(0,-1).join(", ")} \u05D0\u05D5 ${B}`}case"too_big":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.maximum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${j.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",H=j.inclusive?`${j.maximum} ${O?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${j.maximum} ${O?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?"<=":"<",L=X(j.origin??"value");if(O?.unit)return`${O.longLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()} ${O.unit}`;return`${O?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()}`}case"too_small":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.minimum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${j.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(j.minimum===1&&j.inclusive){let R=j.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";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${R}`}let H=j.inclusive?`${j.minimum} ${O?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${j.minimum} ${O?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?">=":">",L=X(j.origin??"value");if(O?.unit)return`${O.shortLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()} ${O.unit}`;return`${O?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()}`}case"invalid_format":{let O=j;if(O.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${O.prefix}"`;if(O.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${O.suffix}"`;if(O.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${O.includes}"`;if(O.format==="regex")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 ${O.pattern}`;let B=Q[O.format],V=B?.label??O.format,N=(B?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${V} \u05DC\u05D0 ${N}`}case"not_multiple_of":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 ${j.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${j.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${j.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${K(j.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${J(j.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var RH=y(()=>{p()});function sj(){return{localeError:AS()}}var AS=()=>{let $={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function _(J){return $[J]??null}let U={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},W={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${J.expected}, a primljeno je ${Q}`;return`Neispravan unos: o\u010Dekuje se ${X}, a primljeno je ${Q}`}case"invalid_value":if(J.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${I(J.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} ima ${X}${J.maximum.toString()} ${G.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} bude ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Premalo: o\u010Dekivano da ${Q} ima ${X}${J.minimum.toString()} ${G.unit}`;return`Premalo: o\u010Dekivano da ${Q} bude ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${X.prefix}"`;if(X.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${X.suffix}"`;if(X.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${X.includes}"`;if(X.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${X.pattern}`;return`Neispravna ${U[X.format]??J.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${J.divisor}`;case"unrecognized_keys":return`Neprepoznat${J.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${K(J.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${W[J.origin]??J.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${W[J.origin]??J.origin}`;default:return"Neispravan unos"}}};var AH=y(()=>{p()});function ej(){return{localeError:bS()}}var bS=()=>{let $={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function _(J){return $[J]??null}let U={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},W={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${J.expected}, a kapott \xE9rt\xE9k ${Q}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${X}, a kapott \xE9rt\xE9k ${Q}`}case"invalid_value":if(J.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${I(J.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xFAl nagy: ${J.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${X}${J.maximum.toString()} ${G.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${J.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} m\xE9rete t\xFAl kicsi ${X}${J.minimum.toString()} ${G.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} t\xFAl kicsi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xC9rv\xE9nytelen string: "${X.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(X.format==="ends_with")return`\xC9rv\xE9nytelen string: "${X.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(X.format==="includes")return`\xC9rv\xE9nytelen string: "${X.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(X.format==="regex")return`\xC9rv\xE9nytelen string: ${X.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[X.format]??J.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${J.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${J.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${J.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var bH=y(()=>{p()});function FH($,_,U){return Math.abs($)===1?_:U}function v2($){if(!$)return"";let _=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=$[$.length-1];return $+(_.includes(U)?"\u0576":"\u0568")}function $D(){return{localeError:FS()}}var FS=()=>{let $={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function _(J){return $[J]??null}let U={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},W={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`;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 ${X}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[1])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=FH(Q,G.unit.one,G.unit.many);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 ${v2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.maximum.toString()} ${Y}`}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 ${v2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=FH(Q,G.unit.one,G.unit.many);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 ${v2(J.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.minimum.toString()} ${Y}`}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 ${v2(J.origin)} \u056C\u056B\u0576\u056B ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${X.prefix}"-\u0578\u057E`;if(X.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${X.suffix}"-\u0578\u057E`;if(X.format==="includes")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${X.includes}"`;if(X.format==="regex")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 ${X.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${J.keys.length>1?"\u0576\u0565\u0580":""}. ${K(J.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${v2(J.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${v2(J.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var EH=y(()=>{p()});function _D(){return{localeError:ES()}}var ES=()=>{let $={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak valid: diharapkan instanceof ${J.expected}, diterima ${Q}`;return`Input tidak valid: diharapkan ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak valid: diharapkan ${I(J.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: diharapkan ${J.origin??"value"} memiliki ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: diharapkan ${J.origin??"value"} menjadi ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: diharapkan ${J.origin} memiliki ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: diharapkan ${J.origin} menjadi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak valid: harus dimulai dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak valid: harus berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak valid: harus menyertakan "${X.includes}"`;if(X.format==="regex")return`String tidak valid: harus sesuai pola ${X.pattern}`;return`${U[X.format]??J.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${J.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${J.origin}`;default:return"Input tidak valid"}}};var KH=y(()=>{p()});function UD(){return{localeError:KS()}}var KS=()=>{let $={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function _(J){return $[J]??null}let U={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},W={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera instanceof ${J.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera ${X}`}case"invalid_value":if(J.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${I(J.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} hafi ${X}${J.maximum.toString()} ${G.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} s\xE9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} hafi ${X}${J.minimum.toString()} ${G.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} s\xE9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${X.prefix}"`;if(X.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${X.suffix}"`;if(X.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${X.includes}"`;if(X.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${X.pattern}`;return`Rangt ${U[X.format]??J.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${J.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${J.keys.length>1?"ir lyklar":"ur lykill"}: ${K(J.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${J.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${J.origin}`;default:return"Rangt gildi"}}};var MH=y(()=>{p()});function JD(){return{localeError:MS()}}var MS=()=>{let $={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function _(J){return $[J]??null}let U={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"numero",array:"vettore"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input non valido: atteso instanceof ${J.expected}, ricevuto ${Q}`;return`Input non valido: atteso ${X}, ricevuto ${Q}`}case"invalid_value":if(J.values.length===1)return`Input non valido: atteso ${I(J.values[0])}`;return`Opzione non valida: atteso uno tra ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Troppo grande: ${J.origin??"valore"} deve avere ${X}${J.maximum.toString()} ${G.unit??"elementi"}`;return`Troppo grande: ${J.origin??"valore"} deve essere ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Troppo piccolo: ${J.origin} deve avere ${X}${J.minimum.toString()} ${G.unit}`;return`Troppo piccolo: ${J.origin} deve essere ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Stringa non valida: deve iniziare con "${X.prefix}"`;if(X.format==="ends_with")return`Stringa non valida: deve terminare con "${X.suffix}"`;if(X.format==="includes")return`Stringa non valida: deve includere "${X.includes}"`;if(X.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${X.pattern}`;return`Input non valido: ${U[X.format]??J.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${J.divisor}`;case"unrecognized_keys":return`Chiav${J.keys.length>1?"i":"e"} non riconosciut${J.keys.length>1?"e":"a"}: ${K(J.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${J.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${J.origin}`;default:return"Input non valido"}}};var gH=y(()=>{p()});function WD(){return{localeError:gS()}}var gS=()=>{let $={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function _(J){return $[J]??null}let U={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},W={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${J.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${X}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(J.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${I(J.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${K(J.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let X=J.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",G=_(J.origin);if(G)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${G.unit??"\u8981\u7D20"}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let X=J.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",G=_(J.origin);if(G)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${G.unit}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${X.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${J.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${J.keys.length>1?"\u7FA4":""}: ${K(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var IH=y(()=>{p()});function XD(){return{localeError:IS()}}var IS=()=>{let $={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function _(J){return $[J]??null}let U={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",json_string:"JSON \u10D5\u10D4\u10DA\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},W={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10D5\u10D4\u10DA\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`;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 ${X}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;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 ${J.origin} \u10D8\u10E7\u10DD\u10E1 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"-\u10D8\u10D7`;if(X.format==="ends_with")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 "${X.suffix}"-\u10D8\u10D7`;if(X.format==="includes")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 "${X.includes}"-\u10E1`;if(X.format==="regex")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 ${X.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${J.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${J.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${J.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${J.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var wH=y(()=>{p()});function AJ(){return{localeError:wS()}}var wS=()=>{let $={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function _(J){return $[J]??null}let U={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},W={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`;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 ${X} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()} ${G.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()} ${G.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${K(J.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${J.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":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 ${J.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var GD=y(()=>{p()});function QD(){return AJ()}var kH=y(()=>{GD()});function YD(){return{localeError:kS()}}var kS=()=>{let $={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${J.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${X}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`}case"invalid_value":if(J.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${I(J.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${K(J.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let X=J.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",G=X==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()} ${X}${G}`}case"too_small":{let X=J.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",G=X==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()} ${X}${G}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${X.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[X.format]??J.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${J.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${K(J.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${J.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${J.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var fH=y(()=>{p()});function PH($){let _=Math.abs($),U=_%10,W=_%100;if(W>=11&&W<=19||U===0)return"many";if(U===1)return"one";return"few"}function jD(){return{localeError:fS()}}var bJ=($)=>{return $.charAt(0).toUpperCase()+$.slice(1)},fS=()=>{let $={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function _(J,X,G,Q){let Y=$[J]??null;if(Y===null)return Y;return{unit:Y.unit[X],verb:Y.verb[Q][G?"inclusive":"notInclusive"]}}let U={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},W={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Gautas tipas ${Q}, o tik\u0117tasi - instanceof ${J.expected}`;return`Gautas tipas ${Q}, o tik\u0117tasi - ${X}`}case"invalid_value":if(J.values.length===1)return`Privalo b\u016Bti ${I(J.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${K(J.values,"|")} pasirinkim\u0173`;case"too_big":{let X=W[J.origin]??J.origin,G=_(J.origin,PH(Number(J.maximum)),J.inclusive??!1,"smaller");if(G?.verb)return`${bJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.maximum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${bJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.maximum.toString()} ${G?.unit}`}case"too_small":{let X=W[J.origin]??J.origin,G=_(J.origin,PH(Number(J.minimum)),J.inclusive??!1,"bigger");if(G?.verb)return`${bJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.minimum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${bJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.minimum.toString()} ${G?.unit}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${X.prefix}"`;if(X.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${X.suffix}"`;if(X.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${X.includes}"`;if(X.format==="regex")return`Eilut\u0117 privalo atitikti ${X.pattern}`;return`Neteisingas ${U[X.format]??J.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${J.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${J.keys.length>1?"i":"as"} rakt${J.keys.length>1?"ai":"as"}: ${K(J.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let X=W[J.origin]??J.origin;return`${bJ(X??J.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var CH=y(()=>{p()});function DD(){return{localeError:PS()}}var PS=()=>{let $={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function _(J){return $[J]??null}let U={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},W={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${J.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${X}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`${J.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"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${J.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${J.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var TH=y(()=>{p()});function zD(){return{localeError:CS()}}var CS=()=>{let $={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"nombor"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak sah: dijangka instanceof ${J.expected}, diterima ${Q}`;return`Input tidak sah: dijangka ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak sah: dijangka ${I(J.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: dijangka ${J.origin??"nilai"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: dijangka ${J.origin??"nilai"} adalah ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: dijangka ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: dijangka ${J.origin} adalah ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak sah: mesti bermula dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak sah: mesti mengandungi "${X.includes}"`;if(X.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${X.pattern}`;return`${U[X.format]??J.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${K(J.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${J.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${J.origin}`;default:return"Input tidak sah"}}};var SH=y(()=>{p()});function qD(){return{localeError:TS()}}var TS=()=>{let $={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function _(J){return $[J]??null}let U={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},W={nan:"NaN",number:"getal"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ongeldige invoer: verwacht instanceof ${J.expected}, ontving ${Q}`;return`Ongeldige invoer: verwacht ${X}, ontving ${Q}`}case"invalid_value":if(J.values.length===1)return`Ongeldige invoer: verwacht ${I(J.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=J.origin==="date"?"laat":J.origin==="string"?"lang":"groot";if(G)return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} ${G.unit??"elementen"} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} is`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=J.origin==="date"?"vroeg":J.origin==="string"?"kort":"klein";if(G)return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} is`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ongeldige tekst: moet met "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ongeldige tekst: moet op "${X.suffix}" eindigen`;if(X.format==="includes")return`Ongeldige tekst: moet "${X.includes}" bevatten`;if(X.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${X.pattern}`;return`Ongeldig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${J.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${J.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${J.origin}`;default:return"Ongeldige invoer"}}};var ZH=y(()=>{p()});function OD(){return{localeError:SS()}}var SS=()=>{let $={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"tall",array:"liste"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldig input: forventet instanceof ${J.expected}, fikk ${Q}`;return`Ugyldig input: forventet ${X}, fikk ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig verdi: forventet ${I(J.values[0])}`;return`Ugyldig valg: forventet en av ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()} ${G.unit}`;return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${K(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${J.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${J.origin}`;default:return"Ugyldig input"}}};var vH=y(()=>{p()});function LD(){return{localeError:ZS()}}var ZS=()=>{let $={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},W={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`F\xE2sit giren: umulan instanceof ${J.expected}, al\u0131nan ${Q}`;return`F\xE2sit giren: umulan ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`F\xE2sit giren: umulan ${I(J.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} ${G.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} ${G.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`F\xE2sit metin: "${X.prefix}" ile ba\u015Flamal\u0131.`;if(X.format==="ends_with")return`F\xE2sit metin: "${X.suffix}" ile bitmeli.`;if(X.format==="includes")return`F\xE2sit metin: "${X.includes}" ihtiv\xE2 etmeli.`;if(X.format==="regex")return`F\xE2sit metin: ${X.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[X.format]??J.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${J.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${J.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var yH=y(()=>{p()});function ND(){return{localeError:vS()}}var vS=()=>{let $={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${J.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${X} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(J.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${I(J.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${K(J.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0648\u064A`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0648\u064A`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(X.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(X.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${X.includes}" \u0648\u0644\u0631\u064A`;if(X.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${X.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[X.format]??J.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${J.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${J.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${K(J.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${J.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${J.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var hH=y(()=>{p()});function BD(){return{localeError:yS()}}var yS=()=>{let $={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function _(J){return $[J]??null}let U={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},W={nan:"NaN",number:"liczba",array:"tablica"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${J.expected}, otrzymano ${Q}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${X}, otrzymano ${Q}`}case"invalid_value":if(J.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${I(J.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.maximum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.minimum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${X.prefix}"`;if(X.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${X.suffix}"`;if(X.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${X.includes}"`;if(X.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${X.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[X.format]??J.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${J.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${J.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${J.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var xH=y(()=>{p()});function HD(){return{localeError:hS()}}var hS=()=>{let $={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function _(J){return $[J]??null}let U={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipo inv\xE1lido: esperado instanceof ${J.expected}, recebido ${Q}`;return`Tipo inv\xE1lido: esperado ${X}, recebido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: esperado ${I(J.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Muito grande: esperado que ${J.origin??"valor"} tivesse ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Muito grande: esperado que ${J.origin??"valor"} fosse ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Muito pequeno: esperado que ${J.origin} tivesse ${X}${J.minimum.toString()} ${G.unit}`;return`Muito pequeno: esperado que ${J.origin} fosse ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${X.prefix}"`;if(X.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${X.suffix}"`;if(X.format==="includes")return`Texto inv\xE1lido: deve incluir "${X.includes}"`;if(X.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${X.pattern}`;return`${U[X.format]??J.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Chave${J.keys.length>1?"s":""} desconhecida${J.keys.length>1?"s":""}: ${K(J.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${J.origin}`;default:return"Campo inv\xE1lido"}}};var mH=y(()=>{p()});function VD(){return{localeError:xS()}}var xS=()=>{let $={string:{unit:"caractere",verb:"s\u0103 aib\u0103"},file:{unit:"octe\u021Bi",verb:"s\u0103 aib\u0103"},array:{unit:"elemente",verb:"s\u0103 aib\u0103"},set:{unit:"elemente",verb:"s\u0103 aib\u0103"},map:{unit:"intr\u0103ri",verb:"s\u0103 aib\u0103"}};function _(J){return $[J]??null}let U={regex:"intrare",email:"adres\u0103 de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dat\u0103 \u0219i or\u0103 ISO",date:"dat\u0103 ISO",time:"or\u0103 ISO",duration:"durat\u0103 ISO",ipv4:"adres\u0103 IPv4",ipv6:"adres\u0103 IPv6",mac:"adres\u0103 MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"\u0219ir codat base64",base64url:"\u0219ir codat base64url",json_string:"\u0219ir JSON",e164:"num\u0103r E.164",jwt:"JWT",template_literal:"intrare"},W={nan:"NaN",string:"\u0219ir",number:"num\u0103r",boolean:"boolean",function:"func\u021Bie",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"num\u0103r mare",void:"void",never:"never",map:"hart\u0103",set:"set"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Intrare invalid\u0103: a\u0219teptat ${X}, primit ${Q}`}case"invalid_value":if(J.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${I(J.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} s\u0103 fie ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Prea mic: a\u0219teptat ca ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Prea mic: a\u0219teptat ca ${J.origin} s\u0103 fie ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${X.prefix}"`;if(X.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${X.suffix}"`;if(X.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${X.includes}"`;if(X.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${X.pattern}`;return`Format invalid: ${U[X.format]??J.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${J.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${K(J.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${J.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${J.origin}`;default:return"Intrare invalid\u0103"}}};var uH=y(()=>{p()});function dH($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function RD(){return{localeError:mS()}}var mS=()=>{let $={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=dH(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=dH(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.minimum.toString()} ${Y}`}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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${J.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0438":""}: ${K(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var nH=y(()=>{p()});function AD(){return{localeError:uS()}}var uS=()=>{let $={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function _(J){return $[J]??null}let U={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},W={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${J.expected}, prejeto ${Q}`;return`Neveljaven vnos: pri\u010Dakovano ${X}, prejeto ${Q}`}case"invalid_value":if(J.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${I(J.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} imelo ${X}${J.maximum.toString()} ${G.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Premajhno: pri\u010Dakovano, da bo ${J.origin} imelo ${X}${J.minimum.toString()} ${G.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${X.prefix}"`;if(X.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${X.suffix}"`;if(X.format==="includes")return`Neveljaven niz: mora vsebovati "${X.includes}"`;if(X.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${X.pattern}`;return`Neveljaven ${U[X.format]??J.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${J.divisor}`;case"unrecognized_keys":return`Neprepoznan${J.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${K(J.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${J.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${J.origin}`;default:return"Neveljaven vnos"}}};var cH=y(()=>{p()});function bD(){return{localeError:dS()}}var dS=()=>{let $={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function _(J){return $[J]??null}let U={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},W={nan:"NaN",number:"antal",array:"lista"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${J.expected}, fick ${Q}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${X}, fick ${Q}`}case"invalid_value":if(J.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${I(J.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()} ${G.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${X.prefix}"`;if(X.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${X.suffix}"`;if(X.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${X.includes}"`;if(X.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${X.pattern}"`;return`Ogiltig(t) ${U[X.format]??J.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${K(J.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${J.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${J.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var lH=y(()=>{p()});function FD(){return{localeError:nS()}}var nS=()=>{let $={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"},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"},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"},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"}};function _(J){return $[J]??null}let U={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`;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 ${X}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} ${G.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`;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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${X}${J.minimum.toString()} ${G.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;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 ${J.origin} ${X}${J.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${X.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`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${J.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${J.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var rH=y(()=>{p()});function ED(){return{localeError:cS()}}var cS=()=>{let $={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function _(J){return $[J]??null}let U={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",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)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},W={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`;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 ${X} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()} ${G.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()} ${G.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(X.format==="regex")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 ${X.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${K(J.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;case"invalid_union":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";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var iH=y(()=>{p()});function KD(){return{localeError:lS()}}var lS=()=>{let $={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function _(J){return $[J]??null}let U={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${J.expected}, al\u0131nan ${Q}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${I(J.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()} ${G.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ge\xE7ersiz metin: "${X.prefix}" ile ba\u015Flamal\u0131`;if(X.format==="ends_with")return`Ge\xE7ersiz metin: "${X.suffix}" ile bitmeli`;if(X.format==="includes")return`Ge\xE7ersiz metin: "${X.includes}" i\xE7ermeli`;if(X.format==="regex")return`Ge\xE7ersiz metin: ${X.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[X.format]??J.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${J.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${J.keys.length>1?"lar":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${J.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var pH=y(()=>{p()});function FJ(){return{localeError:rS()}}var rS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`;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 ${X}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)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 ${I(J.values[0])}`;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 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} \u0431\u0443\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0456":""}: ${K(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${J.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var MD=y(()=>{p()});function gD(){return FJ()}var oH=y(()=>{MD()});function ID(){return{localeError:iS()}}var iS=()=>{let $={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function _(J){return $[J]??null}let U={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},W={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${J.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${X} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(J.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${I(J.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${K(J.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${X}${J.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u06D2 ${X}${J.minimum.toString()} ${G.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u0627 ${X}${J.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${X.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${J.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${J.keys.length>1?"\u0632":""}: ${K(J.keys,"\u060C ")}`;case"invalid_key":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var tH=y(()=>{p()});function wD(){return{localeError:pS()}}var pS=()=>{let $={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"},map:{unit:"yozuv",verb:"bo\u2018lishi kerak"}};function _(J){return $[J]??null}let U={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},W={nan:"NaN",number:"raqam",array:"massiv"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${J.expected}, qabul qilingan ${Q}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${X}, qabul qilingan ${Q}`}case"invalid_value":if(J.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${I(J.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()} ${G.unit} ${G.verb}`;return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${X.prefix}" bilan boshlanishi kerak`;if(X.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${X.suffix}" bilan tugashi kerak`;if(X.format==="includes")return`Noto\u2018g\u2018ri satr: "${X.includes}" ni o\u2018z ichiga olishi kerak`;if(X.format==="regex")return`Noto\u2018g\u2018ri satr: ${X.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[X.format]??J.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${J.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${J.keys.length>1?"lar":""}: ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${J.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var aH=y(()=>{p()});function kD(){return{localeError:oS()}}var oS=()=>{let $={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function _(J){return $[J]??null}let U={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},W={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${J.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${X}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${I(J.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${X.prefix}"`;if(X.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${X.suffix}"`;if(X.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${X.includes}"`;if(X.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${X.pattern}`;return`${U[X.format]??J.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${J.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${K(J.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var sH=y(()=>{p()});function fD(){return{localeError:tS()}}var tS=()=>{let $={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function _(J){return $[J]??null}let U={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},W={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${J.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${X}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${I(J.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()} ${G.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.prefix}" \u5F00\u5934`;if(X.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.suffix}" \u7ED3\u5C3E`;if(X.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${X.pattern}`;return`\u65E0\u6548${U[X.format]??J.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${J.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${K(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${J.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var eH=y(()=>{p()});function PD(){return{localeError:aS()}}var aS=()=>{let $={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function _(J){return $[J]??null}let U={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${J.expected}\uFF0C\u4F46\u6536\u5230 ${Q}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${X}\uFF0C\u4F46\u6536\u5230 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${I(J.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()} ${G.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()} ${G.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.prefix}" \u958B\u982D`;if(X.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.suffix}" \u7D50\u5C3E`;if(X.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${X.pattern}`;return`\u7121\u6548\u7684 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${J.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${J.keys.length>1?"\u5011":""}\uFF1A${K(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var $V=y(()=>{p()});function CD(){return{localeError:sS()}}var sS=()=>{let $={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function _(J){return $[J]??null}let U={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},W={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${J.expected}, \xE0m\u1ECD\u0300 a r\xED ${Q}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${X}, \xE0m\u1ECD\u0300 a r\xED ${Q}`}case"invalid_value":if(J.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${I(J.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${K(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin??"iye"} ${G.verb} ${X}${J.maximum} ${G.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.maximum}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin} ${G.verb} ${X}${J.minimum} ${G.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.minimum}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${X.prefix}"`;if(X.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${X.suffix}"`;if(X.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${X.includes}"`;if(X.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${X.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[X.format]??J.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${J.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${K(J.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var _V=y(()=>{p()});var y2={};g6(y2,{zhTW:()=>PD,zhCN:()=>fD,yo:()=>CD,vi:()=>kD,uz:()=>wD,ur:()=>ID,uk:()=>FJ,ua:()=>gD,tr:()=>KD,th:()=>ED,ta:()=>FD,sv:()=>bD,sl:()=>AD,ru:()=>RD,ro:()=>VD,pt:()=>HD,ps:()=>ND,pl:()=>BD,ota:()=>LD,no:()=>OD,nl:()=>qD,ms:()=>zD,mk:()=>DD,lt:()=>jD,ko:()=>YD,km:()=>AJ,kh:()=>QD,ka:()=>XD,ja:()=>WD,it:()=>JD,is:()=>UD,id:()=>_D,hy:()=>$D,hu:()=>ej,hr:()=>sj,he:()=>aj,frCA:()=>tj,fr:()=>oj,fi:()=>pj,fa:()=>ij,es:()=>rj,eo:()=>lj,en:()=>RJ,el:()=>nj,de:()=>dj,da:()=>uj,cs:()=>mj,ca:()=>xj,bg:()=>hj,be:()=>yj,az:()=>vj,ar:()=>Zj});var TD=y(()=>{JH();WH();GH();QH();YH();jH();DH();zH();qH();cj();OH();LH();NH();BH();HH();VH();RH();AH();bH();EH();KH();MH();gH();IH();wH();kH();GD();fH();CH();TH();SH();ZH();vH();yH();hH();xH();mH();uH();nH();cH();lH();rH();iH();pH();oH();MD();tH();aH();sH();eH();$V();_V()});class SD{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,..._){let U=_[0];if(this._map.set($,U),U&&typeof U==="object"&&"id"in U)this._idmap.set(U.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let _=this._map.get($);if(_&&typeof _==="object"&&"id"in _)this._idmap.delete(_.id);return this._map.delete($),this}get($){let _=$._zod.parent;if(_){let U={...this.get(_)??{}};delete U.id;let W={...U,...this._map.get($)};return Object.keys(W).length?W:void 0}return this._map.get($)}has($){return this._map.has($)}}function EJ(){return new SD}var UV,q9,O9,D_;var KJ=y(()=>{q9=Symbol("ZodOutput"),O9=Symbol("ZodInput");(UV=globalThis).__zod_globalRegistry??(UV.__zod_globalRegistry=EJ());D_=globalThis.__zod_globalRegistry});function ZD($,_){return new $({type:"string",...S(_)})}function vD($,_){return new $({type:"string",coerce:!0,...S(_)})}function L9($,_){return new $({type:"string",format:"email",check:"string_format",abort:!1,...S(_)})}function MJ($,_){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...S(_)})}function N9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...S(_)})}function B9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...S(_)})}function H9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...S(_)})}function V9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...S(_)})}function gJ($,_){return new $({type:"string",format:"url",check:"string_format",abort:!1,...S(_)})}function R9($,_){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...S(_)})}function A9($,_){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...S(_)})}function b9($,_){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...S(_)})}function F9($,_){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...S(_)})}function E9($,_){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...S(_)})}function K9($,_){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...S(_)})}function M9($,_){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...S(_)})}function g9($,_){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...S(_)})}function I9($,_){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...S(_)})}function yD($,_){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...S(_)})}function w9($,_){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...S(_)})}function k9($,_){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...S(_)})}function f9($,_){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...S(_)})}function P9($,_){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...S(_)})}function C9($,_){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...S(_)})}function T9($,_){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...S(_)})}function hD($,_){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...S(_)})}function xD($,_){return new $({type:"string",format:"date",check:"string_format",...S(_)})}function mD($,_){return new $({type:"string",format:"time",check:"string_format",precision:null,...S(_)})}function uD($,_){return new $({type:"string",format:"duration",check:"string_format",...S(_)})}function dD($,_){return new $({type:"number",checks:[],...S(_)})}function nD($,_){return new $({type:"number",coerce:!0,checks:[],...S(_)})}function cD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...S(_)})}function lD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...S(_)})}function rD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...S(_)})}function iD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...S(_)})}function pD($,_){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...S(_)})}function oD($,_){return new $({type:"boolean",...S(_)})}function tD($,_){return new $({type:"boolean",coerce:!0,...S(_)})}function aD($,_){return new $({type:"bigint",...S(_)})}function sD($,_){return new $({type:"bigint",coerce:!0,...S(_)})}function eD($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...S(_)})}function $7($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...S(_)})}function _7($,_){return new $({type:"symbol",...S(_)})}function U7($,_){return new $({type:"undefined",...S(_)})}function J7($,_){return new $({type:"null",...S(_)})}function W7($){return new $({type:"any"})}function X7($){return new $({type:"unknown"})}function G7($,_){return new $({type:"never",...S(_)})}function Q7($,_){return new $({type:"void",...S(_)})}function Y7($,_){return new $({type:"date",...S(_)})}function j7($,_){return new $({type:"date",coerce:!0,...S(_)})}function D7($,_){return new $({type:"nan",...S(_)})}function O6($,_){return new eX({check:"less_than",...S(_),value:$,inclusive:!1})}function C_($,_){return new eX({check:"less_than",...S(_),value:$,inclusive:!0})}function L6($,_){return new $9({check:"greater_than",...S(_),value:$,inclusive:!1})}function B_($,_){return new $9({check:"greater_than",...S(_),value:$,inclusive:!0})}function IJ($){return L6(0,$)}function wJ($){return O6(0,$)}function kJ($){return C_(0,$)}function fJ($){return B_(0,$)}function j4($,_){return new WY({check:"multiple_of",...S(_),value:$})}function D4($,_){return new QY({check:"max_size",...S(_),maximum:$})}function N6($,_){return new YY({check:"min_size",...S(_),minimum:$})}function c4($,_){return new jY({check:"size_equals",...S(_),size:$})}function l4($,_){return new DY({check:"max_length",...S(_),maximum:$})}function h6($,_){return new zY({check:"min_length",...S(_),minimum:$})}function r4($,_){return new qY({check:"length_equals",...S(_),length:$})}function d0($,_){return new OY({check:"string_format",format:"regex",...S(_),pattern:$})}function n0($){return new LY({check:"string_format",format:"lowercase",...S($)})}function c0($){return new NY({check:"string_format",format:"uppercase",...S($)})}function l0($,_){return new BY({check:"string_format",format:"includes",...S(_),includes:$})}function r0($,_){return new HY({check:"string_format",format:"starts_with",...S(_),prefix:$})}function i0($,_){return new VY({check:"string_format",format:"ends_with",...S(_),suffix:$})}function PJ($,_,U){return new RY({check:"property",property:$,schema:_,...S(U)})}function p0($,_){return new AY({check:"mime_type",mime:$,...S(_)})}function a_($){return new bY({check:"overwrite",tx:$})}function o0($){return a_((_)=>_.normalize($))}function t0(){return a_(($)=>$.trim())}function a0(){return a_(($)=>$.toLowerCase())}function s0(){return a_(($)=>$.toUpperCase())}function e0(){return a_(($)=>HQ($))}function z7($,_,U){return new $({type:"array",element:_,...S(U)})}function $Z($,_,U){return new $({type:"union",options:_,...S(U)})}function _Z($,_,U){return new $({type:"union",options:_,inclusive:!1,...S(U)})}function UZ($,_,U,W){return new $({type:"union",options:U,discriminator:_,...S(W)})}function JZ($,_,U){return new $({type:"intersection",left:_,right:U})}function WZ($,_,U,W){let J=U instanceof D$;return new $({type:"tuple",items:_,rest:J?U:null,...S(J?W:U)})}function XZ($,_,U,W){return new $({type:"record",keyType:_,valueType:U,...S(W)})}function GZ($,_,U,W){return new $({type:"map",keyType:_,valueType:U,...S(W)})}function QZ($,_,U){return new $({type:"set",valueType:_,...S(U)})}function YZ($,_,U){let W=Array.isArray(_)?Object.fromEntries(_.map((J)=>[J,J])):_;return new $({type:"enum",entries:W,...S(U)})}function jZ($,_,U){return new $({type:"enum",entries:_,...S(U)})}function DZ($,_,U){return new $({type:"literal",values:Array.isArray(_)?_:[_],...S(U)})}function q7($,_){return new $({type:"file",...S(_)})}function zZ($,_){return new $({type:"transform",transform:_})}function qZ($,_){return new $({type:"optional",innerType:_})}function OZ($,_){return new $({type:"nullable",innerType:_})}function LZ($,_,U){return new $({type:"default",innerType:_,get defaultValue(){return typeof U==="function"?U():RQ(U)}})}function NZ($,_,U){return new $({type:"nonoptional",innerType:_,...S(U)})}function BZ($,_){return new $({type:"success",innerType:_})}function HZ($,_,U){return new $({type:"catch",innerType:_,catchValue:typeof U==="function"?U:()=>U})}function VZ($,_,U){return new $({type:"pipe",in:_,out:U})}function RZ($,_){return new $({type:"readonly",innerType:_})}function AZ($,_,U){return new $({type:"template_literal",parts:_,...S(U)})}function bZ($,_){return new $({type:"lazy",getter:_})}function FZ($,_){return new $({type:"promise",innerType:_})}function O7($,_,U){let W=S(U);return W.abort??(W.abort=!0),new $({type:"custom",check:"custom",fn:_,...W})}function L7($,_,U){return new $({type:"custom",check:"custom",fn:_,...S(U)})}function N7($,_){let U=JV((W)=>{return W.addIssue=(J)=>{if(typeof J==="string")W.issues.push(w2(J,W.value,U._zod.def));else{let X=J;if(X.fatal)X.continue=!1;X.code??(X.code="custom"),X.input??(X.input=W.value),X.inst??(X.inst=U),X.continue??(X.continue=!U._zod.def.abort),W.issues.push(w2(X))}},$(W.value,W)},_);return U}function JV($,_){let U=new n$({check:"custom",...S(_)});return U._zod.check=$,U}function B7($){let _=new n$({check:"describe"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,description:$})}],_._zod.check=()=>{},_}function H7($){let _=new n$({check:"meta"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,...$})}],_._zod.check=()=>{},_}function V7($,_){let U=S(_),W=U.truthy??["true","1","yes","on","y","enabled"],J=U.falsy??["false","0","no","off","n","disabled"];if(U.case!=="sensitive")W=W.map((L)=>typeof L==="string"?L.toLowerCase():L),J=J.map((L)=>typeof L==="string"?L.toLowerCase():L);let X=new Set(W),G=new Set(J),Q=$.Codec??VJ,Y=$.Boolean??BJ,O=new($.String??u0)({type:"string",error:U.error}),B=new Y({type:"boolean",error:U.error}),V=new Q({type:"pipe",in:O,out:B,transform:(L,N)=>{let H=L;if(U.case!=="sensitive")H=H.toLowerCase();if(X.has(H))return!0;else if(G.has(H))return!1;else return N.issues.push({code:"invalid_value",expected:"stringbool",values:[...X,...G],input:N.value,inst:V,continue:!1}),{}},reverseTransform:(L,N)=>{if(L===!0)return W[0]||"true";else return J[0]||"false"},error:U.error});return V}function h2($,_,U,W={}){let J=S(W),X={...S(W),check:"string_format",type:"string",format:_,fn:typeof U==="function"?U:(Q)=>U.test(Q),...J};if(U instanceof RegExp)X.pattern=U;return new $(X)}var S9;var WV=y(()=>{_9();KJ();Sj();p();S9={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function i4($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";return{processors:$.processors??{},metadataRegistry:$?.metadata??D_,target:_,unrepresentable:$?.unrepresentable??"throw",override:$?.override??(()=>{}),io:$?.io??"output",counter:0,seen:new Map,cycles:$?.cycles??"ref",reused:$?.reused??"inline",external:$?.external??void 0}}function T$($,_,U={path:[],schemaPath:[]}){var W;let J=$._zod.def,X=_.seen.get($);if(X){if(X.count++,U.schemaPath.includes($))X.cycle=U.path;return X.schema}let G={schema:{},count:1,cycle:void 0,path:U.path};_.seen.set($,G);let Q=$._zod.toJSONSchema?.();if(Q)G.schema=Q;else{let O={...U,schemaPath:[...U.schemaPath,$],path:U.path};if($._zod.processJSONSchema)$._zod.processJSONSchema(_,G.schema,O);else{let V=G.schema,L=_.processors[J.type];if(!L)throw Error(`[toJSONSchema]: Non-representable type encountered: ${J.type}`);L($,_,V,O)}let B=$._zod.parent;if(B){if(!G.ref)G.ref=B;T$(B,_,O),_.seen.get(B).isParent=!0}}let Y=_.metadataRegistry.get($);if(Y)Object.assign(G.schema,Y);if(_.io==="input"&&M_($))delete G.schema.examples,delete G.schema.default;if(_.io==="input"&&"_prefault"in G.schema)(W=G.schema).default??(W.default=G.schema._prefault);return delete G.schema._prefault,_.seen.get($).schema}function p4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=new Map;for(let G of $.seen.entries()){let Q=$.metadataRegistry.get(G[0])?.id;if(Q){let Y=W.get(Q);if(Y&&Y!==G[0])throw Error(`Duplicate schema id "${Q}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);W.set(Q,G[0])}}let J=(G)=>{let Q=$.target==="draft-2020-12"?"$defs":"definitions";if($.external){let B=$.external.registry.get(G[0])?.id,V=$.external.uri??((N)=>N);if(B)return{ref:V(B)};let L=G[1].defId??G[1].schema.id??`schema${$.counter++}`;return G[1].defId=L,{defId:L,ref:`${V("__shared")}#/${Q}/${L}`}}if(G[1]===U)return{ref:"#"};let j=`${"#"}/${Q}/`,O=G[1].schema.id??`__schema${$.counter++}`;return{defId:O,ref:j+O}},X=(G)=>{if(G[1].schema.$ref)return;let Q=G[1],{ref:Y,defId:j}=J(G);if(Q.def={...Q.schema},j)Q.defId=j;let O=Q.schema;for(let B in O)delete O[B];O.$ref=Y};if($.cycles==="throw")for(let G of $.seen.entries()){let Q=G[1];if(Q.cycle)throw Error(`Cycle detected: #/${Q.cycle?.join("/")}/<root> + `)}L.write("payload.value = newResult;"),L.write("return payload;");let A=L.compile();return(M,K)=>A(V,M,K)},X,G=x0,Q=!v0.jitless,j=Q&&RQ.value,O=_.catchall,B;$._zod.parse=(V,L)=>{B??(B=W.value);let N=V.value;if(!G(N))return V.issues.push({expected:"object",code:"invalid_type",input:N,inst:$}),V;if(Q&&j&&L?.async===!1&&L.jitless!==!0){if(!X)X=J(_.shape);if(V=X(V,L),!O)return V;return _3([],N,V,L,B,$)}return U(V,L)}});HJ=F("$ZodUnion",($,_)=>{D$.init($,_),K$($._zod,"optin",()=>_.options.some((W)=>W._zod.optin==="optional")?"optional":void 0),K$($._zod,"optout",()=>_.options.some((W)=>W._zod.optout==="optional")?"optional":void 0),K$($._zod,"values",()=>{if(_.options.every((W)=>W._zod.values))return new Set(_.options.flatMap((W)=>Array.from(W._zod.values)));return}),K$($._zod,"pattern",()=>{if(_.options.every((W)=>W._zod.pattern)){let W=_.options.map((J)=>J._zod.pattern);return new RegExp(`^(${W.map((J)=>YJ(J.source)).join("|")})$`)}return});let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else{if(Y.issues.length===0)return Y;G.push(Y)}}if(!X)return xH(G,W,$,J);return Promise.all(G).then((Q)=>{return xH(Q,W,$,J)})}});Dj=F("$ZodXor",($,_)=>{HJ.init($,_),_.inclusive=!1;let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else G.push(Y)}if(!X)return mH(G,W,$,J);return Promise.all(G).then((Q)=>{return mH(Q,W,$,J)})}}),zj=F("$ZodDiscriminatedUnion",($,_)=>{_.inclusive=!1,HJ.init($,_);let U=$._zod.parse;K$($._zod,"propValues",()=>{let J={};for(let X of _.options){let G=X._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(X)}"`);for(let[Q,Y]of Object.entries(G)){if(!J[Q])J[Q]=new Set;for(let j of Y)J[Q].add(j)}}return J});let W=g2(()=>{let J=_.options,X=new Map;for(let G of J){let Q=G._zod.propValues?.[_.discriminator];if(!Q||Q.size===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(G)}"`);for(let Y of Q){if(X.has(Y))throw Error(`Duplicate discriminator value "${String(Y)}"`);X.set(Y,G)}}return X});$._zod.parse=(J,X)=>{let G=J.value;if(!x0(G))return J.issues.push({code:"invalid_type",expected:"object",input:G,inst:$}),J;let Q=W.value.get(G?.[_.discriminator]);if(Q)return Q._zod.run(J,X);if(_.unionFallback||X.direction==="backward")return U(J,X);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:_.discriminator,options:Array.from(W.value.keys()),input:G,path:[_.discriminator],inst:$}),J}}),qj=F("$ZodIntersection",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value,X=_.left._zod.run({value:J,issues:[]},W),G=_.right._zod.run({value:J,issues:[]},W);if(X instanceof Promise||G instanceof Promise)return Promise.all([X,G]).then(([Y,j])=>{return uH(U,Y,j)});return uH(U,X,G)}});D9=F("$ZodTuple",($,_)=>{D$.init($,_);let U=_.items;$._zod.parse=(W,J)=>{let X=W.value;if(!Array.isArray(X))return W.issues.push({input:X,inst:$,expected:"tuple",code:"invalid_type"}),W;W.value=[];let G=[],Q=dH(U,"optin"),Y=dH(U,"optout");if(!_.rest){if(X.length<Q)return W.issues.push({code:"too_small",minimum:Q,inclusive:!0,input:X,inst:$,origin:"array"}),W;if(X.length>U.length)W.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:X,inst:$,origin:"array"})}let j=Array(U.length);for(let O=0;O<U.length;O++){let B=U[O]._zod.run({value:X[O],issues:[]},J);if(B instanceof Promise)G.push(B.then((V)=>{j[O]=V}));else j[O]=B}if(_.rest){let O=U.length-1,B=X.slice(U.length);for(let V of B){O++;let L=_.rest._zod.run({value:V,issues:[]},J);if(L instanceof Promise)G.push(L.then((N)=>cH(N,W,O)));else cH(L,W,O)}}if(G.length)return Promise.all(G).then(()=>nH(j,W,U,X,Y));return nH(j,W,U,X,Y)}});Oj=F("$ZodRecord",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!d4(J))return U.issues.push({expected:"record",code:"invalid_type",input:J,inst:$}),U;let X=[],G=_.keyType._zod.values;if(G){U.value={};let Q=new Set;for(let j of G)if(typeof j==="string"||typeof j==="number"||typeof j==="symbol"){Q.add(typeof j==="number"?j.toString():j);let O=_.keyType._zod.run({value:j,issues:[]},W);if(O instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(O.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:O.issues.map((L)=>b_(L,W,__())),input:j,path:[j],inst:$});continue}let B=O.value,V=_.valueType._zod.run({value:J[j],issues:[]},W);if(V instanceof Promise)X.push(V.then((L)=>{if(L.issues.length)U.issues.push(...k_(j,L.issues));U.value[B]=L.value}));else{if(V.issues.length)U.issues.push(...k_(j,V.issues));U.value[B]=V.value}}let Y;for(let j in J)if(!Q.has(j))Y=Y??[],Y.push(j);if(Y&&Y.length>0)U.issues.push({code:"unrecognized_keys",input:J,inst:$,keys:Y})}else{U.value={};for(let Q of Reflect.ownKeys(J)){if(Q==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(J,Q))continue;let Y=_.keyType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof Q==="string"&&OJ.test(Q)&&Y.issues.length){let B=_.keyType._zod.run({value:Number(Q),issues:[]},W);if(B instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(B.issues.length===0)Y=B}if(Y.issues.length){if(_.mode==="loose")U.value[Q]=J[Q];else U.issues.push({code:"invalid_key",origin:"record",issues:Y.issues.map((B)=>b_(B,W,__())),input:Q,path:[Q],inst:$});continue}let O=_.valueType._zod.run({value:J[Q],issues:[]},W);if(O instanceof Promise)X.push(O.then((B)=>{if(B.issues.length)U.issues.push(...k_(Q,B.issues));U.value[Y.value]=B.value}));else{if(O.issues.length)U.issues.push(...k_(Q,O.issues));U.value[Y.value]=O.value}}}if(X.length)return Promise.all(X).then(()=>U);return U}}),Lj=F("$ZodMap",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Map))return U.issues.push({expected:"map",code:"invalid_type",input:J,inst:$}),U;let X=[];U.value=new Map;for(let[G,Q]of J){let Y=_.keyType._zod.run({value:G,issues:[]},W),j=_.valueType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise||j instanceof Promise)X.push(Promise.all([Y,j]).then(([O,B])=>{lH(O,B,U,G,J,$,W)}));else lH(Y,j,U,G,J,$,W)}if(X.length)return Promise.all(X).then(()=>U);return U}});Nj=F("$ZodSet",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Set))return U.issues.push({input:J,inst:$,expected:"set",code:"invalid_type"}),U;let X=[];U.value=new Set;for(let G of J){let Q=_.valueType._zod.run({value:G,issues:[]},W);if(Q instanceof Promise)X.push(Q.then((Y)=>iH(Y,U)));else iH(Q,U)}if(X.length)return Promise.all(X).then(()=>U);return U}});Bj=F("$ZodEnum",($,_)=>{D$.init($,_);let U=QJ(_.entries),W=new Set(U);$._zod.values=W,$._zod.pattern=new RegExp(`^(${U.filter((J)=>jJ.has(typeof J)).map((J)=>typeof J==="string"?t_(J):J.toString()).join("|")})$`),$._zod.parse=(J,X)=>{let G=J.value;if(W.has(G))return J;return J.issues.push({code:"invalid_value",values:U,input:G,inst:$}),J}}),Hj=F("$ZodLiteral",($,_)=>{if(D$.init($,_),_.values.length===0)throw Error("Cannot create literal schema with no valid values");let U=new Set(_.values);$._zod.values=U,$._zod.pattern=new RegExp(`^(${_.values.map((W)=>typeof W==="string"?t_(W):W?t_(W.toString()):String(W)).join("|")})$`),$._zod.parse=(W,J)=>{let X=W.value;if(U.has(X))return W;return W.issues.push({code:"invalid_value",values:_.values,input:X,inst:$}),W}}),Vj=F("$ZodFile",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(J instanceof File)return U;return U.issues.push({expected:"file",code:"invalid_type",input:J,inst:$}),U}}),Rj=F("$ZodTransform",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0($.constructor.name);let J=_.transform(U.value,U);if(W.async)return(J instanceof Promise?J:Promise.resolve(J)).then((G)=>{return U.value=G,U.fallback=!0,U});if(J instanceof Promise)throw new y6;return U.value=J,U.fallback=!0,U}});z9=F("$ZodOptional",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.optout="optional",K$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,void 0]):void 0}),K$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)})?$`):void 0}),$._zod.parse=(U,W)=>{if(_.innerType._zod.optin==="optional"){let J=U.value,X=_.innerType._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>rH(G,J));return rH(X,J)}if(U.value===void 0)return U;return _.innerType._zod.run(U,W)}}),Aj=F("$ZodExactOptional",($,_)=>{z9.init($,_),K$($._zod,"values",()=>_.innerType._zod.values),K$($._zod,"pattern",()=>_.innerType._zod.pattern),$._zod.parse=(U,W)=>{return _.innerType._zod.run(U,W)}}),Ej=F("$ZodNullable",($,_)=>{D$.init($,_),K$($._zod,"optin",()=>_.innerType._zod.optin),K$($._zod,"optout",()=>_.innerType._zod.optout),K$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)}|null)$`):void 0}),K$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,null]):void 0}),$._zod.parse=(U,W)=>{if(U.value===null)return U;return _.innerType._zod.run(U,W)}}),Fj=F("$ZodDefault",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)return U.value=_.defaultValue,U;let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>pH(X,_));return pH(J,_)}});Kj=F("$ZodPrefault",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)U.value=_.defaultValue;return _.innerType._zod.run(U,W)}}),bj=F("$ZodNonOptional",($,_)=>{D$.init($,_),K$($._zod,"values",()=>{let U=_.innerType._zod.values;return U?new Set([...U].filter((W)=>W!==void 0)):void 0}),$._zod.parse=(U,W)=>{let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>oH(X,$));return oH(J,$)}});Mj=F("$ZodSuccess",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0("ZodSuccess");let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{return U.value=X.issues.length===0,U});return U.value=J.issues.length===0,U}}),Ij=F("$ZodCatch",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"optout",()=>_.innerType._zod.optout),K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{if(U.value=X.value,X.issues.length)U.value=_.catchValue({...U,error:{issues:X.issues.map((G)=>b_(G,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U});if(U.value=J.value,J.issues.length)U.value=_.catchValue({...U,error:{issues:J.issues.map((X)=>b_(X,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),gj=F("$ZodNaN",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(typeof U.value!=="number"||!Number.isNaN(U.value))return U.issues.push({input:U.value,inst:$,expected:"nan",code:"invalid_type"}),U;return U}}),q9=F("$ZodPipe",($,_)=>{D$.init($,_),K$($._zod,"values",()=>_.in._zod.values),K$($._zod,"optin",()=>_.in._zod.optin),K$($._zod,"optout",()=>_.out._zod.optout),K$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if(W.direction==="backward"){let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>W9(G,_.in,W));return W9(X,_.in,W)}let J=_.in._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>W9(X,_.out,W));return W9(J,_.out,W)}});VJ=F("$ZodCodec",($,_)=>{D$.init($,_),K$($._zod,"values",()=>_.in._zod.values),K$($._zod,"optin",()=>_.in._zod.optin),K$($._zod,"optout",()=>_.out._zod.optout),K$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if((W.direction||"forward")==="forward"){let X=_.in._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>X9(G,_,W));return X9(X,_,W)}else{let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>X9(G,_,W));return X9(X,_,W)}}});wj=F("$ZodPreprocess",($,_)=>{q9.init($,_)}),kj=F("$ZodReadonly",($,_)=>{D$.init($,_),K$($._zod,"propValues",()=>_.innerType._zod.propValues),K$($._zod,"values",()=>_.innerType._zod.values),K$($._zod,"optin",()=>_.innerType?._zod?.optin),K$($._zod,"optout",()=>_.innerType?._zod?.optout),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then(tH);return tH(J)}});Pj=F("$ZodTemplateLiteral",($,_)=>{D$.init($,_);let U=[];for(let W of _.parts)if(typeof W==="object"&&W!==null){if(!W._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...W._zod.traits].shift()}`);let J=W._zod.pattern instanceof RegExp?W._zod.pattern.source:W._zod.pattern;if(!J)throw Error(`Invalid template literal part: ${W._zod.traits}`);let X=J.startsWith("^")?1:0,G=J.endsWith("$")?J.length-1:J.length;U.push(J.slice(X,G))}else if(W===null||EQ.has(typeof W))U.push(t_(`${W}`));else throw Error(`Invalid template literal part: ${W}`);$._zod.pattern=new RegExp(`^${U.join("")}$`),$._zod.parse=(W,J)=>{if(typeof W.value!=="string")return W.issues.push({input:W.value,inst:$,expected:"string",code:"invalid_type"}),W;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(W.value))return W.issues.push({input:W.value,inst:$,code:"invalid_format",format:_.format??"template_literal",pattern:$._zod.pattern.source}),W;return W}}),fj=F("$ZodFunction",($,_)=>{return D$.init($,_),$._def=_,$._zod.def=_,$.implement=(U)=>{if(typeof U!=="function")throw Error("implement() must be called with a function");return function(...W){let J=$._def.input?dX($._def.input,W):W,X=Reflect.apply(U,this,J);if($._def.output)return dX($._def.output,X);return X}},$.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...W){let J=$._def.input?await cX($._def.input,W):W,X=await Reflect.apply(U,this,J);if($._def.output)return await cX($._def.output,X);return X}},$._zod.parse=(U,W)=>{if(typeof U.value!=="function")return U.issues.push({code:"invalid_type",expected:"function",input:U.value,inst:$}),U;if($._def.output&&$._def.output._zod.def.type==="promise")U.value=$.implementAsync(U.value);else U.value=$.implement(U.value);return U},$.input=(...U)=>{let W=$.constructor;if(Array.isArray(U[0]))return new W({type:"function",input:new D9({type:"tuple",items:U[0],rest:U[1]}),output:$._def.output});return new W({type:"function",input:U[0],output:$._def.output})},$.output=(U)=>{return new $.constructor({type:"function",input:$._def.input,output:U})},$}),Cj=F("$ZodPromise",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return Promise.resolve(U.value).then((J)=>_.innerType._zod.run({value:J,issues:[]},W))}}),Tj=F("$ZodLazy",($,_)=>{D$.init($,_),K$($._zod,"innerType",()=>{let U=_;if(!U._cachedInner)U._cachedInner=_.getter();return U._cachedInner}),K$($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),K$($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),K$($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),K$($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(U,W)=>{return $._zod.innerType._zod.run(U,W)}}),Sj=F("$ZodCustom",($,_)=>{c$.init($,_),D$.init($,_),$._zod.parse=(U,W)=>{return U},$._zod.check=(U)=>{let W=U.value,J=_.fn(W);if(J instanceof Promise)return J.then((X)=>aH(X,U,W,$));aH(J,U,W,$);return}})});function vj(){return{localeError:JS()}}var JS=()=>{let $={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`;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 ${X}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"}`;return`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()} ${G.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${J.prefix}"`;if(X.format==="ends_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${X.suffix}"`;if(X.format==="includes")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`${U[X.format]??J.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${J.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${J.keys.length>1?"\u0629":""}: ${b(J.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var J3=y(()=>{p()});function yj(){return{localeError:WS()}}var WS=()=>{let $={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${J.expected}, daxil olan ${Q}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${X}, daxil olan ${Q}`}case"invalid_value":if(J.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${g(J.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${X.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(X.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${X.suffix}" il\u0259 bitm\u0259lidir`;if(X.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${X.includes}" daxil olmal\u0131d\u0131r`;if(X.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${X.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[X.format]??J.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${J.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${J.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var W3=y(()=>{p()});function X3($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function hj(){return{localeError:XS()}}var XS=()=>{let $={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},W={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${J.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${X}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=X3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=X3(Q,G.unit.one,G.unit.few,G.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.minimum.toString()} ${Y}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${J.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${J.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var G3=y(()=>{p()});function xj(){return{localeError:GS()}}var GS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;let G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(X.format==="emoji")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="datetime")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="date")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(X.format==="time")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="duration")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${G} ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${J.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u043E\u0432\u0435":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var Q3=y(()=>{p()});function mj(){return{localeError:QS()}}var QS=()=>{let $={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${J.expected}, s'ha rebut ${Q}`;return`Tipus inv\xE0lid: s'esperava ${X}, s'ha rebut ${Q}`}case"invalid_value":if(J.values.length===1)return`Valor inv\xE0lid: s'esperava ${g(J.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${b(J.values," o ")}`;case"too_big":{let X=J.inclusive?"com a m\xE0xim":"menys de",G=_(J.origin);if(G)return`Massa gran: s'esperava que ${J.origin??"el valor"} contingu\xE9s ${X} ${J.maximum.toString()} ${G.unit??"elements"}`;return`Massa gran: s'esperava que ${J.origin??"el valor"} fos ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"com a m\xEDnim":"m\xE9s de",G=_(J.origin);if(G)return`Massa petit: s'esperava que ${J.origin} contingu\xE9s ${X} ${J.minimum.toString()} ${G.unit}`;return`Massa petit: s'esperava que ${J.origin} fos ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${X.prefix}"`;if(X.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${X.suffix}"`;if(X.format==="includes")return`Format inv\xE0lid: ha d'incloure "${X.includes}"`;if(X.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${X.pattern}`;return`Format inv\xE0lid per a ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${J.divisor}`;case"unrecognized_keys":return`Clau${J.keys.length>1?"s":""} no reconeguda${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${J.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${J.origin}`;default:return"Entrada inv\xE0lida"}}};var Y3=y(()=>{p()});function uj(){return{localeError:YS()}}var YS=()=>{let $={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function _(J){return $[J]??null}let U={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},W={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${J.expected}, obdr\u017Eeno ${Q}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${X}, obdr\u017Eeno ${Q}`}case"invalid_value":if(J.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${g(J.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.maximum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.minimum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${X.prefix}"`;if(X.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${X.suffix}"`;if(X.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${X.includes}"`;if(X.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${X.pattern}`;return`Neplatn\xFD form\xE1t ${U[X.format]??J.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${J.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${b(J.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${J.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${J.origin}`;default:return"Neplatn\xFD vstup"}}};var j3=y(()=>{p()});function dj(){return{localeError:jS()}}var jS=()=>{let $={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldigt input: forventede instanceof ${J.expected}, fik ${Q}`;return`Ugyldigt input: forventede ${X}, fik ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig v\xE6rdi: forventede ${g(J.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For stor: forventede ${Q??"value"} ${G.verb} ${X} ${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor: forventede ${Q??"value"} havde ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For lille: forventede ${Q} ${G.verb} ${X} ${J.minimum.toString()} ${G.unit}`;return`For lille: forventede ${Q} havde ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: skal starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: skal ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: skal indeholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${J.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${J.origin}`;default:return"Ugyldigt input"}}};var D3=y(()=>{p()});function cj(){return{localeError:DS()}}var DS=()=>{let $={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function _(J){return $[J]??null}let U={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},W={nan:"NaN",number:"Zahl",array:"Array"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${J.expected}, erhalten ${Q}`;return`Ung\xFCltige Eingabe: erwartet ${X}, erhalten ${Q}`}case"invalid_value":if(J.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${g(J.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ${G.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ist`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ${G.unit} hat`;return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ist`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ung\xFCltiger String: muss mit "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ung\xFCltiger String: muss mit "${X.suffix}" enden`;if(X.format==="includes")return`Ung\xFCltiger String: muss "${X.includes}" enthalten`;if(X.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${X.pattern} entsprechen`;return`Ung\xFCltig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${J.divisor} sein`;case"unrecognized_keys":return`${J.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${J.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${J.origin}`;default:return"Ung\xFCltige Eingabe"}}};var z3=y(()=>{p()});function nj(){return{localeError:zS()}}var zS=()=>{let $={string:{unit:"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},file:{unit:"bytes",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},array:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},set:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},map:{unit:"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"}};function _(J){return $[J]??null}let U={regex:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",email:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",date:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",time:"ISO \u03CE\u03C1\u03B1",duration:"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",ipv4:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",ipv6:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",mac:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",cidrv4:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",cidrv6:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",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",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",json_string:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",e164:"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",jwt:"JWT",template_literal:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(typeof J.expected==="string"&&/^[A-Z]/.test(J.expected))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 ${J.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`;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 ${X}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.maximum.toString()} ${G.unit??"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.minimum.toString()} ${G.unit}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${J.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${J.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${J.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${J.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var q3=y(()=>{p()});function RJ(){return{localeError:qS()}}var qS=()=>{let $={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Invalid input: expected ${X}, received ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${g(J.values[0])}`;return`Invalid option: expected one of ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Too big: expected ${J.origin??"value"} to have ${X}${J.maximum.toString()} ${G.unit??"elements"}`;return`Too big: expected ${J.origin??"value"} to be ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Too small: expected ${J.origin} to have ${X}${J.minimum.toString()} ${G.unit}`;return`Too small: expected ${J.origin} to be ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Invalid string: must start with "${X.prefix}"`;if(X.format==="ends_with")return`Invalid string: must end with "${X.suffix}"`;if(X.format==="includes")return`Invalid string: must include "${X.includes}"`;if(X.format==="regex")return`Invalid string: must match pattern ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${J.divisor}`;case"unrecognized_keys":return`Unrecognized key${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Invalid key in ${J.origin}`;case"invalid_union":if(J.options&&Array.isArray(J.options)&&J.options.length>0)return`Invalid discriminator value. Expected ${J.options.map((G)=>`'${G}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${J.origin}`;default:return"Invalid input"}}};var lj=y(()=>{p()});function ij(){return{localeError:OS()}}var OS=()=>{let $={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function _(J){return $[J]??null}let U={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},W={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${J.expected}, ricevi\u011Dis ${Q}`;return`Nevalida enigo: atendi\u011Dis ${X}, ricevi\u011Dis ${Q}`}case"invalid_value":if(J.values.length===1)return`Nevalida enigo: atendi\u011Dis ${g(J.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()} ${G.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Tro malgranda: atendi\u011Dis ke ${J.origin} havu ${X}${J.minimum.toString()} ${G.unit}`;return`Tro malgranda: atendi\u011Dis ke ${J.origin} estu ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${X.prefix}"`;if(X.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${X.suffix}"`;if(X.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${X.includes}"`;if(X.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${X.pattern}`;return`Nevalida ${U[X.format]??J.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${J.divisor}`;case"unrecognized_keys":return`Nekonata${J.keys.length>1?"j":""} \u015Dlosilo${J.keys.length>1?"j":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${J.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${J.origin}`;default:return"Nevalida enigo"}}};var O3=y(()=>{p()});function rj(){return{localeError:LS()}}var LS=()=>{let $={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${J.expected}, recibido ${Q}`;return`Entrada inv\xE1lida: se esperaba ${X}, recibido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: se esperaba ${g(J.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado grande: se esperaba que ${Q??"valor"} tuviera ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${Q??"valor"} fuera ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado peque\xF1o: se esperaba que ${Q} tuviera ${X}${J.minimum.toString()} ${G.unit}`;return`Demasiado peque\xF1o: se esperaba que ${Q} fuera ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${X.prefix}"`;if(X.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${X.suffix}"`;if(X.format==="includes")return`Cadena inv\xE1lida: debe incluir "${X.includes}"`;if(X.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${X.pattern}`;return`Inv\xE1lido ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Llave${J.keys.length>1?"s":""} desconocida${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${W[J.origin]??J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${W[J.origin]??J.origin}`;default:return"Entrada inv\xE1lida"}}};var L3=y(()=>{p()});function pj(){return{localeError:NS()}}var NS=()=>{let $={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${J.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${X} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(J.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${g(J.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;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 ${b(J.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(X.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(X.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${X.includes}" \u0628\u0627\u0634\u062F`;if(X.format==="regex")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${X.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[X.format]??J.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${J.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${J.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${b(J.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${J.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${J.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var N3=y(()=>{p()});function oj(){return{localeError:BS()}}var BS=()=>{let $={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function _(J){return $[J]??null}let U={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Virheellinen tyyppi: odotettiin instanceof ${J.expected}, oli ${Q}`;return`Virheellinen tyyppi: odotettiin ${X}, oli ${Q}`}case"invalid_value":if(J.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${g(J.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Liian suuri: ${G.subject} t\xE4ytyy olla ${X}${J.maximum.toString()} ${G.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Liian pieni: ${G.subject} t\xE4ytyy olla ${X}${J.minimum.toString()} ${G.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${X.prefix}"`;if(X.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${X.suffix}"`;if(X.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${X.includes}"`;if(X.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${X.pattern}`;return`Virheellinen ${U[X.format]??J.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${J.divisor} monikerta`;case"unrecognized_keys":return`${J.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${b(J.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var B3=y(()=>{p()});function tj(){return{localeError:HS()}}var HS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={string:"cha\xEEne",number:"nombre",int:"entier",boolean:"bool\xE9en",bigint:"grand entier",symbol:"symbole",undefined:"ind\xE9fini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : instanceof ${J.expected} attendu, ${Q} re\xE7u`;return`Entr\xE9e invalide : ${X} attendu, ${Q} re\xE7u`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : ${g(J.values[0])} attendu`;return`Option invalide : une valeur parmi ${b(J.values,"|")} attendue`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Trop grand : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Trop petit : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${b(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var H3=y(()=>{p()});function aj(){return{localeError:VS()}}var VS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : attendu instanceof ${J.expected}, re\xE7u ${Q}`;return`Entr\xE9e invalide : attendu ${X}, re\xE7u ${Q}`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : attendu ${g(J.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u2264":"<",G=_(J.origin);if(G)return`Trop grand : attendu que ${J.origin??"la valeur"} ait ${X}${J.maximum.toString()} ${G.unit}`;return`Trop grand : attendu que ${J.origin??"la valeur"} soit ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u2265":">",G=_(J.origin);if(G)return`Trop petit : attendu que ${J.origin} ait ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : attendu que ${J.origin} soit ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${b(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var V3=y(()=>{p()});function sj(){return{localeError:RS()}}var RS=()=>{let $={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},_={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(j)=>j?$[j]:void 0,W=(j)=>{let O=U(j);if(O)return O.label;return j??$.unknown.label},J=(j)=>`\u05D4${W(j)}`,X=(j)=>{return(U(j)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},G=(j)=>{if(!j)return null;return _[j]??null},Q={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},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"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},Y={nan:"NaN"};return(j)=>{switch(j.code){case"invalid_type":{let O=j.expected,B=Y[O??""]??W(O),V=w(j.input),L=Y[V]??$[V]?.label??V;if(/^[A-Z]/.test(j.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${j.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${B}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`}case"invalid_value":{if(j.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${g(j.values[0])}`;let O=j.values.map((L)=>g(L));if(j.values.length===2)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 ${O[0]} \u05D0\u05D5 ${O[1]}`;let B=O[O.length-1];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 ${O.slice(0,-1).join(", ")} \u05D0\u05D5 ${B}`}case"too_big":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.maximum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${j.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",H=j.inclusive?`${j.maximum} ${O?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${j.maximum} ${O?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?"<=":"<",L=X(j.origin??"value");if(O?.unit)return`${O.longLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()} ${O.unit}`;return`${O?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()}`}case"too_small":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.minimum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${j.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(j.minimum===1&&j.inclusive){let R=j.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";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${R}`}let H=j.inclusive?`${j.minimum} ${O?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${j.minimum} ${O?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?">=":">",L=X(j.origin??"value");if(O?.unit)return`${O.shortLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()} ${O.unit}`;return`${O?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()}`}case"invalid_format":{let O=j;if(O.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${O.prefix}"`;if(O.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${O.suffix}"`;if(O.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${O.includes}"`;if(O.format==="regex")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 ${O.pattern}`;let B=Q[O.format],V=B?.label??O.format,N=(B?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${V} \u05DC\u05D0 ${N}`}case"not_multiple_of":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 ${j.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${j.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${j.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${b(j.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${J(j.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var R3=y(()=>{p()});function ej(){return{localeError:AS()}}var AS=()=>{let $={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function _(J){return $[J]??null}let U={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},W={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${J.expected}, a primljeno je ${Q}`;return`Neispravan unos: o\u010Dekuje se ${X}, a primljeno je ${Q}`}case"invalid_value":if(J.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${g(J.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} ima ${X}${J.maximum.toString()} ${G.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} bude ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Premalo: o\u010Dekivano da ${Q} ima ${X}${J.minimum.toString()} ${G.unit}`;return`Premalo: o\u010Dekivano da ${Q} bude ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${X.prefix}"`;if(X.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${X.suffix}"`;if(X.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${X.includes}"`;if(X.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${X.pattern}`;return`Neispravna ${U[X.format]??J.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${J.divisor}`;case"unrecognized_keys":return`Neprepoznat${J.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${b(J.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${W[J.origin]??J.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${W[J.origin]??J.origin}`;default:return"Neispravan unos"}}};var A3=y(()=>{p()});function $7(){return{localeError:ES()}}var ES=()=>{let $={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function _(J){return $[J]??null}let U={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},W={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${J.expected}, a kapott \xE9rt\xE9k ${Q}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${X}, a kapott \xE9rt\xE9k ${Q}`}case"invalid_value":if(J.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${g(J.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xFAl nagy: ${J.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${X}${J.maximum.toString()} ${G.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${J.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} m\xE9rete t\xFAl kicsi ${X}${J.minimum.toString()} ${G.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} t\xFAl kicsi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xC9rv\xE9nytelen string: "${X.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(X.format==="ends_with")return`\xC9rv\xE9nytelen string: "${X.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(X.format==="includes")return`\xC9rv\xE9nytelen string: "${X.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(X.format==="regex")return`\xC9rv\xE9nytelen string: ${X.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[X.format]??J.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${J.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${J.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${J.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var E3=y(()=>{p()});function F3($,_,U){return Math.abs($)===1?_:U}function v2($){if(!$)return"";let _=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=$[$.length-1];return $+(_.includes(U)?"\u0576":"\u0568")}function _7(){return{localeError:FS()}}var FS=()=>{let $={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function _(J){return $[J]??null}let U={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},W={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`;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 ${X}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[1])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=F3(Q,G.unit.one,G.unit.many);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 ${v2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.maximum.toString()} ${Y}`}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 ${v2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=F3(Q,G.unit.one,G.unit.many);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 ${v2(J.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.minimum.toString()} ${Y}`}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 ${v2(J.origin)} \u056C\u056B\u0576\u056B ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${X.prefix}"-\u0578\u057E`;if(X.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${X.suffix}"-\u0578\u057E`;if(X.format==="includes")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${X.includes}"`;if(X.format==="regex")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 ${X.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${J.keys.length>1?"\u0576\u0565\u0580":""}. ${b(J.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${v2(J.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${v2(J.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var K3=y(()=>{p()});function U7(){return{localeError:KS()}}var KS=()=>{let $={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak valid: diharapkan instanceof ${J.expected}, diterima ${Q}`;return`Input tidak valid: diharapkan ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak valid: diharapkan ${g(J.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: diharapkan ${J.origin??"value"} memiliki ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: diharapkan ${J.origin??"value"} menjadi ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: diharapkan ${J.origin} memiliki ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: diharapkan ${J.origin} menjadi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak valid: harus dimulai dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak valid: harus berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak valid: harus menyertakan "${X.includes}"`;if(X.format==="regex")return`String tidak valid: harus sesuai pola ${X.pattern}`;return`${U[X.format]??J.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${J.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${J.origin}`;default:return"Input tidak valid"}}};var b3=y(()=>{p()});function J7(){return{localeError:bS()}}var bS=()=>{let $={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function _(J){return $[J]??null}let U={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},W={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera instanceof ${J.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera ${X}`}case"invalid_value":if(J.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${g(J.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} hafi ${X}${J.maximum.toString()} ${G.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} s\xE9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} hafi ${X}${J.minimum.toString()} ${G.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} s\xE9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${X.prefix}"`;if(X.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${X.suffix}"`;if(X.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${X.includes}"`;if(X.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${X.pattern}`;return`Rangt ${U[X.format]??J.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${J.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${J.keys.length>1?"ir lyklar":"ur lykill"}: ${b(J.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${J.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${J.origin}`;default:return"Rangt gildi"}}};var M3=y(()=>{p()});function W7(){return{localeError:MS()}}var MS=()=>{let $={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function _(J){return $[J]??null}let U={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"numero",array:"vettore"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input non valido: atteso instanceof ${J.expected}, ricevuto ${Q}`;return`Input non valido: atteso ${X}, ricevuto ${Q}`}case"invalid_value":if(J.values.length===1)return`Input non valido: atteso ${g(J.values[0])}`;return`Opzione non valida: atteso uno tra ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Troppo grande: ${J.origin??"valore"} deve avere ${X}${J.maximum.toString()} ${G.unit??"elementi"}`;return`Troppo grande: ${J.origin??"valore"} deve essere ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Troppo piccolo: ${J.origin} deve avere ${X}${J.minimum.toString()} ${G.unit}`;return`Troppo piccolo: ${J.origin} deve essere ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Stringa non valida: deve iniziare con "${X.prefix}"`;if(X.format==="ends_with")return`Stringa non valida: deve terminare con "${X.suffix}"`;if(X.format==="includes")return`Stringa non valida: deve includere "${X.includes}"`;if(X.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${X.pattern}`;return`Input non valido: ${U[X.format]??J.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${J.divisor}`;case"unrecognized_keys":return`Chiav${J.keys.length>1?"i":"e"} non riconosciut${J.keys.length>1?"e":"a"}: ${b(J.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${J.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${J.origin}`;default:return"Input non valido"}}};var I3=y(()=>{p()});function X7(){return{localeError:IS()}}var IS=()=>{let $={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function _(J){return $[J]??null}let U={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},W={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${J.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${X}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(J.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${g(J.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${b(J.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let X=J.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",G=_(J.origin);if(G)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${G.unit??"\u8981\u7D20"}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let X=J.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",G=_(J.origin);if(G)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${G.unit}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${X.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${J.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${J.keys.length>1?"\u7FA4":""}: ${b(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var g3=y(()=>{p()});function G7(){return{localeError:gS()}}var gS=()=>{let $={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function _(J){return $[J]??null}let U={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",json_string:"JSON \u10D5\u10D4\u10DA\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},W={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10D5\u10D4\u10DA\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`;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 ${X}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;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 ${J.origin} \u10D8\u10E7\u10DD\u10E1 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"-\u10D8\u10D7`;if(X.format==="ends_with")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 "${X.suffix}"-\u10D8\u10D7`;if(X.format==="includes")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 "${X.includes}"-\u10E1`;if(X.format==="regex")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 ${X.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${J.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${J.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${J.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${J.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var w3=y(()=>{p()});function AJ(){return{localeError:wS()}}var wS=()=>{let $={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function _(J){return $[J]??null}let U={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},W={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`;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 ${X} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()} ${G.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()} ${G.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${b(J.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${J.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":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 ${J.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var Q7=y(()=>{p()});function Y7(){return AJ()}var k3=y(()=>{Q7()});function j7(){return{localeError:kS()}}var kS=()=>{let $={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${J.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${X}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`}case"invalid_value":if(J.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${g(J.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${b(J.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let X=J.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",G=X==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()} ${X}${G}`}case"too_small":{let X=J.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",G=X==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()} ${X}${G}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${X.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[X.format]??J.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${J.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${b(J.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${J.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${J.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var P3=y(()=>{p()});function f3($){let _=Math.abs($),U=_%10,W=_%100;if(W>=11&&W<=19||U===0)return"many";if(U===1)return"one";return"few"}function D7(){return{localeError:PS()}}var EJ=($)=>{return $.charAt(0).toUpperCase()+$.slice(1)},PS=()=>{let $={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function _(J,X,G,Q){let Y=$[J]??null;if(Y===null)return Y;return{unit:Y.unit[X],verb:Y.verb[Q][G?"inclusive":"notInclusive"]}}let U={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},W={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Gautas tipas ${Q}, o tik\u0117tasi - instanceof ${J.expected}`;return`Gautas tipas ${Q}, o tik\u0117tasi - ${X}`}case"invalid_value":if(J.values.length===1)return`Privalo b\u016Bti ${g(J.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${b(J.values,"|")} pasirinkim\u0173`;case"too_big":{let X=W[J.origin]??J.origin,G=_(J.origin,f3(Number(J.maximum)),J.inclusive??!1,"smaller");if(G?.verb)return`${EJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.maximum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${EJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.maximum.toString()} ${G?.unit}`}case"too_small":{let X=W[J.origin]??J.origin,G=_(J.origin,f3(Number(J.minimum)),J.inclusive??!1,"bigger");if(G?.verb)return`${EJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.minimum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${EJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.minimum.toString()} ${G?.unit}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${X.prefix}"`;if(X.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${X.suffix}"`;if(X.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${X.includes}"`;if(X.format==="regex")return`Eilut\u0117 privalo atitikti ${X.pattern}`;return`Neteisingas ${U[X.format]??J.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${J.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${J.keys.length>1?"i":"as"} rakt${J.keys.length>1?"ai":"as"}: ${b(J.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let X=W[J.origin]??J.origin;return`${EJ(X??J.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var C3=y(()=>{p()});function z7(){return{localeError:fS()}}var fS=()=>{let $={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function _(J){return $[J]??null}let U={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},W={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${J.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${X}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`${J.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"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${J.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${J.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var T3=y(()=>{p()});function q7(){return{localeError:CS()}}var CS=()=>{let $={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"nombor"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak sah: dijangka instanceof ${J.expected}, diterima ${Q}`;return`Input tidak sah: dijangka ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak sah: dijangka ${g(J.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: dijangka ${J.origin??"nilai"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: dijangka ${J.origin??"nilai"} adalah ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: dijangka ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: dijangka ${J.origin} adalah ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak sah: mesti bermula dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak sah: mesti mengandungi "${X.includes}"`;if(X.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${X.pattern}`;return`${U[X.format]??J.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${b(J.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${J.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${J.origin}`;default:return"Input tidak sah"}}};var S3=y(()=>{p()});function O7(){return{localeError:TS()}}var TS=()=>{let $={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function _(J){return $[J]??null}let U={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},W={nan:"NaN",number:"getal"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ongeldige invoer: verwacht instanceof ${J.expected}, ontving ${Q}`;return`Ongeldige invoer: verwacht ${X}, ontving ${Q}`}case"invalid_value":if(J.values.length===1)return`Ongeldige invoer: verwacht ${g(J.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=J.origin==="date"?"laat":J.origin==="string"?"lang":"groot";if(G)return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} ${G.unit??"elementen"} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} is`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=J.origin==="date"?"vroeg":J.origin==="string"?"kort":"klein";if(G)return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} is`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ongeldige tekst: moet met "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ongeldige tekst: moet op "${X.suffix}" eindigen`;if(X.format==="includes")return`Ongeldige tekst: moet "${X.includes}" bevatten`;if(X.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${X.pattern}`;return`Ongeldig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${J.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${J.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${J.origin}`;default:return"Ongeldige invoer"}}};var Z3=y(()=>{p()});function L7(){return{localeError:SS()}}var SS=()=>{let $={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"tall",array:"liste"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldig input: forventet instanceof ${J.expected}, fikk ${Q}`;return`Ugyldig input: forventet ${X}, fikk ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig verdi: forventet ${g(J.values[0])}`;return`Ugyldig valg: forventet en av ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()} ${G.unit}`;return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${J.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${J.origin}`;default:return"Ugyldig input"}}};var v3=y(()=>{p()});function N7(){return{localeError:ZS()}}var ZS=()=>{let $={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},W={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`F\xE2sit giren: umulan instanceof ${J.expected}, al\u0131nan ${Q}`;return`F\xE2sit giren: umulan ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`F\xE2sit giren: umulan ${g(J.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} ${G.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} ${G.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`F\xE2sit metin: "${X.prefix}" ile ba\u015Flamal\u0131.`;if(X.format==="ends_with")return`F\xE2sit metin: "${X.suffix}" ile bitmeli.`;if(X.format==="includes")return`F\xE2sit metin: "${X.includes}" ihtiv\xE2 etmeli.`;if(X.format==="regex")return`F\xE2sit metin: ${X.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[X.format]??J.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${J.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${J.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var y3=y(()=>{p()});function B7(){return{localeError:vS()}}var vS=()=>{let $={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${J.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${X} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(J.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${g(J.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${b(J.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0648\u064A`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0648\u064A`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(X.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(X.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${X.includes}" \u0648\u0644\u0631\u064A`;if(X.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${X.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[X.format]??J.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${J.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${J.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${J.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${J.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var h3=y(()=>{p()});function H7(){return{localeError:yS()}}var yS=()=>{let $={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function _(J){return $[J]??null}let U={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},W={nan:"NaN",number:"liczba",array:"tablica"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${J.expected}, otrzymano ${Q}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${X}, otrzymano ${Q}`}case"invalid_value":if(J.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${g(J.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.maximum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.minimum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${X.prefix}"`;if(X.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${X.suffix}"`;if(X.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${X.includes}"`;if(X.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${X.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[X.format]??J.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${J.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${J.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${J.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var x3=y(()=>{p()});function V7(){return{localeError:hS()}}var hS=()=>{let $={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function _(J){return $[J]??null}let U={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipo inv\xE1lido: esperado instanceof ${J.expected}, recebido ${Q}`;return`Tipo inv\xE1lido: esperado ${X}, recebido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: esperado ${g(J.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Muito grande: esperado que ${J.origin??"valor"} tivesse ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Muito grande: esperado que ${J.origin??"valor"} fosse ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Muito pequeno: esperado que ${J.origin} tivesse ${X}${J.minimum.toString()} ${G.unit}`;return`Muito pequeno: esperado que ${J.origin} fosse ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${X.prefix}"`;if(X.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${X.suffix}"`;if(X.format==="includes")return`Texto inv\xE1lido: deve incluir "${X.includes}"`;if(X.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${X.pattern}`;return`${U[X.format]??J.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Chave${J.keys.length>1?"s":""} desconhecida${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${J.origin}`;default:return"Campo inv\xE1lido"}}};var m3=y(()=>{p()});function R7(){return{localeError:xS()}}var xS=()=>{let $={string:{unit:"caractere",verb:"s\u0103 aib\u0103"},file:{unit:"octe\u021Bi",verb:"s\u0103 aib\u0103"},array:{unit:"elemente",verb:"s\u0103 aib\u0103"},set:{unit:"elemente",verb:"s\u0103 aib\u0103"},map:{unit:"intr\u0103ri",verb:"s\u0103 aib\u0103"}};function _(J){return $[J]??null}let U={regex:"intrare",email:"adres\u0103 de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dat\u0103 \u0219i or\u0103 ISO",date:"dat\u0103 ISO",time:"or\u0103 ISO",duration:"durat\u0103 ISO",ipv4:"adres\u0103 IPv4",ipv6:"adres\u0103 IPv6",mac:"adres\u0103 MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"\u0219ir codat base64",base64url:"\u0219ir codat base64url",json_string:"\u0219ir JSON",e164:"num\u0103r E.164",jwt:"JWT",template_literal:"intrare"},W={nan:"NaN",string:"\u0219ir",number:"num\u0103r",boolean:"boolean",function:"func\u021Bie",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"num\u0103r mare",void:"void",never:"never",map:"hart\u0103",set:"set"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Intrare invalid\u0103: a\u0219teptat ${X}, primit ${Q}`}case"invalid_value":if(J.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${g(J.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} s\u0103 fie ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Prea mic: a\u0219teptat ca ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Prea mic: a\u0219teptat ca ${J.origin} s\u0103 fie ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${X.prefix}"`;if(X.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${X.suffix}"`;if(X.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${X.includes}"`;if(X.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${X.pattern}`;return`Format invalid: ${U[X.format]??J.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${J.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${b(J.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${J.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${J.origin}`;default:return"Intrare invalid\u0103"}}};var u3=y(()=>{p()});function d3($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function A7(){return{localeError:mS()}}var mS=()=>{let $={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=d3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=d3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.minimum.toString()} ${Y}`}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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${J.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0438":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var c3=y(()=>{p()});function E7(){return{localeError:uS()}}var uS=()=>{let $={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function _(J){return $[J]??null}let U={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},W={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${J.expected}, prejeto ${Q}`;return`Neveljaven vnos: pri\u010Dakovano ${X}, prejeto ${Q}`}case"invalid_value":if(J.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${g(J.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} imelo ${X}${J.maximum.toString()} ${G.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Premajhno: pri\u010Dakovano, da bo ${J.origin} imelo ${X}${J.minimum.toString()} ${G.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${X.prefix}"`;if(X.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${X.suffix}"`;if(X.format==="includes")return`Neveljaven niz: mora vsebovati "${X.includes}"`;if(X.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${X.pattern}`;return`Neveljaven ${U[X.format]??J.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${J.divisor}`;case"unrecognized_keys":return`Neprepoznan${J.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${b(J.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${J.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${J.origin}`;default:return"Neveljaven vnos"}}};var n3=y(()=>{p()});function F7(){return{localeError:dS()}}var dS=()=>{let $={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function _(J){return $[J]??null}let U={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},W={nan:"NaN",number:"antal",array:"lista"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${J.expected}, fick ${Q}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${X}, fick ${Q}`}case"invalid_value":if(J.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${g(J.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()} ${G.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${X.prefix}"`;if(X.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${X.suffix}"`;if(X.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${X.includes}"`;if(X.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${X.pattern}"`;return`Ogiltig(t) ${U[X.format]??J.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${J.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${J.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var l3=y(()=>{p()});function K7(){return{localeError:cS()}}var cS=()=>{let $={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"},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"},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"},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"}};function _(J){return $[J]??null}let U={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`;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 ${X}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} ${G.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`;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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${X}${J.minimum.toString()} ${G.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;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 ${J.origin} ${X}${J.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${X.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`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${J.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${J.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var i3=y(()=>{p()});function b7(){return{localeError:nS()}}var nS=()=>{let $={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function _(J){return $[J]??null}let U={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",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)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},W={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`;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 ${X} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()} ${G.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()} ${G.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(X.format==="regex")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 ${X.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${b(J.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;case"invalid_union":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";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var r3=y(()=>{p()});function M7(){return{localeError:lS()}}var lS=()=>{let $={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function _(J){return $[J]??null}let U={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${J.expected}, al\u0131nan ${Q}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${g(J.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()} ${G.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ge\xE7ersiz metin: "${X.prefix}" ile ba\u015Flamal\u0131`;if(X.format==="ends_with")return`Ge\xE7ersiz metin: "${X.suffix}" ile bitmeli`;if(X.format==="includes")return`Ge\xE7ersiz metin: "${X.includes}" i\xE7ermeli`;if(X.format==="regex")return`Ge\xE7ersiz metin: ${X.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[X.format]??J.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${J.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${J.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var p3=y(()=>{p()});function FJ(){return{localeError:iS()}}var iS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`;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 ${X}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} \u0431\u0443\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0456":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${J.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var I7=y(()=>{p()});function g7(){return FJ()}var o3=y(()=>{I7()});function w7(){return{localeError:rS()}}var rS=()=>{let $={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function _(J){return $[J]??null}let U={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},W={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${J.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${X} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(J.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${g(J.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${b(J.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${X}${J.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u06D2 ${X}${J.minimum.toString()} ${G.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u0627 ${X}${J.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${X.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${J.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${J.keys.length>1?"\u0632":""}: ${b(J.keys,"\u060C ")}`;case"invalid_key":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var t3=y(()=>{p()});function k7(){return{localeError:pS()}}var pS=()=>{let $={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"},map:{unit:"yozuv",verb:"bo\u2018lishi kerak"}};function _(J){return $[J]??null}let U={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},W={nan:"NaN",number:"raqam",array:"massiv"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${J.expected}, qabul qilingan ${Q}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${X}, qabul qilingan ${Q}`}case"invalid_value":if(J.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${g(J.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()} ${G.unit} ${G.verb}`;return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${X.prefix}" bilan boshlanishi kerak`;if(X.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${X.suffix}" bilan tugashi kerak`;if(X.format==="includes")return`Noto\u2018g\u2018ri satr: "${X.includes}" ni o\u2018z ichiga olishi kerak`;if(X.format==="regex")return`Noto\u2018g\u2018ri satr: ${X.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[X.format]??J.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${J.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${J.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var a3=y(()=>{p()});function P7(){return{localeError:oS()}}var oS=()=>{let $={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function _(J){return $[J]??null}let U={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},W={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${J.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${X}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${g(J.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${X.prefix}"`;if(X.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${X.suffix}"`;if(X.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${X.includes}"`;if(X.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${X.pattern}`;return`${U[X.format]??J.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${J.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${b(J.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var s3=y(()=>{p()});function f7(){return{localeError:tS()}}var tS=()=>{let $={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function _(J){return $[J]??null}let U={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},W={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${J.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${X}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${g(J.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()} ${G.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.prefix}" \u5F00\u5934`;if(X.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.suffix}" \u7ED3\u5C3E`;if(X.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${X.pattern}`;return`\u65E0\u6548${U[X.format]??J.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${J.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${J.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var e3=y(()=>{p()});function C7(){return{localeError:aS()}}var aS=()=>{let $={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function _(J){return $[J]??null}let U={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${J.expected}\uFF0C\u4F46\u6536\u5230 ${Q}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${X}\uFF0C\u4F46\u6536\u5230 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${g(J.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()} ${G.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()} ${G.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.prefix}" \u958B\u982D`;if(X.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.suffix}" \u7D50\u5C3E`;if(X.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${X.pattern}`;return`\u7121\u6548\u7684 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${J.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${J.keys.length>1?"\u5011":""}\uFF1A${b(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var $V=y(()=>{p()});function T7(){return{localeError:sS()}}var sS=()=>{let $={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function _(J){return $[J]??null}let U={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},W={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${J.expected}, \xE0m\u1ECD\u0300 a r\xED ${Q}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${X}, \xE0m\u1ECD\u0300 a r\xED ${Q}`}case"invalid_value":if(J.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${g(J.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin??"iye"} ${G.verb} ${X}${J.maximum} ${G.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.maximum}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin} ${G.verb} ${X}${J.minimum} ${G.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.minimum}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${X.prefix}"`;if(X.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${X.suffix}"`;if(X.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${X.includes}"`;if(X.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${X.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[X.format]??J.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${J.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${b(J.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var _V=y(()=>{p()});var y2={};I6(y2,{zhTW:()=>C7,zhCN:()=>f7,yo:()=>T7,vi:()=>P7,uz:()=>k7,ur:()=>w7,uk:()=>FJ,ua:()=>g7,tr:()=>M7,th:()=>b7,ta:()=>K7,sv:()=>F7,sl:()=>E7,ru:()=>A7,ro:()=>R7,pt:()=>V7,ps:()=>B7,pl:()=>H7,ota:()=>N7,no:()=>L7,nl:()=>O7,ms:()=>q7,mk:()=>z7,lt:()=>D7,ko:()=>j7,km:()=>AJ,kh:()=>Y7,ka:()=>G7,ja:()=>X7,it:()=>W7,is:()=>J7,id:()=>U7,hy:()=>_7,hu:()=>$7,hr:()=>ej,he:()=>sj,frCA:()=>aj,fr:()=>tj,fi:()=>oj,fa:()=>pj,es:()=>rj,eo:()=>ij,en:()=>RJ,el:()=>nj,de:()=>cj,da:()=>dj,cs:()=>uj,ca:()=>mj,bg:()=>xj,be:()=>hj,az:()=>yj,ar:()=>vj});var S7=y(()=>{J3();W3();G3();Q3();Y3();j3();D3();z3();q3();lj();O3();L3();N3();B3();H3();V3();R3();A3();E3();K3();b3();M3();I3();g3();w3();k3();Q7();P3();C3();T3();S3();Z3();v3();y3();h3();x3();m3();u3();c3();n3();l3();i3();r3();p3();o3();I7();t3();a3();s3();e3();$V();_V()});class Z7{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,..._){let U=_[0];if(this._map.set($,U),U&&typeof U==="object"&&"id"in U)this._idmap.set(U.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let _=this._map.get($);if(_&&typeof _==="object"&&"id"in _)this._idmap.delete(_.id);return this._map.delete($),this}get($){let _=$._zod.parent;if(_){let U={...this.get(_)??{}};delete U.id;let W={...U,...this._map.get($)};return Object.keys(W).length?W:void 0}return this._map.get($)}has($){return this._map.has($)}}function KJ(){return new Z7}var UV,O9,L9,D_;var bJ=y(()=>{O9=Symbol("ZodOutput"),L9=Symbol("ZodInput");(UV=globalThis).__zod_globalRegistry??(UV.__zod_globalRegistry=KJ());D_=globalThis.__zod_globalRegistry});function v7($,_){return new $({type:"string",...S(_)})}function y7($,_){return new $({type:"string",coerce:!0,...S(_)})}function N9($,_){return new $({type:"string",format:"email",check:"string_format",abort:!1,...S(_)})}function MJ($,_){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...S(_)})}function B9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...S(_)})}function H9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...S(_)})}function V9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...S(_)})}function R9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...S(_)})}function IJ($,_){return new $({type:"string",format:"url",check:"string_format",abort:!1,...S(_)})}function A9($,_){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...S(_)})}function E9($,_){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...S(_)})}function F9($,_){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...S(_)})}function K9($,_){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...S(_)})}function b9($,_){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...S(_)})}function M9($,_){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...S(_)})}function I9($,_){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...S(_)})}function g9($,_){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...S(_)})}function w9($,_){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...S(_)})}function h7($,_){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...S(_)})}function k9($,_){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...S(_)})}function P9($,_){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...S(_)})}function f9($,_){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...S(_)})}function C9($,_){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...S(_)})}function T9($,_){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...S(_)})}function S9($,_){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...S(_)})}function x7($,_){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...S(_)})}function m7($,_){return new $({type:"string",format:"date",check:"string_format",...S(_)})}function u7($,_){return new $({type:"string",format:"time",check:"string_format",precision:null,...S(_)})}function d7($,_){return new $({type:"string",format:"duration",check:"string_format",...S(_)})}function c7($,_){return new $({type:"number",checks:[],...S(_)})}function n7($,_){return new $({type:"number",coerce:!0,checks:[],...S(_)})}function l7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...S(_)})}function i7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...S(_)})}function r7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...S(_)})}function p7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...S(_)})}function o7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...S(_)})}function t7($,_){return new $({type:"boolean",...S(_)})}function a7($,_){return new $({type:"boolean",coerce:!0,...S(_)})}function s7($,_){return new $({type:"bigint",...S(_)})}function e7($,_){return new $({type:"bigint",coerce:!0,...S(_)})}function $D($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...S(_)})}function _D($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...S(_)})}function UD($,_){return new $({type:"symbol",...S(_)})}function JD($,_){return new $({type:"undefined",...S(_)})}function WD($,_){return new $({type:"null",...S(_)})}function XD($){return new $({type:"any"})}function GD($){return new $({type:"unknown"})}function QD($,_){return new $({type:"never",...S(_)})}function YD($,_){return new $({type:"void",...S(_)})}function jD($,_){return new $({type:"date",...S(_)})}function DD($,_){return new $({type:"date",coerce:!0,...S(_)})}function zD($,_){return new $({type:"nan",...S(_)})}function O6($,_){return new $9({check:"less_than",...S(_),value:$,inclusive:!1})}function C_($,_){return new $9({check:"less_than",...S(_),value:$,inclusive:!0})}function L6($,_){return new _9({check:"greater_than",...S(_),value:$,inclusive:!1})}function B_($,_){return new _9({check:"greater_than",...S(_),value:$,inclusive:!0})}function gJ($){return L6(0,$)}function wJ($){return O6(0,$)}function kJ($){return C_(0,$)}function PJ($){return B_(0,$)}function j4($,_){return new XY({check:"multiple_of",...S(_),value:$})}function D4($,_){return new YY({check:"max_size",...S(_),maximum:$})}function N6($,_){return new jY({check:"min_size",...S(_),minimum:$})}function n4($,_){return new DY({check:"size_equals",...S(_),size:$})}function l4($,_){return new zY({check:"max_length",...S(_),maximum:$})}function h6($,_){return new qY({check:"min_length",...S(_),minimum:$})}function i4($,_){return new OY({check:"length_equals",...S(_),length:$})}function d0($,_){return new LY({check:"string_format",format:"regex",...S(_),pattern:$})}function c0($){return new NY({check:"string_format",format:"lowercase",...S($)})}function n0($){return new BY({check:"string_format",format:"uppercase",...S($)})}function l0($,_){return new HY({check:"string_format",format:"includes",...S(_),includes:$})}function i0($,_){return new VY({check:"string_format",format:"starts_with",...S(_),prefix:$})}function r0($,_){return new RY({check:"string_format",format:"ends_with",...S(_),suffix:$})}function fJ($,_,U){return new AY({check:"property",property:$,schema:_,...S(U)})}function p0($,_){return new EY({check:"mime_type",mime:$,...S(_)})}function a_($){return new FY({check:"overwrite",tx:$})}function o0($){return a_((_)=>_.normalize($))}function t0(){return a_(($)=>$.trim())}function a0(){return a_(($)=>$.toLowerCase())}function s0(){return a_(($)=>$.toUpperCase())}function e0(){return a_(($)=>VQ($))}function qD($,_,U){return new $({type:"array",element:_,...S(U)})}function $Z($,_,U){return new $({type:"union",options:_,...S(U)})}function _Z($,_,U){return new $({type:"union",options:_,inclusive:!1,...S(U)})}function UZ($,_,U,W){return new $({type:"union",options:U,discriminator:_,...S(W)})}function JZ($,_,U){return new $({type:"intersection",left:_,right:U})}function WZ($,_,U,W){let J=U instanceof D$;return new $({type:"tuple",items:_,rest:J?U:null,...S(J?W:U)})}function XZ($,_,U,W){return new $({type:"record",keyType:_,valueType:U,...S(W)})}function GZ($,_,U,W){return new $({type:"map",keyType:_,valueType:U,...S(W)})}function QZ($,_,U){return new $({type:"set",valueType:_,...S(U)})}function YZ($,_,U){let W=Array.isArray(_)?Object.fromEntries(_.map((J)=>[J,J])):_;return new $({type:"enum",entries:W,...S(U)})}function jZ($,_,U){return new $({type:"enum",entries:_,...S(U)})}function DZ($,_,U){return new $({type:"literal",values:Array.isArray(_)?_:[_],...S(U)})}function OD($,_){return new $({type:"file",...S(_)})}function zZ($,_){return new $({type:"transform",transform:_})}function qZ($,_){return new $({type:"optional",innerType:_})}function OZ($,_){return new $({type:"nullable",innerType:_})}function LZ($,_,U){return new $({type:"default",innerType:_,get defaultValue(){return typeof U==="function"?U():AQ(U)}})}function NZ($,_,U){return new $({type:"nonoptional",innerType:_,...S(U)})}function BZ($,_){return new $({type:"success",innerType:_})}function HZ($,_,U){return new $({type:"catch",innerType:_,catchValue:typeof U==="function"?U:()=>U})}function VZ($,_,U){return new $({type:"pipe",in:_,out:U})}function RZ($,_){return new $({type:"readonly",innerType:_})}function AZ($,_,U){return new $({type:"template_literal",parts:_,...S(U)})}function EZ($,_){return new $({type:"lazy",getter:_})}function FZ($,_){return new $({type:"promise",innerType:_})}function LD($,_,U){let W=S(U);return W.abort??(W.abort=!0),new $({type:"custom",check:"custom",fn:_,...W})}function ND($,_,U){return new $({type:"custom",check:"custom",fn:_,...S(U)})}function BD($,_){let U=JV((W)=>{return W.addIssue=(J)=>{if(typeof J==="string")W.issues.push(w2(J,W.value,U._zod.def));else{let X=J;if(X.fatal)X.continue=!1;X.code??(X.code="custom"),X.input??(X.input=W.value),X.inst??(X.inst=U),X.continue??(X.continue=!U._zod.def.abort),W.issues.push(w2(X))}},$(W.value,W)},_);return U}function JV($,_){let U=new c$({check:"custom",...S(_)});return U._zod.check=$,U}function HD($){let _=new c$({check:"describe"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,description:$})}],_._zod.check=()=>{},_}function VD($){let _=new c$({check:"meta"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,...$})}],_._zod.check=()=>{},_}function RD($,_){let U=S(_),W=U.truthy??["true","1","yes","on","y","enabled"],J=U.falsy??["false","0","no","off","n","disabled"];if(U.case!=="sensitive")W=W.map((L)=>typeof L==="string"?L.toLowerCase():L),J=J.map((L)=>typeof L==="string"?L.toLowerCase():L);let X=new Set(W),G=new Set(J),Q=$.Codec??VJ,Y=$.Boolean??BJ,O=new($.String??u0)({type:"string",error:U.error}),B=new Y({type:"boolean",error:U.error}),V=new Q({type:"pipe",in:O,out:B,transform:(L,N)=>{let H=L;if(U.case!=="sensitive")H=H.toLowerCase();if(X.has(H))return!0;else if(G.has(H))return!1;else return N.issues.push({code:"invalid_value",expected:"stringbool",values:[...X,...G],input:N.value,inst:V,continue:!1}),{}},reverseTransform:(L,N)=>{if(L===!0)return W[0]||"true";else return J[0]||"false"},error:U.error});return V}function h2($,_,U,W={}){let J=S(W),X={...S(W),check:"string_format",type:"string",format:_,fn:typeof U==="function"?U:(Q)=>U.test(Q),...J};if(U instanceof RegExp)X.pattern=U;return new $(X)}var Z9;var WV=y(()=>{U9();bJ();Zj();p();Z9={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function r4($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";return{processors:$.processors??{},metadataRegistry:$?.metadata??D_,target:_,unrepresentable:$?.unrepresentable??"throw",override:$?.override??(()=>{}),io:$?.io??"output",counter:0,seen:new Map,cycles:$?.cycles??"ref",reused:$?.reused??"inline",external:$?.external??void 0}}function T$($,_,U={path:[],schemaPath:[]}){var W;let J=$._zod.def,X=_.seen.get($);if(X){if(X.count++,U.schemaPath.includes($))X.cycle=U.path;return X.schema}let G={schema:{},count:1,cycle:void 0,path:U.path};_.seen.set($,G);let Q=$._zod.toJSONSchema?.();if(Q)G.schema=Q;else{let O={...U,schemaPath:[...U.schemaPath,$],path:U.path};if($._zod.processJSONSchema)$._zod.processJSONSchema(_,G.schema,O);else{let V=G.schema,L=_.processors[J.type];if(!L)throw Error(`[toJSONSchema]: Non-representable type encountered: ${J.type}`);L($,_,V,O)}let B=$._zod.parent;if(B){if(!G.ref)G.ref=B;T$(B,_,O),_.seen.get(B).isParent=!0}}let Y=_.metadataRegistry.get($);if(Y)Object.assign(G.schema,Y);if(_.io==="input"&&M_($))delete G.schema.examples,delete G.schema.default;if(_.io==="input"&&"_prefault"in G.schema)(W=G.schema).default??(W.default=G.schema._prefault);return delete G.schema._prefault,_.seen.get($).schema}function p4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=new Map;for(let G of $.seen.entries()){let Q=$.metadataRegistry.get(G[0])?.id;if(Q){let Y=W.get(Q);if(Y&&Y!==G[0])throw Error(`Duplicate schema id "${Q}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);W.set(Q,G[0])}}let J=(G)=>{let Q=$.target==="draft-2020-12"?"$defs":"definitions";if($.external){let B=$.external.registry.get(G[0])?.id,V=$.external.uri??((N)=>N);if(B)return{ref:V(B)};let L=G[1].defId??G[1].schema.id??`schema${$.counter++}`;return G[1].defId=L,{defId:L,ref:`${V("__shared")}#/${Q}/${L}`}}if(G[1]===U)return{ref:"#"};let j=`${"#"}/${Q}/`,O=G[1].schema.id??`__schema${$.counter++}`;return{defId:O,ref:j+O}},X=(G)=>{if(G[1].schema.$ref)return;let Q=G[1],{ref:Y,defId:j}=J(G);if(Q.def={...Q.schema},j)Q.defId=j;let O=Q.schema;for(let B in O)delete O[B];O.$ref=Y};if($.cycles==="throw")for(let G of $.seen.entries()){let Q=G[1];if(Q.cycle)throw Error(`Cycle detected: #/${Q.cycle?.join("/")}/<root> -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let G of $.seen.entries()){let Q=G[1];if(_===G[0]){X(G);continue}if($.external){let j=$.external.registry.get(G[0])?.id;if(_!==G[0]&&j){X(G);continue}}if($.metadataRegistry.get(G[0])?.id){X(G);continue}if(Q.cycle){X(G);continue}if(Q.count>1){if($.reused==="ref"){X(G);continue}}}}function o4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=(Q)=>{let Y=$.seen.get(Q);if(Y.ref===null)return;let j=Y.def??Y.schema,O={...j},B=Y.ref;if(Y.ref=null,B){W(B);let L=$.seen.get(B),N=L.schema;if(N.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))j.allOf=j.allOf??[],j.allOf.push(N);else Object.assign(j,N);if(Object.assign(j,O),Q._zod.parent===B)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(!(R in O))delete j[R]}if(N.$ref&&L.def)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(R in L.def&&JSON.stringify(j[R])===JSON.stringify(L.def[R]))delete j[R]}}let V=Q._zod.parent;if(V&&V!==B){W(V);let L=$.seen.get(V);if(L?.schema.$ref){if(j.$ref=L.schema.$ref,L.def)for(let N in j){if(N==="$ref"||N==="allOf")continue;if(N in L.def&&JSON.stringify(j[N])===JSON.stringify(L.def[N]))delete j[N]}}}$.override({zodSchema:Q,jsonSchema:j,path:Y.path??[]})};for(let Q of[...$.seen.entries()].reverse())W(Q[0]);let J={};if($.target==="draft-2020-12")J.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")J.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")J.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let Q=$.external.registry.get(_)?.id;if(!Q)throw Error("Schema is missing an `id` property");J.$id=$.external.uri(Q)}Object.assign(J,U.def??U.schema);let X=$.metadataRegistry.get(_)?.id;if(X!==void 0&&J.id===X)delete J.id;let G=$.external?.defs??{};for(let Q of $.seen.entries()){let Y=Q[1];if(Y.def&&Y.defId){if(Y.def.id===Y.defId)delete Y.def.id;G[Y.defId]=Y.def}}if($.external);else if(Object.keys(G).length>0)if($.target==="draft-2020-12")J.$defs=G;else J.definitions=G;try{let Q=JSON.parse(JSON.stringify(J));return Object.defineProperty(Q,"~standard",{value:{..._["~standard"],jsonSchema:{input:x2(_,"input",$.processors),output:x2(_,"output",$.processors)}},enumerable:!1,writable:!1}),Q}catch(Q){throw Error("Error converting schema to JSON.")}}function M_($,_){let U=_??{seen:new Set};if(U.seen.has($))return!1;U.seen.add($);let W=$._zod.def;if(W.type==="transform")return!0;if(W.type==="array")return M_(W.element,U);if(W.type==="set")return M_(W.valueType,U);if(W.type==="lazy")return M_(W.getter(),U);if(W.type==="promise"||W.type==="optional"||W.type==="nonoptional"||W.type==="nullable"||W.type==="readonly"||W.type==="default"||W.type==="prefault")return M_(W.innerType,U);if(W.type==="intersection")return M_(W.left,U)||M_(W.right,U);if(W.type==="record"||W.type==="map")return M_(W.keyType,U)||M_(W.valueType,U);if(W.type==="pipe"){if($._zod.traits.has("$ZodCodec"))return!0;return M_(W.in,U)||M_(W.out,U)}if(W.type==="object"){for(let J in W.shape)if(M_(W.shape[J],U))return!0;return!1}if(W.type==="union"){for(let J of W.options)if(M_(J,U))return!0;return!1}if(W.type==="tuple"){for(let J of W.items)if(M_(J,U))return!0;if(W.rest&&M_(W.rest,U))return!0;return!1}return!1}var R7=($,_={})=>(U)=>{let W=i4({...U,processors:_});return T$($,W),p4(W,$),o4(W,$)},x2=($,_,U={})=>(W)=>{let{libraryOptions:J,target:X}=W??{},G=i4({...J??{},target:X,io:_,processors:U});return T$($,G),p4(G,$),o4(G,$)};var CJ=y(()=>{KJ()});function TJ($,_){if("_idmap"in $){let W=$,J=i4({..._,processors:Z9}),X={};for(let Y of W._idmap.entries()){let[j,O]=Y;T$(O,J)}let G={},Q={registry:W,uri:_?.uri,defs:X};J.external=Q;for(let Y of W._idmap.entries()){let[j,O]=Y;p4(J,O),G[j]=o4(J,O)}if(Object.keys(X).length>0){let Y=J.target==="draft-2020-12"?"$defs":"definitions";G.__shared={[Y]:X}}return{schemas:G}}let U=i4({..._,processors:Z9});return T$($,U),p4(U,$),o4(U,$)}var EZ,A7=($,_,U,W)=>{let J=U;J.type="string";let{minimum:X,maximum:G,format:Q,patterns:Y,contentEncoding:j}=$._zod.bag;if(typeof X==="number")J.minLength=X;if(typeof G==="number")J.maxLength=G;if(Q){if(J.format=EZ[Q]??Q,J.format==="")delete J.format;if(Q==="time")delete J.format}if(j)J.contentEncoding=j;if(Y&&Y.size>0){let O=[...Y];if(O.length===1)J.pattern=O[0].source;else if(O.length>1)J.allOf=[...O.map((B)=>({..._.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"?{type:"string"}:{},pattern:B.source}))]}},b7=($,_,U,W)=>{let J=U,{minimum:X,maximum:G,format:Q,multipleOf:Y,exclusiveMaximum:j,exclusiveMinimum:O}=$._zod.bag;if(typeof Q==="string"&&Q.includes("int"))J.type="integer";else J.type="number";let B=typeof O==="number"&&O>=(X??Number.NEGATIVE_INFINITY),V=typeof j==="number"&&j<=(G??Number.POSITIVE_INFINITY),L=_.target==="draft-04"||_.target==="openapi-3.0";if(B)if(L)J.minimum=O,J.exclusiveMinimum=!0;else J.exclusiveMinimum=O;else if(typeof X==="number")J.minimum=X;if(V)if(L)J.maximum=j,J.exclusiveMaximum=!0;else J.exclusiveMaximum=j;else if(typeof G==="number")J.maximum=G;if(typeof Y==="number")J.multipleOf=Y},F7=($,_,U,W)=>{U.type="boolean"},E7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},K7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},M7=($,_,U,W)=>{if(_.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},g7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},I7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},w7=($,_,U,W)=>{U.not={}},k7=($,_,U,W)=>{},f7=($,_,U,W)=>{},P7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},C7=($,_,U,W)=>{let J=$._zod.def,X=QJ(J.entries);if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";U.enum=X},T7=($,_,U,W)=>{let J=$._zod.def,X=[];for(let G of J.values)if(G===void 0){if(_.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof G==="bigint")if(_.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else X.push(Number(G));else X.push(G);if(X.length===0);else if(X.length===1){let G=X[0];if(U.type=G===null?"null":typeof G,_.target==="draft-04"||_.target==="openapi-3.0")U.enum=[G];else U.const=G}else{if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";if(X.every((G)=>typeof G==="boolean"))U.type="boolean";if(X.every((G)=>G===null))U.type="null";U.enum=X}},S7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Z7=($,_,U,W)=>{let J=U,X=$._zod.pattern;if(!X)throw Error("Pattern not found in template literal");J.type="string",J.pattern=X.source},v7=($,_,U,W)=>{let J=U,X={type:"string",format:"binary",contentEncoding:"binary"},{minimum:G,maximum:Q,mime:Y}=$._zod.bag;if(G!==void 0)X.minLength=G;if(Q!==void 0)X.maxLength=Q;if(Y)if(Y.length===1)X.contentMediaType=Y[0],Object.assign(J,X);else Object.assign(J,X),J.anyOf=Y.map((j)=>({contentMediaType:j}));else Object.assign(J,X)},y7=($,_,U,W)=>{U.type="boolean"},h7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},x7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},m7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},u7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},d7=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},n7=($,_,U,W)=>{let J=U,X=$._zod.def,{minimum:G,maximum:Q}=$._zod.bag;if(typeof G==="number")J.minItems=G;if(typeof Q==="number")J.maxItems=Q;J.type="array",J.items=T$(X.element,_,{...W,path:[...W.path,"items"]})},c7=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object",J.properties={};let G=X.shape;for(let j in G)J.properties[j]=T$(G[j],_,{...W,path:[...W.path,"properties",j]});let Q=new Set(Object.keys(G)),Y=new Set([...Q].filter((j)=>{let O=X.shape[j]._zod;if(_.io==="input")return O.optin===void 0;else return O.optout===void 0}));if(Y.size>0)J.required=Array.from(Y);if(X.catchall?._zod.def.type==="never")J.additionalProperties=!1;else if(!X.catchall){if(_.io==="output")J.additionalProperties=!1}else if(X.catchall)J.additionalProperties=T$(X.catchall,_,{...W,path:[...W.path,"additionalProperties"]})},v9=($,_,U,W)=>{let J=$._zod.def,X=J.inclusive===!1,G=J.options.map((Q,Y)=>T$(Q,_,{...W,path:[...W.path,X?"oneOf":"anyOf",Y]}));if(X)U.oneOf=G;else U.anyOf=G},l7=($,_,U,W)=>{let J=$._zod.def,X=T$(J.left,_,{...W,path:[...W.path,"allOf",0]}),G=T$(J.right,_,{...W,path:[...W.path,"allOf",1]}),Q=(j)=>("allOf"in j)&&Object.keys(j).length===1,Y=[...Q(X)?X.allOf:[X],...Q(G)?G.allOf:[G]];U.allOf=Y},r7=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="array";let G=_.target==="draft-2020-12"?"prefixItems":"items",Q=_.target==="draft-2020-12"?"items":_.target==="openapi-3.0"?"items":"additionalItems",Y=X.items.map((V,L)=>T$(V,_,{...W,path:[...W.path,G,L]})),j=X.rest?T$(X.rest,_,{...W,path:[...W.path,Q,..._.target==="openapi-3.0"?[X.items.length]:[]]}):null;if(_.target==="draft-2020-12"){if(J.prefixItems=Y,j)J.items=j}else if(_.target==="openapi-3.0"){if(J.items={anyOf:Y},j)J.items.anyOf.push(j);if(J.minItems=Y.length,!j)J.maxItems=Y.length}else if(J.items=Y,j)J.additionalItems=j;let{minimum:O,maximum:B}=$._zod.bag;if(typeof O==="number")J.minItems=O;if(typeof B==="number")J.maxItems=B},i7=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object";let G=X.keyType,Y=G._zod.bag?.patterns;if(X.mode==="loose"&&Y&&Y.size>0){let O=T$(X.valueType,_,{...W,path:[...W.path,"patternProperties","*"]});J.patternProperties={};for(let B of Y)J.patternProperties[B.source]=O}else{if(_.target==="draft-07"||_.target==="draft-2020-12")J.propertyNames=T$(X.keyType,_,{...W,path:[...W.path,"propertyNames"]});J.additionalProperties=T$(X.valueType,_,{...W,path:[...W.path,"additionalProperties"]})}let j=G._zod.values;if(j){let O=[...j].filter((B)=>typeof B==="string"||typeof B==="number");if(O.length>0)J.required=O}},p7=($,_,U,W)=>{let J=$._zod.def,X=T$(J.innerType,_,W),G=_.seen.get($);if(_.target==="openapi-3.0")G.ref=J.innerType,U.nullable=!0;else U.anyOf=[X,{type:"null"}]},o7=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},t7=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.default=JSON.parse(JSON.stringify(J.defaultValue))},a7=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);if(X.ref=J.innerType,_.io==="input")U._prefault=JSON.parse(JSON.stringify(J.defaultValue))},s7=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType;let G;try{G=J.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=G},e7=($,_,U,W)=>{let J=$._zod.def,X=J.in._zod.traits.has("$ZodTransform"),G=_.io==="input"?X?J.out:J.in:J.out;T$(G,_,W);let Q=_.seen.get($);Q.ref=G},$z=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.readOnly=!0},_z=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},y9=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},Uz=($,_,U,W)=>{let J=$._zod.innerType;T$(J,_,W);let X=_.seen.get($);X.ref=J},Z9;var SJ=y(()=>{CJ();p();EZ={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Z9={string:A7,number:b7,boolean:F7,bigint:E7,symbol:K7,null:M7,undefined:g7,void:I7,never:w7,any:k7,unknown:f7,date:P7,enum:C7,literal:T7,nan:S7,template_literal:Z7,file:v7,success:y7,custom:h7,function:x7,transform:m7,map:u7,set:d7,array:n7,object:c7,union:v9,intersection:l7,tuple:r7,record:i7,nullable:p7,nonoptional:o7,default:t7,prefault:a7,catch:s7,pipe:e7,readonly:$z,promise:_z,optional:y9,lazy:Uz}});class Jz{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";this.ctx=i4({processors:Z9,target:_,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,_={path:[],schemaPath:[]}){return T$($,this.ctx,_)}emit($,_){if(_){if(_.cycles)this.ctx.cycles=_.cycles;if(_.reused)this.ctx.reused=_.reused;if(_.external)this.ctx.external=_.external}p4(this.ctx,$);let U=o4(this.ctx,$),{"~standard":W,...J}=U;return J}}var XV=y(()=>{SJ();CJ()});var GV={};var QV=()=>{};var x6={};g6(x6,{version:()=>FY,util:()=>f,treeifyError:()=>xX,toJSONSchema:()=>TJ,toDotPath:()=>P3,safeParseAsync:()=>IQ,safeParse:()=>gQ,safeEncodeAsync:()=>gT,safeEncode:()=>KT,safeDecodeAsync:()=>IT,safeDecode:()=>MT,registry:()=>EJ,regexes:()=>P_,process:()=>T$,prettifyError:()=>mX,parseAsync:()=>dX,parse:()=>uX,meta:()=>H7,locales:()=>y2,isValidJWT:()=>e3,isValidBase64URL:()=>s3,isValidBase64:()=>lY,initializeContext:()=>i4,globalRegistry:()=>D_,globalConfig:()=>v0,formatError:()=>f2,flattenError:()=>k2,finalize:()=>o4,extractDefs:()=>p4,encodeAsync:()=>FT,encode:()=>AT,describe:()=>B7,decodeAsync:()=>ET,decode:()=>bT,createToJSONSchemaMethod:()=>R7,createStandardJSONSchemaMethod:()=>x2,config:()=>__,clone:()=>N_,_xor:()=>_Z,_xid:()=>K9,_void:()=>Q7,_uuidv7:()=>V9,_uuidv6:()=>H9,_uuidv4:()=>B9,_uuid:()=>N9,_url:()=>gJ,_uppercase:()=>c0,_unknown:()=>X7,_union:()=>$Z,_undefined:()=>U7,_ulid:()=>E9,_uint64:()=>$7,_uint32:()=>pD,_tuple:()=>WZ,_trim:()=>t0,_transform:()=>zZ,_toUpperCase:()=>s0,_toLowerCase:()=>a0,_templateLiteral:()=>AZ,_symbol:()=>_7,_superRefine:()=>N7,_success:()=>BZ,_stringbool:()=>V7,_stringFormat:()=>h2,_string:()=>ZD,_startsWith:()=>r0,_slugify:()=>e0,_size:()=>c4,_set:()=>QZ,_safeParseAsync:()=>S2,_safeParse:()=>T2,_safeEncodeAsync:()=>oX,_safeEncode:()=>iX,_safeDecodeAsync:()=>tX,_safeDecode:()=>pX,_regex:()=>d0,_refine:()=>L7,_record:()=>XZ,_readonly:()=>RZ,_property:()=>PJ,_promise:()=>FZ,_positive:()=>IJ,_pipe:()=>VZ,_parseAsync:()=>C2,_parse:()=>P2,_overwrite:()=>a_,_optional:()=>qZ,_number:()=>dD,_nullable:()=>OZ,_null:()=>J7,_normalize:()=>o0,_nonpositive:()=>kJ,_nonoptional:()=>NZ,_nonnegative:()=>fJ,_never:()=>G7,_negative:()=>wJ,_nativeEnum:()=>jZ,_nanoid:()=>A9,_nan:()=>D7,_multipleOf:()=>j4,_minSize:()=>N6,_minLength:()=>h6,_min:()=>B_,_mime:()=>p0,_maxSize:()=>D4,_maxLength:()=>l4,_max:()=>C_,_map:()=>GZ,_mac:()=>yD,_lte:()=>C_,_lt:()=>O6,_lowercase:()=>n0,_literal:()=>DZ,_length:()=>r4,_lazy:()=>bZ,_ksuid:()=>M9,_jwt:()=>T9,_isoTime:()=>mD,_isoDuration:()=>uD,_isoDateTime:()=>hD,_isoDate:()=>xD,_ipv6:()=>I9,_ipv4:()=>g9,_intersection:()=>JZ,_int64:()=>eD,_int32:()=>iD,_int:()=>cD,_includes:()=>l0,_guid:()=>MJ,_gte:()=>B_,_gt:()=>L6,_float64:()=>rD,_float32:()=>lD,_file:()=>q7,_enum:()=>YZ,_endsWith:()=>i0,_encodeAsync:()=>lX,_encode:()=>nX,_emoji:()=>R9,_email:()=>L9,_e164:()=>C9,_discriminatedUnion:()=>UZ,_default:()=>LZ,_decodeAsync:()=>rX,_decode:()=>cX,_date:()=>Y7,_custom:()=>O7,_cuid2:()=>F9,_cuid:()=>b9,_coercedString:()=>vD,_coercedNumber:()=>nD,_coercedDate:()=>j7,_coercedBoolean:()=>tD,_coercedBigint:()=>sD,_cidrv6:()=>k9,_cidrv4:()=>w9,_check:()=>JV,_catch:()=>HZ,_boolean:()=>oD,_bigint:()=>aD,_base64url:()=>P9,_base64:()=>f9,_array:()=>z7,_any:()=>W7,TimePrecision:()=>S9,NEVER:()=>ZX,JSONSchemaGenerator:()=>Jz,JSONSchema:()=>GV,Doc:()=>U9,$output:()=>q9,$input:()=>O9,$constructor:()=>F,$brand:()=>vX,$ZodXor:()=>jj,$ZodXID:()=>SY,$ZodVoid:()=>Xj,$ZodUnknown:()=>Jj,$ZodUnion:()=>HJ,$ZodUndefined:()=>$j,$ZodUUID:()=>gY,$ZodURL:()=>wY,$ZodULID:()=>TY,$ZodType:()=>D$,$ZodTuple:()=>j9,$ZodTransform:()=>Vj,$ZodTemplateLiteral:()=>kj,$ZodSymbol:()=>eY,$ZodSuccess:()=>Kj,$ZodStringFormat:()=>u$,$ZodString:()=>u0,$ZodSet:()=>Lj,$ZodRegistry:()=>SD,$ZodRecord:()=>qj,$ZodRealError:()=>f_,$ZodReadonly:()=>wj,$ZodPromise:()=>Pj,$ZodPreprocess:()=>Ij,$ZodPrefault:()=>Fj,$ZodPipe:()=>z9,$ZodOptional:()=>D9,$ZodObjectJIT:()=>Yj,$ZodObject:()=>UH,$ZodNumberFormat:()=>aY,$ZodNumber:()=>Q9,$ZodNullable:()=>Aj,$ZodNull:()=>_j,$ZodNonOptional:()=>Ej,$ZodNever:()=>Wj,$ZodNanoID:()=>fY,$ZodNaN:()=>gj,$ZodMap:()=>Oj,$ZodMAC:()=>dY,$ZodLiteral:()=>Bj,$ZodLazy:()=>Cj,$ZodKSUID:()=>ZY,$ZodJWT:()=>oY,$ZodIntersection:()=>zj,$ZodISOTime:()=>hY,$ZodISODuration:()=>xY,$ZodISODateTime:()=>vY,$ZodISODate:()=>yY,$ZodIPv6:()=>uY,$ZodIPv4:()=>mY,$ZodGUID:()=>MY,$ZodFunction:()=>fj,$ZodFile:()=>Hj,$ZodExactOptional:()=>Rj,$ZodError:()=>qJ,$ZodEnum:()=>Nj,$ZodEncodeError:()=>y0,$ZodEmoji:()=>kY,$ZodEmail:()=>IY,$ZodE164:()=>pY,$ZodDiscriminatedUnion:()=>Dj,$ZodDefault:()=>bj,$ZodDate:()=>Gj,$ZodCustomStringFormat:()=>tY,$ZodCustom:()=>Tj,$ZodCodec:()=>VJ,$ZodCheckUpperCase:()=>NY,$ZodCheckStringFormat:()=>Z2,$ZodCheckStartsWith:()=>HY,$ZodCheckSizeEquals:()=>jY,$ZodCheckRegex:()=>OY,$ZodCheckProperty:()=>RY,$ZodCheckOverwrite:()=>bY,$ZodCheckNumberFormat:()=>XY,$ZodCheckMultipleOf:()=>WY,$ZodCheckMinSize:()=>YY,$ZodCheckMinLength:()=>zY,$ZodCheckMimeType:()=>AY,$ZodCheckMaxSize:()=>QY,$ZodCheckMaxLength:()=>DY,$ZodCheckLowerCase:()=>LY,$ZodCheckLessThan:()=>eX,$ZodCheckLengthEquals:()=>qY,$ZodCheckIncludes:()=>BY,$ZodCheckGreaterThan:()=>$9,$ZodCheckEndsWith:()=>VY,$ZodCheckBigIntFormat:()=>GY,$ZodCheck:()=>n$,$ZodCatch:()=>Mj,$ZodCUID2:()=>CY,$ZodCUID:()=>PY,$ZodCIDRv6:()=>cY,$ZodCIDRv4:()=>nY,$ZodBoolean:()=>BJ,$ZodBigIntFormat:()=>sY,$ZodBigInt:()=>Y9,$ZodBase64URL:()=>iY,$ZodBase64:()=>rY,$ZodAsyncError:()=>y6,$ZodArray:()=>Qj,$ZodAny:()=>Uj});var m_=y(()=>{p();sX();TD();SJ();XV();QV();h0();wQ();MQ();Sj();_9();EY();KJ();WV();CJ()});var h9={};g6(h9,{uppercase:()=>c0,trim:()=>t0,toUpperCase:()=>s0,toLowerCase:()=>a0,startsWith:()=>r0,slugify:()=>e0,size:()=>c4,regex:()=>d0,property:()=>PJ,positive:()=>IJ,overwrite:()=>a_,normalize:()=>o0,nonpositive:()=>kJ,nonnegative:()=>fJ,negative:()=>wJ,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,maxSize:()=>D4,maxLength:()=>l4,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,length:()=>r4,includes:()=>l0,gte:()=>B_,gt:()=>L6,endsWith:()=>i0});var x9=y(()=>{m_()});var $1={};g6($1,{time:()=>Gz,duration:()=>Qz,datetime:()=>Wz,date:()=>Xz,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ});function Wz($){return hD(ZJ,$)}function Xz($){return xD(vJ,$)}function Gz($){return mD(yJ,$)}function Qz($){return uD(hJ,$)}var ZJ,vJ,yJ,hJ;var xJ=y(()=>{m_();uJ();ZJ=F("ZodISODateTime",($,_)=>{vY.init($,_),y$.init($,_)});vJ=F("ZodISODate",($,_)=>{yY.init($,_),y$.init($,_)});yJ=F("ZodISOTime",($,_)=>{hY.init($,_),y$.init($,_)});hJ=F("ZodISODuration",($,_)=>{xY.init($,_),y$.init($,_)})});var YV=($,_)=>{qJ.init($,_),$.name="ZodError",Object.defineProperties($,{format:{value:(U)=>f2($,U)},flatten:{value:(U)=>k2($,U)},addIssue:{value:(U)=>{$.issues.push(U),$.message=JSON.stringify($.issues,g2,2)}},addIssues:{value:(U)=>{$.issues.push(...U),$.message=JSON.stringify($.issues,g2,2)}},isEmpty:{get(){return $.issues.length===0}}})},jV,g_;var Yz=y(()=>{m_();m_();p();jV=F("ZodError",YV),g_=F("ZodError",YV,{Parent:Error})});var m9,u9,d9,n9,c9,l9,r9,i9,p9,o9,t9,a9;var jz=y(()=>{m_();Yz();m9=P2(g_),u9=C2(g_),d9=T2(g_),n9=S2(g_),c9=nX(g_),l9=cX(g_),r9=lX(g_),i9=rX(g_),p9=iX(g_),o9=pX(g_),t9=oX(g_),a9=tX(g_)});var mJ={};g6(mJ,{xor:()=>$q,xid:()=>Ez,void:()=>pz,uuidv7:()=>Nz,uuidv6:()=>Lz,uuidv4:()=>Oz,uuid:()=>qz,url:()=>Bz,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Fz,uint64:()=>cz,uint32:()=>uz,tuple:()=>N8,transform:()=>qW,templateLiteral:()=>Lq,symbol:()=>lz,superRefine:()=>n8,success:()=>Dq,stringbool:()=>Fq,stringFormat:()=>Sz,string:()=>m2,strictObject:()=>sz,set:()=>Xq,refine:()=>d8,record:()=>B8,readonly:()=>v8,promise:()=>Nq,preprocess:()=>Kq,prefault:()=>w8,pipe:()=>nJ,partialRecord:()=>Uq,optional:()=>d2,object:()=>az,number:()=>e9,nullish:()=>jq,nullable:()=>n2,null:()=>W8,nonoptional:()=>k8,never:()=>jW,nativeEnum:()=>Gq,nanoid:()=>Rz,nan:()=>zq,meta:()=>Aq,map:()=>Wq,mac:()=>gz,looseRecord:()=>Jq,looseObject:()=>ez,literal:()=>Qq,lazy:()=>x8,ksuid:()=>Kz,keyof:()=>tz,jwt:()=>Tz,json:()=>Eq,ipv6:()=>Iz,ipv4:()=>Mz,invertCodec:()=>Oq,intersection:()=>O8,int64:()=>nz,int32:()=>mz,int:()=>dJ,instanceof:()=>bq,httpUrl:()=>Hz,hostname:()=>Zz,hex:()=>vz,hash:()=>yz,guid:()=>zz,function:()=>Bq,float64:()=>xz,float32:()=>hz,file:()=>Yq,exactOptional:()=>E8,enum:()=>zW,emoji:()=>Vz,email:()=>Dz,e164:()=>Cz,discriminatedUnion:()=>_q,describe:()=>Rq,date:()=>oz,custom:()=>Vq,cuid2:()=>bz,cuid:()=>Az,codec:()=>qq,cidrv6:()=>kz,cidrv4:()=>wz,check:()=>Hq,catch:()=>C8,boolean:()=>$8,bigint:()=>dz,base64url:()=>Pz,base64:()=>fz,array:()=>r2,any:()=>iz,_function:()=>Bq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>D8,ZodXID:()=>sJ,ZodVoid:()=>Y8,ZodUnknown:()=>G8,ZodUnion:()=>p2,ZodUndefined:()=>U8,ZodUUID:()=>B6,ZodURL:()=>c2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>L8,ZodTransform:()=>b8,ZodTemplateLiteral:()=>y8,ZodSymbol:()=>_8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>V8,ZodRecord:()=>_1,ZodReadonly:()=>Z8,ZodPromise:()=>m8,ZodPreprocess:()=>S8,ZodPrefault:()=>I8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>i2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>K8,ZodNull:()=>J8,ZodNonOptional:()=>LW,ZodNever:()=>Q8,ZodNanoID:()=>pJ,ZodNaN:()=>T8,ZodMap:()=>H8,ZodMAC:()=>s9,ZodLiteral:()=>R8,ZodLazy:()=>h8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIntersection:()=>q8,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>u8,ZodFile:()=>A8,ZodExactOptional:()=>F8,ZodEnum:()=>U1,ZodEmoji:()=>iJ,ZodEmail:()=>rJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>z8,ZodDefault:()=>M8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>P8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>j8,ZodAny:()=>X8});function cJ($,_,U){let W=Object.getPrototypeOf($),J=DV.get(W);if(!J)J=new Set,DV.set(W,J);if(J.has(_))return;J.add(_);for(let X in U){let G=U[X];Object.defineProperty(W,X,{configurable:!0,enumerable:!1,get(){let Q=G.bind(this);return Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q}),Q},set(Q){Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q})}})}}function m2($){return ZD(J1,$)}function Dz($){return L9(rJ,$)}function zz($){return MJ(u2,$)}function qz($){return N9(B6,$)}function Oz($){return B9(B6,$)}function Lz($){return H9(B6,$)}function Nz($){return V9(B6,$)}function Bz($){return gJ(c2,$)}function Hz($){return gJ(c2,{protocol:P_.httpProtocol,hostname:P_.domain,...f.normalizeParams($)})}function Vz($){return R9(iJ,$)}function Rz($){return A9(pJ,$)}function Az($){return b9(oJ,$)}function bz($){return F9(tJ,$)}function Fz($){return E9(aJ,$)}function Ez($){return K9(sJ,$)}function Kz($){return M9(eJ,$)}function Mz($){return g9($W,$)}function gz($){return yD(s9,$)}function Iz($){return I9(_W,$)}function wz($){return w9(UW,$)}function kz($){return k9(JW,$)}function fz($){return f9(WW,$)}function Pz($){return P9(XW,$)}function Cz($){return C9(GW,$)}function Tz($){return T9(QW,$)}function Sz($,_,U={}){return h2(W1,$,_,U)}function Zz($){return h2(W1,"hostname",P_.hostname,$)}function vz($){return h2(W1,"hex",P_.hex,$)}function yz($,_){let U=_?.enc??"hex",W=`${$}_${U}`,J=P_[W];if(!J)throw Error(`Unrecognized hash format: ${W}`);return h2(W1,W,J,_)}function e9($){return dD(X1,$)}function dJ($){return cD(a4,$)}function hz($){return lD(a4,$)}function xz($){return rD(a4,$)}function mz($){return iD(a4,$)}function uz($){return pD(a4,$)}function $8($){return oD(G1,$)}function dz($){return aD(Q1,$)}function nz($){return eD(YW,$)}function cz($){return $7(YW,$)}function lz($){return _7(_8,$)}function rz($){return U7(U8,$)}function W8($){return J7(J8,$)}function iz(){return W7(X8)}function t4(){return X7(G8)}function jW($){return G7(Q8,$)}function pz($){return Q7(Y8,$)}function oz($){return Y7(l2,$)}function r2($,_){return z7(j8,$,_)}function tz($){let _=$._zod.def.shape;return zW(Object.keys(_))}function az($,_){let U={type:"object",shape:$??{},...f.normalizeParams(_)};return new i2(U)}function sz($,_){return new i2({type:"object",shape:$,catchall:jW(),...f.normalizeParams(_)})}function ez($,_){return new i2({type:"object",shape:$,catchall:t4(),...f.normalizeParams(_)})}function DW($,_){return new p2({type:"union",options:$,...f.normalizeParams(_)})}function $q($,_){return new D8({type:"union",options:$,inclusive:!1,...f.normalizeParams(_)})}function _q($,_,U){return new z8({type:"union",options:_,discriminator:$,...f.normalizeParams(U)})}function O8($,_){return new q8({type:"intersection",left:$,right:_})}function N8($,_,U){let W=_ instanceof D$,J=W?U:_;return new L8({type:"tuple",items:$,rest:W?_:null,...f.normalizeParams(J)})}function B8($,_,U){if(!_||!_._zod)return new _1({type:"record",keyType:m2(),valueType:$,...f.normalizeParams(_)});return new _1({type:"record",keyType:$,valueType:_,...f.normalizeParams(U)})}function Uq($,_,U){let W=N_($);return W._zod.values=void 0,new _1({type:"record",keyType:W,valueType:_,...f.normalizeParams(U)})}function Jq($,_,U){return new _1({type:"record",keyType:$,valueType:_,mode:"loose",...f.normalizeParams(U)})}function Wq($,_,U){return new H8({type:"map",keyType:$,valueType:_,...f.normalizeParams(U)})}function Xq($,_){return new V8({type:"set",valueType:$,...f.normalizeParams(_)})}function zW($,_){let U=Array.isArray($)?Object.fromEntries($.map((W)=>[W,W])):$;return new U1({type:"enum",entries:U,...f.normalizeParams(_)})}function Gq($,_){return new U1({type:"enum",entries:$,...f.normalizeParams(_)})}function Qq($,_){return new R8({type:"literal",values:Array.isArray($)?$:[$],...f.normalizeParams(_)})}function Yq($){return q7(A8,$)}function qW($){return new b8({type:"transform",transform:$})}function d2($){return new OW({type:"optional",innerType:$})}function E8($){return new F8({type:"optional",innerType:$})}function n2($){return new K8({type:"nullable",innerType:$})}function jq($){return d2(n2($))}function g8($,_){return new M8({type:"default",innerType:$,get defaultValue(){return typeof _==="function"?_():f.shallowClone(_)}})}function w8($,_){return new I8({type:"prefault",innerType:$,get defaultValue(){return typeof _==="function"?_():f.shallowClone(_)}})}function k8($,_){return new LW({type:"nonoptional",innerType:$,...f.normalizeParams(_)})}function Dq($){return new f8({type:"success",innerType:$})}function C8($,_){return new P8({type:"catch",innerType:$,catchValue:typeof _==="function"?_:()=>_})}function zq($){return D7(T8,$)}function nJ($,_){return new o2({type:"pipe",in:$,out:_})}function qq($,_,U){return new t2({type:"pipe",in:$,out:_,transform:U.decode,reverseTransform:U.encode})}function Oq($){let _=$._zod.def;return new t2({type:"pipe",in:_.out,out:_.in,transform:_.reverseTransform,reverseTransform:_.transform})}function v8($){return new Z8({type:"readonly",innerType:$})}function Lq($,_){return new y8({type:"template_literal",parts:$,...f.normalizeParams(_)})}function x8($){return new h8({type:"lazy",getter:$})}function Nq($){return new m8({type:"promise",innerType:$})}function Bq($){return new u8({type:"function",input:Array.isArray($?.input)?N8($?.input):$?.input??r2(t4()),output:$?.output??t4()})}function Hq($){let _=new n$({check:"custom"});return _._zod.check=$,_}function Vq($,_){return O7(a2,$??(()=>!0),_)}function d8($,_={}){return L7(a2,$,_)}function n8($,_){return N7($,_)}function bq($,_={}){let U=new a2({type:"custom",check:"custom",fn:(W)=>W instanceof $,abort:!0,...f.normalizeParams(_)});return U._zod.bag.Class=$,U._zod.check=(W)=>{if(!(W.value instanceof $))W.issues.push({code:"invalid_type",expected:$.name,input:W.value,inst:U,path:[...U._zod.def.path??[]]})},U}function Eq($){let _=x8(()=>{return DW([m2($),e9(),$8(),W8(),r2(_),B8(m2(),_)])});return _}function Kq($,_){return new S8({type:"pipe",in:qW($),out:_})}var DV,q$,lJ,J1,y$,rJ,u2,B6,c2,iJ,pJ,oJ,tJ,aJ,sJ,eJ,$W,s9,_W,UW,JW,WW,XW,GW,QW,W1,X1,a4,G1,Q1,YW,_8,U8,J8,X8,G8,Q8,Y8,l2,j8,i2,p2,D8,z8,q8,L8,_1,H8,V8,U1,R8,A8,b8,OW,F8,K8,M8,I8,LW,f8,P8,T8,o2,t2,S8,Z8,y8,h8,m8,u8,a2,Rq,Aq,Fq=(...$)=>V7({Codec:t2,Boolean:G1,String:J1},...$);var uJ=y(()=>{m_();m_();SJ();CJ();x9();xJ();jz();DV=new WeakMap;q$=F("ZodType",($,_)=>{return D$.init($,_),Object.assign($["~standard"],{jsonSchema:{input:x2($,"input"),output:x2($,"output")}}),$.toJSONSchema=R7($,{}),$.def=_,$.type=_.type,Object.defineProperty($,"_def",{value:_}),$.parse=(U,W)=>m9($,U,W,{callee:$.parse}),$.safeParse=(U,W)=>d9($,U,W),$.parseAsync=async(U,W)=>u9($,U,W,{callee:$.parseAsync}),$.safeParseAsync=async(U,W)=>n9($,U,W),$.spa=$.safeParseAsync,$.encode=(U,W)=>c9($,U,W),$.decode=(U,W)=>l9($,U,W),$.encodeAsync=async(U,W)=>r9($,U,W),$.decodeAsync=async(U,W)=>i9($,U,W),$.safeEncode=(U,W)=>p9($,U,W),$.safeDecode=(U,W)=>o9($,U,W),$.safeEncodeAsync=async(U,W)=>t9($,U,W),$.safeDecodeAsync=async(U,W)=>a9($,U,W),cJ($,"ZodType",{check(...U){let W=this.def;return this.clone(f.mergeDefs(W,{checks:[...W.checks??[],...U.map((J)=>typeof J==="function"?{_zod:{check:J,def:{check:"custom"},onattach:[]}}:J)]}),{parent:!0})},with(...U){return this.check(...U)},clone(U,W){return N_(this,U,W)},brand(){return this},register(U,W){return U.add(this,W),this},refine(U,W){return this.check(d8(U,W))},superRefine(U,W){return this.check(n8(U,W))},overwrite(U){return this.check(a_(U))},optional(){return d2(this)},exactOptional(){return E8(this)},nullable(){return n2(this)},nullish(){return d2(n2(this))},nonoptional(U){return k8(this,U)},array(){return r2(this)},or(U){return DW([this,U])},and(U){return O8(this,U)},transform(U){return nJ(this,qW(U))},default(U){return g8(this,U)},prefault(U){return w8(this,U)},catch(U){return C8(this,U)},pipe(U){return nJ(this,U)},readonly(){return v8(this)},describe(U){let W=this.clone();return D_.add(W,{description:U}),W},meta(...U){if(U.length===0)return D_.get(this);let W=this.clone();return D_.add(W,U[0]),W},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty($,"description",{get(){return D_.get($)?.description},configurable:!0}),$}),lJ=F("_ZodString",($,_)=>{u0.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>A7($,W,J,X);let U=$._zod.bag;$.format=U.format??null,$.minLength=U.minimum??null,$.maxLength=U.maximum??null,cJ($,"_ZodString",{regex(...W){return this.check(d0(...W))},includes(...W){return this.check(l0(...W))},startsWith(...W){return this.check(r0(...W))},endsWith(...W){return this.check(i0(...W))},min(...W){return this.check(h6(...W))},max(...W){return this.check(l4(...W))},length(...W){return this.check(r4(...W))},nonempty(...W){return this.check(h6(1,...W))},lowercase(W){return this.check(n0(W))},uppercase(W){return this.check(c0(W))},trim(){return this.check(t0())},normalize(...W){return this.check(o0(...W))},toLowerCase(){return this.check(a0())},toUpperCase(){return this.check(s0())},slugify(){return this.check(e0())}})}),J1=F("ZodString",($,_)=>{u0.init($,_),lJ.init($,_),$.email=(U)=>$.check(L9(rJ,U)),$.url=(U)=>$.check(gJ(c2,U)),$.jwt=(U)=>$.check(T9(QW,U)),$.emoji=(U)=>$.check(R9(iJ,U)),$.guid=(U)=>$.check(MJ(u2,U)),$.uuid=(U)=>$.check(N9(B6,U)),$.uuidv4=(U)=>$.check(B9(B6,U)),$.uuidv6=(U)=>$.check(H9(B6,U)),$.uuidv7=(U)=>$.check(V9(B6,U)),$.nanoid=(U)=>$.check(A9(pJ,U)),$.guid=(U)=>$.check(MJ(u2,U)),$.cuid=(U)=>$.check(b9(oJ,U)),$.cuid2=(U)=>$.check(F9(tJ,U)),$.ulid=(U)=>$.check(E9(aJ,U)),$.base64=(U)=>$.check(f9(WW,U)),$.base64url=(U)=>$.check(P9(XW,U)),$.xid=(U)=>$.check(K9(sJ,U)),$.ksuid=(U)=>$.check(M9(eJ,U)),$.ipv4=(U)=>$.check(g9($W,U)),$.ipv6=(U)=>$.check(I9(_W,U)),$.cidrv4=(U)=>$.check(w9(UW,U)),$.cidrv6=(U)=>$.check(k9(JW,U)),$.e164=(U)=>$.check(C9(GW,U)),$.datetime=(U)=>$.check(Wz(U)),$.date=(U)=>$.check(Xz(U)),$.time=(U)=>$.check(Gz(U)),$.duration=(U)=>$.check(Qz(U))});y$=F("ZodStringFormat",($,_)=>{u$.init($,_),lJ.init($,_)}),rJ=F("ZodEmail",($,_)=>{IY.init($,_),y$.init($,_)});u2=F("ZodGUID",($,_)=>{MY.init($,_),y$.init($,_)});B6=F("ZodUUID",($,_)=>{gY.init($,_),y$.init($,_)});c2=F("ZodURL",($,_)=>{wY.init($,_),y$.init($,_)});iJ=F("ZodEmoji",($,_)=>{kY.init($,_),y$.init($,_)});pJ=F("ZodNanoID",($,_)=>{fY.init($,_),y$.init($,_)});oJ=F("ZodCUID",($,_)=>{PY.init($,_),y$.init($,_)});tJ=F("ZodCUID2",($,_)=>{CY.init($,_),y$.init($,_)});aJ=F("ZodULID",($,_)=>{TY.init($,_),y$.init($,_)});sJ=F("ZodXID",($,_)=>{SY.init($,_),y$.init($,_)});eJ=F("ZodKSUID",($,_)=>{ZY.init($,_),y$.init($,_)});$W=F("ZodIPv4",($,_)=>{mY.init($,_),y$.init($,_)});s9=F("ZodMAC",($,_)=>{dY.init($,_),y$.init($,_)});_W=F("ZodIPv6",($,_)=>{uY.init($,_),y$.init($,_)});UW=F("ZodCIDRv4",($,_)=>{nY.init($,_),y$.init($,_)});JW=F("ZodCIDRv6",($,_)=>{cY.init($,_),y$.init($,_)});WW=F("ZodBase64",($,_)=>{rY.init($,_),y$.init($,_)});XW=F("ZodBase64URL",($,_)=>{iY.init($,_),y$.init($,_)});GW=F("ZodE164",($,_)=>{pY.init($,_),y$.init($,_)});QW=F("ZodJWT",($,_)=>{oY.init($,_),y$.init($,_)});W1=F("ZodCustomStringFormat",($,_)=>{tY.init($,_),y$.init($,_)});X1=F("ZodNumber",($,_)=>{Q9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>b7($,W,J,X),cJ($,"ZodNumber",{gt(W,J){return this.check(L6(W,J))},gte(W,J){return this.check(B_(W,J))},min(W,J){return this.check(B_(W,J))},lt(W,J){return this.check(O6(W,J))},lte(W,J){return this.check(C_(W,J))},max(W,J){return this.check(C_(W,J))},int(W){return this.check(dJ(W))},safe(W){return this.check(dJ(W))},positive(W){return this.check(L6(0,W))},nonnegative(W){return this.check(B_(0,W))},negative(W){return this.check(O6(0,W))},nonpositive(W){return this.check(C_(0,W))},multipleOf(W,J){return this.check(j4(W,J))},step(W,J){return this.check(j4(W,J))},finite(){return this}});let U=$._zod.bag;$.minValue=Math.max(U.minimum??Number.NEGATIVE_INFINITY,U.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(U.maximum??Number.POSITIVE_INFINITY,U.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(U.format??"").includes("int")||Number.isSafeInteger(U.multipleOf??0.5),$.isFinite=!0,$.format=U.format??null});a4=F("ZodNumberFormat",($,_)=>{aY.init($,_),X1.init($,_)});G1=F("ZodBoolean",($,_)=>{BJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>F7($,U,W,J)});Q1=F("ZodBigInt",($,_)=>{Y9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>E7($,W,J,X),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.gt=(W,J)=>$.check(L6(W,J)),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.lt=(W,J)=>$.check(O6(W,J)),$.lte=(W,J)=>$.check(C_(W,J)),$.max=(W,J)=>$.check(C_(W,J)),$.positive=(W)=>$.check(L6(BigInt(0),W)),$.negative=(W)=>$.check(O6(BigInt(0),W)),$.nonpositive=(W)=>$.check(C_(BigInt(0),W)),$.nonnegative=(W)=>$.check(B_(BigInt(0),W)),$.multipleOf=(W,J)=>$.check(j4(W,J));let U=$._zod.bag;$.minValue=U.minimum??null,$.maxValue=U.maximum??null,$.format=U.format??null});YW=F("ZodBigIntFormat",($,_)=>{sY.init($,_),Q1.init($,_)});_8=F("ZodSymbol",($,_)=>{eY.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>K7($,U,W,J)});U8=F("ZodUndefined",($,_)=>{$j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>g7($,U,W,J)});J8=F("ZodNull",($,_)=>{_j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>M7($,U,W,J)});X8=F("ZodAny",($,_)=>{Uj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>k7($,U,W,J)});G8=F("ZodUnknown",($,_)=>{Jj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>f7($,U,W,J)});Q8=F("ZodNever",($,_)=>{Wj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>w7($,U,W,J)});Y8=F("ZodVoid",($,_)=>{Xj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>I7($,U,W,J)});l2=F("ZodDate",($,_)=>{Gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>P7($,W,J,X),$.min=(W,J)=>$.check(B_(W,J)),$.max=(W,J)=>$.check(C_(W,J));let U=$._zod.bag;$.minDate=U.minimum?new Date(U.minimum):null,$.maxDate=U.maximum?new Date(U.maximum):null});j8=F("ZodArray",($,_)=>{Qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>n7($,U,W,J),$.element=_.element,cJ($,"ZodArray",{min(U,W){return this.check(h6(U,W))},nonempty(U){return this.check(h6(1,U))},max(U,W){return this.check(l4(U,W))},length(U,W){return this.check(r4(U,W))},unwrap(){return this.element}})});i2=F("ZodObject",($,_)=>{Yj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>c7($,U,W,J),f.defineLazy($,"shape",()=>{return _.shape}),cJ($,"ZodObject",{keyof(){return zW(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:t4()})},loose(){return this.clone({...this._zod.def,catchall:t4()})},strict(){return this.clone({...this._zod.def,catchall:jW()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(U){return f.extend(this,U)},safeExtend(U){return f.safeExtend(this,U)},merge(U){return f.merge(this,U)},pick(U){return f.pick(this,U)},omit(U){return f.omit(this,U)},partial(...U){return f.partial(OW,this,U[0])},required(...U){return f.required(LW,this,U[0])}})});p2=F("ZodUnion",($,_)=>{HJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>v9($,U,W,J),$.options=_.options});D8=F("ZodXor",($,_)=>{p2.init($,_),jj.init($,_),$._zod.processJSONSchema=(U,W,J)=>v9($,U,W,J),$.options=_.options});z8=F("ZodDiscriminatedUnion",($,_)=>{p2.init($,_),Dj.init($,_)});q8=F("ZodIntersection",($,_)=>{zj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>l7($,U,W,J)});L8=F("ZodTuple",($,_)=>{j9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>r7($,U,W,J),$.rest=(U)=>$.clone({...$._zod.def,rest:U})});_1=F("ZodRecord",($,_)=>{qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>i7($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType});H8=F("ZodMap",($,_)=>{Oj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>u7($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType,$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(c4(...U))});V8=F("ZodSet",($,_)=>{Lj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>d7($,U,W,J),$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(c4(...U))});U1=F("ZodEnum",($,_)=>{Nj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>C7($,W,J,X),$.enum=_.entries,$.options=Object.values(_.entries);let U=new Set(Object.keys(_.entries));$.extract=(W,J)=>{let X={};for(let G of W)if(U.has(G))X[G]=_.entries[G];else throw Error(`Key ${G} not found in enum`);return new U1({..._,checks:[],...f.normalizeParams(J),entries:X})},$.exclude=(W,J)=>{let X={..._.entries};for(let G of W)if(U.has(G))delete X[G];else throw Error(`Key ${G} not found in enum`);return new U1({..._,checks:[],...f.normalizeParams(J),entries:X})}});R8=F("ZodLiteral",($,_)=>{Bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>T7($,U,W,J),$.values=new Set(_.values),Object.defineProperty($,"value",{get(){if(_.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return _.values[0]}})});A8=F("ZodFile",($,_)=>{Hj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>v7($,U,W,J),$.min=(U,W)=>$.check(N6(U,W)),$.max=(U,W)=>$.check(D4(U,W)),$.mime=(U,W)=>$.check(p0(Array.isArray(U)?U:[U],W))});b8=F("ZodTransform",($,_)=>{Vj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>m7($,U,W,J),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0($.constructor.name);U.addIssue=(X)=>{if(typeof X==="string")U.issues.push(f.issue(X,U.value,_));else{let G=X;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=U.value),G.inst??(G.inst=$),U.issues.push(f.issue(G))}};let J=_.transform(U.value,U);if(J instanceof Promise)return J.then((X)=>{return U.value=X,U.fallback=!0,U});return U.value=J,U.fallback=!0,U}});OW=F("ZodOptional",($,_)=>{D9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>y9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});F8=F("ZodExactOptional",($,_)=>{Rj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>y9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});K8=F("ZodNullable",($,_)=>{Aj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>p7($,U,W,J),$.unwrap=()=>$._zod.def.innerType});M8=F("ZodDefault",($,_)=>{bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>t7($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});I8=F("ZodPrefault",($,_)=>{Fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>a7($,U,W,J),$.unwrap=()=>$._zod.def.innerType});LW=F("ZodNonOptional",($,_)=>{Ej.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>o7($,U,W,J),$.unwrap=()=>$._zod.def.innerType});f8=F("ZodSuccess",($,_)=>{Kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>y7($,U,W,J),$.unwrap=()=>$._zod.def.innerType});P8=F("ZodCatch",($,_)=>{Mj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>s7($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});T8=F("ZodNaN",($,_)=>{gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>S7($,U,W,J)});o2=F("ZodPipe",($,_)=>{z9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>e7($,U,W,J),$.in=_.in,$.out=_.out});t2=F("ZodCodec",($,_)=>{o2.init($,_),VJ.init($,_)});S8=F("ZodPreprocess",($,_)=>{o2.init($,_),Ij.init($,_)}),Z8=F("ZodReadonly",($,_)=>{wj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>$z($,U,W,J),$.unwrap=()=>$._zod.def.innerType});y8=F("ZodTemplateLiteral",($,_)=>{kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Z7($,U,W,J)});h8=F("ZodLazy",($,_)=>{Cj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Uz($,U,W,J),$.unwrap=()=>$._zod.def.getter()});m8=F("ZodPromise",($,_)=>{Pj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>_z($,U,W,J),$.unwrap=()=>$._zod.def.innerType});u8=F("ZodFunction",($,_)=>{fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>x7($,U,W,J)});a2=F("ZodCustom",($,_)=>{Tj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>h7($,U,W,J)});Rq=B7,Aq=H7});function qV($){__({customError:$})}function OV(){return __().customError}var zV,c8;var LV=y(()=>{m_();zV={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function($){})(c8||(c8={}))});function IZ($,_){let U=$.$schema;if(U==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(U==="http://json-schema.org/draft-07/schema#")return"draft-7";if(U==="http://json-schema.org/draft-04/schema#")return"draft-4";return _??"draft-2020-12"}function wZ($,_){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let U=$.slice(1).split("/").filter(Boolean);if(U.length===0)return _.rootSchema;let W=_.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===W){let J=U[1];if(!J||!_.defs[J])throw Error(`Reference not found: ${$}`);return _.defs[J]}throw Error(`Reference not found: ${$}`)}function NV($,_){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return m.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let J=$.$ref;if(_.refs.has(J))return _.refs.get(J);if(_.processing.has(J))return m.lazy(()=>{if(!_.refs.has(J))throw Error(`Circular reference not resolved: ${J}`);return _.refs.get(J)});_.processing.add(J);let X=wZ(J,_),G=H_(X,_);return _.refs.set(J,G),_.processing.delete(J),G}if($.enum!==void 0){let J=$.enum;if(_.version==="openapi-3.0"&&$.nullable===!0&&J.length===1&&J[0]===null)return m.null();if(J.length===0)return m.never();if(J.length===1)return m.literal(J[0]);if(J.every((G)=>typeof G==="string"))return m.enum(J);let X=J.map((G)=>m.literal(G));if(X.length<2)return X[0];return m.union([X[0],X[1],...X.slice(2)])}if($.const!==void 0)return m.literal($.const);let U=$.type;if(Array.isArray(U)){let J=U.map((X)=>{let G={...$,type:X};return NV(G,_)});if(J.length===0)return m.never();if(J.length===1)return J[0];return m.union(J)}if(!U)return m.any();let W;switch(U){case"string":{let J=m.string();if($.format){let X=$.format;if(X==="email")J=J.check(m.email());else if(X==="uri"||X==="uri-reference")J=J.check(m.url());else if(X==="uuid"||X==="guid")J=J.check(m.uuid());else if(X==="date-time")J=J.check(m.iso.datetime());else if(X==="date")J=J.check(m.iso.date());else if(X==="time")J=J.check(m.iso.time());else if(X==="duration")J=J.check(m.iso.duration());else if(X==="ipv4")J=J.check(m.ipv4());else if(X==="ipv6")J=J.check(m.ipv6());else if(X==="mac")J=J.check(m.mac());else if(X==="cidr")J=J.check(m.cidrv4());else if(X==="cidr-v6")J=J.check(m.cidrv6());else if(X==="base64")J=J.check(m.base64());else if(X==="base64url")J=J.check(m.base64url());else if(X==="e164")J=J.check(m.e164());else if(X==="jwt")J=J.check(m.jwt());else if(X==="emoji")J=J.check(m.emoji());else if(X==="nanoid")J=J.check(m.nanoid());else if(X==="cuid")J=J.check(m.cuid());else if(X==="cuid2")J=J.check(m.cuid2());else if(X==="ulid")J=J.check(m.ulid());else if(X==="xid")J=J.check(m.xid());else if(X==="ksuid")J=J.check(m.ksuid())}if(typeof $.minLength==="number")J=J.min($.minLength);if(typeof $.maxLength==="number")J=J.max($.maxLength);if($.pattern)J=J.regex(new RegExp($.pattern));W=J;break}case"number":case"integer":{let J=U==="integer"?m.number().int():m.number();if(typeof $.minimum==="number")J=J.min($.minimum);if(typeof $.maximum==="number")J=J.max($.maximum);if(typeof $.exclusiveMinimum==="number")J=J.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")J=J.gt($.minimum);if(typeof $.exclusiveMaximum==="number")J=J.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")J=J.lt($.maximum);if(typeof $.multipleOf==="number")J=J.multipleOf($.multipleOf);W=J;break}case"boolean":{W=m.boolean();break}case"null":{W=m.null();break}case"object":{let J={},X=$.properties||{},G=new Set($.required||[]);for(let[Y,j]of Object.entries(X)){let O=H_(j,_);J[Y]=G.has(Y)?O:O.optional()}if($.propertyNames){let Y=H_($.propertyNames,_),j=$.additionalProperties&&typeof $.additionalProperties==="object"?H_($.additionalProperties,_):m.any();if(Object.keys(J).length===0){W=m.record(Y,j);break}let O=m.object(J).passthrough(),B=m.looseRecord(Y,j);W=m.intersection(O,B);break}if($.patternProperties){let Y=$.patternProperties,j=Object.keys(Y),O=[];for(let V of j){let L=H_(Y[V],_),N=m.string().regex(new RegExp(V));O.push(m.looseRecord(N,L))}let B=[];if(Object.keys(J).length>0)B.push(m.object(J).passthrough());if(B.push(...O),B.length===0)W=m.object({}).passthrough();else if(B.length===1)W=B[0];else{let V=m.intersection(B[0],B[1]);for(let L=2;L<B.length;L++)V=m.intersection(V,B[L]);W=V}break}let Q=m.object(J);if($.additionalProperties===!1)W=Q.strict();else if(typeof $.additionalProperties==="object")W=Q.catchall(H_($.additionalProperties,_));else W=Q.passthrough();break}case"array":{let{prefixItems:J,items:X}=$;if(J&&Array.isArray(J)){let G=J.map((Y)=>H_(Y,_)),Q=X&&typeof X==="object"&&!Array.isArray(X)?H_(X,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(Array.isArray(X)){let G=X.map((Y)=>H_(Y,_)),Q=$.additionalItems&&typeof $.additionalItems==="object"?H_($.additionalItems,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(X!==void 0){let G=H_(X,_),Q=m.array(G);if(typeof $.minItems==="number")Q=Q.min($.minItems);if(typeof $.maxItems==="number")Q=Q.max($.maxItems);W=Q}else W=m.array(m.any());break}default:throw Error(`Unsupported type: ${U}`)}return W}function H_($,_){if(typeof $==="boolean")return $?m.any():m.never();let U=NV($,_),W=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let Q=$.anyOf.map((j)=>H_(j,_)),Y=m.union(Q);U=W?m.intersection(U,Y):Y}if($.oneOf&&Array.isArray($.oneOf)){let Q=$.oneOf.map((j)=>H_(j,_)),Y=m.xor(Q);U=W?m.intersection(U,Y):Y}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)U=W?U:m.any();else{let Q=W?U:H_($.allOf[0],_),Y=W?0:1;for(let j=Y;j<$.allOf.length;j++)Q=m.intersection(Q,H_($.allOf[j],_));U=Q}if($.nullable===!0&&_.version==="openapi-3.0")U=m.nullable(U);if($.readOnly===!0)U=m.readonly(U);if($.default!==void 0)U=U.default($.default);let J={},X=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let Q of X)if(Q in $)J[Q]=$[Q];let G=["contentEncoding","contentMediaType","contentSchema"];for(let Q of G)if(Q in $)J[Q]=$[Q];for(let Q of Object.keys($))if(!gZ.has(Q))J[Q]=$[Q];if(Object.keys(J).length>0)_.registry.add(U,J);if($.description)U=U.describe($.description);return U}function Mq($,_){if(typeof $==="boolean")return $?m.any():m.never();let U;try{U=JSON.parse(JSON.stringify($))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let W=IZ(U,_?.defaultTarget),J=U.$defs||U.definitions||{},X={version:W,defs:J,refs:new Map,processing:new Set,rootSchema:U,registry:_?.registry??D_};return H_(U,X)}var m,gZ;var BV=y(()=>{KJ();x9();xJ();uJ();m={...mJ,...h9,iso:$1},gZ=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var l8={};g6(l8,{string:()=>kZ,number:()=>fZ,date:()=>TZ,boolean:()=>PZ,bigint:()=>CZ});function kZ($){return vD(J1,$)}function fZ($){return nD(X1,$)}function PZ($){return tD(G1,$)}function CZ($){return sD(Q1,$)}function TZ($){return j7(l2,$)}var HV=y(()=>{m_();uJ()});var r8={};g6(r8,{xor:()=>$q,xid:()=>Ez,void:()=>pz,uuidv7:()=>Nz,uuidv6:()=>Lz,uuidv4:()=>Oz,uuid:()=>qz,util:()=>f,url:()=>Bz,uppercase:()=>c0,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Fz,uint64:()=>cz,uint32:()=>uz,tuple:()=>N8,trim:()=>t0,treeifyError:()=>xX,transform:()=>qW,toUpperCase:()=>s0,toLowerCase:()=>a0,toJSONSchema:()=>TJ,templateLiteral:()=>Lq,symbol:()=>lz,superRefine:()=>n8,success:()=>Dq,stringbool:()=>Fq,stringFormat:()=>Sz,string:()=>m2,strictObject:()=>sz,startsWith:()=>r0,slugify:()=>e0,size:()=>c4,setErrorMap:()=>qV,set:()=>Xq,safeParseAsync:()=>n9,safeParse:()=>d9,safeEncodeAsync:()=>t9,safeEncode:()=>p9,safeDecodeAsync:()=>a9,safeDecode:()=>o9,registry:()=>EJ,regexes:()=>P_,regex:()=>d0,refine:()=>d8,record:()=>B8,readonly:()=>v8,property:()=>PJ,promise:()=>Nq,prettifyError:()=>mX,preprocess:()=>Kq,prefault:()=>w8,positive:()=>IJ,pipe:()=>nJ,partialRecord:()=>Uq,parseAsync:()=>u9,parse:()=>m9,overwrite:()=>a_,optional:()=>d2,object:()=>az,number:()=>e9,nullish:()=>jq,nullable:()=>n2,null:()=>W8,normalize:()=>o0,nonpositive:()=>kJ,nonoptional:()=>k8,nonnegative:()=>fJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Gq,nanoid:()=>Rz,nan:()=>zq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,meta:()=>Aq,maxSize:()=>D4,maxLength:()=>l4,map:()=>Wq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,looseRecord:()=>Jq,looseObject:()=>ez,locales:()=>y2,literal:()=>Qq,length:()=>r4,lazy:()=>x8,ksuid:()=>Kz,keyof:()=>tz,jwt:()=>Tz,json:()=>Eq,iso:()=>$1,ipv6:()=>Iz,ipv4:()=>Mz,invertCodec:()=>Oq,intersection:()=>O8,int64:()=>nz,int32:()=>mz,int:()=>dJ,instanceof:()=>bq,includes:()=>l0,httpUrl:()=>Hz,hostname:()=>Zz,hex:()=>vz,hash:()=>yz,guid:()=>zz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>OV,function:()=>Bq,fromJSONSchema:()=>Mq,formatError:()=>f2,float64:()=>xz,float32:()=>hz,flattenError:()=>k2,file:()=>Yq,exactOptional:()=>E8,enum:()=>zW,endsWith:()=>i0,encodeAsync:()=>r9,encode:()=>c9,emoji:()=>Vz,email:()=>Dz,e164:()=>Cz,discriminatedUnion:()=>_q,describe:()=>Rq,decodeAsync:()=>i9,decode:()=>l9,date:()=>oz,custom:()=>Vq,cuid2:()=>bz,cuid:()=>Az,core:()=>x6,config:()=>__,coerce:()=>l8,codec:()=>qq,clone:()=>N_,cidrv6:()=>kz,cidrv4:()=>wz,check:()=>Hq,catch:()=>C8,boolean:()=>$8,bigint:()=>dz,base64url:()=>Pz,base64:()=>fz,array:()=>r2,any:()=>iz,_function:()=>Bq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>D8,ZodXID:()=>sJ,ZodVoid:()=>Y8,ZodUnknown:()=>G8,ZodUnion:()=>p2,ZodUndefined:()=>U8,ZodUUID:()=>B6,ZodURL:()=>c2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>L8,ZodTransform:()=>b8,ZodTemplateLiteral:()=>y8,ZodSymbol:()=>_8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>V8,ZodRecord:()=>_1,ZodRealError:()=>g_,ZodReadonly:()=>Z8,ZodPromise:()=>m8,ZodPreprocess:()=>S8,ZodPrefault:()=>I8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>i2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>K8,ZodNull:()=>J8,ZodNonOptional:()=>LW,ZodNever:()=>Q8,ZodNanoID:()=>pJ,ZodNaN:()=>T8,ZodMap:()=>H8,ZodMAC:()=>s9,ZodLiteral:()=>R8,ZodLazy:()=>h8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>zV,ZodIntersection:()=>q8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>u8,ZodFirstPartyTypeKind:()=>c8,ZodFile:()=>A8,ZodExactOptional:()=>F8,ZodError:()=>jV,ZodEnum:()=>U1,ZodEmoji:()=>iJ,ZodEmail:()=>rJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>z8,ZodDefault:()=>M8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>P8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>j8,ZodAny:()=>X8,TimePrecision:()=>S9,NEVER:()=>ZX,$output:()=>q9,$input:()=>O9,$brand:()=>vX});var gq=y(()=>{m_();m_();cj();m_();SJ();BV();TD();xJ();xJ();HV();uJ();x9();Yz();jz();LV();__(RJ())});var VV={};g6(VV,{z:()=>r8,xor:()=>$q,xid:()=>Ez,void:()=>pz,uuidv7:()=>Nz,uuidv6:()=>Lz,uuidv4:()=>Oz,uuid:()=>qz,util:()=>f,url:()=>Bz,uppercase:()=>c0,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Fz,uint64:()=>cz,uint32:()=>uz,tuple:()=>N8,trim:()=>t0,treeifyError:()=>xX,transform:()=>qW,toUpperCase:()=>s0,toLowerCase:()=>a0,toJSONSchema:()=>TJ,templateLiteral:()=>Lq,symbol:()=>lz,superRefine:()=>n8,success:()=>Dq,stringbool:()=>Fq,stringFormat:()=>Sz,string:()=>m2,strictObject:()=>sz,startsWith:()=>r0,slugify:()=>e0,size:()=>c4,setErrorMap:()=>qV,set:()=>Xq,safeParseAsync:()=>n9,safeParse:()=>d9,safeEncodeAsync:()=>t9,safeEncode:()=>p9,safeDecodeAsync:()=>a9,safeDecode:()=>o9,registry:()=>EJ,regexes:()=>P_,regex:()=>d0,refine:()=>d8,record:()=>B8,readonly:()=>v8,property:()=>PJ,promise:()=>Nq,prettifyError:()=>mX,preprocess:()=>Kq,prefault:()=>w8,positive:()=>IJ,pipe:()=>nJ,partialRecord:()=>Uq,parseAsync:()=>u9,parse:()=>m9,overwrite:()=>a_,optional:()=>d2,object:()=>az,number:()=>e9,nullish:()=>jq,nullable:()=>n2,null:()=>W8,normalize:()=>o0,nonpositive:()=>kJ,nonoptional:()=>k8,nonnegative:()=>fJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Gq,nanoid:()=>Rz,nan:()=>zq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,meta:()=>Aq,maxSize:()=>D4,maxLength:()=>l4,map:()=>Wq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,looseRecord:()=>Jq,looseObject:()=>ez,locales:()=>y2,literal:()=>Qq,length:()=>r4,lazy:()=>x8,ksuid:()=>Kz,keyof:()=>tz,jwt:()=>Tz,json:()=>Eq,iso:()=>$1,ipv6:()=>Iz,ipv4:()=>Mz,invertCodec:()=>Oq,intersection:()=>O8,int64:()=>nz,int32:()=>mz,int:()=>dJ,instanceof:()=>bq,includes:()=>l0,httpUrl:()=>Hz,hostname:()=>Zz,hex:()=>vz,hash:()=>yz,guid:()=>zz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>OV,function:()=>Bq,fromJSONSchema:()=>Mq,formatError:()=>f2,float64:()=>xz,float32:()=>hz,flattenError:()=>k2,file:()=>Yq,exactOptional:()=>E8,enum:()=>zW,endsWith:()=>i0,encodeAsync:()=>r9,encode:()=>c9,emoji:()=>Vz,email:()=>Dz,e164:()=>Cz,discriminatedUnion:()=>_q,describe:()=>Rq,default:()=>SZ,decodeAsync:()=>i9,decode:()=>l9,date:()=>oz,custom:()=>Vq,cuid2:()=>bz,cuid:()=>Az,core:()=>x6,config:()=>__,coerce:()=>l8,codec:()=>qq,clone:()=>N_,cidrv6:()=>kz,cidrv4:()=>wz,check:()=>Hq,catch:()=>C8,boolean:()=>$8,bigint:()=>dz,base64url:()=>Pz,base64:()=>fz,array:()=>r2,any:()=>iz,_function:()=>Bq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>D8,ZodXID:()=>sJ,ZodVoid:()=>Y8,ZodUnknown:()=>G8,ZodUnion:()=>p2,ZodUndefined:()=>U8,ZodUUID:()=>B6,ZodURL:()=>c2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>L8,ZodTransform:()=>b8,ZodTemplateLiteral:()=>y8,ZodSymbol:()=>_8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>V8,ZodRecord:()=>_1,ZodRealError:()=>g_,ZodReadonly:()=>Z8,ZodPromise:()=>m8,ZodPreprocess:()=>S8,ZodPrefault:()=>I8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>i2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>K8,ZodNull:()=>J8,ZodNonOptional:()=>LW,ZodNever:()=>Q8,ZodNanoID:()=>pJ,ZodNaN:()=>T8,ZodMap:()=>H8,ZodMAC:()=>s9,ZodLiteral:()=>R8,ZodLazy:()=>h8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>zV,ZodIntersection:()=>q8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>u8,ZodFirstPartyTypeKind:()=>c8,ZodFile:()=>A8,ZodExactOptional:()=>F8,ZodError:()=>jV,ZodEnum:()=>U1,ZodEmoji:()=>iJ,ZodEmail:()=>rJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>z8,ZodDefault:()=>M8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>P8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>j8,ZodAny:()=>X8,TimePrecision:()=>S9,NEVER:()=>ZX,$output:()=>q9,$input:()=>O9,$brand:()=>vX});var SZ;var RV=y(()=>{gq();gq();SZ=r8});var ZW=G0((gu)=>{class LO extends Error{constructor($,_,U){super(U);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=_,this.exitCode=$,this.nestedError=void 0}}class hA extends LO{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}gu.CommanderError=LO;gu.InvalidArgumentError=hA});var g5=G0((Pu)=>{var{InvalidArgumentError:ku}=ZW();class xA{constructor($,_){switch(this.description=_||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new ku(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function fu($){let _=$.name()+($.variadic===!0?"...":"");return $.required?"<"+_+">":"["+_+"]"}Pu.Argument=xA;Pu.humanReadableArgName=fu});var NO=G0((Zu)=>{var{humanReadableArgName:Su}=g5();class mA{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let _=$.commands.filter((W)=>!W._hidden),U=$._getHelpCommand();if(U&&!U._hidden)_.push(U);if(this.sortSubcommands)_.sort((W,J)=>{return W.name().localeCompare(J.name())});return _}compareOptions($,_){let U=(W)=>{return W.short?W.short.replace(/^-/,""):W.long.replace(/^--/,"")};return U($).localeCompare(U(_))}visibleOptions($){let _=$.options.filter((W)=>!W.hidden),U=$._getHelpOption();if(U&&!U.hidden){let W=U.short&&$._findOption(U.short),J=U.long&&$._findOption(U.long);if(!W&&!J)_.push(U);else if(U.long&&!J)_.push($.createOption(U.long,U.description));else if(U.short&&!W)_.push($.createOption(U.short,U.description))}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let _=[];for(let U=$.parent;U;U=U.parent){let W=U.options.filter((J)=>!J.hidden);_.push(...W)}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((_)=>{_.description=_.description||$._argsDescription[_.name()]||""});if($.registeredArguments.find((_)=>_.description))return $.registeredArguments;return[]}subcommandTerm($){let _=$.registeredArguments.map((U)=>Su(U)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(_?" "+_:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,_){return _.visibleCommands($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleSubcommandTerm(_.subcommandTerm(W))))},0)}longestOptionTermLength($,_){return _.visibleOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestGlobalOptionTermLength($,_){return _.visibleGlobalOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestArgumentTermLength($,_){return _.visibleArguments($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleArgumentTerm(_.argumentTerm(W))))},0)}commandUsage($){let _=$._name;if($._aliases[0])_=_+"|"+$._aliases[0];let U="";for(let W=$.parent;W;W=W.parent)U=W.name()+" "+U;return U+_+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)_.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)_.push(`env: ${$.envVar}`);if(_.length>0)return`${$.description} (${_.join(", ")})`;return $.description}argumentDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0)_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(_.length>0){let U=`(${_.join(", ")})`;if($.description)return`${$.description} ${U}`;return U}return $.description}formatHelp($,_){let U=_.padWidth($,_),W=_.helpWidth??80;function J(O,B){return _.formatItem(O,U,B,_)}let X=[`${_.styleTitle("Usage:")} ${_.styleUsage(_.commandUsage($))}`,""],G=_.commandDescription($);if(G.length>0)X=X.concat([_.boxWrap(_.styleCommandDescription(G),W),""]);let Q=_.visibleArguments($).map((O)=>{return J(_.styleArgumentTerm(_.argumentTerm(O)),_.styleArgumentDescription(_.argumentDescription(O)))});if(Q.length>0)X=X.concat([_.styleTitle("Arguments:"),...Q,""]);let Y=_.visibleOptions($).map((O)=>{return J(_.styleOptionTerm(_.optionTerm(O)),_.styleOptionDescription(_.optionDescription(O)))});if(Y.length>0)X=X.concat([_.styleTitle("Options:"),...Y,""]);if(_.showGlobalOptions){let O=_.visibleGlobalOptions($).map((B)=>{return J(_.styleOptionTerm(_.optionTerm(B)),_.styleOptionDescription(_.optionDescription(B)))});if(O.length>0)X=X.concat([_.styleTitle("Global Options:"),...O,""])}let j=_.visibleCommands($).map((O)=>{return J(_.styleSubcommandTerm(_.subcommandTerm(O)),_.styleSubcommandDescription(_.subcommandDescription(O)))});if(j.length>0)X=X.concat([_.styleTitle("Commands:"),...j,""]);return X.join(` +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let G of $.seen.entries()){let Q=G[1];if(_===G[0]){X(G);continue}if($.external){let j=$.external.registry.get(G[0])?.id;if(_!==G[0]&&j){X(G);continue}}if($.metadataRegistry.get(G[0])?.id){X(G);continue}if(Q.cycle){X(G);continue}if(Q.count>1){if($.reused==="ref"){X(G);continue}}}}function o4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=(Q)=>{let Y=$.seen.get(Q);if(Y.ref===null)return;let j=Y.def??Y.schema,O={...j},B=Y.ref;if(Y.ref=null,B){W(B);let L=$.seen.get(B),N=L.schema;if(N.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))j.allOf=j.allOf??[],j.allOf.push(N);else Object.assign(j,N);if(Object.assign(j,O),Q._zod.parent===B)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(!(R in O))delete j[R]}if(N.$ref&&L.def)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(R in L.def&&JSON.stringify(j[R])===JSON.stringify(L.def[R]))delete j[R]}}let V=Q._zod.parent;if(V&&V!==B){W(V);let L=$.seen.get(V);if(L?.schema.$ref){if(j.$ref=L.schema.$ref,L.def)for(let N in j){if(N==="$ref"||N==="allOf")continue;if(N in L.def&&JSON.stringify(j[N])===JSON.stringify(L.def[N]))delete j[N]}}}$.override({zodSchema:Q,jsonSchema:j,path:Y.path??[]})};for(let Q of[...$.seen.entries()].reverse())W(Q[0]);let J={};if($.target==="draft-2020-12")J.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")J.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")J.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let Q=$.external.registry.get(_)?.id;if(!Q)throw Error("Schema is missing an `id` property");J.$id=$.external.uri(Q)}Object.assign(J,U.def??U.schema);let X=$.metadataRegistry.get(_)?.id;if(X!==void 0&&J.id===X)delete J.id;let G=$.external?.defs??{};for(let Q of $.seen.entries()){let Y=Q[1];if(Y.def&&Y.defId){if(Y.def.id===Y.defId)delete Y.def.id;G[Y.defId]=Y.def}}if($.external);else if(Object.keys(G).length>0)if($.target==="draft-2020-12")J.$defs=G;else J.definitions=G;try{let Q=JSON.parse(JSON.stringify(J));return Object.defineProperty(Q,"~standard",{value:{..._["~standard"],jsonSchema:{input:x2(_,"input",$.processors),output:x2(_,"output",$.processors)}},enumerable:!1,writable:!1}),Q}catch(Q){throw Error("Error converting schema to JSON.")}}function M_($,_){let U=_??{seen:new Set};if(U.seen.has($))return!1;U.seen.add($);let W=$._zod.def;if(W.type==="transform")return!0;if(W.type==="array")return M_(W.element,U);if(W.type==="set")return M_(W.valueType,U);if(W.type==="lazy")return M_(W.getter(),U);if(W.type==="promise"||W.type==="optional"||W.type==="nonoptional"||W.type==="nullable"||W.type==="readonly"||W.type==="default"||W.type==="prefault")return M_(W.innerType,U);if(W.type==="intersection")return M_(W.left,U)||M_(W.right,U);if(W.type==="record"||W.type==="map")return M_(W.keyType,U)||M_(W.valueType,U);if(W.type==="pipe"){if($._zod.traits.has("$ZodCodec"))return!0;return M_(W.in,U)||M_(W.out,U)}if(W.type==="object"){for(let J in W.shape)if(M_(W.shape[J],U))return!0;return!1}if(W.type==="union"){for(let J of W.options)if(M_(J,U))return!0;return!1}if(W.type==="tuple"){for(let J of W.items)if(M_(J,U))return!0;if(W.rest&&M_(W.rest,U))return!0;return!1}return!1}var AD=($,_={})=>(U)=>{let W=r4({...U,processors:_});return T$($,W),p4(W,$),o4(W,$)},x2=($,_,U={})=>(W)=>{let{libraryOptions:J,target:X}=W??{},G=r4({...J??{},target:X,io:_,processors:U});return T$($,G),p4(G,$),o4(G,$)};var CJ=y(()=>{bJ()});function TJ($,_){if("_idmap"in $){let W=$,J=r4({..._,processors:v9}),X={};for(let Y of W._idmap.entries()){let[j,O]=Y;T$(O,J)}let G={},Q={registry:W,uri:_?.uri,defs:X};J.external=Q;for(let Y of W._idmap.entries()){let[j,O]=Y;p4(J,O),G[j]=o4(J,O)}if(Object.keys(X).length>0){let Y=J.target==="draft-2020-12"?"$defs":"definitions";G.__shared={[Y]:X}}return{schemas:G}}let U=r4({..._,processors:v9});return T$($,U),p4(U,$),o4(U,$)}var KZ,ED=($,_,U,W)=>{let J=U;J.type="string";let{minimum:X,maximum:G,format:Q,patterns:Y,contentEncoding:j}=$._zod.bag;if(typeof X==="number")J.minLength=X;if(typeof G==="number")J.maxLength=G;if(Q){if(J.format=KZ[Q]??Q,J.format==="")delete J.format;if(Q==="time")delete J.format}if(j)J.contentEncoding=j;if(Y&&Y.size>0){let O=[...Y];if(O.length===1)J.pattern=O[0].source;else if(O.length>1)J.allOf=[...O.map((B)=>({..._.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"?{type:"string"}:{},pattern:B.source}))]}},FD=($,_,U,W)=>{let J=U,{minimum:X,maximum:G,format:Q,multipleOf:Y,exclusiveMaximum:j,exclusiveMinimum:O}=$._zod.bag;if(typeof Q==="string"&&Q.includes("int"))J.type="integer";else J.type="number";let B=typeof O==="number"&&O>=(X??Number.NEGATIVE_INFINITY),V=typeof j==="number"&&j<=(G??Number.POSITIVE_INFINITY),L=_.target==="draft-04"||_.target==="openapi-3.0";if(B)if(L)J.minimum=O,J.exclusiveMinimum=!0;else J.exclusiveMinimum=O;else if(typeof X==="number")J.minimum=X;if(V)if(L)J.maximum=j,J.exclusiveMaximum=!0;else J.exclusiveMaximum=j;else if(typeof G==="number")J.maximum=G;if(typeof Y==="number")J.multipleOf=Y},KD=($,_,U,W)=>{U.type="boolean"},bD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},MD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},ID=($,_,U,W)=>{if(_.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},gD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},wD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},kD=($,_,U,W)=>{U.not={}},PD=($,_,U,W)=>{},fD=($,_,U,W)=>{},CD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},TD=($,_,U,W)=>{let J=$._zod.def,X=QJ(J.entries);if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";U.enum=X},SD=($,_,U,W)=>{let J=$._zod.def,X=[];for(let G of J.values)if(G===void 0){if(_.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof G==="bigint")if(_.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else X.push(Number(G));else X.push(G);if(X.length===0);else if(X.length===1){let G=X[0];if(U.type=G===null?"null":typeof G,_.target==="draft-04"||_.target==="openapi-3.0")U.enum=[G];else U.const=G}else{if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";if(X.every((G)=>typeof G==="boolean"))U.type="boolean";if(X.every((G)=>G===null))U.type="null";U.enum=X}},ZD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},vD=($,_,U,W)=>{let J=U,X=$._zod.pattern;if(!X)throw Error("Pattern not found in template literal");J.type="string",J.pattern=X.source},yD=($,_,U,W)=>{let J=U,X={type:"string",format:"binary",contentEncoding:"binary"},{minimum:G,maximum:Q,mime:Y}=$._zod.bag;if(G!==void 0)X.minLength=G;if(Q!==void 0)X.maxLength=Q;if(Y)if(Y.length===1)X.contentMediaType=Y[0],Object.assign(J,X);else Object.assign(J,X),J.anyOf=Y.map((j)=>({contentMediaType:j}));else Object.assign(J,X)},hD=($,_,U,W)=>{U.type="boolean"},xD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},mD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},uD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},dD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},cD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},nD=($,_,U,W)=>{let J=U,X=$._zod.def,{minimum:G,maximum:Q}=$._zod.bag;if(typeof G==="number")J.minItems=G;if(typeof Q==="number")J.maxItems=Q;J.type="array",J.items=T$(X.element,_,{...W,path:[...W.path,"items"]})},lD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object",J.properties={};let G=X.shape;for(let j in G)J.properties[j]=T$(G[j],_,{...W,path:[...W.path,"properties",j]});let Q=new Set(Object.keys(G)),Y=new Set([...Q].filter((j)=>{let O=X.shape[j]._zod;if(_.io==="input")return O.optin===void 0;else return O.optout===void 0}));if(Y.size>0)J.required=Array.from(Y);if(X.catchall?._zod.def.type==="never")J.additionalProperties=!1;else if(!X.catchall){if(_.io==="output")J.additionalProperties=!1}else if(X.catchall)J.additionalProperties=T$(X.catchall,_,{...W,path:[...W.path,"additionalProperties"]})},y9=($,_,U,W)=>{let J=$._zod.def,X=J.inclusive===!1,G=J.options.map((Q,Y)=>T$(Q,_,{...W,path:[...W.path,X?"oneOf":"anyOf",Y]}));if(X)U.oneOf=G;else U.anyOf=G},iD=($,_,U,W)=>{let J=$._zod.def,X=T$(J.left,_,{...W,path:[...W.path,"allOf",0]}),G=T$(J.right,_,{...W,path:[...W.path,"allOf",1]}),Q=(j)=>("allOf"in j)&&Object.keys(j).length===1,Y=[...Q(X)?X.allOf:[X],...Q(G)?G.allOf:[G]];U.allOf=Y},rD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="array";let G=_.target==="draft-2020-12"?"prefixItems":"items",Q=_.target==="draft-2020-12"?"items":_.target==="openapi-3.0"?"items":"additionalItems",Y=X.items.map((V,L)=>T$(V,_,{...W,path:[...W.path,G,L]})),j=X.rest?T$(X.rest,_,{...W,path:[...W.path,Q,..._.target==="openapi-3.0"?[X.items.length]:[]]}):null;if(_.target==="draft-2020-12"){if(J.prefixItems=Y,j)J.items=j}else if(_.target==="openapi-3.0"){if(J.items={anyOf:Y},j)J.items.anyOf.push(j);if(J.minItems=Y.length,!j)J.maxItems=Y.length}else if(J.items=Y,j)J.additionalItems=j;let{minimum:O,maximum:B}=$._zod.bag;if(typeof O==="number")J.minItems=O;if(typeof B==="number")J.maxItems=B},pD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object";let G=X.keyType,Y=G._zod.bag?.patterns;if(X.mode==="loose"&&Y&&Y.size>0){let O=T$(X.valueType,_,{...W,path:[...W.path,"patternProperties","*"]});J.patternProperties={};for(let B of Y)J.patternProperties[B.source]=O}else{if(_.target==="draft-07"||_.target==="draft-2020-12")J.propertyNames=T$(X.keyType,_,{...W,path:[...W.path,"propertyNames"]});J.additionalProperties=T$(X.valueType,_,{...W,path:[...W.path,"additionalProperties"]})}let j=G._zod.values;if(j){let O=[...j].filter((B)=>typeof B==="string"||typeof B==="number");if(O.length>0)J.required=O}},oD=($,_,U,W)=>{let J=$._zod.def,X=T$(J.innerType,_,W),G=_.seen.get($);if(_.target==="openapi-3.0")G.ref=J.innerType,U.nullable=!0;else U.anyOf=[X,{type:"null"}]},tD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},aD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.default=JSON.parse(JSON.stringify(J.defaultValue))},sD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);if(X.ref=J.innerType,_.io==="input")U._prefault=JSON.parse(JSON.stringify(J.defaultValue))},eD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType;let G;try{G=J.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=G},$z=($,_,U,W)=>{let J=$._zod.def,X=J.in._zod.traits.has("$ZodTransform"),G=_.io==="input"?X?J.out:J.in:J.out;T$(G,_,W);let Q=_.seen.get($);Q.ref=G},_z=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.readOnly=!0},Uz=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},h9=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},Jz=($,_,U,W)=>{let J=$._zod.innerType;T$(J,_,W);let X=_.seen.get($);X.ref=J},v9;var SJ=y(()=>{CJ();p();KZ={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},v9={string:ED,number:FD,boolean:KD,bigint:bD,symbol:MD,null:ID,undefined:gD,void:wD,never:kD,any:PD,unknown:fD,date:CD,enum:TD,literal:SD,nan:ZD,template_literal:vD,file:yD,success:hD,custom:xD,function:mD,transform:uD,map:dD,set:cD,array:nD,object:lD,union:y9,intersection:iD,tuple:rD,record:pD,nullable:oD,nonoptional:tD,default:aD,prefault:sD,catch:eD,pipe:$z,readonly:_z,promise:Uz,optional:h9,lazy:Jz}});class Wz{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";this.ctx=r4({processors:v9,target:_,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,_={path:[],schemaPath:[]}){return T$($,this.ctx,_)}emit($,_){if(_){if(_.cycles)this.ctx.cycles=_.cycles;if(_.reused)this.ctx.reused=_.reused;if(_.external)this.ctx.external=_.external}p4(this.ctx,$);let U=o4(this.ctx,$),{"~standard":W,...J}=U;return J}}var XV=y(()=>{SJ();CJ()});var GV={};var QV=()=>{};var x6={};I6(x6,{version:()=>KY,util:()=>P,treeifyError:()=>mX,toJSONSchema:()=>TJ,toDotPath:()=>fH,safeParseAsync:()=>wQ,safeParse:()=>gQ,safeEncodeAsync:()=>IT,safeEncode:()=>bT,safeDecodeAsync:()=>gT,safeDecode:()=>MT,registry:()=>KJ,regexes:()=>f_,process:()=>T$,prettifyError:()=>uX,parseAsync:()=>cX,parse:()=>dX,meta:()=>VD,locales:()=>y2,isValidJWT:()=>eH,isValidBase64URL:()=>sH,isValidBase64:()=>iY,initializeContext:()=>r4,globalRegistry:()=>D_,globalConfig:()=>v0,formatError:()=>P2,flattenError:()=>k2,finalize:()=>o4,extractDefs:()=>p4,encodeAsync:()=>FT,encode:()=>AT,describe:()=>HD,decodeAsync:()=>KT,decode:()=>ET,createToJSONSchemaMethod:()=>AD,createStandardJSONSchemaMethod:()=>x2,config:()=>__,clone:()=>N_,_xor:()=>_Z,_xid:()=>M9,_void:()=>YD,_uuidv7:()=>R9,_uuidv6:()=>V9,_uuidv4:()=>H9,_uuid:()=>B9,_url:()=>IJ,_uppercase:()=>n0,_unknown:()=>GD,_union:()=>$Z,_undefined:()=>JD,_ulid:()=>b9,_uint64:()=>_D,_uint32:()=>o7,_tuple:()=>WZ,_trim:()=>t0,_transform:()=>zZ,_toUpperCase:()=>s0,_toLowerCase:()=>a0,_templateLiteral:()=>AZ,_symbol:()=>UD,_superRefine:()=>BD,_success:()=>BZ,_stringbool:()=>RD,_stringFormat:()=>h2,_string:()=>v7,_startsWith:()=>i0,_slugify:()=>e0,_size:()=>n4,_set:()=>QZ,_safeParseAsync:()=>S2,_safeParse:()=>T2,_safeEncodeAsync:()=>tX,_safeEncode:()=>pX,_safeDecodeAsync:()=>aX,_safeDecode:()=>oX,_regex:()=>d0,_refine:()=>ND,_record:()=>XZ,_readonly:()=>RZ,_property:()=>fJ,_promise:()=>FZ,_positive:()=>gJ,_pipe:()=>VZ,_parseAsync:()=>C2,_parse:()=>f2,_overwrite:()=>a_,_optional:()=>qZ,_number:()=>c7,_nullable:()=>OZ,_null:()=>WD,_normalize:()=>o0,_nonpositive:()=>kJ,_nonoptional:()=>NZ,_nonnegative:()=>PJ,_never:()=>QD,_negative:()=>wJ,_nativeEnum:()=>jZ,_nanoid:()=>E9,_nan:()=>zD,_multipleOf:()=>j4,_minSize:()=>N6,_minLength:()=>h6,_min:()=>B_,_mime:()=>p0,_maxSize:()=>D4,_maxLength:()=>l4,_max:()=>C_,_map:()=>GZ,_mac:()=>h7,_lte:()=>C_,_lt:()=>O6,_lowercase:()=>c0,_literal:()=>DZ,_length:()=>i4,_lazy:()=>EZ,_ksuid:()=>I9,_jwt:()=>S9,_isoTime:()=>u7,_isoDuration:()=>d7,_isoDateTime:()=>x7,_isoDate:()=>m7,_ipv6:()=>w9,_ipv4:()=>g9,_intersection:()=>JZ,_int64:()=>$D,_int32:()=>p7,_int:()=>l7,_includes:()=>l0,_guid:()=>MJ,_gte:()=>B_,_gt:()=>L6,_float64:()=>r7,_float32:()=>i7,_file:()=>OD,_enum:()=>YZ,_endsWith:()=>r0,_encodeAsync:()=>iX,_encode:()=>nX,_emoji:()=>A9,_email:()=>N9,_e164:()=>T9,_discriminatedUnion:()=>UZ,_default:()=>LZ,_decodeAsync:()=>rX,_decode:()=>lX,_date:()=>jD,_custom:()=>LD,_cuid2:()=>K9,_cuid:()=>F9,_coercedString:()=>y7,_coercedNumber:()=>n7,_coercedDate:()=>DD,_coercedBoolean:()=>a7,_coercedBigint:()=>e7,_cidrv6:()=>P9,_cidrv4:()=>k9,_check:()=>JV,_catch:()=>HZ,_boolean:()=>t7,_bigint:()=>s7,_base64url:()=>C9,_base64:()=>f9,_array:()=>qD,_any:()=>XD,TimePrecision:()=>Z9,NEVER:()=>vX,JSONSchemaGenerator:()=>Wz,JSONSchema:()=>GV,Doc:()=>J9,$output:()=>O9,$input:()=>L9,$constructor:()=>F,$brand:()=>yX,$ZodXor:()=>Dj,$ZodXID:()=>ZY,$ZodVoid:()=>Gj,$ZodUnknown:()=>Wj,$ZodUnion:()=>HJ,$ZodUndefined:()=>_j,$ZodUUID:()=>gY,$ZodURL:()=>kY,$ZodULID:()=>SY,$ZodType:()=>D$,$ZodTuple:()=>D9,$ZodTransform:()=>Rj,$ZodTemplateLiteral:()=>Pj,$ZodSymbol:()=>$j,$ZodSuccess:()=>Mj,$ZodStringFormat:()=>u$,$ZodString:()=>u0,$ZodSet:()=>Nj,$ZodRegistry:()=>Z7,$ZodRecord:()=>Oj,$ZodRealError:()=>P_,$ZodReadonly:()=>kj,$ZodPromise:()=>Cj,$ZodPreprocess:()=>wj,$ZodPrefault:()=>Kj,$ZodPipe:()=>q9,$ZodOptional:()=>z9,$ZodObjectJIT:()=>jj,$ZodObject:()=>U3,$ZodNumberFormat:()=>sY,$ZodNumber:()=>Y9,$ZodNullable:()=>Ej,$ZodNull:()=>Uj,$ZodNonOptional:()=>bj,$ZodNever:()=>Xj,$ZodNanoID:()=>fY,$ZodNaN:()=>gj,$ZodMap:()=>Lj,$ZodMAC:()=>cY,$ZodLiteral:()=>Hj,$ZodLazy:()=>Tj,$ZodKSUID:()=>vY,$ZodJWT:()=>tY,$ZodIntersection:()=>qj,$ZodISOTime:()=>xY,$ZodISODuration:()=>mY,$ZodISODateTime:()=>yY,$ZodISODate:()=>hY,$ZodIPv6:()=>dY,$ZodIPv4:()=>uY,$ZodGUID:()=>IY,$ZodFunction:()=>fj,$ZodFile:()=>Vj,$ZodExactOptional:()=>Aj,$ZodError:()=>qJ,$ZodEnum:()=>Bj,$ZodEncodeError:()=>y0,$ZodEmoji:()=>PY,$ZodEmail:()=>wY,$ZodE164:()=>oY,$ZodDiscriminatedUnion:()=>zj,$ZodDefault:()=>Fj,$ZodDate:()=>Qj,$ZodCustomStringFormat:()=>aY,$ZodCustom:()=>Sj,$ZodCodec:()=>VJ,$ZodCheckUpperCase:()=>BY,$ZodCheckStringFormat:()=>Z2,$ZodCheckStartsWith:()=>VY,$ZodCheckSizeEquals:()=>DY,$ZodCheckRegex:()=>LY,$ZodCheckProperty:()=>AY,$ZodCheckOverwrite:()=>FY,$ZodCheckNumberFormat:()=>GY,$ZodCheckMultipleOf:()=>XY,$ZodCheckMinSize:()=>jY,$ZodCheckMinLength:()=>qY,$ZodCheckMimeType:()=>EY,$ZodCheckMaxSize:()=>YY,$ZodCheckMaxLength:()=>zY,$ZodCheckLowerCase:()=>NY,$ZodCheckLessThan:()=>$9,$ZodCheckLengthEquals:()=>OY,$ZodCheckIncludes:()=>HY,$ZodCheckGreaterThan:()=>_9,$ZodCheckEndsWith:()=>RY,$ZodCheckBigIntFormat:()=>QY,$ZodCheck:()=>c$,$ZodCatch:()=>Ij,$ZodCUID2:()=>TY,$ZodCUID:()=>CY,$ZodCIDRv6:()=>lY,$ZodCIDRv4:()=>nY,$ZodBoolean:()=>BJ,$ZodBigIntFormat:()=>eY,$ZodBigInt:()=>j9,$ZodBase64URL:()=>pY,$ZodBase64:()=>rY,$ZodAsyncError:()=>y6,$ZodArray:()=>Yj,$ZodAny:()=>Jj});var m_=y(()=>{p();eX();S7();SJ();XV();QV();h0();kQ();IQ();Zj();U9();bY();bJ();WV();CJ()});var x9={};I6(x9,{uppercase:()=>n0,trim:()=>t0,toUpperCase:()=>s0,toLowerCase:()=>a0,startsWith:()=>i0,slugify:()=>e0,size:()=>n4,regex:()=>d0,property:()=>fJ,positive:()=>gJ,overwrite:()=>a_,normalize:()=>o0,nonpositive:()=>kJ,nonnegative:()=>PJ,negative:()=>wJ,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,maxSize:()=>D4,maxLength:()=>l4,lte:()=>C_,lt:()=>O6,lowercase:()=>c0,length:()=>i4,includes:()=>l0,gte:()=>B_,gt:()=>L6,endsWith:()=>r0});var m9=y(()=>{m_()});var $1={};I6($1,{time:()=>Qz,duration:()=>Yz,datetime:()=>Xz,date:()=>Gz,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ});function Xz($){return x7(ZJ,$)}function Gz($){return m7(vJ,$)}function Qz($){return u7(yJ,$)}function Yz($){return d7(hJ,$)}var ZJ,vJ,yJ,hJ;var xJ=y(()=>{m_();uJ();ZJ=F("ZodISODateTime",($,_)=>{yY.init($,_),y$.init($,_)});vJ=F("ZodISODate",($,_)=>{hY.init($,_),y$.init($,_)});yJ=F("ZodISOTime",($,_)=>{xY.init($,_),y$.init($,_)});hJ=F("ZodISODuration",($,_)=>{mY.init($,_),y$.init($,_)})});var YV=($,_)=>{qJ.init($,_),$.name="ZodError",Object.defineProperties($,{format:{value:(U)=>P2($,U)},flatten:{value:(U)=>k2($,U)},addIssue:{value:(U)=>{$.issues.push(U),$.message=JSON.stringify($.issues,I2,2)}},addIssues:{value:(U)=>{$.issues.push(...U),$.message=JSON.stringify($.issues,I2,2)}},isEmpty:{get(){return $.issues.length===0}}})},jV,I_;var jz=y(()=>{m_();m_();p();jV=F("ZodError",YV),I_=F("ZodError",YV,{Parent:Error})});var u9,d9,c9,n9,l9,i9,r9,p9,o9,t9,a9,s9;var Dz=y(()=>{m_();jz();u9=f2(I_),d9=C2(I_),c9=T2(I_),n9=S2(I_),l9=nX(I_),i9=lX(I_),r9=iX(I_),p9=rX(I_),o9=pX(I_),t9=oX(I_),a9=tX(I_),s9=aX(I_)});var mJ={};I6(mJ,{xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,url:()=>Hz,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>B8,transform:()=>qW,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>n8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>m2,strictObject:()=>ez,set:()=>Gq,refine:()=>c8,record:()=>H8,readonly:()=>y8,promise:()=>Bq,preprocess:()=>Mq,prefault:()=>k8,pipe:()=>cJ,partialRecord:()=>Jq,optional:()=>d2,object:()=>sz,number:()=>$8,nullish:()=>Dq,nullable:()=>c2,null:()=>X8,nonoptional:()=>P8,never:()=>jW,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,meta:()=>Eq,map:()=>Xq,mac:()=>gz,looseRecord:()=>Wq,looseObject:()=>$q,literal:()=>Yq,lazy:()=>m8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>L8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Fq,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,function:()=>Hq,float64:()=>mz,float32:()=>xz,file:()=>jq,exactOptional:()=>b8,enum:()=>zW,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,date:()=>tz,custom:()=>Rq,cuid2:()=>Fz,cuid:()=>Ez,codec:()=>Oq,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>T8,boolean:()=>_8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>i2,any:()=>pz,_function:()=>Hq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>z8,ZodXID:()=>sJ,ZodVoid:()=>j8,ZodUnknown:()=>Q8,ZodUnion:()=>p2,ZodUndefined:()=>J8,ZodUUID:()=>B6,ZodURL:()=>n2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>N8,ZodTransform:()=>F8,ZodTemplateLiteral:()=>h8,ZodSymbol:()=>U8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>R8,ZodRecord:()=>_1,ZodReadonly:()=>v8,ZodPromise:()=>u8,ZodPreprocess:()=>Z8,ZodPrefault:()=>w8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>r2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>M8,ZodNull:()=>W8,ZodNonOptional:()=>LW,ZodNever:()=>Y8,ZodNanoID:()=>pJ,ZodNaN:()=>S8,ZodMap:()=>V8,ZodMAC:()=>e9,ZodLiteral:()=>A8,ZodLazy:()=>x8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIntersection:()=>O8,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>d8,ZodFile:()=>E8,ZodExactOptional:()=>K8,ZodEnum:()=>U1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>q8,ZodDefault:()=>I8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>C8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>D8,ZodAny:()=>G8});function nJ($,_,U){let W=Object.getPrototypeOf($),J=DV.get(W);if(!J)J=new Set,DV.set(W,J);if(J.has(_))return;J.add(_);for(let X in U){let G=U[X];Object.defineProperty(W,X,{configurable:!0,enumerable:!1,get(){let Q=G.bind(this);return Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q}),Q},set(Q){Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q})}})}}function m2($){return v7(J1,$)}function zz($){return N9(iJ,$)}function qz($){return MJ(u2,$)}function Oz($){return B9(B6,$)}function Lz($){return H9(B6,$)}function Nz($){return V9(B6,$)}function Bz($){return R9(B6,$)}function Hz($){return IJ(n2,$)}function Vz($){return IJ(n2,{protocol:f_.httpProtocol,hostname:f_.domain,...P.normalizeParams($)})}function Rz($){return A9(rJ,$)}function Az($){return E9(pJ,$)}function Ez($){return F9(oJ,$)}function Fz($){return K9(tJ,$)}function Kz($){return b9(aJ,$)}function bz($){return M9(sJ,$)}function Mz($){return I9(eJ,$)}function Iz($){return g9($W,$)}function gz($){return h7(e9,$)}function wz($){return w9(_W,$)}function kz($){return k9(UW,$)}function Pz($){return P9(JW,$)}function fz($){return f9(WW,$)}function Cz($){return C9(XW,$)}function Tz($){return T9(GW,$)}function Sz($){return S9(QW,$)}function Zz($,_,U={}){return h2(W1,$,_,U)}function vz($){return h2(W1,"hostname",f_.hostname,$)}function yz($){return h2(W1,"hex",f_.hex,$)}function hz($,_){let U=_?.enc??"hex",W=`${$}_${U}`,J=f_[W];if(!J)throw Error(`Unrecognized hash format: ${W}`);return h2(W1,W,J,_)}function $8($){return c7(X1,$)}function dJ($){return l7(a4,$)}function xz($){return i7(a4,$)}function mz($){return r7(a4,$)}function uz($){return p7(a4,$)}function dz($){return o7(a4,$)}function _8($){return t7(G1,$)}function cz($){return s7(Q1,$)}function nz($){return $D(YW,$)}function lz($){return _D(YW,$)}function iz($){return UD(U8,$)}function rz($){return JD(J8,$)}function X8($){return WD(W8,$)}function pz(){return XD(G8)}function t4(){return GD(Q8)}function jW($){return QD(Y8,$)}function oz($){return YD(j8,$)}function tz($){return jD(l2,$)}function i2($,_){return qD(D8,$,_)}function az($){let _=$._zod.def.shape;return zW(Object.keys(_))}function sz($,_){let U={type:"object",shape:$??{},...P.normalizeParams(_)};return new r2(U)}function ez($,_){return new r2({type:"object",shape:$,catchall:jW(),...P.normalizeParams(_)})}function $q($,_){return new r2({type:"object",shape:$,catchall:t4(),...P.normalizeParams(_)})}function DW($,_){return new p2({type:"union",options:$,...P.normalizeParams(_)})}function _q($,_){return new z8({type:"union",options:$,inclusive:!1,...P.normalizeParams(_)})}function Uq($,_,U){return new q8({type:"union",options:_,discriminator:$,...P.normalizeParams(U)})}function L8($,_){return new O8({type:"intersection",left:$,right:_})}function B8($,_,U){let W=_ instanceof D$,J=W?U:_;return new N8({type:"tuple",items:$,rest:W?_:null,...P.normalizeParams(J)})}function H8($,_,U){if(!_||!_._zod)return new _1({type:"record",keyType:m2(),valueType:$,...P.normalizeParams(_)});return new _1({type:"record",keyType:$,valueType:_,...P.normalizeParams(U)})}function Jq($,_,U){let W=N_($);return W._zod.values=void 0,new _1({type:"record",keyType:W,valueType:_,...P.normalizeParams(U)})}function Wq($,_,U){return new _1({type:"record",keyType:$,valueType:_,mode:"loose",...P.normalizeParams(U)})}function Xq($,_,U){return new V8({type:"map",keyType:$,valueType:_,...P.normalizeParams(U)})}function Gq($,_){return new R8({type:"set",valueType:$,...P.normalizeParams(_)})}function zW($,_){let U=Array.isArray($)?Object.fromEntries($.map((W)=>[W,W])):$;return new U1({type:"enum",entries:U,...P.normalizeParams(_)})}function Qq($,_){return new U1({type:"enum",entries:$,...P.normalizeParams(_)})}function Yq($,_){return new A8({type:"literal",values:Array.isArray($)?$:[$],...P.normalizeParams(_)})}function jq($){return OD(E8,$)}function qW($){return new F8({type:"transform",transform:$})}function d2($){return new OW({type:"optional",innerType:$})}function b8($){return new K8({type:"optional",innerType:$})}function c2($){return new M8({type:"nullable",innerType:$})}function Dq($){return d2(c2($))}function g8($,_){return new I8({type:"default",innerType:$,get defaultValue(){return typeof _==="function"?_():P.shallowClone(_)}})}function k8($,_){return new w8({type:"prefault",innerType:$,get defaultValue(){return typeof _==="function"?_():P.shallowClone(_)}})}function P8($,_){return new LW({type:"nonoptional",innerType:$,...P.normalizeParams(_)})}function zq($){return new f8({type:"success",innerType:$})}function T8($,_){return new C8({type:"catch",innerType:$,catchValue:typeof _==="function"?_:()=>_})}function qq($){return zD(S8,$)}function cJ($,_){return new o2({type:"pipe",in:$,out:_})}function Oq($,_,U){return new t2({type:"pipe",in:$,out:_,transform:U.decode,reverseTransform:U.encode})}function Lq($){let _=$._zod.def;return new t2({type:"pipe",in:_.out,out:_.in,transform:_.reverseTransform,reverseTransform:_.transform})}function y8($){return new v8({type:"readonly",innerType:$})}function Nq($,_){return new h8({type:"template_literal",parts:$,...P.normalizeParams(_)})}function m8($){return new x8({type:"lazy",getter:$})}function Bq($){return new u8({type:"promise",innerType:$})}function Hq($){return new d8({type:"function",input:Array.isArray($?.input)?B8($?.input):$?.input??i2(t4()),output:$?.output??t4()})}function Vq($){let _=new c$({check:"custom"});return _._zod.check=$,_}function Rq($,_){return LD(a2,$??(()=>!0),_)}function c8($,_={}){return ND(a2,$,_)}function n8($,_){return BD($,_)}function Fq($,_={}){let U=new a2({type:"custom",check:"custom",fn:(W)=>W instanceof $,abort:!0,...P.normalizeParams(_)});return U._zod.bag.Class=$,U._zod.check=(W)=>{if(!(W.value instanceof $))W.issues.push({code:"invalid_type",expected:$.name,input:W.value,inst:U,path:[...U._zod.def.path??[]]})},U}function bq($){let _=m8(()=>{return DW([m2($),$8(),_8(),X8(),i2(_),H8(m2(),_)])});return _}function Mq($,_){return new Z8({type:"pipe",in:qW($),out:_})}var DV,q$,lJ,J1,y$,iJ,u2,B6,n2,rJ,pJ,oJ,tJ,aJ,sJ,eJ,$W,e9,_W,UW,JW,WW,XW,GW,QW,W1,X1,a4,G1,Q1,YW,U8,J8,W8,G8,Q8,Y8,j8,l2,D8,r2,p2,z8,q8,O8,N8,_1,V8,R8,U1,A8,E8,F8,OW,K8,M8,I8,w8,LW,f8,C8,S8,o2,t2,Z8,v8,h8,x8,u8,d8,a2,Aq,Eq,Kq=(...$)=>RD({Codec:t2,Boolean:G1,String:J1},...$);var uJ=y(()=>{m_();m_();SJ();CJ();m9();xJ();Dz();DV=new WeakMap;q$=F("ZodType",($,_)=>{return D$.init($,_),Object.assign($["~standard"],{jsonSchema:{input:x2($,"input"),output:x2($,"output")}}),$.toJSONSchema=AD($,{}),$.def=_,$.type=_.type,Object.defineProperty($,"_def",{value:_}),$.parse=(U,W)=>u9($,U,W,{callee:$.parse}),$.safeParse=(U,W)=>c9($,U,W),$.parseAsync=async(U,W)=>d9($,U,W,{callee:$.parseAsync}),$.safeParseAsync=async(U,W)=>n9($,U,W),$.spa=$.safeParseAsync,$.encode=(U,W)=>l9($,U,W),$.decode=(U,W)=>i9($,U,W),$.encodeAsync=async(U,W)=>r9($,U,W),$.decodeAsync=async(U,W)=>p9($,U,W),$.safeEncode=(U,W)=>o9($,U,W),$.safeDecode=(U,W)=>t9($,U,W),$.safeEncodeAsync=async(U,W)=>a9($,U,W),$.safeDecodeAsync=async(U,W)=>s9($,U,W),nJ($,"ZodType",{check(...U){let W=this.def;return this.clone(P.mergeDefs(W,{checks:[...W.checks??[],...U.map((J)=>typeof J==="function"?{_zod:{check:J,def:{check:"custom"},onattach:[]}}:J)]}),{parent:!0})},with(...U){return this.check(...U)},clone(U,W){return N_(this,U,W)},brand(){return this},register(U,W){return U.add(this,W),this},refine(U,W){return this.check(c8(U,W))},superRefine(U,W){return this.check(n8(U,W))},overwrite(U){return this.check(a_(U))},optional(){return d2(this)},exactOptional(){return b8(this)},nullable(){return c2(this)},nullish(){return d2(c2(this))},nonoptional(U){return P8(this,U)},array(){return i2(this)},or(U){return DW([this,U])},and(U){return L8(this,U)},transform(U){return cJ(this,qW(U))},default(U){return g8(this,U)},prefault(U){return k8(this,U)},catch(U){return T8(this,U)},pipe(U){return cJ(this,U)},readonly(){return y8(this)},describe(U){let W=this.clone();return D_.add(W,{description:U}),W},meta(...U){if(U.length===0)return D_.get(this);let W=this.clone();return D_.add(W,U[0]),W},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty($,"description",{get(){return D_.get($)?.description},configurable:!0}),$}),lJ=F("_ZodString",($,_)=>{u0.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>ED($,W,J,X);let U=$._zod.bag;$.format=U.format??null,$.minLength=U.minimum??null,$.maxLength=U.maximum??null,nJ($,"_ZodString",{regex(...W){return this.check(d0(...W))},includes(...W){return this.check(l0(...W))},startsWith(...W){return this.check(i0(...W))},endsWith(...W){return this.check(r0(...W))},min(...W){return this.check(h6(...W))},max(...W){return this.check(l4(...W))},length(...W){return this.check(i4(...W))},nonempty(...W){return this.check(h6(1,...W))},lowercase(W){return this.check(c0(W))},uppercase(W){return this.check(n0(W))},trim(){return this.check(t0())},normalize(...W){return this.check(o0(...W))},toLowerCase(){return this.check(a0())},toUpperCase(){return this.check(s0())},slugify(){return this.check(e0())}})}),J1=F("ZodString",($,_)=>{u0.init($,_),lJ.init($,_),$.email=(U)=>$.check(N9(iJ,U)),$.url=(U)=>$.check(IJ(n2,U)),$.jwt=(U)=>$.check(S9(QW,U)),$.emoji=(U)=>$.check(A9(rJ,U)),$.guid=(U)=>$.check(MJ(u2,U)),$.uuid=(U)=>$.check(B9(B6,U)),$.uuidv4=(U)=>$.check(H9(B6,U)),$.uuidv6=(U)=>$.check(V9(B6,U)),$.uuidv7=(U)=>$.check(R9(B6,U)),$.nanoid=(U)=>$.check(E9(pJ,U)),$.guid=(U)=>$.check(MJ(u2,U)),$.cuid=(U)=>$.check(F9(oJ,U)),$.cuid2=(U)=>$.check(K9(tJ,U)),$.ulid=(U)=>$.check(b9(aJ,U)),$.base64=(U)=>$.check(f9(WW,U)),$.base64url=(U)=>$.check(C9(XW,U)),$.xid=(U)=>$.check(M9(sJ,U)),$.ksuid=(U)=>$.check(I9(eJ,U)),$.ipv4=(U)=>$.check(g9($W,U)),$.ipv6=(U)=>$.check(w9(_W,U)),$.cidrv4=(U)=>$.check(k9(UW,U)),$.cidrv6=(U)=>$.check(P9(JW,U)),$.e164=(U)=>$.check(T9(GW,U)),$.datetime=(U)=>$.check(Xz(U)),$.date=(U)=>$.check(Gz(U)),$.time=(U)=>$.check(Qz(U)),$.duration=(U)=>$.check(Yz(U))});y$=F("ZodStringFormat",($,_)=>{u$.init($,_),lJ.init($,_)}),iJ=F("ZodEmail",($,_)=>{wY.init($,_),y$.init($,_)});u2=F("ZodGUID",($,_)=>{IY.init($,_),y$.init($,_)});B6=F("ZodUUID",($,_)=>{gY.init($,_),y$.init($,_)});n2=F("ZodURL",($,_)=>{kY.init($,_),y$.init($,_)});rJ=F("ZodEmoji",($,_)=>{PY.init($,_),y$.init($,_)});pJ=F("ZodNanoID",($,_)=>{fY.init($,_),y$.init($,_)});oJ=F("ZodCUID",($,_)=>{CY.init($,_),y$.init($,_)});tJ=F("ZodCUID2",($,_)=>{TY.init($,_),y$.init($,_)});aJ=F("ZodULID",($,_)=>{SY.init($,_),y$.init($,_)});sJ=F("ZodXID",($,_)=>{ZY.init($,_),y$.init($,_)});eJ=F("ZodKSUID",($,_)=>{vY.init($,_),y$.init($,_)});$W=F("ZodIPv4",($,_)=>{uY.init($,_),y$.init($,_)});e9=F("ZodMAC",($,_)=>{cY.init($,_),y$.init($,_)});_W=F("ZodIPv6",($,_)=>{dY.init($,_),y$.init($,_)});UW=F("ZodCIDRv4",($,_)=>{nY.init($,_),y$.init($,_)});JW=F("ZodCIDRv6",($,_)=>{lY.init($,_),y$.init($,_)});WW=F("ZodBase64",($,_)=>{rY.init($,_),y$.init($,_)});XW=F("ZodBase64URL",($,_)=>{pY.init($,_),y$.init($,_)});GW=F("ZodE164",($,_)=>{oY.init($,_),y$.init($,_)});QW=F("ZodJWT",($,_)=>{tY.init($,_),y$.init($,_)});W1=F("ZodCustomStringFormat",($,_)=>{aY.init($,_),y$.init($,_)});X1=F("ZodNumber",($,_)=>{Y9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>FD($,W,J,X),nJ($,"ZodNumber",{gt(W,J){return this.check(L6(W,J))},gte(W,J){return this.check(B_(W,J))},min(W,J){return this.check(B_(W,J))},lt(W,J){return this.check(O6(W,J))},lte(W,J){return this.check(C_(W,J))},max(W,J){return this.check(C_(W,J))},int(W){return this.check(dJ(W))},safe(W){return this.check(dJ(W))},positive(W){return this.check(L6(0,W))},nonnegative(W){return this.check(B_(0,W))},negative(W){return this.check(O6(0,W))},nonpositive(W){return this.check(C_(0,W))},multipleOf(W,J){return this.check(j4(W,J))},step(W,J){return this.check(j4(W,J))},finite(){return this}});let U=$._zod.bag;$.minValue=Math.max(U.minimum??Number.NEGATIVE_INFINITY,U.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(U.maximum??Number.POSITIVE_INFINITY,U.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(U.format??"").includes("int")||Number.isSafeInteger(U.multipleOf??0.5),$.isFinite=!0,$.format=U.format??null});a4=F("ZodNumberFormat",($,_)=>{sY.init($,_),X1.init($,_)});G1=F("ZodBoolean",($,_)=>{BJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>KD($,U,W,J)});Q1=F("ZodBigInt",($,_)=>{j9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>bD($,W,J,X),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.gt=(W,J)=>$.check(L6(W,J)),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.lt=(W,J)=>$.check(O6(W,J)),$.lte=(W,J)=>$.check(C_(W,J)),$.max=(W,J)=>$.check(C_(W,J)),$.positive=(W)=>$.check(L6(BigInt(0),W)),$.negative=(W)=>$.check(O6(BigInt(0),W)),$.nonpositive=(W)=>$.check(C_(BigInt(0),W)),$.nonnegative=(W)=>$.check(B_(BigInt(0),W)),$.multipleOf=(W,J)=>$.check(j4(W,J));let U=$._zod.bag;$.minValue=U.minimum??null,$.maxValue=U.maximum??null,$.format=U.format??null});YW=F("ZodBigIntFormat",($,_)=>{eY.init($,_),Q1.init($,_)});U8=F("ZodSymbol",($,_)=>{$j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>MD($,U,W,J)});J8=F("ZodUndefined",($,_)=>{_j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>gD($,U,W,J)});W8=F("ZodNull",($,_)=>{Uj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>ID($,U,W,J)});G8=F("ZodAny",($,_)=>{Jj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>PD($,U,W,J)});Q8=F("ZodUnknown",($,_)=>{Wj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>fD($,U,W,J)});Y8=F("ZodNever",($,_)=>{Xj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>kD($,U,W,J)});j8=F("ZodVoid",($,_)=>{Gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>wD($,U,W,J)});l2=F("ZodDate",($,_)=>{Qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>CD($,W,J,X),$.min=(W,J)=>$.check(B_(W,J)),$.max=(W,J)=>$.check(C_(W,J));let U=$._zod.bag;$.minDate=U.minimum?new Date(U.minimum):null,$.maxDate=U.maximum?new Date(U.maximum):null});D8=F("ZodArray",($,_)=>{Yj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>nD($,U,W,J),$.element=_.element,nJ($,"ZodArray",{min(U,W){return this.check(h6(U,W))},nonempty(U){return this.check(h6(1,U))},max(U,W){return this.check(l4(U,W))},length(U,W){return this.check(i4(U,W))},unwrap(){return this.element}})});r2=F("ZodObject",($,_)=>{jj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>lD($,U,W,J),P.defineLazy($,"shape",()=>{return _.shape}),nJ($,"ZodObject",{keyof(){return zW(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:t4()})},loose(){return this.clone({...this._zod.def,catchall:t4()})},strict(){return this.clone({...this._zod.def,catchall:jW()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(U){return P.extend(this,U)},safeExtend(U){return P.safeExtend(this,U)},merge(U){return P.merge(this,U)},pick(U){return P.pick(this,U)},omit(U){return P.omit(this,U)},partial(...U){return P.partial(OW,this,U[0])},required(...U){return P.required(LW,this,U[0])}})});p2=F("ZodUnion",($,_)=>{HJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>y9($,U,W,J),$.options=_.options});z8=F("ZodXor",($,_)=>{p2.init($,_),Dj.init($,_),$._zod.processJSONSchema=(U,W,J)=>y9($,U,W,J),$.options=_.options});q8=F("ZodDiscriminatedUnion",($,_)=>{p2.init($,_),zj.init($,_)});O8=F("ZodIntersection",($,_)=>{qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>iD($,U,W,J)});N8=F("ZodTuple",($,_)=>{D9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>rD($,U,W,J),$.rest=(U)=>$.clone({...$._zod.def,rest:U})});_1=F("ZodRecord",($,_)=>{Oj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>pD($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType});V8=F("ZodMap",($,_)=>{Lj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>dD($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType,$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(n4(...U))});R8=F("ZodSet",($,_)=>{Nj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>cD($,U,W,J),$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(n4(...U))});U1=F("ZodEnum",($,_)=>{Bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>TD($,W,J,X),$.enum=_.entries,$.options=Object.values(_.entries);let U=new Set(Object.keys(_.entries));$.extract=(W,J)=>{let X={};for(let G of W)if(U.has(G))X[G]=_.entries[G];else throw Error(`Key ${G} not found in enum`);return new U1({..._,checks:[],...P.normalizeParams(J),entries:X})},$.exclude=(W,J)=>{let X={..._.entries};for(let G of W)if(U.has(G))delete X[G];else throw Error(`Key ${G} not found in enum`);return new U1({..._,checks:[],...P.normalizeParams(J),entries:X})}});A8=F("ZodLiteral",($,_)=>{Hj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>SD($,U,W,J),$.values=new Set(_.values),Object.defineProperty($,"value",{get(){if(_.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return _.values[0]}})});E8=F("ZodFile",($,_)=>{Vj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>yD($,U,W,J),$.min=(U,W)=>$.check(N6(U,W)),$.max=(U,W)=>$.check(D4(U,W)),$.mime=(U,W)=>$.check(p0(Array.isArray(U)?U:[U],W))});F8=F("ZodTransform",($,_)=>{Rj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>uD($,U,W,J),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0($.constructor.name);U.addIssue=(X)=>{if(typeof X==="string")U.issues.push(P.issue(X,U.value,_));else{let G=X;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=U.value),G.inst??(G.inst=$),U.issues.push(P.issue(G))}};let J=_.transform(U.value,U);if(J instanceof Promise)return J.then((X)=>{return U.value=X,U.fallback=!0,U});return U.value=J,U.fallback=!0,U}});OW=F("ZodOptional",($,_)=>{z9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>h9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});K8=F("ZodExactOptional",($,_)=>{Aj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>h9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});M8=F("ZodNullable",($,_)=>{Ej.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>oD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});I8=F("ZodDefault",($,_)=>{Fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>aD($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});w8=F("ZodPrefault",($,_)=>{Kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>sD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});LW=F("ZodNonOptional",($,_)=>{bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>tD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});f8=F("ZodSuccess",($,_)=>{Mj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>hD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});C8=F("ZodCatch",($,_)=>{Ij.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>eD($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});S8=F("ZodNaN",($,_)=>{gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>ZD($,U,W,J)});o2=F("ZodPipe",($,_)=>{q9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>$z($,U,W,J),$.in=_.in,$.out=_.out});t2=F("ZodCodec",($,_)=>{o2.init($,_),VJ.init($,_)});Z8=F("ZodPreprocess",($,_)=>{o2.init($,_),wj.init($,_)}),v8=F("ZodReadonly",($,_)=>{kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>_z($,U,W,J),$.unwrap=()=>$._zod.def.innerType});h8=F("ZodTemplateLiteral",($,_)=>{Pj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>vD($,U,W,J)});x8=F("ZodLazy",($,_)=>{Tj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Jz($,U,W,J),$.unwrap=()=>$._zod.def.getter()});u8=F("ZodPromise",($,_)=>{Cj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Uz($,U,W,J),$.unwrap=()=>$._zod.def.innerType});d8=F("ZodFunction",($,_)=>{fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>mD($,U,W,J)});a2=F("ZodCustom",($,_)=>{Sj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>xD($,U,W,J)});Aq=HD,Eq=VD});function qV($){__({customError:$})}function OV(){return __().customError}var zV,l8;var LV=y(()=>{m_();zV={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function($){})(l8||(l8={}))});function gZ($,_){let U=$.$schema;if(U==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(U==="http://json-schema.org/draft-07/schema#")return"draft-7";if(U==="http://json-schema.org/draft-04/schema#")return"draft-4";return _??"draft-2020-12"}function wZ($,_){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let U=$.slice(1).split("/").filter(Boolean);if(U.length===0)return _.rootSchema;let W=_.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===W){let J=U[1];if(!J||!_.defs[J])throw Error(`Reference not found: ${$}`);return _.defs[J]}throw Error(`Reference not found: ${$}`)}function NV($,_){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return m.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let J=$.$ref;if(_.refs.has(J))return _.refs.get(J);if(_.processing.has(J))return m.lazy(()=>{if(!_.refs.has(J))throw Error(`Circular reference not resolved: ${J}`);return _.refs.get(J)});_.processing.add(J);let X=wZ(J,_),G=H_(X,_);return _.refs.set(J,G),_.processing.delete(J),G}if($.enum!==void 0){let J=$.enum;if(_.version==="openapi-3.0"&&$.nullable===!0&&J.length===1&&J[0]===null)return m.null();if(J.length===0)return m.never();if(J.length===1)return m.literal(J[0]);if(J.every((G)=>typeof G==="string"))return m.enum(J);let X=J.map((G)=>m.literal(G));if(X.length<2)return X[0];return m.union([X[0],X[1],...X.slice(2)])}if($.const!==void 0)return m.literal($.const);let U=$.type;if(Array.isArray(U)){let J=U.map((X)=>{let G={...$,type:X};return NV(G,_)});if(J.length===0)return m.never();if(J.length===1)return J[0];return m.union(J)}if(!U)return m.any();let W;switch(U){case"string":{let J=m.string();if($.format){let X=$.format;if(X==="email")J=J.check(m.email());else if(X==="uri"||X==="uri-reference")J=J.check(m.url());else if(X==="uuid"||X==="guid")J=J.check(m.uuid());else if(X==="date-time")J=J.check(m.iso.datetime());else if(X==="date")J=J.check(m.iso.date());else if(X==="time")J=J.check(m.iso.time());else if(X==="duration")J=J.check(m.iso.duration());else if(X==="ipv4")J=J.check(m.ipv4());else if(X==="ipv6")J=J.check(m.ipv6());else if(X==="mac")J=J.check(m.mac());else if(X==="cidr")J=J.check(m.cidrv4());else if(X==="cidr-v6")J=J.check(m.cidrv6());else if(X==="base64")J=J.check(m.base64());else if(X==="base64url")J=J.check(m.base64url());else if(X==="e164")J=J.check(m.e164());else if(X==="jwt")J=J.check(m.jwt());else if(X==="emoji")J=J.check(m.emoji());else if(X==="nanoid")J=J.check(m.nanoid());else if(X==="cuid")J=J.check(m.cuid());else if(X==="cuid2")J=J.check(m.cuid2());else if(X==="ulid")J=J.check(m.ulid());else if(X==="xid")J=J.check(m.xid());else if(X==="ksuid")J=J.check(m.ksuid())}if(typeof $.minLength==="number")J=J.min($.minLength);if(typeof $.maxLength==="number")J=J.max($.maxLength);if($.pattern)J=J.regex(new RegExp($.pattern));W=J;break}case"number":case"integer":{let J=U==="integer"?m.number().int():m.number();if(typeof $.minimum==="number")J=J.min($.minimum);if(typeof $.maximum==="number")J=J.max($.maximum);if(typeof $.exclusiveMinimum==="number")J=J.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")J=J.gt($.minimum);if(typeof $.exclusiveMaximum==="number")J=J.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")J=J.lt($.maximum);if(typeof $.multipleOf==="number")J=J.multipleOf($.multipleOf);W=J;break}case"boolean":{W=m.boolean();break}case"null":{W=m.null();break}case"object":{let J={},X=$.properties||{},G=new Set($.required||[]);for(let[Y,j]of Object.entries(X)){let O=H_(j,_);J[Y]=G.has(Y)?O:O.optional()}if($.propertyNames){let Y=H_($.propertyNames,_),j=$.additionalProperties&&typeof $.additionalProperties==="object"?H_($.additionalProperties,_):m.any();if(Object.keys(J).length===0){W=m.record(Y,j);break}let O=m.object(J).passthrough(),B=m.looseRecord(Y,j);W=m.intersection(O,B);break}if($.patternProperties){let Y=$.patternProperties,j=Object.keys(Y),O=[];for(let V of j){let L=H_(Y[V],_),N=m.string().regex(new RegExp(V));O.push(m.looseRecord(N,L))}let B=[];if(Object.keys(J).length>0)B.push(m.object(J).passthrough());if(B.push(...O),B.length===0)W=m.object({}).passthrough();else if(B.length===1)W=B[0];else{let V=m.intersection(B[0],B[1]);for(let L=2;L<B.length;L++)V=m.intersection(V,B[L]);W=V}break}let Q=m.object(J);if($.additionalProperties===!1)W=Q.strict();else if(typeof $.additionalProperties==="object")W=Q.catchall(H_($.additionalProperties,_));else W=Q.passthrough();break}case"array":{let{prefixItems:J,items:X}=$;if(J&&Array.isArray(J)){let G=J.map((Y)=>H_(Y,_)),Q=X&&typeof X==="object"&&!Array.isArray(X)?H_(X,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(Array.isArray(X)){let G=X.map((Y)=>H_(Y,_)),Q=$.additionalItems&&typeof $.additionalItems==="object"?H_($.additionalItems,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(X!==void 0){let G=H_(X,_),Q=m.array(G);if(typeof $.minItems==="number")Q=Q.min($.minItems);if(typeof $.maxItems==="number")Q=Q.max($.maxItems);W=Q}else W=m.array(m.any());break}default:throw Error(`Unsupported type: ${U}`)}return W}function H_($,_){if(typeof $==="boolean")return $?m.any():m.never();let U=NV($,_),W=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let Q=$.anyOf.map((j)=>H_(j,_)),Y=m.union(Q);U=W?m.intersection(U,Y):Y}if($.oneOf&&Array.isArray($.oneOf)){let Q=$.oneOf.map((j)=>H_(j,_)),Y=m.xor(Q);U=W?m.intersection(U,Y):Y}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)U=W?U:m.any();else{let Q=W?U:H_($.allOf[0],_),Y=W?0:1;for(let j=Y;j<$.allOf.length;j++)Q=m.intersection(Q,H_($.allOf[j],_));U=Q}if($.nullable===!0&&_.version==="openapi-3.0")U=m.nullable(U);if($.readOnly===!0)U=m.readonly(U);if($.default!==void 0)U=U.default($.default);let J={},X=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let Q of X)if(Q in $)J[Q]=$[Q];let G=["contentEncoding","contentMediaType","contentSchema"];for(let Q of G)if(Q in $)J[Q]=$[Q];for(let Q of Object.keys($))if(!IZ.has(Q))J[Q]=$[Q];if(Object.keys(J).length>0)_.registry.add(U,J);if($.description)U=U.describe($.description);return U}function Iq($,_){if(typeof $==="boolean")return $?m.any():m.never();let U;try{U=JSON.parse(JSON.stringify($))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let W=gZ(U,_?.defaultTarget),J=U.$defs||U.definitions||{},X={version:W,defs:J,refs:new Map,processing:new Set,rootSchema:U,registry:_?.registry??D_};return H_(U,X)}var m,IZ;var BV=y(()=>{bJ();m9();xJ();uJ();m={...mJ,...x9,iso:$1},IZ=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var i8={};I6(i8,{string:()=>kZ,number:()=>PZ,date:()=>TZ,boolean:()=>fZ,bigint:()=>CZ});function kZ($){return y7(J1,$)}function PZ($){return n7(X1,$)}function fZ($){return a7(G1,$)}function CZ($){return e7(Q1,$)}function TZ($){return DD(l2,$)}var HV=y(()=>{m_();uJ()});var r8={};I6(r8,{xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,util:()=>P,url:()=>Hz,uppercase:()=>n0,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>B8,trim:()=>t0,treeifyError:()=>mX,transform:()=>qW,toUpperCase:()=>s0,toLowerCase:()=>a0,toJSONSchema:()=>TJ,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>n8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>m2,strictObject:()=>ez,startsWith:()=>i0,slugify:()=>e0,size:()=>n4,setErrorMap:()=>qV,set:()=>Gq,safeParseAsync:()=>n9,safeParse:()=>c9,safeEncodeAsync:()=>a9,safeEncode:()=>o9,safeDecodeAsync:()=>s9,safeDecode:()=>t9,registry:()=>KJ,regexes:()=>f_,regex:()=>d0,refine:()=>c8,record:()=>H8,readonly:()=>y8,property:()=>fJ,promise:()=>Bq,prettifyError:()=>uX,preprocess:()=>Mq,prefault:()=>k8,positive:()=>gJ,pipe:()=>cJ,partialRecord:()=>Jq,parseAsync:()=>d9,parse:()=>u9,overwrite:()=>a_,optional:()=>d2,object:()=>sz,number:()=>$8,nullish:()=>Dq,nullable:()=>c2,null:()=>X8,normalize:()=>o0,nonpositive:()=>kJ,nonoptional:()=>P8,nonnegative:()=>PJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,meta:()=>Eq,maxSize:()=>D4,maxLength:()=>l4,map:()=>Xq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>c0,looseRecord:()=>Wq,looseObject:()=>$q,locales:()=>y2,literal:()=>Yq,length:()=>i4,lazy:()=>m8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,iso:()=>$1,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>L8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Fq,includes:()=>l0,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>OV,function:()=>Hq,fromJSONSchema:()=>Iq,formatError:()=>P2,float64:()=>mz,float32:()=>xz,flattenError:()=>k2,file:()=>jq,exactOptional:()=>b8,enum:()=>zW,endsWith:()=>r0,encodeAsync:()=>r9,encode:()=>l9,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,decodeAsync:()=>p9,decode:()=>i9,date:()=>tz,custom:()=>Rq,cuid2:()=>Fz,cuid:()=>Ez,core:()=>x6,config:()=>__,coerce:()=>i8,codec:()=>Oq,clone:()=>N_,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>T8,boolean:()=>_8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>i2,any:()=>pz,_function:()=>Hq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>z8,ZodXID:()=>sJ,ZodVoid:()=>j8,ZodUnknown:()=>Q8,ZodUnion:()=>p2,ZodUndefined:()=>J8,ZodUUID:()=>B6,ZodURL:()=>n2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>N8,ZodTransform:()=>F8,ZodTemplateLiteral:()=>h8,ZodSymbol:()=>U8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>R8,ZodRecord:()=>_1,ZodRealError:()=>I_,ZodReadonly:()=>v8,ZodPromise:()=>u8,ZodPreprocess:()=>Z8,ZodPrefault:()=>w8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>r2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>M8,ZodNull:()=>W8,ZodNonOptional:()=>LW,ZodNever:()=>Y8,ZodNanoID:()=>pJ,ZodNaN:()=>S8,ZodMap:()=>V8,ZodMAC:()=>e9,ZodLiteral:()=>A8,ZodLazy:()=>x8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>zV,ZodIntersection:()=>O8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>d8,ZodFirstPartyTypeKind:()=>l8,ZodFile:()=>E8,ZodExactOptional:()=>K8,ZodError:()=>jV,ZodEnum:()=>U1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>q8,ZodDefault:()=>I8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>C8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>D8,ZodAny:()=>G8,TimePrecision:()=>Z9,NEVER:()=>vX,$output:()=>O9,$input:()=>L9,$brand:()=>yX});var gq=y(()=>{m_();m_();lj();m_();SJ();BV();S7();xJ();xJ();HV();uJ();m9();jz();Dz();LV();__(RJ())});var VV={};I6(VV,{z:()=>r8,xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,util:()=>P,url:()=>Hz,uppercase:()=>n0,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>B8,trim:()=>t0,treeifyError:()=>mX,transform:()=>qW,toUpperCase:()=>s0,toLowerCase:()=>a0,toJSONSchema:()=>TJ,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>n8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>m2,strictObject:()=>ez,startsWith:()=>i0,slugify:()=>e0,size:()=>n4,setErrorMap:()=>qV,set:()=>Gq,safeParseAsync:()=>n9,safeParse:()=>c9,safeEncodeAsync:()=>a9,safeEncode:()=>o9,safeDecodeAsync:()=>s9,safeDecode:()=>t9,registry:()=>KJ,regexes:()=>f_,regex:()=>d0,refine:()=>c8,record:()=>H8,readonly:()=>y8,property:()=>fJ,promise:()=>Bq,prettifyError:()=>uX,preprocess:()=>Mq,prefault:()=>k8,positive:()=>gJ,pipe:()=>cJ,partialRecord:()=>Jq,parseAsync:()=>d9,parse:()=>u9,overwrite:()=>a_,optional:()=>d2,object:()=>sz,number:()=>$8,nullish:()=>Dq,nullable:()=>c2,null:()=>X8,normalize:()=>o0,nonpositive:()=>kJ,nonoptional:()=>P8,nonnegative:()=>PJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,meta:()=>Eq,maxSize:()=>D4,maxLength:()=>l4,map:()=>Xq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>c0,looseRecord:()=>Wq,looseObject:()=>$q,locales:()=>y2,literal:()=>Yq,length:()=>i4,lazy:()=>m8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,iso:()=>$1,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>L8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Fq,includes:()=>l0,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>OV,function:()=>Hq,fromJSONSchema:()=>Iq,formatError:()=>P2,float64:()=>mz,float32:()=>xz,flattenError:()=>k2,file:()=>jq,exactOptional:()=>b8,enum:()=>zW,endsWith:()=>r0,encodeAsync:()=>r9,encode:()=>l9,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,default:()=>SZ,decodeAsync:()=>p9,decode:()=>i9,date:()=>tz,custom:()=>Rq,cuid2:()=>Fz,cuid:()=>Ez,core:()=>x6,config:()=>__,coerce:()=>i8,codec:()=>Oq,clone:()=>N_,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>T8,boolean:()=>_8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>i2,any:()=>pz,_function:()=>Hq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>z8,ZodXID:()=>sJ,ZodVoid:()=>j8,ZodUnknown:()=>Q8,ZodUnion:()=>p2,ZodUndefined:()=>J8,ZodUUID:()=>B6,ZodURL:()=>n2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>N8,ZodTransform:()=>F8,ZodTemplateLiteral:()=>h8,ZodSymbol:()=>U8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>R8,ZodRecord:()=>_1,ZodRealError:()=>I_,ZodReadonly:()=>v8,ZodPromise:()=>u8,ZodPreprocess:()=>Z8,ZodPrefault:()=>w8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>r2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>M8,ZodNull:()=>W8,ZodNonOptional:()=>LW,ZodNever:()=>Y8,ZodNanoID:()=>pJ,ZodNaN:()=>S8,ZodMap:()=>V8,ZodMAC:()=>e9,ZodLiteral:()=>A8,ZodLazy:()=>x8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>zV,ZodIntersection:()=>O8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>d8,ZodFirstPartyTypeKind:()=>l8,ZodFile:()=>E8,ZodExactOptional:()=>K8,ZodError:()=>jV,ZodEnum:()=>U1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>q8,ZodDefault:()=>I8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>C8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>D8,ZodAny:()=>G8,TimePrecision:()=>Z9,NEVER:()=>vX,$output:()=>O9,$input:()=>L9,$brand:()=>yX});var SZ;var RV=y(()=>{gq();gq();SZ=r8});var ZW=G0((Iu)=>{class NO extends Error{constructor($,_,U){super(U);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=_,this.exitCode=$,this.nestedError=void 0}}class hA extends NO{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Iu.CommanderError=NO;Iu.InvalidArgumentError=hA});var gG=G0((fu)=>{var{InvalidArgumentError:ku}=ZW();class xA{constructor($,_){switch(this.description=_||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new ku(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Pu($){let _=$.name()+($.variadic===!0?"...":"");return $.required?"<"+_+">":"["+_+"]"}fu.Argument=xA;fu.humanReadableArgName=Pu});var BO=G0((Zu)=>{var{humanReadableArgName:Su}=gG();class mA{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let _=$.commands.filter((W)=>!W._hidden),U=$._getHelpCommand();if(U&&!U._hidden)_.push(U);if(this.sortSubcommands)_.sort((W,J)=>{return W.name().localeCompare(J.name())});return _}compareOptions($,_){let U=(W)=>{return W.short?W.short.replace(/^-/,""):W.long.replace(/^--/,"")};return U($).localeCompare(U(_))}visibleOptions($){let _=$.options.filter((W)=>!W.hidden),U=$._getHelpOption();if(U&&!U.hidden){let W=U.short&&$._findOption(U.short),J=U.long&&$._findOption(U.long);if(!W&&!J)_.push(U);else if(U.long&&!J)_.push($.createOption(U.long,U.description));else if(U.short&&!W)_.push($.createOption(U.short,U.description))}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let _=[];for(let U=$.parent;U;U=U.parent){let W=U.options.filter((J)=>!J.hidden);_.push(...W)}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((_)=>{_.description=_.description||$._argsDescription[_.name()]||""});if($.registeredArguments.find((_)=>_.description))return $.registeredArguments;return[]}subcommandTerm($){let _=$.registeredArguments.map((U)=>Su(U)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(_?" "+_:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,_){return _.visibleCommands($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleSubcommandTerm(_.subcommandTerm(W))))},0)}longestOptionTermLength($,_){return _.visibleOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestGlobalOptionTermLength($,_){return _.visibleGlobalOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestArgumentTermLength($,_){return _.visibleArguments($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleArgumentTerm(_.argumentTerm(W))))},0)}commandUsage($){let _=$._name;if($._aliases[0])_=_+"|"+$._aliases[0];let U="";for(let W=$.parent;W;W=W.parent)U=W.name()+" "+U;return U+_+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)_.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)_.push(`env: ${$.envVar}`);if(_.length>0)return`${$.description} (${_.join(", ")})`;return $.description}argumentDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0)_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(_.length>0){let U=`(${_.join(", ")})`;if($.description)return`${$.description} ${U}`;return U}return $.description}formatHelp($,_){let U=_.padWidth($,_),W=_.helpWidth??80;function J(O,B){return _.formatItem(O,U,B,_)}let X=[`${_.styleTitle("Usage:")} ${_.styleUsage(_.commandUsage($))}`,""],G=_.commandDescription($);if(G.length>0)X=X.concat([_.boxWrap(_.styleCommandDescription(G),W),""]);let Q=_.visibleArguments($).map((O)=>{return J(_.styleArgumentTerm(_.argumentTerm(O)),_.styleArgumentDescription(_.argumentDescription(O)))});if(Q.length>0)X=X.concat([_.styleTitle("Arguments:"),...Q,""]);let Y=_.visibleOptions($).map((O)=>{return J(_.styleOptionTerm(_.optionTerm(O)),_.styleOptionDescription(_.optionDescription(O)))});if(Y.length>0)X=X.concat([_.styleTitle("Options:"),...Y,""]);if(_.showGlobalOptions){let O=_.visibleGlobalOptions($).map((B)=>{return J(_.styleOptionTerm(_.optionTerm(B)),_.styleOptionDescription(_.optionDescription(B)))});if(O.length>0)X=X.concat([_.styleTitle("Global Options:"),...O,""])}let j=_.visibleCommands($).map((O)=>{return J(_.styleSubcommandTerm(_.subcommandTerm(O)),_.styleSubcommandDescription(_.subcommandDescription(O)))});if(j.length>0)X=X.concat([_.styleTitle("Commands:"),...j,""]);return X.join(` `)}displayWidth($){return uA($).length}styleTitle($){return $}styleUsage($){return $.split(" ").map((_)=>{if(_==="[options]")return this.styleOptionText(_);if(_==="[command]")return this.styleSubcommandText(_);if(_[0]==="["||_[0]==="<")return this.styleArgumentText(_);return this.styleCommandText(_)}).join(" ")}styleCommandDescription($){return this.styleDescriptionText($)}styleOptionDescription($){return this.styleDescriptionText($)}styleSubcommandDescription($){return this.styleDescriptionText($)}styleArgumentDescription($){return this.styleDescriptionText($)}styleDescriptionText($){return $}styleOptionTerm($){return this.styleOptionText($)}styleSubcommandTerm($){return $.split(" ").map((_)=>{if(_==="[options]")return this.styleOptionText(_);if(_[0]==="["||_[0]==="<")return this.styleArgumentText(_);return this.styleSubcommandText(_)}).join(" ")}styleArgumentTerm($){return this.styleArgumentText($)}styleOptionText($){return $}styleArgumentText($){return $}styleSubcommandText($){return $}styleCommandText($){return $}padWidth($,_){return Math.max(_.longestOptionTermLength($,_),_.longestGlobalOptionTermLength($,_),_.longestSubcommandTermLength($,_),_.longestArgumentTermLength($,_))}preformatted($){return/\n[^\S\r\n]/.test($)}formatItem($,_,U,W){let X=" ".repeat(2);if(!U)return X+$;let G=$.padEnd(_+$.length-W.displayWidth($)),Q=2,j=(this.helpWidth??80)-_-Q-2,O;if(j<this.minWidthToWrap||W.preformatted(U))O=U;else O=W.boxWrap(U,j).replace(/\n/g,` `+" ".repeat(_+Q));return X+G+" ".repeat(Q)+O.replace(/\n/g,` ${X}`)}boxWrap($,_){if(_<this.minWidthToWrap)return $;let U=$.split(/\r\n|\n/),W=/[\s]*[^\s]+/g,J=[];return U.forEach((X)=>{let G=X.match(W);if(G===null){J.push("");return}let Q=[G.shift()],Y=this.displayWidth(Q[0]);G.forEach((j)=>{let O=this.displayWidth(j);if(Y+O<=_){Q.push(j),Y+=O;return}J.push(Q.join(""));let B=j.trimStart();Q=[B],Y=this.displayWidth(B)}),J.push(Q.join(""))}),J.join(` -`)}}function uA($){let _=/\x1b\[\d*(;\d*)*m/g;return $.replace(_,"")}Zu.Help=mA;Zu.stripColor=uA});var BO=G0((mu)=>{var{InvalidArgumentError:hu}=ZW();class nA{constructor($,_){this.flags=$,this.description=_||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let U=xu($);if(this.short=U.shortFlag,this.long=U.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let _=$;if(typeof $==="string")_={[$]:!0};return this.implied=Object.assign(this.implied||{},_),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new hu(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return dA(this.name().replace(/^no-/,""));return dA(this.name())}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class cA{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((_)=>{if(_.negate)this.negativeOptions.set(_.attributeName(),_);else this.positiveOptions.set(_.attributeName(),_)}),this.negativeOptions.forEach((_,U)=>{if(this.positiveOptions.has(U))this.dualOptions.add(U)})}valueFromOption($,_){let U=_.attributeName();if(!this.dualOptions.has(U))return!0;let W=this.negativeOptions.get(U).presetArg,J=W!==void 0?W:!1;return _.negate===(J===$)}}function dA($){return $.split("-").reduce((_,U)=>{return _+U[0].toUpperCase()+U.slice(1)})}function xu($){let _,U,W=/^-[^-]$/,J=/^--[^-]/,X=$.split(/[ |,]+/).concat("guard");if(W.test(X[0]))_=X.shift();if(J.test(X[0]))U=X.shift();if(!_&&W.test(X[0]))_=X.shift();if(!_&&J.test(X[0]))_=U,U=X.shift();if(X[0].startsWith("-")){let G=X[0],Q=`option creation failed due to '${G}' in option flags '${$}'`;if(/^-[^-][^-]/.test(G))throw Error(`${Q} +`)}}function uA($){let _=/\x1b\[\d*(;\d*)*m/g;return $.replace(_,"")}Zu.Help=mA;Zu.stripColor=uA});var HO=G0((mu)=>{var{InvalidArgumentError:hu}=ZW();class cA{constructor($,_){this.flags=$,this.description=_||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let U=xu($);if(this.short=U.shortFlag,this.long=U.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let _=$;if(typeof $==="string")_={[$]:!0};return this.implied=Object.assign(this.implied||{},_),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new hu(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return dA(this.name().replace(/^no-/,""));return dA(this.name())}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class nA{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((_)=>{if(_.negate)this.negativeOptions.set(_.attributeName(),_);else this.positiveOptions.set(_.attributeName(),_)}),this.negativeOptions.forEach((_,U)=>{if(this.positiveOptions.has(U))this.dualOptions.add(U)})}valueFromOption($,_){let U=_.attributeName();if(!this.dualOptions.has(U))return!0;let W=this.negativeOptions.get(U).presetArg,J=W!==void 0?W:!1;return _.negate===(J===$)}}function dA($){return $.split("-").reduce((_,U)=>{return _+U[0].toUpperCase()+U.slice(1)})}function xu($){let _,U,W=/^-[^-]$/,J=/^--[^-]/,X=$.split(/[ |,]+/).concat("guard");if(W.test(X[0]))_=X.shift();if(J.test(X[0]))U=X.shift();if(!_&&W.test(X[0]))_=X.shift();if(!_&&J.test(X[0]))_=U,U=X.shift();if(X[0].startsWith("-")){let G=X[0],Q=`option creation failed due to '${G}' in option flags '${$}'`;if(/^-[^-][^-]/.test(G))throw Error(`${Q} - a short flag is a single dash and a single character - either use a single dash and a single character (for a short flag) - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(W.test(G))throw Error(`${Q} - too many short flags`);if(J.test(G))throw Error(`${Q} - too many long flags`);throw Error(`${Q} -- unrecognised flag format`)}if(_===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:_,longFlag:U}}mu.Option=nA;mu.DualOptions=cA});var lA=G0((lu)=>{function nu($,_){if(Math.abs($.length-_.length)>3)return Math.max($.length,_.length);let U=[];for(let W=0;W<=$.length;W++)U[W]=[W];for(let W=0;W<=_.length;W++)U[0][W]=W;for(let W=1;W<=_.length;W++)for(let J=1;J<=$.length;J++){let X=1;if($[J-1]===_[W-1])X=0;else X=1;if(U[J][W]=Math.min(U[J-1][W]+1,U[J][W-1]+1,U[J-1][W-1]+X),J>1&&W>1&&$[J-1]===_[W-2]&&$[J-2]===_[W-1])U[J][W]=Math.min(U[J][W],U[J-2][W-2]+1)}return U[$.length][_.length]}function cu($,_){if(!_||_.length===0)return"";_=Array.from(new Set(_));let U=$.startsWith("--");if(U)$=$.slice(2),_=_.map((G)=>G.slice(2));let W=[],J=3,X=0.4;if(_.forEach((G)=>{if(G.length<=1)return;let Q=nu($,G),Y=Math.max($.length,G.length);if((Y-Q)/Y>X){if(Q<J)J=Q,W=[G];else if(Q===J)W.push(G)}}),W.sort((G,Q)=>G.localeCompare(Q)),U)W=W.map((G)=>`--${G}`);if(W.length>1)return` +- unrecognised flag format`)}if(_===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:_,longFlag:U}}mu.Option=cA;mu.DualOptions=nA});var lA=G0((lu)=>{function cu($,_){if(Math.abs($.length-_.length)>3)return Math.max($.length,_.length);let U=[];for(let W=0;W<=$.length;W++)U[W]=[W];for(let W=0;W<=_.length;W++)U[0][W]=W;for(let W=1;W<=_.length;W++)for(let J=1;J<=$.length;J++){let X=1;if($[J-1]===_[W-1])X=0;else X=1;if(U[J][W]=Math.min(U[J-1][W]+1,U[J][W-1]+1,U[J-1][W-1]+X),J>1&&W>1&&$[J-1]===_[W-2]&&$[J-2]===_[W-1])U[J][W]=Math.min(U[J][W],U[J-2][W-2]+1)}return U[$.length][_.length]}function nu($,_){if(!_||_.length===0)return"";_=Array.from(new Set(_));let U=$.startsWith("--");if(U)$=$.slice(2),_=_.map((G)=>G.slice(2));let W=[],J=3,X=0.4;if(_.forEach((G)=>{if(G.length<=1)return;let Q=cu($,G),Y=Math.max($.length,G.length);if((Y-Q)/Y>X){if(Q<J)J=Q,W=[G];else if(Q===J)W.push(G)}}),W.sort((G,Q)=>G.localeCompare(Q)),U)W=W.map((G)=>`--${G}`);if(W.length>1)return` (Did you mean one of ${W.join(", ")}?)`;if(W.length===1)return` -(Did you mean ${W[0]}?)`;return""}lu.suggestSimilar=cu});var oA=G0((eu)=>{var iu=C$("events").EventEmitter,HO=C$("child_process"),b4=C$("path"),I5=C$("fs"),f$=C$("process"),{Argument:pu,humanReadableArgName:ou}=g5(),{CommanderError:VO}=ZW(),{Help:tu,stripColor:au}=NO(),{Option:rA,DualOptions:su}=BO(),{suggestSimilar:iA}=lA();class AO extends iu{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(_)=>f$.stdout.write(_),writeErr:(_)=>f$.stderr.write(_),outputError:(_,U)=>U(_),getOutHelpWidth:()=>f$.stdout.isTTY?f$.stdout.columns:void 0,getErrHelpWidth:()=>f$.stderr.isTTY?f$.stderr.columns:void 0,getOutHasColors:()=>RO()??(f$.stdout.isTTY&&f$.stdout.hasColors?.()),getErrHasColors:()=>RO()??(f$.stderr.isTTY&&f$.stderr.hasColors?.()),stripColor:(_)=>au(_)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let _=this;_;_=_.parent)$.push(_);return $}command($,_,U){let W=_,J=U;if(typeof W==="object"&&W!==null)J=W,W=null;J=J||{};let[,X,G]=$.match(/([^ ]+) *(.*)/),Q=this.createCommand(X);if(W)Q.description(W),Q._executableHandler=!0;if(J.isDefault)this._defaultCommandName=Q._name;if(Q._hidden=!!(J.noHelp||J.hidden),Q._executableFile=J.executableFile||null,G)Q.arguments(G);if(this._registerCommand(Q),Q.parent=this,Q.copyInheritedSettings(this),W)return this;return Q}createCommand($){return new AO($)}createHelp(){return Object.assign(new tu,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,$),this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,_){if(!$._name)throw Error(`Command passed to .addCommand() must have a name +(Did you mean ${W[0]}?)`;return""}lu.suggestSimilar=nu});var oA=G0((eu)=>{var ru=C$("events").EventEmitter,VO=C$("child_process"),E4=C$("path"),wG=C$("fs"),P$=C$("process"),{Argument:pu,humanReadableArgName:ou}=gG(),{CommanderError:RO}=ZW(),{Help:tu,stripColor:au}=BO(),{Option:iA,DualOptions:su}=HO(),{suggestSimilar:rA}=lA();class EO extends ru{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(_)=>P$.stdout.write(_),writeErr:(_)=>P$.stderr.write(_),outputError:(_,U)=>U(_),getOutHelpWidth:()=>P$.stdout.isTTY?P$.stdout.columns:void 0,getErrHelpWidth:()=>P$.stderr.isTTY?P$.stderr.columns:void 0,getOutHasColors:()=>AO()??(P$.stdout.isTTY&&P$.stdout.hasColors?.()),getErrHasColors:()=>AO()??(P$.stderr.isTTY&&P$.stderr.hasColors?.()),stripColor:(_)=>au(_)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let _=this;_;_=_.parent)$.push(_);return $}command($,_,U){let W=_,J=U;if(typeof W==="object"&&W!==null)J=W,W=null;J=J||{};let[,X,G]=$.match(/([^ ]+) *(.*)/),Q=this.createCommand(X);if(W)Q.description(W),Q._executableHandler=!0;if(J.isDefault)this._defaultCommandName=Q._name;if(Q._hidden=!!(J.noHelp||J.hidden),Q._executableFile=J.executableFile||null,G)Q.arguments(G);if(this._registerCommand(Q),Q.parent=this,Q.copyInheritedSettings(this),W)return this;return Q}createCommand($){return new EO($)}createHelp(){return Object.assign(new tu,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,$),this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,_){if(!$._name)throw Error(`Command passed to .addCommand() must have a name - specify the name in Command constructor or using .name()`);if(_=_||{},_.isDefault)this._defaultCommandName=$._name;if(_.noHelp||_.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,_){return new pu($,_)}argument($,_,U,W){let J=this.createArgument($,_);if(typeof U==="function")J.default(W).argParser(U);else J.default(U);return this.addArgument(J),this}arguments($){return $.trim().split(/ +/).forEach((_)=>{this.argument(_)}),this}addArgument($){let _=this.registeredArguments.slice(-1)[0];if(_&&_.variadic)throw Error(`only the last argument can be variadic '${_.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,_){if(typeof $==="boolean")return this._addImplicitHelpCommand=$,this;$=$??"help [command]";let[,U,W]=$.match(/([^ ]+) *(.*)/),J=_??"display help for command",X=this.createCommand(U);if(X.helpOption(!1),W)X.arguments(W);if(J)X.description(J);return this._addImplicitHelpCommand=!0,this._helpCommand=X,this}addHelpCommand($,_){if(typeof $!=="object")return this.helpCommand($,_),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,_){let U=["preSubcommand","preAction","postAction"];if(!U.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'. -Expecting one of '${U.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(_);else this._lifeCycleHooks[$]=[_];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(_)=>{if(_.code!=="commander.executeSubCommandAsync")throw _};return this}_exit($,_,U){if(this._exitCallback)this._exitCallback(new VO($,_,U));f$.exit($)}action($){let _=(U)=>{let W=this.registeredArguments.length,J=U.slice(0,W);if(this._storeOptionsAsProperties)J[W]=this;else J[W]=this.opts();return J.push(this),$.apply(this,J)};return this._actionHandler=_,this}createOption($,_){return new rA($,_)}_callParseArg($,_,U,W){try{return $.parseArg(_,U)}catch(J){if(J.code==="commander.invalidArgument"){let X=`${W} ${J.message}`;this.error(X,{exitCode:J.exitCode,code:J.code})}throw J}}_registerOption($){let _=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(_){let U=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${U}' -- already used by option '${_.flags}'`)}this.options.push($)}_registerCommand($){let _=(W)=>{return[W.name()].concat(W.aliases())},U=_($).find((W)=>this._findCommand(W));if(U){let W=_(this._findCommand(U)).join("|"),J=_($).join("|");throw Error(`cannot add command '${J}' as already have command '${W}'`)}this.commands.push($)}addOption($){this._registerOption($);let _=$.name(),U=$.attributeName();if($.negate){let J=$.long.replace(/^--no-/,"--");if(!this._findOption(J))this.setOptionValueWithSource(U,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(U,$.defaultValue,"default");let W=(J,X,G)=>{if(J==null&&$.presetArg!==void 0)J=$.presetArg;let Q=this.getOptionValue(U);if(J!==null&&$.parseArg)J=this._callParseArg($,J,Q,X);else if(J!==null&&$.variadic)J=$._concatValue(J,Q);if(J==null)if($.negate)J=!1;else if($.isBoolean()||$.optional)J=!0;else J="";this.setOptionValueWithSource(U,J,G)};if(this.on("option:"+_,(J)=>{let X=`error: option '${$.flags}' argument '${J}' is invalid.`;W(J,X,"cli")}),$.envVar)this.on("optionEnv:"+_,(J)=>{let X=`error: option '${$.flags}' value '${J}' from env '${$.envVar}' is invalid.`;W(J,X,"env")});return this}_optionEx($,_,U,W,J){if(typeof _==="object"&&_ instanceof rA)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let X=this.createOption(_,U);if(X.makeOptionMandatory(!!$.mandatory),typeof W==="function")X.default(J).argParser(W);else if(W instanceof RegExp){let G=W;W=(Q,Y)=>{let j=G.exec(Q);return j?j[0]:Y},X.default(J).argParser(W)}else X.default(W);return this.addOption(X)}option($,_,U,W){return this._optionEx({},$,_,U,W)}requiredOption($,_,U,W){return this._optionEx({mandatory:!0},$,_,U,W)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,_){return this.setOptionValueWithSource($,_,void 0)}setOptionValueWithSource($,_,U){if(this._storeOptionsAsProperties)this[$]=_;else this._optionValues[$]=_;return this._optionValueSources[$]=U,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let _;return this._getCommandAndAncestors().forEach((U)=>{if(U.getOptionValueSource($)!==void 0)_=U.getOptionValueSource($)}),_}_prepareUserArgs($,_){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(_=_||{},$===void 0&&_.from===void 0){if(f$.versions?.electron)_.from="electron";let W=f$.execArgv??[];if(W.includes("-e")||W.includes("--eval")||W.includes("-p")||W.includes("--print"))_.from="eval"}if($===void 0)$=f$.argv;this.rawArgs=$.slice();let U;switch(_.from){case void 0:case"node":this._scriptPath=$[1],U=$.slice(2);break;case"electron":if(f$.defaultApp)this._scriptPath=$[1],U=$.slice(2);else U=$.slice(1);break;case"user":U=$.slice(0);break;case"eval":U=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${_.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",U}parse($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return this._parseCommand([],U),this}async parseAsync($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return await this._parseCommand([],U),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true. -- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable($,_,U){if(I5.existsSync($))return;let W=_?`searched for local subcommand relative to directory '${_}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",J=`'${$}' does not exist +Expecting one of '${U.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(_);else this._lifeCycleHooks[$]=[_];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(_)=>{if(_.code!=="commander.executeSubCommandAsync")throw _};return this}_exit($,_,U){if(this._exitCallback)this._exitCallback(new RO($,_,U));P$.exit($)}action($){let _=(U)=>{let W=this.registeredArguments.length,J=U.slice(0,W);if(this._storeOptionsAsProperties)J[W]=this;else J[W]=this.opts();return J.push(this),$.apply(this,J)};return this._actionHandler=_,this}createOption($,_){return new iA($,_)}_callParseArg($,_,U,W){try{return $.parseArg(_,U)}catch(J){if(J.code==="commander.invalidArgument"){let X=`${W} ${J.message}`;this.error(X,{exitCode:J.exitCode,code:J.code})}throw J}}_registerOption($){let _=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(_){let U=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${U}' +- already used by option '${_.flags}'`)}this.options.push($)}_registerCommand($){let _=(W)=>{return[W.name()].concat(W.aliases())},U=_($).find((W)=>this._findCommand(W));if(U){let W=_(this._findCommand(U)).join("|"),J=_($).join("|");throw Error(`cannot add command '${J}' as already have command '${W}'`)}this.commands.push($)}addOption($){this._registerOption($);let _=$.name(),U=$.attributeName();if($.negate){let J=$.long.replace(/^--no-/,"--");if(!this._findOption(J))this.setOptionValueWithSource(U,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(U,$.defaultValue,"default");let W=(J,X,G)=>{if(J==null&&$.presetArg!==void 0)J=$.presetArg;let Q=this.getOptionValue(U);if(J!==null&&$.parseArg)J=this._callParseArg($,J,Q,X);else if(J!==null&&$.variadic)J=$._concatValue(J,Q);if(J==null)if($.negate)J=!1;else if($.isBoolean()||$.optional)J=!0;else J="";this.setOptionValueWithSource(U,J,G)};if(this.on("option:"+_,(J)=>{let X=`error: option '${$.flags}' argument '${J}' is invalid.`;W(J,X,"cli")}),$.envVar)this.on("optionEnv:"+_,(J)=>{let X=`error: option '${$.flags}' value '${J}' from env '${$.envVar}' is invalid.`;W(J,X,"env")});return this}_optionEx($,_,U,W,J){if(typeof _==="object"&&_ instanceof iA)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let X=this.createOption(_,U);if(X.makeOptionMandatory(!!$.mandatory),typeof W==="function")X.default(J).argParser(W);else if(W instanceof RegExp){let G=W;W=(Q,Y)=>{let j=G.exec(Q);return j?j[0]:Y},X.default(J).argParser(W)}else X.default(W);return this.addOption(X)}option($,_,U,W){return this._optionEx({},$,_,U,W)}requiredOption($,_,U,W){return this._optionEx({mandatory:!0},$,_,U,W)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,_){return this.setOptionValueWithSource($,_,void 0)}setOptionValueWithSource($,_,U){if(this._storeOptionsAsProperties)this[$]=_;else this._optionValues[$]=_;return this._optionValueSources[$]=U,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let _;return this._getCommandAndAncestors().forEach((U)=>{if(U.getOptionValueSource($)!==void 0)_=U.getOptionValueSource($)}),_}_prepareUserArgs($,_){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(_=_||{},$===void 0&&_.from===void 0){if(P$.versions?.electron)_.from="electron";let W=P$.execArgv??[];if(W.includes("-e")||W.includes("--eval")||W.includes("-p")||W.includes("--print"))_.from="eval"}if($===void 0)$=P$.argv;this.rawArgs=$.slice();let U;switch(_.from){case void 0:case"node":this._scriptPath=$[1],U=$.slice(2);break;case"electron":if(P$.defaultApp)this._scriptPath=$[1],U=$.slice(2);else U=$.slice(1);break;case"user":U=$.slice(0);break;case"eval":U=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${_.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",U}parse($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return this._parseCommand([],U),this}async parseAsync($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return await this._parseCommand([],U),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true. +- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable($,_,U){if(wG.existsSync($))return;let W=_?`searched for local subcommand relative to directory '${_}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",J=`'${$}' does not exist - if '${U}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead - if the default executable name is not suitable, use the executableFile option to supply a custom name or path - - ${W}`;throw Error(J)}_executeSubCommand($,_){_=_.slice();let U=!1,W=[".js",".ts",".tsx",".mjs",".cjs"];function J(j,O){let B=b4.resolve(j,O);if(I5.existsSync(B))return B;if(W.includes(b4.extname(O)))return;let V=W.find((L)=>I5.existsSync(`${B}${L}`));if(V)return`${B}${V}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let X=$._executableFile||`${this._name}-${$._name}`,G=this._executableDir||"";if(this._scriptPath){let j;try{j=I5.realpathSync(this._scriptPath)}catch{j=this._scriptPath}G=b4.resolve(b4.dirname(j),G)}if(G){let j=J(G,X);if(!j&&!$._executableFile&&this._scriptPath){let O=b4.basename(this._scriptPath,b4.extname(this._scriptPath));if(O!==this._name)j=J(G,`${O}-${$._name}`)}X=j||X}U=W.includes(b4.extname(X));let Q;if(f$.platform!=="win32")if(U)_.unshift(X),_=pA(f$.execArgv).concat(_),Q=HO.spawn(f$.argv[0],_,{stdio:"inherit"});else Q=HO.spawn(X,_,{stdio:"inherit"});else this._checkForMissingExecutable(X,G,$._name),_.unshift(X),_=pA(f$.execArgv).concat(_),Q=HO.spawn(f$.execPath,_,{stdio:"inherit"});if(!Q.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((O)=>{f$.on(O,()=>{if(Q.killed===!1&&Q.exitCode===null)Q.kill(O)})});let Y=this._exitCallback;Q.on("close",(j)=>{if(j=j??1,!Y)f$.exit(j);else Y(new VO(j,"commander.executeSubCommandAsync","(close)"))}),Q.on("error",(j)=>{if(j.code==="ENOENT")this._checkForMissingExecutable(X,G,$._name);else if(j.code==="EACCES")throw Error(`'${X}' not executable`);if(!Y)f$.exit(1);else{let O=new VO(1,"commander.executeSubCommandAsync","(error)");O.nestedError=j,Y(O)}}),this.runningCommand=Q}_dispatchSubcommand($,_,U){let W=this._findCommand($);if(!W)this.help({error:!0});W._prepareForParse();let J;return J=this._chainOrCallSubCommandHook(J,W,"preSubcommand"),J=this._chainOrCall(J,()=>{if(W._executableHandler)this._executeSubCommand(W,_.concat(U));else return W._parseCommand(_,U)}),J}_dispatchHelpCommand($){if(!$)this.help();let _=this._findCommand($);if(_&&!_._executableHandler)_.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,_)=>{if($.required&&this.args[_]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(U,W,J)=>{let X=W;if(W!==null&&U.parseArg){let G=`error: command-argument value '${W}' is invalid for argument '${U.name()}'.`;X=this._callParseArg(U,W,J,G)}return X};this._checkNumberOfArguments();let _=[];this.registeredArguments.forEach((U,W)=>{let J=U.defaultValue;if(U.variadic){if(W<this.args.length){if(J=this.args.slice(W),U.parseArg)J=J.reduce((X,G)=>{return $(U,G,X)},U.defaultValue)}else if(J===void 0)J=[]}else if(W<this.args.length){if(J=this.args[W],U.parseArg)J=$(U,J,U.defaultValue)}_[W]=J}),this.processedArgs=_}_chainOrCall($,_){if($&&$.then&&typeof $.then==="function")return $.then(()=>_());return _()}_chainOrCallHooks($,_){let U=$,W=[];if(this._getCommandAndAncestors().reverse().filter((J)=>J._lifeCycleHooks[_]!==void 0).forEach((J)=>{J._lifeCycleHooks[_].forEach((X)=>{W.push({hookedCommand:J,callback:X})})}),_==="postAction")W.reverse();return W.forEach((J)=>{U=this._chainOrCall(U,()=>{return J.callback(J.hookedCommand,this)})}),U}_chainOrCallSubCommandHook($,_,U){let W=$;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((J)=>{W=this._chainOrCall(W,()=>{return J(this,_)})});return W}_parseCommand($,_){let U=this.parseOptions(_);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(U.operands),_=U.unknown,this.args=$.concat(_),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),_);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(_),this._dispatchSubcommand(this._defaultCommandName,$,_);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(U.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let W=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},J=`command:${this.name()}`;if(this._actionHandler){W(),this._processArguments();let X;if(X=this._chainOrCallHooks(X,"preAction"),X=this._chainOrCall(X,()=>this._actionHandler(this.processedArgs)),this.parent)X=this._chainOrCall(X,()=>{this.parent.emit(J,$,_)});return X=this._chainOrCallHooks(X,"postAction"),X}if(this.parent&&this.parent.listenerCount(J))W(),this._processArguments(),this.parent.emit(J,$,_);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,_);if(this.listenerCount("command:*"))this.emit("command:*",$,_);else if(this.commands.length)this.unknownCommand();else W(),this._processArguments()}else if(this.commands.length)W(),this.help({error:!0});else W(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((_)=>_._name===$||_._aliases.includes($))}_findOption($){return this.options.find((_)=>_.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((_)=>{if(_.mandatory&&$.getOptionValue(_.attributeName())===void 0)$.missingMandatoryOptionValue(_)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((U)=>{let W=U.attributeName();if(this.getOptionValue(W)===void 0)return!1;return this.getOptionValueSource(W)!=="default"});$.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let W=$.find((J)=>U.conflictsWith.includes(J.attributeName()));if(W)this._conflictingOption(U,W)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let _=[],U=[],W=_,J=$.slice();function X(Q){return Q.length>1&&Q[0]==="-"}let G=null;while(J.length){let Q=J.shift();if(Q==="--"){if(W===U)W.push(Q);W.push(...J);break}if(G&&!X(Q)){this.emit(`option:${G.name()}`,Q);continue}if(G=null,X(Q)){let Y=this._findOption(Q);if(Y){if(Y.required){let j=J.shift();if(j===void 0)this.optionMissingArgument(Y);this.emit(`option:${Y.name()}`,j)}else if(Y.optional){let j=null;if(J.length>0&&!X(J[0]))j=J.shift();this.emit(`option:${Y.name()}`,j)}else this.emit(`option:${Y.name()}`);G=Y.variadic?Y:null;continue}}if(Q.length>2&&Q[0]==="-"&&Q[1]!=="-"){let Y=this._findOption(`-${Q[1]}`);if(Y){if(Y.required||Y.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${Y.name()}`,Q.slice(2));else this.emit(`option:${Y.name()}`),J.unshift(`-${Q.slice(2)}`);continue}}if(/^--[^=]+=/.test(Q)){let Y=Q.indexOf("="),j=this._findOption(Q.slice(0,Y));if(j&&(j.required||j.optional)){this.emit(`option:${j.name()}`,Q.slice(Y+1));continue}}if(X(Q))W=U;if((this._enablePositionalOptions||this._passThroughOptions)&&_.length===0&&U.length===0){if(this._findCommand(Q)){if(_.push(Q),J.length>0)U.push(...J);break}else if(this._getHelpCommand()&&Q===this._getHelpCommand().name()){if(_.push(Q),J.length>0)_.push(...J);break}else if(this._defaultCommandName){if(U.push(Q),J.length>0)U.push(...J);break}}if(this._passThroughOptions){if(W.push(Q),J.length>0)W.push(...J);break}W.push(Q)}return{operands:_,unknown:U}}opts(){if(this._storeOptionsAsProperties){let $={},_=this.options.length;for(let U=0;U<_;U++){let W=this.options[U].attributeName();$[W]=W===this._versionOptionName?this._version:this[W]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,_)=>Object.assign($,_.opts()),{})}error($,_){if(this._outputConfiguration.outputError(`${$} + - ${W}`;throw Error(J)}_executeSubCommand($,_){_=_.slice();let U=!1,W=[".js",".ts",".tsx",".mjs",".cjs"];function J(j,O){let B=E4.resolve(j,O);if(wG.existsSync(B))return B;if(W.includes(E4.extname(O)))return;let V=W.find((L)=>wG.existsSync(`${B}${L}`));if(V)return`${B}${V}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let X=$._executableFile||`${this._name}-${$._name}`,G=this._executableDir||"";if(this._scriptPath){let j;try{j=wG.realpathSync(this._scriptPath)}catch{j=this._scriptPath}G=E4.resolve(E4.dirname(j),G)}if(G){let j=J(G,X);if(!j&&!$._executableFile&&this._scriptPath){let O=E4.basename(this._scriptPath,E4.extname(this._scriptPath));if(O!==this._name)j=J(G,`${O}-${$._name}`)}X=j||X}U=W.includes(E4.extname(X));let Q;if(P$.platform!=="win32")if(U)_.unshift(X),_=pA(P$.execArgv).concat(_),Q=VO.spawn(P$.argv[0],_,{stdio:"inherit"});else Q=VO.spawn(X,_,{stdio:"inherit"});else this._checkForMissingExecutable(X,G,$._name),_.unshift(X),_=pA(P$.execArgv).concat(_),Q=VO.spawn(P$.execPath,_,{stdio:"inherit"});if(!Q.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((O)=>{P$.on(O,()=>{if(Q.killed===!1&&Q.exitCode===null)Q.kill(O)})});let Y=this._exitCallback;Q.on("close",(j)=>{if(j=j??1,!Y)P$.exit(j);else Y(new RO(j,"commander.executeSubCommandAsync","(close)"))}),Q.on("error",(j)=>{if(j.code==="ENOENT")this._checkForMissingExecutable(X,G,$._name);else if(j.code==="EACCES")throw Error(`'${X}' not executable`);if(!Y)P$.exit(1);else{let O=new RO(1,"commander.executeSubCommandAsync","(error)");O.nestedError=j,Y(O)}}),this.runningCommand=Q}_dispatchSubcommand($,_,U){let W=this._findCommand($);if(!W)this.help({error:!0});W._prepareForParse();let J;return J=this._chainOrCallSubCommandHook(J,W,"preSubcommand"),J=this._chainOrCall(J,()=>{if(W._executableHandler)this._executeSubCommand(W,_.concat(U));else return W._parseCommand(_,U)}),J}_dispatchHelpCommand($){if(!$)this.help();let _=this._findCommand($);if(_&&!_._executableHandler)_.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,_)=>{if($.required&&this.args[_]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(U,W,J)=>{let X=W;if(W!==null&&U.parseArg){let G=`error: command-argument value '${W}' is invalid for argument '${U.name()}'.`;X=this._callParseArg(U,W,J,G)}return X};this._checkNumberOfArguments();let _=[];this.registeredArguments.forEach((U,W)=>{let J=U.defaultValue;if(U.variadic){if(W<this.args.length){if(J=this.args.slice(W),U.parseArg)J=J.reduce((X,G)=>{return $(U,G,X)},U.defaultValue)}else if(J===void 0)J=[]}else if(W<this.args.length){if(J=this.args[W],U.parseArg)J=$(U,J,U.defaultValue)}_[W]=J}),this.processedArgs=_}_chainOrCall($,_){if($&&$.then&&typeof $.then==="function")return $.then(()=>_());return _()}_chainOrCallHooks($,_){let U=$,W=[];if(this._getCommandAndAncestors().reverse().filter((J)=>J._lifeCycleHooks[_]!==void 0).forEach((J)=>{J._lifeCycleHooks[_].forEach((X)=>{W.push({hookedCommand:J,callback:X})})}),_==="postAction")W.reverse();return W.forEach((J)=>{U=this._chainOrCall(U,()=>{return J.callback(J.hookedCommand,this)})}),U}_chainOrCallSubCommandHook($,_,U){let W=$;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((J)=>{W=this._chainOrCall(W,()=>{return J(this,_)})});return W}_parseCommand($,_){let U=this.parseOptions(_);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(U.operands),_=U.unknown,this.args=$.concat(_),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),_);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(_),this._dispatchSubcommand(this._defaultCommandName,$,_);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(U.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let W=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},J=`command:${this.name()}`;if(this._actionHandler){W(),this._processArguments();let X;if(X=this._chainOrCallHooks(X,"preAction"),X=this._chainOrCall(X,()=>this._actionHandler(this.processedArgs)),this.parent)X=this._chainOrCall(X,()=>{this.parent.emit(J,$,_)});return X=this._chainOrCallHooks(X,"postAction"),X}if(this.parent&&this.parent.listenerCount(J))W(),this._processArguments(),this.parent.emit(J,$,_);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,_);if(this.listenerCount("command:*"))this.emit("command:*",$,_);else if(this.commands.length)this.unknownCommand();else W(),this._processArguments()}else if(this.commands.length)W(),this.help({error:!0});else W(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((_)=>_._name===$||_._aliases.includes($))}_findOption($){return this.options.find((_)=>_.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((_)=>{if(_.mandatory&&$.getOptionValue(_.attributeName())===void 0)$.missingMandatoryOptionValue(_)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((U)=>{let W=U.attributeName();if(this.getOptionValue(W)===void 0)return!1;return this.getOptionValueSource(W)!=="default"});$.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let W=$.find((J)=>U.conflictsWith.includes(J.attributeName()));if(W)this._conflictingOption(U,W)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let _=[],U=[],W=_,J=$.slice();function X(Q){return Q.length>1&&Q[0]==="-"}let G=null;while(J.length){let Q=J.shift();if(Q==="--"){if(W===U)W.push(Q);W.push(...J);break}if(G&&!X(Q)){this.emit(`option:${G.name()}`,Q);continue}if(G=null,X(Q)){let Y=this._findOption(Q);if(Y){if(Y.required){let j=J.shift();if(j===void 0)this.optionMissingArgument(Y);this.emit(`option:${Y.name()}`,j)}else if(Y.optional){let j=null;if(J.length>0&&!X(J[0]))j=J.shift();this.emit(`option:${Y.name()}`,j)}else this.emit(`option:${Y.name()}`);G=Y.variadic?Y:null;continue}}if(Q.length>2&&Q[0]==="-"&&Q[1]!=="-"){let Y=this._findOption(`-${Q[1]}`);if(Y){if(Y.required||Y.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${Y.name()}`,Q.slice(2));else this.emit(`option:${Y.name()}`),J.unshift(`-${Q.slice(2)}`);continue}}if(/^--[^=]+=/.test(Q)){let Y=Q.indexOf("="),j=this._findOption(Q.slice(0,Y));if(j&&(j.required||j.optional)){this.emit(`option:${j.name()}`,Q.slice(Y+1));continue}}if(X(Q))W=U;if((this._enablePositionalOptions||this._passThroughOptions)&&_.length===0&&U.length===0){if(this._findCommand(Q)){if(_.push(Q),J.length>0)U.push(...J);break}else if(this._getHelpCommand()&&Q===this._getHelpCommand().name()){if(_.push(Q),J.length>0)_.push(...J);break}else if(this._defaultCommandName){if(U.push(Q),J.length>0)U.push(...J);break}}if(this._passThroughOptions){if(W.push(Q),J.length>0)W.push(...J);break}W.push(Q)}return{operands:_,unknown:U}}opts(){if(this._storeOptionsAsProperties){let $={},_=this.options.length;for(let U=0;U<_;U++){let W=this.options[U].attributeName();$[W]=W===this._versionOptionName?this._version:this[W]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,_)=>Object.assign($,_.opts()),{})}error($,_){if(this._outputConfiguration.outputError(`${$} `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError} `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(` -`),this.outputHelp({error:!0});let U=_||{},W=U.exitCode||1,J=U.code||"commander.error";this._exit(W,J,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in f$.env){let _=$.attributeName();if(this.getOptionValue(_)===void 0||["default","config","env"].includes(this.getOptionValueSource(_)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,f$.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new su(this.options),_=(U)=>{return this.getOptionValue(U)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(U))};this.options.filter((U)=>U.implied!==void 0&&_(U.attributeName())&&$.valueFromOption(this.getOptionValue(U.attributeName()),U)).forEach((U)=>{Object.keys(U.implied).filter((W)=>!_(W)).forEach((W)=>{this.setOptionValueWithSource(W,U.implied[W],"implied")})})}missingArgument($){let _=`error: missing required argument '${$}'`;this.error(_,{code:"commander.missingArgument"})}optionMissingArgument($){let _=`error: option '${$.flags}' argument missing`;this.error(_,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let _=`error: required option '${$.flags}' not specified`;this.error(_,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,_){let U=(X)=>{let G=X.attributeName(),Q=this.getOptionValue(G),Y=this.options.find((O)=>O.negate&&G===O.attributeName()),j=this.options.find((O)=>!O.negate&&G===O.attributeName());if(Y&&(Y.presetArg===void 0&&Q===!1||Y.presetArg!==void 0&&Q===Y.presetArg))return Y;return j||X},W=(X)=>{let G=U(X),Q=G.attributeName();if(this.getOptionValueSource(Q)==="env")return`environment variable '${G.envVar}'`;return`option '${G.flags}'`},J=`error: ${W($)} cannot be used with ${W(_)}`;this.error(J,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let _="";if($.startsWith("--")&&this._showSuggestionAfterError){let W=[],J=this;do{let X=J.createHelp().visibleOptions(J).filter((G)=>G.long).map((G)=>G.long);W=W.concat(X),J=J.parent}while(J&&!J._enablePositionalOptions);_=iA($,W)}let U=`error: unknown option '${$}'${_}`;this.error(U,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let _=this.registeredArguments.length,U=_===1?"":"s",J=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${_} argument${U} but got ${$.length}.`;this.error(J,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],_="";if(this._showSuggestionAfterError){let W=[];this.createHelp().visibleCommands(this).forEach((J)=>{if(W.push(J.name()),J.alias())W.push(J.alias())}),_=iA($,W)}let U=`error: unknown command '${$}'${_}`;this.error(U,{code:"commander.unknownCommand"})}version($,_,U){if($===void 0)return this._version;this._version=$,_=_||"-V, --version",U=U||"output the version number";let W=this.createOption(_,U);return this._versionOptionName=W.attributeName(),this._registerOption(W),this.on("option:"+W.name(),()=>{this._outputConfiguration.writeOut(`${$} -`),this._exit(0,"commander.version",$)}),this}description($,_){if($===void 0&&_===void 0)return this._description;if(this._description=$,_)this._argsDescription=_;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let _=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)_=this.commands[this.commands.length-1];if($===_._name)throw Error("Command alias can't be the same as its name");let U=this.parent?._findCommand($);if(U){let W=[U.name()].concat(U.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${W}'`)}return _._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((_)=>this.alias(_)),this}usage($){if($===void 0){if(this._usage)return this._usage;let _=this.registeredArguments.map((U)=>{return ou(U)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?_:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}nameFromFilename($){return this._name=b4.basename($,b4.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let _=this.createHelp(),U=this._getOutputContext($);_.prepareContext({error:U.error,helpWidth:U.helpWidth,outputHasColors:U.hasColors});let W=_.formatHelp(this,_);if(U.hasColors)return W;return this._outputConfiguration.stripColor(W)}_getOutputContext($){$=$||{};let _=!!$.error,U,W,J;if(_)U=(G)=>this._outputConfiguration.writeErr(G),W=this._outputConfiguration.getErrHasColors(),J=this._outputConfiguration.getErrHelpWidth();else U=(G)=>this._outputConfiguration.writeOut(G),W=this._outputConfiguration.getOutHasColors(),J=this._outputConfiguration.getOutHelpWidth();return{error:_,write:(G)=>{if(!W)G=this._outputConfiguration.stripColor(G);return U(G)},hasColors:W,helpWidth:J}}outputHelp($){let _;if(typeof $==="function")_=$,$=void 0;let U=this._getOutputContext($),W={error:U.error,write:U.write,command:this};this._getCommandAndAncestors().reverse().forEach((X)=>X.emit("beforeAllHelp",W)),this.emit("beforeHelp",W);let J=this.helpInformation({error:U.error});if(_){if(J=_(J),typeof J!=="string"&&!Buffer.isBuffer(J))throw Error("outputHelp callback must return a string or a Buffer")}if(U.write(J),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",W),this._getCommandAndAncestors().forEach((X)=>X.emit("afterAllHelp",W))}helpOption($,_){if(typeof $==="boolean"){if($)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return $=$??"-h, --help",_=_??"display help for command",this._helpOption=this.createOption($,_),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this}help($){this.outputHelp($);let _=Number(f$.exitCode??0);if(_===0&&$&&typeof $!=="function"&&$.error)_=1;this._exit(_,"commander.help","(outputHelp)")}addHelpText($,_){let U=["beforeAll","before","after","afterAll"];if(!U.includes($))throw Error(`Unexpected value for position to addHelpText. +`),this.outputHelp({error:!0});let U=_||{},W=U.exitCode||1,J=U.code||"commander.error";this._exit(W,J,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in P$.env){let _=$.attributeName();if(this.getOptionValue(_)===void 0||["default","config","env"].includes(this.getOptionValueSource(_)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,P$.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new su(this.options),_=(U)=>{return this.getOptionValue(U)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(U))};this.options.filter((U)=>U.implied!==void 0&&_(U.attributeName())&&$.valueFromOption(this.getOptionValue(U.attributeName()),U)).forEach((U)=>{Object.keys(U.implied).filter((W)=>!_(W)).forEach((W)=>{this.setOptionValueWithSource(W,U.implied[W],"implied")})})}missingArgument($){let _=`error: missing required argument '${$}'`;this.error(_,{code:"commander.missingArgument"})}optionMissingArgument($){let _=`error: option '${$.flags}' argument missing`;this.error(_,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let _=`error: required option '${$.flags}' not specified`;this.error(_,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,_){let U=(X)=>{let G=X.attributeName(),Q=this.getOptionValue(G),Y=this.options.find((O)=>O.negate&&G===O.attributeName()),j=this.options.find((O)=>!O.negate&&G===O.attributeName());if(Y&&(Y.presetArg===void 0&&Q===!1||Y.presetArg!==void 0&&Q===Y.presetArg))return Y;return j||X},W=(X)=>{let G=U(X),Q=G.attributeName();if(this.getOptionValueSource(Q)==="env")return`environment variable '${G.envVar}'`;return`option '${G.flags}'`},J=`error: ${W($)} cannot be used with ${W(_)}`;this.error(J,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let _="";if($.startsWith("--")&&this._showSuggestionAfterError){let W=[],J=this;do{let X=J.createHelp().visibleOptions(J).filter((G)=>G.long).map((G)=>G.long);W=W.concat(X),J=J.parent}while(J&&!J._enablePositionalOptions);_=rA($,W)}let U=`error: unknown option '${$}'${_}`;this.error(U,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let _=this.registeredArguments.length,U=_===1?"":"s",J=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${_} argument${U} but got ${$.length}.`;this.error(J,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],_="";if(this._showSuggestionAfterError){let W=[];this.createHelp().visibleCommands(this).forEach((J)=>{if(W.push(J.name()),J.alias())W.push(J.alias())}),_=rA($,W)}let U=`error: unknown command '${$}'${_}`;this.error(U,{code:"commander.unknownCommand"})}version($,_,U){if($===void 0)return this._version;this._version=$,_=_||"-V, --version",U=U||"output the version number";let W=this.createOption(_,U);return this._versionOptionName=W.attributeName(),this._registerOption(W),this.on("option:"+W.name(),()=>{this._outputConfiguration.writeOut(`${$} +`),this._exit(0,"commander.version",$)}),this}description($,_){if($===void 0&&_===void 0)return this._description;if(this._description=$,_)this._argsDescription=_;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let _=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)_=this.commands[this.commands.length-1];if($===_._name)throw Error("Command alias can't be the same as its name");let U=this.parent?._findCommand($);if(U){let W=[U.name()].concat(U.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${W}'`)}return _._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((_)=>this.alias(_)),this}usage($){if($===void 0){if(this._usage)return this._usage;let _=this.registeredArguments.map((U)=>{return ou(U)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?_:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}nameFromFilename($){return this._name=E4.basename($,E4.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let _=this.createHelp(),U=this._getOutputContext($);_.prepareContext({error:U.error,helpWidth:U.helpWidth,outputHasColors:U.hasColors});let W=_.formatHelp(this,_);if(U.hasColors)return W;return this._outputConfiguration.stripColor(W)}_getOutputContext($){$=$||{};let _=!!$.error,U,W,J;if(_)U=(G)=>this._outputConfiguration.writeErr(G),W=this._outputConfiguration.getErrHasColors(),J=this._outputConfiguration.getErrHelpWidth();else U=(G)=>this._outputConfiguration.writeOut(G),W=this._outputConfiguration.getOutHasColors(),J=this._outputConfiguration.getOutHelpWidth();return{error:_,write:(G)=>{if(!W)G=this._outputConfiguration.stripColor(G);return U(G)},hasColors:W,helpWidth:J}}outputHelp($){let _;if(typeof $==="function")_=$,$=void 0;let U=this._getOutputContext($),W={error:U.error,write:U.write,command:this};this._getCommandAndAncestors().reverse().forEach((X)=>X.emit("beforeAllHelp",W)),this.emit("beforeHelp",W);let J=this.helpInformation({error:U.error});if(_){if(J=_(J),typeof J!=="string"&&!Buffer.isBuffer(J))throw Error("outputHelp callback must return a string or a Buffer")}if(U.write(J),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",W),this._getCommandAndAncestors().forEach((X)=>X.emit("afterAllHelp",W))}helpOption($,_){if(typeof $==="boolean"){if($)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return $=$??"-h, --help",_=_??"display help for command",this._helpOption=this.createOption($,_),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this}help($){this.outputHelp($);let _=Number(P$.exitCode??0);if(_===0&&$&&typeof $!=="function"&&$.error)_=1;this._exit(_,"commander.help","(outputHelp)")}addHelpText($,_){let U=["beforeAll","before","after","afterAll"];if(!U.includes($))throw Error(`Unexpected value for position to addHelpText. Expecting one of '${U.join("', '")}'`);let W=`${$}Help`;return this.on(W,(J)=>{let X;if(typeof _==="function")X=_({error:J.error,command:J.command});else X=_;if(X)J.write(`${X} -`)}),this}_outputHelpIfRequested($){let _=this._getHelpOption();if(_&&$.find((W)=>_.is(W)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function pA($){return $.map((_)=>{if(!_.startsWith("--inspect"))return _;let U,W="127.0.0.1",J="9229",X;if((X=_.match(/^(--inspect(-brk)?)$/))!==null)U=X[1];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=X[1],/^\d+$/.test(X[3]))J=X[3];else W=X[3];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=X[1],W=X[3],J=X[4];if(U&&J!=="0")return`${U}=${W}:${parseInt(J)+1}`;return _})}function RO(){if(f$.env.NO_COLOR||f$.env.FORCE_COLOR==="0"||f$.env.FORCE_COLOR==="false")return!1;if(f$.env.FORCE_COLOR||f$.env.CLICOLOR_FORCE!==void 0)return!0;return}eu.Command=AO;eu.useColor=RO});var eA=G0((Wd)=>{var{Argument:tA}=g5(),{Command:bO}=oA(),{CommanderError:Ud,InvalidArgumentError:aA}=ZW(),{Help:Jd}=NO(),{Option:sA}=BO();Wd.program=new bO;Wd.createCommand=($)=>new bO($);Wd.createOption=($,_)=>new sA($,_);Wd.createArgument=($,_)=>new tA($,_);Wd.Command=bO;Wd.Option=sA;Wd.Argument=tA;Wd.Help=Jd;Wd.CommanderError=Ud;Wd.InvalidArgumentError=aA;Wd.InvalidOptionArgumentError=aA});import{chmodSync as mO,closeSync as gU,existsSync as I1,fsyncSync as c5,lstatSync as rb,openSync as l5,readFileSync as IU,renameSync as uO,unlinkSync as r5,writeFileSync as i5}from"fs";import{randomUUID as wU}from"crypto";import{basename as ib,dirname as dO,join as n5}from"path";import{chmodSync as PO,existsSync as ub,mkdirSync as v5,readFileSync as db,writeFileSync as CO}from"fs";import{homedir as y5}from"os";import{dirname as nb,join as q_,resolve as TO}from"path";var c6=q_(".hasna","knowledge"),SO=q_(".hasna","apps","knowledge"),S$={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:c6,s3:{bucket:"example-knowledge-prod",region:"us-east-1",profile:"example-infra",prefix:".hasna/knowledge",server_side_encryption:"AES256"},secrets:{env:"example/knowledge/prod/env",aws:"example/knowledge/prod/aws",s3:"example/knowledge/prod/s3",rds:null,future_rds:"example/knowledge/prod/rds"},source_owner:"open-files",evidence_doc:"docs/canonical-secrets-bootstrap-2026-06-08.md"};function ZO(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:S$.s3.bucket,prefix:S$.s3.prefix,region:S$.s3.region,profile:S$.s3.profile,server_side_encryption:S$.s3.server_side_encryption}}}function KU(){return q_(y5(),".open-knowledge","db.json")}function uW(){return q_(y5(),".hasna","knowledge")}function h5($=process.cwd()){return TO($,c6)}function cb(){return q_(y5(),SO)}function lb($=process.cwd()){return TO($,SO)}function x5($,_=process.cwd()){if($==="project"||$==="local")return T_(lb(_));return T_(cb())}function T_($){return{home:$,configPath:q_($,"config.json"),jsonStorePath:q_($,"db.json"),knowledgeDbPath:q_($,"knowledge.db"),artifactsDir:q_($,"artifacts"),cacheDir:q_($,"cache"),exportsDir:q_($,"exports"),indexesDir:q_($,"indexes"),logsDir:q_($,"logs"),runsDir:q_($,"runs"),schemasDir:q_($,"schemas"),wikiDir:q_($,"wiki")}}function MU(){return{version:1,mode:"local",hosted:{api_url:"https://knowledge.md"},storage:{type:"local",artifacts_root:"artifacts"},sources:{preferred_ref:"open-files",allowed_schemes:["open-files","s3","file","https","http"]},providers:{default_model:"openai:gpt-5.2",aliases:{fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"},openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},embeddings:{default_model:"openai:text-embedding-3-small",dimensions:1536,batch_size:64,max_parallel_calls:4},safety:{network:{web_search_enabled:!1,s3_reads_enabled:!1,allowed_s3_buckets:[]},redaction:{enabled:!0},approvals:{generated_writes_require_approval:!0}}}}function g1($){let _=T_($);v5(_.home,{recursive:!0,mode:448});for(let U of[_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir])v5(U,{recursive:!0,mode:448});if(!ub(_.configPath))CO(_.configPath,`${JSON.stringify(MU(),null,2)} -`,{mode:384}),PO(_.configPath,384);return _}function dW($,_=process.cwd()){if($==="project"||$==="local")return T_(h5(_));return T_(uW())}function E4($){v5(nb($),{recursive:!0})}function m5($){let _=db($,"utf8");return JSON.parse(_)}function vO($,_){E4($),CO($,`${JSON.stringify(_,null,2)} -`,{mode:384}),PO($,384)}function cW(){return T_(uW()).jsonStorePath}function kU($){if($===cW()&&I1(KU()))o5();if(!I1($))E4($),lO($,`${JSON.stringify({items:[]},null,2)} -`)}function pb($){return $.toISOString().replace(/[:.]/g,"-")}function p5($){let _=[`id:${$.id}`];if(typeof $.short_id==="string"&&$.short_id.length>0)_.push(`short_id:${$.short_id}`);return _}function ob($){let _=new Set;for(let U of $)for(let W of p5(U))_.add(W);return _}function tb($,_){return p5(_).some((U)=>$.has(U))}function u5($,_){E4($),i5($,`${JSON.stringify(_,null,2)} -`,{mode:384}),mO($,384)}function yO($){let _=JSON.parse(IU($,"utf8"));if(!_||typeof _!=="object"||!Array.isArray(_.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},W=0;for(let J of _.items)if(J&&typeof J==="object"&&typeof J.id==="string"&&J.id.length>0)U.items.push(J);else W+=1;return{store:U,skippedInvalid:W}}function o5($={}){if($.dryRun===!0)return hO($);return I6(cW(),()=>hO($),{createParent:!0})}function hO($={}){let _=$.dryRun===!0,U=$.now??new Date,W=T_(uW()),J=KU(),X=W.jsonStorePath,G=I1(J),Q=I1(X),Y={ok:!0,dry_run:_,legacy_path:J,canonical_path:X,legacy_exists:G,canonical_existed:Q,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:G?"Legacy global store already imported":"No legacy global store found"};if(!G)return Y;let j;try{let N=yO(J);j=N.store,Y.skipped_invalid=N.skippedInvalid}catch(N){return Y.ok=!1,Y.errors.push(`Could not read legacy store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let O={items:[]};if(Q)try{O=yO(X).store}catch(N){return Y.ok=!1,Y.errors.push(`Could not read canonical store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let B=ob(O.items),V={items:[...O.items]};for(let N of j.items){if(!N?.id){Y.skipped_invalid+=1;continue}if(tb(B,N)){Y.skipped_existing+=1;continue}V.items.push(N);for(let H of p5(N))B.add(H);Y.imported+=1}if(Y.would_create_canonical=!Q&&Y.imported>0,Y.canonical_created=!_&&Y.would_create_canonical,Y.message=Y.imported>0?`Imported ${Y.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",_||Y.imported===0)return Y;let L=`${pb(U)}-${wU().slice(0,8)}`;if(Q)Y.backup_path=n5(W.exportsDir,`legacy-open-knowledge-db-before-import-${L}.json`),u5(Y.backup_path,O);return u5(X,V),Y.report_path=n5(W.runsDir,`legacy-open-knowledge-import-${L}.json`),u5(Y.report_path,Y),Y}function w1($){if(!I1($))return{exists:!1,items:[]};let _=IU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function ab($){return`${$}.lock`}var nW=1e4,nO=25,xO=120000,sb=new Int32Array(new SharedArrayBuffer(4));function t5($){return typeof $==="object"&&$!==null&&"code"in $?String($.code):void 0}function cO($){let _=null;try{_=l5(dO($),"r"),c5(_)}catch{}finally{if(_!==null)try{gU(_)}catch{}}}var d5=new Set;function lO($,_){E4($);let U=n5(dO($),`.${ib($)}.tmp.${wU()}`),W=null;try{W=l5(U,"wx",384),i5(W,_),c5(W),gU(W),W=null,uO(U,$);try{mO($,384)}catch{}cO($)}catch(J){if(W!==null)try{gU(W)}catch{}try{r5(U)}catch{}throw J}}function rO($){Atomics.wait(sb,0,0,$)}function eb($){if(typeof $!=="number"||!Number.isInteger($)||$<=0)return!1;try{return process.kill($,0),!0}catch(_){return t5(_)!=="ESRCH"}}function iO($,_){try{let U=IU($,"utf8"),W=JSON.parse(U);if(typeof W.ts==="number")return _-W.ts>xO&&!eb(W.pid)}catch{}try{return _-rb($).mtimeMs>xO}catch{return!1}}function $F($){let _=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${$}.stale.${_}.${wU()}`;try{uO($,U)}catch(W){if(t5(W)!=="ENOENT")throw W;return}}function _F($){let _=wU(),U=`${$}.breaker`,W=Date.now();while(Date.now()-W<nW){if(pO(U,_)){try{if(iO($,Date.now()))$F($)}finally{oO(U,_)}return}rO(nO)}throw Error(`Could not acquire stale-lock breaker on ${U} after ${nW}ms`)}function pO($,_){let U=null,W=!1;try{return U=l5($,"wx",384),W=!0,i5(U,`${JSON.stringify({owner:_,pid:process.pid,ts:Date.now()})} -`),c5(U),gU(U),U=null,cO($),!0}catch(J){if(U!==null)try{gU(U)}catch{}if(W)try{r5($)}catch{}if(t5(J)==="EEXIST")return!1;throw J}}function UF($,_){let U=Date.now();while(Date.now()-U<nW){if(pO($,_))return;if(iO($,Date.now()))_F($);rO(nO)}throw Error(`Could not acquire lock on ${$} after ${nW}ms`)}function oO($,_){try{if(I1($)){if(JSON.parse(IU($,"utf8")).owner===_)r5($)}}catch{}}function fU($){kU($);let _=IU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{items:[]};return U}function l6($,_){lO($,`${JSON.stringify(_,null,2)} -`)}function I6($,_,U={}){let W=wU(),J=ab($);if(d5.has(J))return _();if(U.createParent)E4(J);UF(J,W),d5.add(J);try{return _()}finally{d5.delete(J),oO(J,W)}}function tO(){return`k_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function aO($){return $.replace(/^k_/,"").slice(0,12)}import{existsSync as fw}from"fs";var JF=Object.defineProperty,WF=($)=>$;function XF($,_){this[$]=WF.bind(null,_)}var GF=($,_)=>{for(var U in _)JF($,U,{get:_[U],enumerable:!0,configurable:!0,set:XF.bind(_,U)})},D={};GF(D,{void:()=>cF,util:()=>M$,unknown:()=>dF,union:()=>pF,undefined:()=>xF,tuple:()=>aF,transformer:()=>$L,symbol:()=>hF,string:()=>DL,strictObject:()=>iF,setErrorMap:()=>jF,set:()=>$E,record:()=>sF,quotelessJson:()=>QF,promise:()=>GE,preprocess:()=>jE,pipeline:()=>DE,ostring:()=>zE,optional:()=>QE,onumber:()=>qE,oboolean:()=>OE,objectUtil:()=>_G,object:()=>rF,number:()=>zL,nullable:()=>YE,null:()=>mF,never:()=>nF,nativeEnum:()=>XE,nan:()=>ZF,map:()=>eF,makeIssue:()=>iW,literal:()=>JE,lazy:()=>UE,late:()=>TF,isValid:()=>Q0,isDirty:()=>JG,isAsync:()=>PU,isAborted:()=>UG,intersection:()=>tF,instanceof:()=>SF,getParsedType:()=>i6,getErrorMap:()=>rW,function:()=>_E,enum:()=>WE,effect:()=>$L,discriminatedUnion:()=>oF,defaultErrorMap:()=>C1,datetimeRegex:()=>QL,date:()=>yF,custom:()=>jL,coerce:()=>LE,boolean:()=>qL,bigint:()=>vF,array:()=>lF,any:()=>uF,addIssueToContext:()=>h,ZodVoid:()=>TU,ZodUnknown:()=>K4,ZodUnion:()=>v1,ZodUndefined:()=>S1,ZodType:()=>V$,ZodTuple:()=>k6,ZodTransformer:()=>l_,ZodSymbol:()=>CU,ZodString:()=>_6,ZodSet:()=>D0,ZodSchema:()=>V$,ZodRecord:()=>SU,ZodReadonly:()=>n1,ZodPromise:()=>z0,ZodPipeline:()=>yU,ZodParsedType:()=>n,ZodOptional:()=>J6,ZodObject:()=>s$,ZodNumber:()=>M4,ZodNullable:()=>p6,ZodNull:()=>Z1,ZodNever:()=>w6,ZodNativeEnum:()=>m1,ZodNaN:()=>vU,ZodMap:()=>ZU,ZodLiteral:()=>x1,ZodLazy:()=>h1,ZodIssueCode:()=>P,ZodIntersection:()=>y1,ZodFunction:()=>P1,ZodFirstPartyTypeKind:()=>X$,ZodError:()=>S_,ZodEnum:()=>I4,ZodEffects:()=>l_,ZodDiscriminatedUnion:()=>oW,ZodDefault:()=>u1,ZodDate:()=>Y0,ZodCatch:()=>d1,ZodBranded:()=>tW,ZodBoolean:()=>T1,ZodBigInt:()=>g4,ZodArray:()=>U6,ZodAny:()=>j0,Schema:()=>V$,ParseStatus:()=>O_,OK:()=>F_,NEVER:()=>NE,INVALID:()=>U$,EMPTY_PATH:()=>DF,DIRTY:()=>f1,BRAND:()=>CF});var M$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(M$||(M$={}));var _G;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(_G||(_G={}));var n=M$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),i6=($)=>{switch(typeof $){case"undefined":return n.undefined;case"string":return n.string;case"number":return Number.isNaN($)?n.nan:n.number;case"boolean":return n.boolean;case"function":return n.function;case"bigint":return n.bigint;case"symbol":return n.symbol;case"object":if(Array.isArray($))return n.array;if($===null)return n.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return n.promise;if(typeof Map<"u"&&$ instanceof Map)return n.map;if(typeof Set<"u"&&$ instanceof Set)return n.set;if(typeof Date<"u"&&$ instanceof Date)return n.date;return n.object;default:return n.unknown}},P=M$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),QF=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class S_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof S_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,M$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}S_.create=($)=>{return new S_($)};var YF=($,_)=>{let U;switch($.code){case P.invalid_type:if($.received===n.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case P.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,M$.jsonStringifyReplacer)}`;break;case P.unrecognized_keys:U=`Unrecognized key(s) in object: ${M$.joinValues($.keys,", ")}`;break;case P.invalid_union:U="Invalid input";break;case P.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${M$.joinValues($.options)}`;break;case P.invalid_enum_value:U=`Invalid enum value. Expected ${M$.joinValues($.options)}, received '${$.received}'`;break;case P.invalid_arguments:U="Invalid function arguments";break;case P.invalid_return_type:U="Invalid function return type";break;case P.invalid_date:U="Invalid date";break;case P.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else M$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case P.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case P.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case P.custom:U="Invalid input";break;case P.invalid_intersection_types:U="Intersection results could not be merged";break;case P.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case P.not_finite:U="Number must be finite";break;default:U=_.defaultError,M$.assertNever($)}return{message:U}},C1=YF,WL=C1;function jF($){WL=$}function rW(){return WL}var iW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},DF=[];function h($,_){let U=rW(),W=iW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===C1?void 0:C1].filter((J)=>!!J)});$.common.issues.push(W)}class O_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return U$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return O_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return U$;if(X.status==="aborted")return U$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var U$=Object.freeze({status:"aborted"}),f1=($)=>({status:"dirty",value:$}),F_=($)=>({status:"valid",value:$}),UG=($)=>$.status==="aborted",JG=($)=>$.status==="dirty",Q0=($)=>$.status==="valid",PU=($)=>typeof Promise<"u"&&$ instanceof Promise,t;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(t||(t={}));class W6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var sO=($,_)=>{if(Q0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new S_($.common.issues);return this._error=U,this._error}}}};function L$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class V${get description(){return this._def.description}_getType($){return i6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:i6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O_,ctx:{common:$.parent.common,data:$.data,parsedType:i6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(PU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:i6($)},W=this._parseSync({data:$,path:U.path,parent:U});return sO(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:i6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return Q0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>Q0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:i6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(PU(W)?W:Promise.resolve(W));return sO(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:P.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new l_({schema:this,typeName:X$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return J6.create(this,this._def)}nullable(){return p6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return U6.create(this)}promise(){return z0.create(this,this._def)}or($){return v1.create([this,$],this._def)}and($){return y1.create(this,$,this._def)}transform($){return new l_({...L$(this._def),schema:this,typeName:X$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new u1({...L$(this._def),innerType:this,defaultValue:_,typeName:X$.ZodDefault})}brand(){return new tW({typeName:X$.ZodBranded,type:this,...L$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new d1({...L$(this._def),innerType:this,catchValue:_,typeName:X$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return yU.create(this,$)}readonly(){return n1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var zF=/^c[^\s-]{8,}$/i,qF=/^[0-9a-z]+$/,OF=/^[0-9A-HJKMNP-TV-Z]{26}$/i,LF=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,NF=/^[a-z0-9_-]{21}$/i,BF=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,HF=/^[-+]?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)?)??$/,VF=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,RF="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",a5,AF=/^(?:(?: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])$/,bF=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,FF=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,EF=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,KF=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,MF=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,XL="((\\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])))",gF=new RegExp(`^${XL}$`);function GL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function IF($){return new RegExp(`^${GL($)}$`)}function QL($){let _=`${XL}T${GL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function wF($,_){if((_==="v4"||!_)&&AF.test($))return!0;if((_==="v6"||!_)&&FF.test($))return!0;return!1}function kF($,_){if(!BF.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function fF($,_){if((_==="v4"||!_)&&bF.test($))return!0;if((_==="v6"||!_)&&EF.test($))return!0;return!1}class _6 extends V${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==n.string){let J=this._getOrReturnCtx($);return h(J,{code:P.invalid_type,expected:n.string,received:J.parsedType}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),h(W,{code:P.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),h(W,{code:P.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)h(W,{code:P.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)h(W,{code:P.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!VF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"email",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!a5)a5=new RegExp(RF,"u");if(!a5.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"emoji",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!LF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"uuid",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!NF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"nanoid",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!zF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"cuid",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!qF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"cuid2",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!OF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"ulid",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),h(W,{validation:"url",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"regex",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),h(W,{code:P.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),h(W,{code:P.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),h(W,{code:P.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!QL(J).test($.data))W=this._getOrReturnCtx($,W),h(W,{code:P.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!gF.test($.data))W=this._getOrReturnCtx($,W),h(W,{code:P.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!IF(J).test($.data))W=this._getOrReturnCtx($,W),h(W,{code:P.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!HF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"duration",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!wF($.data,J.version))W=this._getOrReturnCtx($,W),h(W,{validation:"ip",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!kF($.data,J.alg))W=this._getOrReturnCtx($,W),h(W,{validation:"jwt",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!fF($.data,J.version))W=this._getOrReturnCtx($,W),h(W,{validation:"cidr",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!KF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"base64",code:P.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!MF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"base64url",code:P.invalid_string,message:J.message}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:P.invalid_string,...t.errToObj(U)})}_addCheck($){return new _6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...t.errToObj($)})}url($){return this._addCheck({kind:"url",...t.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...t.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...t.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...t.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...t.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...t.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...t.errToObj($)})}base64($){return this._addCheck({kind:"base64",...t.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...t.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...t.errToObj($)})}ip($){return this._addCheck({kind:"ip",...t.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...t.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...t.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...t.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...t.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...t.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...t.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...t.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...t.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...t.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...t.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...t.errToObj(_)})}nonempty($){return this.min(1,t.errToObj($))}trim(){return new _6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}_6.create=($)=>{return new _6({checks:[],typeName:X$.ZodString,coerce:$?.coerce??!1,...L$($)})};function PF($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class M4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==n.number){let J=this._getOrReturnCtx($);return h(J,{code:P.invalid_type,expected:n.number,received:J.parsedType}),U$}let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="int"){if(!M$.isInteger($.data))U=this._getOrReturnCtx($,U),h(U,{code:P.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),h(U,{code:P.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:P.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(PF($.data,J.value)!==0)U=this._getOrReturnCtx($,U),h(U,{code:P.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),h(U,{code:P.not_finite,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new M4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new M4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:t.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}finite($){return this._addCheck({kind:"finite",message:t.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:t.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:t.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&M$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}M4.create=($)=>{return new M4({checks:[],typeName:X$.ZodNumber,coerce:$?.coerce||!1,...L$($)})};class g4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==n.bigint)return this._getInvalidInput($);let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),h(U,{code:P.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:P.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),h(U,{code:P.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return h(_,{code:P.invalid_type,expected:n.bigint,received:_.parsedType}),U$}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new g4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new g4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}g4.create=($)=>{return new g4({checks:[],typeName:X$.ZodBigInt,coerce:$?.coerce??!1,...L$($)})};class T1 extends V${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==n.boolean){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.boolean,received:U.parsedType}),U$}return F_($.data)}}T1.create=($)=>{return new T1({typeName:X$.ZodBoolean,coerce:$?.coerce||!1,...L$($)})};class Y0 extends V${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==n.date){let J=this._getOrReturnCtx($);return h(J,{code:P.invalid_type,expected:n.date,received:J.parsedType}),U$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return h(J,{code:P.invalid_date}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),h(W,{code:P.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),h(W,{code:P.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new Y0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:t.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:t.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}Y0.create=($)=>{return new Y0({checks:[],coerce:$?.coerce||!1,typeName:X$.ZodDate,...L$($)})};class CU extends V${_parse($){if(this._getType($)!==n.symbol){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.symbol,received:U.parsedType}),U$}return F_($.data)}}CU.create=($)=>{return new CU({typeName:X$.ZodSymbol,...L$($)})};class S1 extends V${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.undefined,received:U.parsedType}),U$}return F_($.data)}}S1.create=($)=>{return new S1({typeName:X$.ZodUndefined,...L$($)})};class Z1 extends V${_parse($){if(this._getType($)!==n.null){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.null,received:U.parsedType}),U$}return F_($.data)}}Z1.create=($)=>{return new Z1({typeName:X$.ZodNull,...L$($)})};class j0 extends V${constructor(){super(...arguments);this._any=!0}_parse($){return F_($.data)}}j0.create=($)=>{return new j0({typeName:X$.ZodAny,...L$($)})};class K4 extends V${constructor(){super(...arguments);this._unknown=!0}_parse($){return F_($.data)}}K4.create=($)=>{return new K4({typeName:X$.ZodUnknown,...L$($)})};class w6 extends V${_parse($){let _=this._getOrReturnCtx($);return h(_,{code:P.invalid_type,expected:n.never,received:_.parsedType}),U$}}w6.create=($)=>{return new w6({typeName:X$.ZodNever,...L$($)})};class TU extends V${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.void,received:U.parsedType}),U$}return F_($.data)}}TU.create=($)=>{return new TU({typeName:X$.ZodVoid,...L$($)})};class U6 extends V${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==n.array)return h(_,{code:P.invalid_type,expected:n.array,received:_.parsedType}),U$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)h(_,{code:X?P.too_big:P.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)h(_,{code:P.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)h(_,{code:P.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new W6(_,X,_.path,G))})).then((X)=>{return O_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new W6(_,X,_.path,G))});return O_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new U6({...this._def,minLength:{value:$,message:t.toString(_)}})}max($,_){return new U6({...this._def,maxLength:{value:$,message:t.toString(_)}})}length($,_){return new U6({...this._def,exactLength:{value:$,message:t.toString(_)}})}nonempty($){return this.min(1,$)}}U6.create=($,_)=>{return new U6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:X$.ZodArray,...L$(_)})};function k1($){if($ instanceof s$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=J6.create(k1(W))}return new s$({...$._def,shape:()=>_})}else if($ instanceof U6)return new U6({...$._def,type:k1($.element)});else if($ instanceof J6)return J6.create(k1($.unwrap()));else if($ instanceof p6)return p6.create(k1($.unwrap()));else if($ instanceof k6)return k6.create($.items.map((_)=>k1(_)));else return $}class s$ extends V${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=M$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==n.object){let Y=this._getOrReturnCtx($);return h(Y,{code:P.invalid_type,expected:n.object,received:Y.parsedType}),U$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof w6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new W6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof w6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)h(W,{code:P.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new W6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return O_.mergeObjectSync(U,Y)});else return O_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return t.errToObj,new s$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:t.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new s$({...this._def,unknownKeys:"strip"})}passthrough(){return new s$({...this._def,unknownKeys:"passthrough"})}extend($){return new s$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new s$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:X$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new s$({...this._def,catchall:$})}pick($){let _={};for(let U of M$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}omit($){let _={};for(let U of M$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}deepPartial(){return k1(this)}partial($){let _={};for(let U of M$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new s$({...this._def,shape:()=>_})}required($){let _={};for(let U of M$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof J6)J=J._def.innerType;_[U]=J}return new s$({...this._def,shape:()=>_})}keyof(){return YL(M$.objectKeys(this.shape))}}s$.create=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.strictCreate=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strict",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.lazycreate=($,_)=>{return new s$({shape:$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};class v1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new S_(G.ctx.common.issues));return h(_,{code:P.invalid_union,unionErrors:X}),U$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new S_(Q));return h(_,{code:P.invalid_union,unionErrors:G}),U$}}get options(){return this._def.options}}v1.create=($,_)=>{return new v1({options:$,typeName:X$.ZodUnion,...L$(_)})};var r6=($)=>{if($ instanceof h1)return r6($.schema);else if($ instanceof l_)return r6($.innerType());else if($ instanceof x1)return[$.value];else if($ instanceof I4)return $.options;else if($ instanceof m1)return M$.objectValues($.enum);else if($ instanceof u1)return r6($._def.innerType);else if($ instanceof S1)return[void 0];else if($ instanceof Z1)return[null];else if($ instanceof J6)return[void 0,...r6($.unwrap())];else if($ instanceof p6)return[null,...r6($.unwrap())];else if($ instanceof tW)return r6($.unwrap());else if($ instanceof n1)return r6($.unwrap());else if($ instanceof d1)return r6($._def.innerType);else return[]};class oW extends V${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.object)return h(_,{code:P.invalid_type,expected:n.object,received:_.parsedType}),U$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return h(_,{code:P.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),U$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=r6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new oW({typeName:X$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...L$(U)})}}function WG($,_){let U=i6($),W=i6(_);if($===_)return{valid:!0,data:$};else if(U===n.object&&W===n.object){let J=M$.objectKeys(_),X=M$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=WG($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===n.array&&W===n.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=WG(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===n.date&&W===n.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class y1 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(UG(J)||UG(X))return U$;let G=WG(J.value,X.value);if(!G.valid)return h(U,{code:P.invalid_intersection_types}),U$;if(JG(J)||JG(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}y1.create=($,_,U)=>{return new y1({left:$,right:_,typeName:X$.ZodIntersection,...L$(U)})};class k6 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.array)return h(U,{code:P.invalid_type,expected:n.array,received:U.parsedType}),U$;if(U.data.length<this._def.items.length)return h(U,{code:P.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),U$;if(!this._def.rest&&U.data.length>this._def.items.length)h(U,{code:P.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new W6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return O_.mergeArray(_,X)});else return O_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new k6({...this._def,rest:$})}}k6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new k6({items:$,typeName:X$.ZodTuple,rest:null,...L$(_)})};class SU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.object)return h(U,{code:P.invalid_type,expected:n.object,received:U.parsedType}),U$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new W6(U,G,U.path,G)),value:X._parse(new W6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return O_.mergeObjectAsync(_,W);else return O_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof V$)return new SU({keyType:$,valueType:_,typeName:X$.ZodRecord,...L$(U)});return new SU({keyType:_6.create(),valueType:$,typeName:X$.ZodRecord,...L$(_)})}}class ZU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.map)return h(U,{code:P.invalid_type,expected:n.map,received:U.parsedType}),U$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new W6(U,G,U.path,[Y,"key"])),value:J._parse(new W6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}ZU.create=($,_,U)=>{return new ZU({valueType:_,keyType:$,typeName:X$.ZodMap,...L$(U)})};class D0 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.set)return h(U,{code:P.invalid_type,expected:n.set,received:U.parsedType}),U$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)h(U,{code:P.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)h(U,{code:P.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return U$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new W6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new D0({...this._def,minSize:{value:$,message:t.toString(_)}})}max($,_){return new D0({...this._def,maxSize:{value:$,message:t.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}D0.create=($,_)=>{return new D0({valueType:$,minSize:null,maxSize:null,typeName:X$.ZodSet,...L$(_)})};class P1 extends V${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.function)return h(_,{code:P.invalid_type,expected:n.function,received:_.parsedType}),U$;function U(G,Q){return iW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,rW(),C1].filter((Y)=>!!Y),issueData:{code:P.invalid_arguments,argumentsError:Q}})}function W(G,Q){return iW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,rW(),C1].filter((Y)=>!!Y),issueData:{code:P.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof z0){let G=this;return F_(async function(...Q){let Y=new S_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return F_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new S_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new S_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new P1({...this._def,args:k6.create($).rest(K4.create())})}returns($){return new P1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new P1({args:$?$:k6.create([]).rest(K4.create()),returns:_||K4.create(),typeName:X$.ZodFunction,...L$(U)})}}class h1 extends V${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}h1.create=($,_)=>{return new h1({getter:$,typeName:X$.ZodLazy,...L$(_)})};class x1 extends V${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return h(_,{received:_.data,code:P.invalid_literal,expected:this._def.value}),U$}return{status:"valid",value:$.data}}get value(){return this._def.value}}x1.create=($,_)=>{return new x1({value:$,typeName:X$.ZodLiteral,...L$(_)})};function YL($,_){return new I4({values:$,typeName:X$.ZodEnum,...L$(_)})}class I4 extends V${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{expected:M$.joinValues(U),received:_.parsedType,code:P.invalid_type}),U$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{received:_.data,code:P.invalid_enum_value,options:U}),U$}return F_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return I4.create($,{...this._def,..._})}exclude($,_=this._def){return I4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}I4.create=YL;class m1 extends V${_parse($){let _=M$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==n.string&&U.parsedType!==n.number){let W=M$.objectValues(_);return h(U,{expected:M$.joinValues(W),received:U.parsedType,code:P.invalid_type}),U$}if(!this._cache)this._cache=new Set(M$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=M$.objectValues(_);return h(U,{received:U.data,code:P.invalid_enum_value,options:W}),U$}return F_($.data)}get enum(){return this._def.values}}m1.create=($,_)=>{return new m1({values:$,typeName:X$.ZodNativeEnum,...L$(_)})};class z0 extends V${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.promise&&_.common.async===!1)return h(_,{code:P.invalid_type,expected:n.promise,received:_.parsedType}),U$;let U=_.parsedType===n.promise?_.data:Promise.resolve(_.data);return F_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}z0.create=($,_)=>{return new z0({type:$,typeName:X$.ZodPromise,...L$(_)})};class l_ extends V${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===X$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(h(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return U$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return U$;if(Q.status==="dirty")return f1(Q.value);if(_.value==="dirty")return f1(Q.value);return Q});else{if(_.value==="aborted")return U$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")return f1(G.value);if(_.value==="dirty")return f1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!Q0(X))return U$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!Q0(X))return U$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});M$.assertNever(W)}}l_.create=($,_,U)=>{return new l_({schema:$,typeName:X$.ZodEffects,effect:_,...L$(U)})};l_.createWithPreprocess=($,_,U)=>{return new l_({schema:_,effect:{type:"preprocess",transform:$},typeName:X$.ZodEffects,...L$(U)})};class J6 extends V${_parse($){if(this._getType($)===n.undefined)return F_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}J6.create=($,_)=>{return new J6({innerType:$,typeName:X$.ZodOptional,...L$(_)})};class p6 extends V${_parse($){if(this._getType($)===n.null)return F_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}p6.create=($,_)=>{return new p6({innerType:$,typeName:X$.ZodNullable,...L$(_)})};class u1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===n.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}u1.create=($,_)=>{return new u1({innerType:$,typeName:X$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...L$(_)})};class d1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(PU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}d1.create=($,_)=>{return new d1({innerType:$,typeName:X$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...L$(_)})};class vU extends V${_parse($){if(this._getType($)!==n.nan){let U=this._getOrReturnCtx($);return h(U,{code:P.invalid_type,expected:n.nan,received:U.parsedType}),U$}return{status:"valid",value:$.data}}}vU.create=($)=>{return new vU({typeName:X$.ZodNaN,...L$($)})};var CF=Symbol("zod_brand");class tW extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class yU extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return U$;if(J.status==="dirty")return _.dirty(),f1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return U$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new yU({in:$,out:_,typeName:X$.ZodPipeline})}}class n1 extends V${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(Q0(W))W.value=Object.freeze(W.value);return W};return PU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}n1.create=($,_)=>{return new n1({innerType:$,typeName:X$.ZodReadonly,...L$(_)})};function eO($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function jL($,_={},U){if($)return j0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=eO(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=eO(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return j0.create()}var TF={object:s$.lazycreate},X$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(X$||(X$={}));var SF=($,_={message:`Input not instance of ${$.name}`})=>jL((U)=>U instanceof $,_),DL=_6.create,zL=M4.create,ZF=vU.create,vF=g4.create,qL=T1.create,yF=Y0.create,hF=CU.create,xF=S1.create,mF=Z1.create,uF=j0.create,dF=K4.create,nF=w6.create,cF=TU.create,lF=U6.create,rF=s$.create,iF=s$.strictCreate,pF=v1.create,oF=oW.create,tF=y1.create,aF=k6.create,sF=SU.create,eF=ZU.create,$E=D0.create,_E=P1.create,UE=h1.create,JE=x1.create,WE=I4.create,XE=m1.create,GE=z0.create,$L=l_.create,QE=J6.create,YE=p6.create,jE=l_.createWithPreprocess,DE=yU.create,zE=()=>DL().optional(),qE=()=>zL().optional(),OE=()=>qL().optional(),LE={string:($)=>_6.create({...$,coerce:!0}),number:($)=>M4.create({...$,coerce:!0}),boolean:($)=>T1.create({...$,coerce:!0}),bigint:($)=>g4.create({...$,coerce:!0}),date:($)=>Y0.create({...$,coerce:!0})},NE=U$;var o={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},OL=D.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),Z_=D.string().datetime(),Y$=D.string().trim().min(1),o6=Y$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),LL=D.string().regex(/^[a-fA-F0-9]{64}$/),NL=D.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),t6=D.record(D.unknown()),r1=D.array(D.string().min(1)).default([]),q0=Z_.nullable().optional(),BE=new Set(["succeeded","failed","cancelled","blocked","skipped"]),L0=D.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function Z$($){return D.object({schema:D.literal($),id:D.string().min(1),createdAt:Z_,updatedAt:q0,metadata:t6.optional()}).strict()}var on=D.object({schema:OL,id:D.string().min(1),createdAt:Z_,updatedAt:q0,metadata:t6.optional()}).strict(),BL=D.enum(["agent","human","service","model","workflow","system"]),HE=Z$(o.actorRef).extend({kind:BL,name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional(),capabilities:D.array(D.string().min(1)).default([])}).strict(),f6=D.object({kind:BL,id:D.string().min(1),name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional()}).strict(),HL=D.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),VE=Z$(o.resourceRef).extend({kind:HL,name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:r1}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),H$=D.object({kind:HL,id:D.string().min(1),name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:r1}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),GG=D.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),RE=D.enum(["none","partial","full","unknown"]),AE=Z$(o.evidenceRef).extend({kind:GG,uri:o6,sha256:LL.optional(),summary:D.string().min(1).optional(),contentType:D.string().min(1).optional(),sizeBytes:D.number().int().nonnegative().optional(),redaction:RE.default("unknown"),producer:f6.optional(),resourceRefs:D.array(H$).default([]),tags:r1}).strict(),c$=D.object({id:D.string().min(1),kind:GG.optional(),uri:o6.optional(),sha256:LL.optional(),summary:D.string().min(1).optional()}).strict(),hU=Z$(o.costEstimate).extend({currency:D.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:D.number().int().nonnegative(),provider:D.string().min(1).optional(),model:D.string().min(1).optional(),accountId:D.string().min(1).optional(),promptTokens:D.number().int().nonnegative().optional(),completionTokens:D.number().int().nonnegative().optional(),totalTokens:D.number().int().nonnegative().optional(),basis:D.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:D.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),bE=D.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),VL=Z$(o.decisionEnvelope).extend({decisionType:D.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:bE,actor:f6.optional(),traceId:D.string().min(1).optional(),inputHash:NL.optional(),policyBundleId:D.string().min(1).optional(),selected:D.array(H$).default([]),skipped:D.array(H$).default([]),reason:D.string().min(1),obligations:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),costEstimate:hU.optional(),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),FE=Z$(o.capabilityCard).extend({kind:D.enum(["model","tool","machine","agent","lane","connector","service"]),name:D.string().min(1),version:D.string().min(1).optional(),status:D.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:D.array(D.string().min(1)).default([]),limitations:D.array(D.string().min(1)).default([]),riskLevel:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:hU.optional(),evidenceRefs:D.array(c$).default([])}).strict(),c1=D.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),EE=D.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),KE=D.object({refName:Y$,requiredForModes:D.array(c1).min(1),allowedSecretInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:Y$,revocationCheck:D.boolean().default(!0)}).strict(),ME=D.object({operation:Y$,supportedModes:D.array(c1).min(1),sideEffectClass:EE,requiresApproval:D.boolean().default(!1),requiresIdempotencyKey:D.boolean().default(!1),requiresSandboxEvidence:D.boolean().default(!1),requiresRollbackOrRevocation:D.boolean().default(!1),rollbackOrRevocation:Y$.optional(),noSideEffectSmoke:Y$.optional(),reconciliation:Y$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),gE=D.object({providerId:Y$,appId:Y$,adapterId:Y$,ownerPackage:Y$,modes:D.array(c1).min(1),defaultMode:c1,credentialRequirements:D.array(KE).default([]),operations:D.array(ME).min(1),rateLimitPosture:Y$,costPosture:Y$.optional(),auditEvents:D.array(Y$).default([]),redactionRules:D.array(Y$).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:D.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),IE=D.object({appId:Y$,repo:Y$,priority:D.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:D.array(Y$).min(1),firstOperations:D.array(Y$).min(1),blockedUntil:D.array(Y$).default([])}).strict(),wE=Z$(o.providerLiveModeStandard).extend({name:Y$,version:Y$,modes:D.array(c1).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:D.array(Y$).min(1),liveMutationGate:D.object({requiredMode:D.literal("live_mutating"),requiredChecks:D.array(Y$).min(1),forbiddenBypassSignals:D.array(Y$).min(1),disabledLiveSmoke:Y$}).strict(),noSideEffectSmoke:D.object({requiredForModes:D.array(c1).min(1),commandEvidence:D.array(Y$).min(1),secretOutputScan:D.boolean().default(!0)}).strict(),credentialPolicy:D.object({acceptedInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:D.literal(!1),missingCredentialBehavior:D.literal("fail_closed"),revocationCheckRequired:D.boolean().default(!0)}).strict(),operationCards:D.array(gE).min(1),firstAdoptionTargets:D.array(IE).min(1),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),kE=D.object({id:D.string().min(1),title:D.string().min(1).optional(),summary:D.string().min(1),text:D.string().optional(),tokens:D.number().int().nonnegative().optional(),source:c$,resourceRefs:D.array(H$).default([])}).strict(),RL=Z$(o.contextPack).extend({objective:D.string().min(1),budget:D.object({maxTokens:D.number().int().positive().optional(),maxBytes:D.number().int().positive().optional()}).strict().optional(),items:D.array(kE).default([]),citations:D.array(c$).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),permissions:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),conflicts:D.array(D.string().min(1)).default([]),uncertainty:D.string().min(1).optional()}).strict(),$6=Y$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),O0=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),fE=D.enum(["public","internal","private","sensitive"]),PE=D.enum(["draft","active","paused","archived"]),QG=D.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),AL=Z$(o.integrationRef).extend({kind:QG,name:D.string().min(1),projectId:O0.optional(),sourcePackage:Y$.optional(),externalId:Y$.optional(),uri:o6.optional(),enabled:D.boolean().default(!0),readOnly:D.boolean().default(!0),capabilities:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:H$.optional(),evidenceRefs:D.array(c$).default([]),config:t6.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),CE=D.object({schemaRoot:$6.default(".hasna/project"),dashboardManifest:$6.default(".hasna/project/dashboard.render.json"),snapshotsDir:$6.default(".hasna/project/snapshots"),documentsDir:$6.default("documents"),reportsDir:$6.default("reports"),evidenceDir:$6.default(".hasna/project/evidence"),privateDir:$6.default(".hasna/project/private")}).strict(),TE=Z$(o.projectManifest).extend({projectId:O0,slug:O0,name:D.string().min(1),summary:D.string().min(1).optional(),status:PE.default("active"),classification:fE.default("private"),owner:f6.optional(),layout:CE.default({}),integrations:D.array(AL).default([]),renderManifests:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),tags:r1}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:D.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),SE=D.enum(["local","package","provider","url"]),YG=D.object({id:D.string().min(1),kind:SE,specifier:D.string().min(1),path:$6.optional(),packageName:D.string().min(1).optional(),uri:o6.optional(),provider:QG.optional(),schemaId:OL.optional(),integrity:NL.optional(),resourceRef:H$.optional(),optional:D.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:D.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:D.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:D.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ZE=D.enum(["dashboard","canvas","panel","report","document","custom"]),vE=D.object({id:D.string().min(1),title:D.string().min(1),kind:ZE,default:D.boolean().default(!1),entry:$6.optional(),imports:D.array(YG).default([]),panelRefs:D.array(H$).default([]),dataRefs:D.array(H$).default([]),layout:t6.optional()}).strict(),yE=Z$(o.renderManifest).extend({projectId:O0,name:D.string().min(1),version:D.string().min(1),manifestPath:$6.default(".hasna/project/dashboard.render.json"),renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:D.array(vE).min(1),imports:D.array(YG).default([]),theme:t6.optional(),compatibility:D.object({minProjectsVersion:D.string().min(1).optional(),minContractsVersion:D.string().min(1).optional()}).strict().optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:D.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),hE=D.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),xE=D.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),mE=D.object({id:D.string().min(1),label:D.string().min(1),value:D.union([D.string(),D.number(),D.boolean()]),unit:D.string().min(1).optional(),status:D.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:D.array(H$).default([])}).strict(),uE=D.object({id:D.string().min(1),title:D.string().min(1),summary:D.string().min(1).optional(),status:D.string().min(1).optional(),priority:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:Z_.optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),metadata:t6.optional()}).strict(),dE=D.object({renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:D.string().min(1).optional(),entry:$6.optional(),imports:D.array(YG).default([]),spec:t6.default({})}).strict(),bL=Z$(o.projectPanel).extend({projectId:O0,provider:D.object({kind:QG,id:D.string().min(1),name:D.string().min(1).optional(),sourcePackage:Y$.optional(),externalId:Y$.optional()}).strict(),kind:xE,title:D.string().min(1),summary:D.string().min(1).optional(),state:hE.default("ready"),stateReason:D.string().min(1).optional(),generatedAt:Z_,freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),metrics:D.array(mE).default([]),items:D.array(uE).default([]),actions:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),renderFragment:dE.optional(),warnings:D.array(D.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:D.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),nE=Z$(o.projectSnapshot).extend({projectId:O0,generatedAt:Z_,status:L0.default("unknown"),manifestRef:H$,renderManifestRef:H$.optional(),panels:D.array(bL).default([]),contextPacks:D.array(RL).default([]),proofBundleRefs:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),warnings:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),FL=D.object({id:D.string().min(1),kind:D.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),expected:D.string().min(1).optional(),timeoutMs:D.number().int().positive().optional(),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:D.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),cE=Z$(o.validationPlan).extend({objective:D.string().min(1),subject:H$.optional(),checks:D.array(FL).min(1),verifier:f6.optional(),requiredEvidenceKinds:D.array(GG).default([])}).strict(),lE=D.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),rE=D.enum(["draft","active","deprecated","archived"]),iE=D.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),pE=D.object({key:D.string().regex(/^[A-Z][A-Z0-9_]*$/),description:D.string().min(1),required:D.boolean().default(!1),["secret"]:D.boolean().default(!1),group:D.string().min(1).optional(),default:D.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),oE=D.object({name:D.string().min(1),command:D.string().min(1),description:D.string().min(1).optional(),required:D.boolean().default(!1)}).strict(),tE=D.object({packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:D.array(D.string().min(1)).default([]),requiredFiles:D.array(D.string().min(1)).default([]),requiredDirectories:D.array(D.string().min(1)).default([]),optionalDirectories:D.array(D.string().min(1)).default([])}).strict(),aE=Z$(o.scaffoldManifest).extend({name:D.string().min(1),version:D.string().min(1),summary:D.string().min(1),type:lE,status:rE.default("draft"),capabilities:D.array(iE).default([]),techStack:D.array(D.string().min(1)).default([]),tags:r1,source:H$.optional(),output:tE,env:D.array(pE).default([]),scripts:D.array(oE).default([]),validationChecks:D.array(FL).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:D.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),sE=D.enum(["installed","failed","cancelled","partial","unknown"]),eE=Z$(o.scaffoldInstallRecord).extend({scaffoldId:D.string().min(1),scaffoldVersion:D.string().min(1).optional(),manifestRef:H$.optional(),target:H$,status:sE,installedAt:Z_.optional(),installer:f6.optional(),packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:t6.optional(),generatedFiles:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),l1=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),jG=D.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),EL=D.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),$K=D.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),_K=Y$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),UK=D.enum(["active","stub","deprecated","archived"]),JK=D.enum(["stable","beta","canary","internal"]),WK=D.object({transport:D.enum(["http","stdio"]).default("http"),bin:D.string().min(1).optional(),url:o6.optional()}).strict(),XK=D.object({healthPath:D.string().min(1).default("/health"),port:D.number().int().positive().optional(),baseUrl:o6.optional()}).strict(),GK=D.object({bins:D.array(D.string().min(1)).default([]),mcp:WK.optional(),http:XK.optional()}).strict(),QK=Z$(o.app).extend({appId:l1,npmName:jG,repoFolder:l1,githubUrl:_K,projectSlug:O0,surfaces:GK.default({}),lifecycle:UK,releaseChannel:JK.default("stable"),summary:D.string().min(1).optional(),tags:r1}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),YK=D.enum(["skill","ci","backfilled"]),jK=Z$(o.release).extend({appId:l1,package:jG,version:EL,gitSha:$K,publishedAt:Z_,publishPath:YK,changelogRef:H$.optional(),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),DK=D.enum(["install","update","rollback","freeze-blocked"]),zK=D.object({cliVersion:D.string().min(1).optional(),mcpHealth:D.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),qK=Z$(o.rolloutRecord).extend({appId:l1,package:jG,version:EL,machine:Y$,action:DK,result:L0,verifiedBy:zK.optional(),at:Z_,evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:D.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),OK=D.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),LK=D.enum(["pending","queued","sent","failed","skipped","suppressed"]),NK=D.object({channel:OK,status:LK,deliveredAt:Z_.optional(),detail:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),BK=Z$(o.announcement).extend({campaignId:Y$,appId:l1.optional(),releaseRef:H$.optional(),channels:D.array(NK).min(1),audienceRef:H$,sentAt:Z_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),HK=D.enum(["tag","attribute","group"]),VK=D.enum(["eq","neq","in","not_in","exists","not_exists"]),_L=D.union([D.string(),D.number(),D.boolean()]),RK=D.object({kind:HK,key:D.string().min(1).optional(),op:VK.default("eq"),value:_L.optional(),values:D.array(_L).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:D.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),AK=D.object({match:D.enum(["all","any"]).default("all"),predicates:D.array(RK).min(1)}).strict(),bK=D.enum(["opt_in","opt_out","transactional","none"]),FK=Z$(o.audience).extend({audienceId:l1,name:Y$,definition:AK,consentPolicy:bK,suppressionSyncedAt:q0}).strict(),s5=["@hasna/cloud","open-cloud"],EK=D.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),KK=D.object({id:D.string().min(1),provider:EK,kind:D.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:D.string().min(1),region:D.string().min(1).optional(),accountId:D.string().min(1).optional(),uri:o6.optional(),machineScoped:D.boolean().default(!1)}).strict(),KL=Z$(o.appCloudManifest).extend({packageName:D.string().min(1),packageVersion:D.string().min(1).optional(),appId:D.string().min(1),repository:H$.optional(),storageMode:D.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:D.enum(["none","app_owned","external_service","local_cache"]),cloudResources:D.array(KK).default([]),localCache:D.object({path:D.string().min(1).optional(),pullMode:D.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:D.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:D.array(D.string().min(1)).default([...s5]),dependencies:D.array(D.string().min(1)).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...s5,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:D.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of s5)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:D.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:D.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),ML=D.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),MK=D.enum(["low","medium","high","critical"]),gL=D.object({id:D.string().min(1),kind:ML,severity:MK,path:D.string().min(1).optional(),packageName:D.string().min(1).optional(),pattern:D.string().min(1),message:D.string().min(1),evidenceRefs:D.array(c$).default([])}).strict(),gK=D.object({id:D.string().min(1),kind:ML,status:L0,target:D.string().min(1),command:D.string().min(1).optional(),evidenceRefs:D.array(c$).default([]),findings:D.array(gL).default([])}).strict(),IK=Z$(o.noCloudEvidencePack).extend({subject:H$,packageName:D.string().min(1).optional(),packageVersion:D.string().min(1).optional(),generatedBy:f6.optional(),scanMode:D.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:L0,verdict:D.enum(["passed","failed","warning","not_run"]),appCloudManifest:KL.optional(),checks:D.array(gK).min(1),findings:D.array(gL).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),wK=D.object({checkId:D.string().min(1),status:L0,summary:D.string().min(1).optional(),startedAt:q0,finishedAt:q0,evidenceRefs:D.array(c$).default([])}).strict(),kK=Z$(o.proofBundle).extend({subject:H$,validationPlanRef:H$.optional(),status:L0,verdict:D.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:D.array(wK).default([]),verifier:f6.optional(),evidenceRefs:D.array(c$).default([]),residualRisks:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),fK=Z$(o.workRun).extend({objective:D.string().min(1),status:L0,actor:f6,traceId:D.string().min(1).optional(),startedAt:q0,finishedAt:q0,constraints:D.array(D.string().min(1)).default([]),resourceRefs:D.array(H$).default([]),decisions:D.array(VL).default([]),costEstimates:D.array(hU).default([]),evidenceRefs:D.array(c$).default([]),validationPlanRefs:D.array(H$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:D.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(BE.has($.status)&&!$.finishedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),PK=D.object({id:D.string().min(1),at:Z_,kind:D.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:D.string().min(1),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([]),costEstimate:hU.optional()}).strict(),CK=Z$(o.agentTrajectory).extend({actor:f6,workRunRef:H$.optional(),events:D.array(PK).default([]),outcome:D.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:H$.optional()}).strict(),TK="v1",SK=D.enum(["library","cli-with-store","service","saas"]),ZK=["local","self-hosted","cloud"],IL=D.enum(ZK),vK=D.enum(["supported","deferred","unsupported"]),yK=D.enum(["none","local-only","api-key","session","service-token","custom"]),e5=D.object({method:D.enum(["GET","POST","PUT","PATCH","DELETE"]),path:D.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:D.boolean().default(!1),description:D.string().min(1).optional()}).strict(),hK=D.object({id:D.string().min(1),kind:D.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),evidenceRef:c$.optional(),status:D.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),xK=D.object({name:D.string().min(1),status:vK,bin:D.string().min(1).optional(),mcpBin:D.string().min(1).optional(),authMode:yK,deploymentModes:D.array(IL).min(1),health:e5.optional(),readiness:e5.optional(),version:e5.optional(),apiBasePath:D.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:D.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:D.string().min(1).optional(),readinessGates:D.array(hK).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:D.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:D.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:D.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),mK=["local","cloud"],wL=D.enum(mK),uK=["remote","hybrid","self_hosted"],dK=D.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),nK=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function cK($){return nK.map((_)=>`${$}${_}`)}function UL($){return`hasna/oss/${$}/database-url`}var lK=D.object({mode:wL,envPrefix:D.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:D.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:D.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:D.string().min(1).optional()}).strict(),rK=D.object({$schema:D.string().min(1).optional(),schema:D.literal(o.serviceContract),name:dK,class:SK,contractVersion:D.literal(TK),kitVersion:D.string().min(1),description:D.string().min(1).optional(),bins:D.array(D.string().min(1)).default([]),storage:lK.optional(),deploymentModes:D.array(IL).default(["local"]),serviceSurfaces:D.array(xK).default([]),metadata:t6.optional()}).strict().superRefine(($,_)=>{let U=new Set(cK($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:D.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==UL($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${UL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:D.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:D.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),tn=D.object({status:D.enum(["ok","degraded","unavailable"]),version:D.string().min(1),mode:wL}).strict(),an=D.object({ready:D.boolean(),reason:D.string().min(1).optional()}).strict(),sn=D.object({version:D.string().min(1)}).strict(),iK=D.enum(["info","notice","breaking","critical"]),pK=D.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),oK=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],tK=D.enum(oK);var aK=D.enum(["fleet","package","machine"]),kL=Z$(o.commsEventEnvelope).extend({type:pK,severity:iK,scope:aK,summary:D.string().min(1).optional(),source:f6.optional(),affected_packages:D.array(Y$).default([]),affected_machines:D.array(Y$).default([]),action_required:D.boolean().default(!1),ack_by:Z_.optional(),dedupe_key:Y$,resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(c$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),sK=D.enum(["fleet","package","product","loop-lane","initiative","personal"]),eK=D.enum(["quiet","work","firehose"]),$M=Y$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),_M=Z$(o.commsChannelMetadata).extend({class:sK,noise:eK.optional(),owner:Y$.optional(),until:$M.optional(),successor:Y$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),JL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},UM=Z$(o.commsMessageMetadata).extend({tag:tK,envelope:kL}).strict().superRefine(($,_)=>{let U=JL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(JL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var en={[o.actorRef]:HE,[o.resourceRef]:VE,[o.evidenceRef]:AE,[o.workRun]:fK,[o.decisionEnvelope]:VL,[o.costEstimate]:hU,[o.capabilityCard]:FE,[o.providerLiveModeStandard]:wE,[o.contextPack]:RL,[o.integrationRef]:AL,[o.projectManifest]:TE,[o.projectPanel]:bL,[o.projectSnapshot]:nE,[o.renderManifest]:yE,[o.agentTrajectory]:CK,[o.validationPlan]:cE,[o.proofBundle]:kK,[o.scaffoldManifest]:aE,[o.scaffoldInstallRecord]:eE,[o.appCloudManifest]:KL,[o.noCloudEvidencePack]:IK,[o.serviceContract]:rK,[o.commsEventEnvelope]:kL,[o.commsChannelMetadata]:_M,[o.commsMessageMetadata]:UM,[o.app]:QK,[o.release]:jK,[o.rolloutRecord]:qK,[o.announcement]:BK,[o.audience]:FK};function JM($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(uK.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}function WM($){return $.toUpperCase().replace(/-/g,"_")}function XM($){return`https://${$}.hasna.xyz`}function fL($){let _=WM($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}function lW($,_){for(let U of _){let W=$[U]?.trim();if(W)return{key:U,value:W}}return null}function GM($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U.endsWith("/v1"))U=U.slice(0,-3);return _.pathname=`${U}/v1`,_.search="",_.hash="",_.toString().replace(/\/+$/,"")}function QM($,_=process.env){let U=fL($),W=lW(_,U.modeKeys),J=lW(_,U.apiUrlKeys),X=lW(_,U.apiKeyKeys),G="local",Q=null,Y="default",j=[];if(W){let L=JM(W.value);if(G=L.mode,Q=L.deprecatedAlias,Y=W.key,Q)j.push(`Deprecated mode '${Q}' from ${W.key} is treated as 'cloud'. Prefer ${U.modeKeys[0]}=cloud.`)}else if(J&&X)G="cloud",Y=`${J.key}+${X.key}`;if(G==="local")return{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(X),apiKeySource:X?X.key:null,misconfigured:!1,warning:j.length>0?j.join(" "):null};if(!X)return j.push(`${Y}=cloud but no API key is set (${U.apiKeyKeys[0]}). Refusing to route to cloud; using local store. Set ${U.apiKeyKeys[0]} to enable the cloud client.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,misconfigured:!0,warning:j.join(" ")};let O=J?.value??XM($),B=J?J.key:"default",V;try{V=GM(O)}catch(L){let N=L instanceof Error?L.message:String(L);return j.push(`Invalid API URL from ${B}: ${N}. Using local store.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!0,warning:j.join(" ")}}return{transport:"cloud-http",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:V,apiUrlSource:B,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!1,warning:j.length>0?j.join(" "):null}}class pW extends Error{status;method;path;body;constructor($,_,U,W){super(`Hasna cloud request failed: ${$} ${_} -> ${U}`);this.name="HasnaHttpError",this.status=U,this.method=$,this.path=_,this.body=W}}var YM=[408,425,429,500,502,503,504],jM=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]);function DM($,_){if(!_)return $;let U=_ instanceof URLSearchParams?_:new URLSearchParams;if(!(_ instanceof URLSearchParams))for(let[J,X]of Object.entries(_)){if(X===null||X===void 0)continue;if(Array.isArray(X))for(let G of X)U.append(J,String(G));else U.append(J,String(X))}let W=U.toString();if(!W)return $;return`${$}${$.includes("?")?"&":"?"}${W}`}var zM=($)=>new Promise((_)=>setTimeout(_,$));function qM($){let _=$.fetchImpl??((j,O)=>fetch(j,O)),U=$.baseUrl.replace(/\/+$/,""),W=$.timeoutMs??30000,J=$.sleepImpl??zM,X=$.retry;function G(j){let O=j!==void 0?j:X;if(O===!1)return null;let B=O??{};return{retries:B.retries??2,baseDelayMs:B.baseDelayMs??200,maxDelayMs:B.maxDelayMs??2000,retryStatuses:B.retryStatuses??[...YM]}}async function Q(j,O,B,V,L){let N={"x-api-key":$.apiKey,Authorization:`Bearer ${$.apiKey}`,Accept:"application/json",...$.headers??{},...L.headers??{}};if(L.idempotencyKey)N["Idempotency-Key"]=L.idempotencyKey;let H={method:j,headers:N};if(V!==void 0)N["Content-Type"]="application/json",H.body=JSON.stringify(V);let R=new AbortController,b=()=>R.abort();if(L.signal)if(L.signal.aborted)R.abort();else L.signal.addEventListener("abort",b,{once:!0});let A=setTimeout(()=>R.abort(),L.timeoutMs??W);H.signal=R.signal;let M;try{M=await _(B,H)}catch(Z){let k=Z instanceof Error?Z:Error(String(Z));if(L.signal?.aborted)return{ok:!1,retryable:!1,error:k};return{ok:!1,retryable:!0,error:k}}finally{if(clearTimeout(A),L.signal)L.signal.removeEventListener("abort",b)}let E=await M.text(),g=void 0;if(E.length>0)try{g=JSON.parse(E)}catch{g=E}if(!M.ok){let Z=G(L.retry);return{ok:!1,retryable:Z?Z.retryStatuses.includes(M.status):!1,error:new pW(j,O,M.status,g)}}return{ok:!0,value:g}}async function Y(j,O,B,V={}){let L=j.toUpperCase(),N=DM(O.startsWith("/")?O:`/${O}`,V.query),H=`${U}${N}`,R=G(V.retry),b=jM.has(L)||Boolean(V.idempotencyKey),A=R&&b?R.retries+1:1,M=null;for(let E=1;E<=A;E++){let g=await Q(L,N,H,B,V);if(g.ok)return g.value;if(M=g,!(R!==null&&b&&g.retryable&&E<A))break;let k=Math.min(R.maxDelayMs,R.baseDelayMs*2**(E-1)),r=Math.floor(Math.random()*(k/2+1));await J(k+r)}throw M.error}return{baseUrl:U,request:Y,get:(j,O)=>Y("GET",j,void 0,O),post:(j,O,B)=>Y("POST",j,O,B),put:(j,O,B)=>Y("PUT",j,O,B),patch:(j,O,B)=>Y("PATCH",j,O,B),del:(j,O,B)=>Y("DELETE",j,O,B)}}function OM($,_=process.env,U){let W=QM($,_);if(W.misconfigured)throw Error(W.warning??`Client for '${$}' is misconfigured for cloud mode.`);if(W.transport==="local"||!W.baseUrl)return{transport:"local",client:null,resolution:W};let J=fL($),X=lW(_,J.apiKeyKeys)?.value;if(!X)throw Error(`Client for '${$}' resolved to cloud-http without an API key.`);return{transport:"cloud-http",client:qM({name:$,baseUrl:W.baseUrl,apiKey:X,...U?.fetchImpl?{fetchImpl:U.fetchImpl}:{},...U?.headers?{headers:U.headers}:{},...U?.timeoutMs?{timeoutMs:U.timeoutMs}:{},...U?.retry!==void 0?{retry:U.retry}:{},...U?.sleepImpl?{sleepImpl:U.sleepImpl}:{}}),resolution:W}}function XG($){let _=$.replace(/^\/+|\/+$/g,"");if(!_)throw Error("resource must be a non-empty path segment");return`/${_}`}function $G($,_){if(_===void 0||_===null||`${_}`.length===0)throw Error("id must be a non-empty string");return`${XG($)}/${encodeURIComponent(String(_))}`}function LM(){let $=globalThis;if($.crypto?.randomUUID)return $.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function NM($){if(Array.isArray($))return $;if($&&typeof $==="object"){let _=$;for(let U of["items","data","results","rows","records"])if(Array.isArray(_[U]))return _[U]}return[]}function BM($){if($&&typeof $==="object"){let _=$;for(let U of["total","count","totalCount","total_count"])if(typeof _[U]==="number")return _[U]}return null}function HM($){if($&&typeof $==="object"){let _=$;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof _[U]==="string")return _[U]}return null}function VM($,_){return{name:$,baseUrl:_.baseUrl,transport:_,async list(U,W={}){let J=await _.get(XG(U),W);return{items:NM(J),total:BM(J),cursor:HM(J),raw:J}},async get(U,W,J={}){try{return await _.get($G(U,W),J)}catch(X){if(X instanceof pW&&X.status===404)return null;throw X}},async create(U,W,J={}){let{idempotencyKey:X,...G}=J;return _.post(XG(U),W,{...G,idempotencyKey:X??LM()})},async update(U,W,J,X={}){let{method:G="PATCH",idempotencyKey:Q,...Y}=X;return(G==="PUT"?_.put:_.patch)($G(U,W),J,{...Y,...Q?{idempotencyKey:Q}:{}})},async delete(U,W,J={}){try{await _.del($G(U,W),void 0,J)}catch(X){if(X instanceof pW&&X.status===404)return;throw X}}}}function DG($,_=process.env,U){let W=OM($,_,U);if(W.transport==="cloud-http")return{transport:"cloud-http",client:VM($,W.client)};return{transport:"local",client:null}}var RM=Object.defineProperty,AM=($)=>$;function bM($,_){this[$]=AM.bind(null,_)}var FM=($,_)=>{for(var U in _)RM($,U,{get:_[U],enumerable:!0,configurable:!0,set:bM.bind(_,U)})},z={};FM(z,{void:()=>Gg,util:()=>g$,unknown:()=>Wg,union:()=>Dg,undefined:()=>_g,tuple:()=>Og,transformer:()=>TL,symbol:()=>$g,string:()=>nL,strictObject:()=>jg,setErrorMap:()=>MM,set:()=>Bg,record:()=>Lg,quotelessJson:()=>EM,promise:()=>Fg,preprocess:()=>Mg,pipeline:()=>gg,ostring:()=>Ig,optional:()=>Eg,onumber:()=>wg,oboolean:()=>kg,objectUtil:()=>LG,object:()=>Yg,number:()=>cL,nullable:()=>Kg,null:()=>Ug,never:()=>Xg,nativeEnum:()=>bg,nan:()=>aM,map:()=>Ng,makeIssue:()=>sW,literal:()=>Rg,lazy:()=>Vg,late:()=>oM,isValid:()=>N0,isDirty:()=>BG,isAsync:()=>xU,isAborted:()=>NG,intersection:()=>qg,instanceof:()=>tM,getParsedType:()=>s6,getErrorMap:()=>aW,function:()=>Hg,enum:()=>Ag,effect:()=>TL,discriminatedUnion:()=>zg,defaultErrorMap:()=>t1,datetimeRegex:()=>mL,date:()=>eM,custom:()=>dL,coerce:()=>fg,boolean:()=>lL,bigint:()=>sM,array:()=>Qg,any:()=>Jg,addIssueToContext:()=>x,ZodVoid:()=>uU,ZodUnknown:()=>w4,ZodUnion:()=>$2,ZodUndefined:()=>s1,ZodType:()=>A$,ZodTuple:()=>C6,ZodTransformer:()=>r_,ZodSymbol:()=>mU,ZodString:()=>G6,ZodSet:()=>V0,ZodSchema:()=>A$,ZodRecord:()=>dU,ZodReadonly:()=>Q2,ZodPromise:()=>R0,ZodPipeline:()=>lU,ZodParsedType:()=>c,ZodOptional:()=>Y6,ZodObject:()=>e$,ZodNumber:()=>k4,ZodNullable:()=>e6,ZodNull:()=>e1,ZodNever:()=>P6,ZodNativeEnum:()=>W2,ZodNaN:()=>cU,ZodMap:()=>nU,ZodLiteral:()=>J2,ZodLazy:()=>U2,ZodIssueCode:()=>C,ZodIntersection:()=>_2,ZodFunction:()=>o1,ZodFirstPartyTypeKind:()=>G$,ZodError:()=>v_,ZodEnum:()=>P4,ZodEffects:()=>r_,ZodDiscriminatedUnion:()=>eW,ZodDefault:()=>X2,ZodDate:()=>B0,ZodCatch:()=>G2,ZodBranded:()=>$X,ZodBoolean:()=>a1,ZodBigInt:()=>f4,ZodArray:()=>Q6,ZodAny:()=>H0,Schema:()=>A$,ParseStatus:()=>L_,OK:()=>E_,NEVER:()=>Pg,INVALID:()=>J$,EMPTY_PATH:()=>gM,DIRTY:()=>p1,BRAND:()=>pM});var g$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(g$||(g$={}));var LG;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(LG||(LG={}));var c=g$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),s6=($)=>{switch(typeof $){case"undefined":return c.undefined;case"string":return c.string;case"number":return Number.isNaN($)?c.nan:c.number;case"boolean":return c.boolean;case"function":return c.function;case"bigint":return c.bigint;case"symbol":return c.symbol;case"object":if(Array.isArray($))return c.array;if($===null)return c.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return c.promise;if(typeof Map<"u"&&$ instanceof Map)return c.map;if(typeof Set<"u"&&$ instanceof Set)return c.set;if(typeof Date<"u"&&$ instanceof Date)return c.date;return c.object;default:return c.unknown}},C=g$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),EM=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class v_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof v_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,g$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}v_.create=($)=>{return new v_($)};var KM=($,_)=>{let U;switch($.code){case C.invalid_type:if($.received===c.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case C.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,g$.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:U=`Unrecognized key(s) in object: ${g$.joinValues($.keys,", ")}`;break;case C.invalid_union:U="Invalid input";break;case C.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${g$.joinValues($.options)}`;break;case C.invalid_enum_value:U=`Invalid enum value. Expected ${g$.joinValues($.options)}, received '${$.received}'`;break;case C.invalid_arguments:U="Invalid function arguments";break;case C.invalid_return_type:U="Invalid function return type";break;case C.invalid_date:U="Invalid date";break;case C.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else g$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case C.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case C.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case C.custom:U="Invalid input";break;case C.invalid_intersection_types:U="Intersection results could not be merged";break;case C.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case C.not_finite:U="Number must be finite";break;default:U=_.defaultError,g$.assertNever($)}return{message:U}},t1=KM,yL=t1;function MM($){yL=$}function aW(){return yL}var sW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},gM=[];function x($,_){let U=aW(),W=sW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===t1?void 0:t1].filter((J)=>!!J)});$.common.issues.push(W)}class L_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return J$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return L_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return J$;if(X.status==="aborted")return J$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var J$=Object.freeze({status:"aborted"}),p1=($)=>({status:"dirty",value:$}),E_=($)=>({status:"valid",value:$}),NG=($)=>$.status==="aborted",BG=($)=>$.status==="dirty",N0=($)=>$.status==="valid",xU=($)=>typeof Promise<"u"&&$ instanceof Promise,s;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(s||(s={}));class j6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var PL=($,_)=>{if(N0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new v_($.common.issues);return this._error=U,this._error}}}};function N$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class A${get description(){return this._def.description}_getType($){return s6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new L_,ctx:{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(xU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parseSync({data:$,path:U.path,parent:U});return PL(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return N0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>N0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(xU(W)?W:Promise.resolve(W));return PL(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:C.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new r_({schema:this,typeName:G$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return Y6.create(this,this._def)}nullable(){return e6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Q6.create(this)}promise(){return R0.create(this,this._def)}or($){return $2.create([this,$],this._def)}and($){return _2.create(this,$,this._def)}transform($){return new r_({...N$(this._def),schema:this,typeName:G$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new X2({...N$(this._def),innerType:this,defaultValue:_,typeName:G$.ZodDefault})}brand(){return new $X({typeName:G$.ZodBranded,type:this,...N$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new G2({...N$(this._def),innerType:this,catchValue:_,typeName:G$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return lU.create(this,$)}readonly(){return Q2.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var IM=/^c[^\s-]{8,}$/i,wM=/^[0-9a-z]+$/,kM=/^[0-9A-HJKMNP-TV-Z]{26}$/i,fM=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,PM=/^[a-z0-9_-]{21}$/i,CM=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,TM=/^[-+]?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)?)??$/,SM=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ZM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",zG,vM=/^(?:(?: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])$/,yM=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,hM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,xM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mM=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,uM=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,hL="((\\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])))",dM=new RegExp(`^${hL}$`);function xL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function nM($){return new RegExp(`^${xL($)}$`)}function mL($){let _=`${hL}T${xL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function cM($,_){if((_==="v4"||!_)&&vM.test($))return!0;if((_==="v6"||!_)&&hM.test($))return!0;return!1}function lM($,_){if(!CM.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function rM($,_){if((_==="v4"||!_)&&yM.test($))return!0;if((_==="v6"||!_)&&xM.test($))return!0;return!1}class G6 extends A${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==c.string){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:c.string,received:J.parsedType}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)x(W,{code:C.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!SM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"email",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!zG)zG=new RegExp(ZM,"u");if(!zG.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"emoji",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!fM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"uuid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!PM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"nanoid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!IM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"cuid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!wM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"cuid2",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!kM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"ulid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),x(W,{validation:"url",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"regex",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!mL(J).test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!dM.test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!nM(J).test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!TM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"duration",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!cM($.data,J.version))W=this._getOrReturnCtx($,W),x(W,{validation:"ip",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!lM($.data,J.alg))W=this._getOrReturnCtx($,W),x(W,{validation:"jwt",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!rM($.data,J.version))W=this._getOrReturnCtx($,W),x(W,{validation:"cidr",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!mM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"base64",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!uM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"base64url",code:C.invalid_string,message:J.message}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:C.invalid_string,...s.errToObj(U)})}_addCheck($){return new G6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...s.errToObj($)})}url($){return this._addCheck({kind:"url",...s.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...s.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...s.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...s.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...s.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...s.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...s.errToObj($)})}base64($){return this._addCheck({kind:"base64",...s.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...s.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...s.errToObj($)})}ip($){return this._addCheck({kind:"ip",...s.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...s.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...s.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...s.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...s.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...s.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...s.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...s.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...s.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...s.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...s.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...s.errToObj(_)})}nonempty($){return this.min(1,s.errToObj($))}trim(){return new G6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}G6.create=($)=>{return new G6({checks:[],typeName:G$.ZodString,coerce:$?.coerce??!1,...N$($)})};function iM($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class k4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==c.number){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:c.number,received:J.parsedType}),J$}let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="int"){if(!g$.isInteger($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(iM($.data,J.value)!==0)U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.not_finite,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new k4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new k4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:s.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}finite($){return this._addCheck({kind:"finite",message:s.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&g$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}k4.create=($)=>{return new k4({checks:[],typeName:G$.ZodNumber,coerce:$?.coerce||!1,...N$($)})};class f4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==c.bigint)return this._getInvalidInput($);let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:c.bigint,received:_.parsedType}),J$}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new f4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new f4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}f4.create=($)=>{return new f4({checks:[],typeName:G$.ZodBigInt,coerce:$?.coerce??!1,...N$($)})};class a1 extends A${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==c.boolean){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.boolean,received:U.parsedType}),J$}return E_($.data)}}a1.create=($)=>{return new a1({typeName:G$.ZodBoolean,coerce:$?.coerce||!1,...N$($)})};class B0 extends A${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==c.date){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:c.date,received:J.parsedType}),J$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_date}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new B0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:s.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:s.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}B0.create=($)=>{return new B0({checks:[],coerce:$?.coerce||!1,typeName:G$.ZodDate,...N$($)})};class mU extends A${_parse($){if(this._getType($)!==c.symbol){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.symbol,received:U.parsedType}),J$}return E_($.data)}}mU.create=($)=>{return new mU({typeName:G$.ZodSymbol,...N$($)})};class s1 extends A${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.undefined,received:U.parsedType}),J$}return E_($.data)}}s1.create=($)=>{return new s1({typeName:G$.ZodUndefined,...N$($)})};class e1 extends A${_parse($){if(this._getType($)!==c.null){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.null,received:U.parsedType}),J$}return E_($.data)}}e1.create=($)=>{return new e1({typeName:G$.ZodNull,...N$($)})};class H0 extends A${constructor(){super(...arguments);this._any=!0}_parse($){return E_($.data)}}H0.create=($)=>{return new H0({typeName:G$.ZodAny,...N$($)})};class w4 extends A${constructor(){super(...arguments);this._unknown=!0}_parse($){return E_($.data)}}w4.create=($)=>{return new w4({typeName:G$.ZodUnknown,...N$($)})};class P6 extends A${_parse($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:c.never,received:_.parsedType}),J$}}P6.create=($)=>{return new P6({typeName:G$.ZodNever,...N$($)})};class uU extends A${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.void,received:U.parsedType}),J$}return E_($.data)}}uU.create=($)=>{return new uU({typeName:G$.ZodVoid,...N$($)})};class Q6 extends A${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==c.array)return x(_,{code:C.invalid_type,expected:c.array,received:_.parsedType}),J$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)x(_,{code:X?C.too_big:C.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)x(_,{code:C.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)x(_,{code:C.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new j6(_,X,_.path,G))})).then((X)=>{return L_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new j6(_,X,_.path,G))});return L_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new Q6({...this._def,minLength:{value:$,message:s.toString(_)}})}max($,_){return new Q6({...this._def,maxLength:{value:$,message:s.toString(_)}})}length($,_){return new Q6({...this._def,exactLength:{value:$,message:s.toString(_)}})}nonempty($){return this.min(1,$)}}Q6.create=($,_)=>{return new Q6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:G$.ZodArray,...N$(_)})};function i1($){if($ instanceof e$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=Y6.create(i1(W))}return new e$({...$._def,shape:()=>_})}else if($ instanceof Q6)return new Q6({...$._def,type:i1($.element)});else if($ instanceof Y6)return Y6.create(i1($.unwrap()));else if($ instanceof e6)return e6.create(i1($.unwrap()));else if($ instanceof C6)return C6.create($.items.map((_)=>i1(_)));else return $}class e$ extends A${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=g$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==c.object){let Y=this._getOrReturnCtx($);return x(Y,{code:C.invalid_type,expected:c.object,received:Y.parsedType}),J$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof P6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new j6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof P6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)x(W,{code:C.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new j6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return L_.mergeObjectSync(U,Y)});else return L_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return s.errToObj,new e$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:s.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new e$({...this._def,unknownKeys:"strip"})}passthrough(){return new e$({...this._def,unknownKeys:"passthrough"})}extend($){return new e$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new e$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:G$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new e$({...this._def,catchall:$})}pick($){let _={};for(let U of g$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}omit($){let _={};for(let U of g$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}deepPartial(){return i1(this)}partial($){let _={};for(let U of g$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new e$({...this._def,shape:()=>_})}required($){let _={};for(let U of g$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof Y6)J=J._def.innerType;_[U]=J}return new e$({...this._def,shape:()=>_})}keyof(){return uL(g$.objectKeys(this.shape))}}e$.create=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strip",catchall:P6.create(),typeName:G$.ZodObject,...N$(_)})};e$.strictCreate=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strict",catchall:P6.create(),typeName:G$.ZodObject,...N$(_)})};e$.lazycreate=($,_)=>{return new e$({shape:$,unknownKeys:"strip",catchall:P6.create(),typeName:G$.ZodObject,...N$(_)})};class $2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new v_(G.ctx.common.issues));return x(_,{code:C.invalid_union,unionErrors:X}),J$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new v_(Q));return x(_,{code:C.invalid_union,unionErrors:G}),J$}}get options(){return this._def.options}}$2.create=($,_)=>{return new $2({options:$,typeName:G$.ZodUnion,...N$(_)})};var a6=($)=>{if($ instanceof U2)return a6($.schema);else if($ instanceof r_)return a6($.innerType());else if($ instanceof J2)return[$.value];else if($ instanceof P4)return $.options;else if($ instanceof W2)return g$.objectValues($.enum);else if($ instanceof X2)return a6($._def.innerType);else if($ instanceof s1)return[void 0];else if($ instanceof e1)return[null];else if($ instanceof Y6)return[void 0,...a6($.unwrap())];else if($ instanceof e6)return[null,...a6($.unwrap())];else if($ instanceof $X)return a6($.unwrap());else if($ instanceof Q2)return a6($.unwrap());else if($ instanceof G2)return a6($._def.innerType);else return[]};class eW extends A${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.object)return x(_,{code:C.invalid_type,expected:c.object,received:_.parsedType}),J$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return x(_,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),J$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=a6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new eW({typeName:G$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...N$(U)})}}function HG($,_){let U=s6($),W=s6(_);if($===_)return{valid:!0,data:$};else if(U===c.object&&W===c.object){let J=g$.objectKeys(_),X=g$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=HG($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===c.array&&W===c.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=HG(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===c.date&&W===c.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class _2 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(NG(J)||NG(X))return J$;let G=HG(J.value,X.value);if(!G.valid)return x(U,{code:C.invalid_intersection_types}),J$;if(BG(J)||BG(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}_2.create=($,_,U)=>{return new _2({left:$,right:_,typeName:G$.ZodIntersection,...N$(U)})};class C6 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.array)return x(U,{code:C.invalid_type,expected:c.array,received:U.parsedType}),J$;if(U.data.length<this._def.items.length)return x(U,{code:C.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J$;if(!this._def.rest&&U.data.length>this._def.items.length)x(U,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new j6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return L_.mergeArray(_,X)});else return L_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new C6({...this._def,rest:$})}}C6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new C6({items:$,typeName:G$.ZodTuple,rest:null,...N$(_)})};class dU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.object)return x(U,{code:C.invalid_type,expected:c.object,received:U.parsedType}),J$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new j6(U,G,U.path,G)),value:X._parse(new j6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return L_.mergeObjectAsync(_,W);else return L_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof A$)return new dU({keyType:$,valueType:_,typeName:G$.ZodRecord,...N$(U)});return new dU({keyType:G6.create(),valueType:$,typeName:G$.ZodRecord,...N$(_)})}}class nU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.map)return x(U,{code:C.invalid_type,expected:c.map,received:U.parsedType}),J$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new j6(U,G,U.path,[Y,"key"])),value:J._parse(new j6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}nU.create=($,_,U)=>{return new nU({valueType:_,keyType:$,typeName:G$.ZodMap,...N$(U)})};class V0 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.set)return x(U,{code:C.invalid_type,expected:c.set,received:U.parsedType}),J$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)x(U,{code:C.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)x(U,{code:C.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return J$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new j6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new V0({...this._def,minSize:{value:$,message:s.toString(_)}})}max($,_){return new V0({...this._def,maxSize:{value:$,message:s.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}V0.create=($,_)=>{return new V0({valueType:$,minSize:null,maxSize:null,typeName:G$.ZodSet,...N$(_)})};class o1 extends A${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.function)return x(_,{code:C.invalid_type,expected:c.function,received:_.parsedType}),J$;function U(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),t1].filter((Y)=>!!Y),issueData:{code:C.invalid_arguments,argumentsError:Q}})}function W(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),t1].filter((Y)=>!!Y),issueData:{code:C.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof R0){let G=this;return E_(async function(...Q){let Y=new v_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return E_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new v_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new v_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new o1({...this._def,args:C6.create($).rest(w4.create())})}returns($){return new o1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new o1({args:$?$:C6.create([]).rest(w4.create()),returns:_||w4.create(),typeName:G$.ZodFunction,...N$(U)})}}class U2 extends A${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}U2.create=($,_)=>{return new U2({getter:$,typeName:G$.ZodLazy,...N$(_)})};class J2 extends A${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return x(_,{received:_.data,code:C.invalid_literal,expected:this._def.value}),J$}return{status:"valid",value:$.data}}get value(){return this._def.value}}J2.create=($,_)=>{return new J2({value:$,typeName:G$.ZodLiteral,...N$(_)})};function uL($,_){return new P4({values:$,typeName:G$.ZodEnum,...N$(_)})}class P4 extends A${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{expected:g$.joinValues(U),received:_.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{received:_.data,code:C.invalid_enum_value,options:U}),J$}return E_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return P4.create($,{...this._def,..._})}exclude($,_=this._def){return P4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}P4.create=uL;class W2 extends A${_parse($){let _=g$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==c.string&&U.parsedType!==c.number){let W=g$.objectValues(_);return x(U,{expected:g$.joinValues(W),received:U.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(g$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=g$.objectValues(_);return x(U,{received:U.data,code:C.invalid_enum_value,options:W}),J$}return E_($.data)}get enum(){return this._def.values}}W2.create=($,_)=>{return new W2({values:$,typeName:G$.ZodNativeEnum,...N$(_)})};class R0 extends A${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.promise&&_.common.async===!1)return x(_,{code:C.invalid_type,expected:c.promise,received:_.parsedType}),J$;let U=_.parsedType===c.promise?_.data:Promise.resolve(_.data);return E_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}R0.create=($,_)=>{return new R0({type:$,typeName:G$.ZodPromise,...N$(_)})};class r_ extends A${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===G$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(x(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return J$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return J$;if(Q.status==="dirty")return p1(Q.value);if(_.value==="dirty")return p1(Q.value);return Q});else{if(_.value==="aborted")return J$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")return p1(G.value);if(_.value==="dirty")return p1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!N0(X))return J$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!N0(X))return J$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});g$.assertNever(W)}}r_.create=($,_,U)=>{return new r_({schema:$,typeName:G$.ZodEffects,effect:_,...N$(U)})};r_.createWithPreprocess=($,_,U)=>{return new r_({schema:_,effect:{type:"preprocess",transform:$},typeName:G$.ZodEffects,...N$(U)})};class Y6 extends A${_parse($){if(this._getType($)===c.undefined)return E_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}Y6.create=($,_)=>{return new Y6({innerType:$,typeName:G$.ZodOptional,...N$(_)})};class e6 extends A${_parse($){if(this._getType($)===c.null)return E_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}e6.create=($,_)=>{return new e6({innerType:$,typeName:G$.ZodNullable,...N$(_)})};class X2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===c.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}X2.create=($,_)=>{return new X2({innerType:$,typeName:G$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...N$(_)})};class G2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(xU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}G2.create=($,_)=>{return new G2({innerType:$,typeName:G$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...N$(_)})};class cU extends A${_parse($){if(this._getType($)!==c.nan){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:c.nan,received:U.parsedType}),J$}return{status:"valid",value:$.data}}}cU.create=($)=>{return new cU({typeName:G$.ZodNaN,...N$($)})};var pM=Symbol("zod_brand");class $X extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class lU extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return J$;if(J.status==="dirty")return _.dirty(),p1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return J$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new lU({in:$,out:_,typeName:G$.ZodPipeline})}}class Q2 extends A${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(N0(W))W.value=Object.freeze(W.value);return W};return xU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}Q2.create=($,_)=>{return new Q2({innerType:$,typeName:G$.ZodReadonly,...N$(_)})};function CL($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function dL($,_={},U){if($)return H0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=CL(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=CL(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return H0.create()}var oM={object:e$.lazycreate},G$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(G$||(G$={}));var tM=($,_={message:`Input not instance of ${$.name}`})=>dL((U)=>U instanceof $,_),nL=G6.create,cL=k4.create,aM=cU.create,sM=f4.create,lL=a1.create,eM=B0.create,$g=mU.create,_g=s1.create,Ug=e1.create,Jg=H0.create,Wg=w4.create,Xg=P6.create,Gg=uU.create,Qg=Q6.create,Yg=e$.create,jg=e$.strictCreate,Dg=$2.create,zg=eW.create,qg=_2.create,Og=C6.create,Lg=dU.create,Ng=nU.create,Bg=V0.create,Hg=o1.create,Vg=U2.create,Rg=J2.create,Ag=P4.create,bg=W2.create,Fg=R0.create,TL=r_.create,Eg=Y6.create,Kg=e6.create,Mg=r_.createWithPreprocess,gg=lU.create,Ig=()=>nL().optional(),wg=()=>cL().optional(),kg=()=>lL().optional(),fg={string:($)=>G6.create({...$,coerce:!0}),number:($)=>k4.create({...$,coerce:!0}),boolean:($)=>a1.create({...$,coerce:!0}),bigint:($)=>f4.create({...$,coerce:!0}),date:($)=>B0.create({...$,coerce:!0})},Pg=J$;var a={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},rL=z.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),y_=z.string().datetime(),j$=z.string().trim().min(1),$4=j$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),iL=z.string().regex(/^[a-fA-F0-9]{64}$/),pL=z.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),_4=z.record(z.unknown()),D2=z.array(z.string().min(1)).default([]),A0=y_.nullable().optional(),Cg=new Set(["succeeded","failed","cancelled","blocked","skipped"]),F0=z.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function v$($){return z.object({schema:z.literal($),id:z.string().min(1),createdAt:y_,updatedAt:A0,metadata:_4.optional()}).strict()}var _c=z.object({schema:rL,id:z.string().min(1),createdAt:y_,updatedAt:A0,metadata:_4.optional()}).strict(),oL=z.enum(["agent","human","service","model","workflow","system"]),Tg=v$(a.actorRef).extend({kind:oL,name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional(),capabilities:z.array(z.string().min(1)).default([])}).strict(),T6=z.object({kind:oL,id:z.string().min(1),name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional()}).strict(),tL=z.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),Sg=v$(a.resourceRef).extend({kind:tL,name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:D2}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),R$=z.object({kind:tL,id:z.string().min(1),name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:D2}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),VG=z.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),Zg=z.enum(["none","partial","full","unknown"]),vg=v$(a.evidenceRef).extend({kind:VG,uri:$4,sha256:iL.optional(),summary:z.string().min(1).optional(),contentType:z.string().min(1).optional(),sizeBytes:z.number().int().nonnegative().optional(),redaction:Zg.default("unknown"),producer:T6.optional(),resourceRefs:z.array(R$).default([]),tags:D2}).strict(),l$=z.object({id:z.string().min(1),kind:VG.optional(),uri:$4.optional(),sha256:iL.optional(),summary:z.string().min(1).optional()}).strict(),rU=v$(a.costEstimate).extend({currency:z.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:z.number().int().nonnegative(),provider:z.string().min(1).optional(),model:z.string().min(1).optional(),accountId:z.string().min(1).optional(),promptTokens:z.number().int().nonnegative().optional(),completionTokens:z.number().int().nonnegative().optional(),totalTokens:z.number().int().nonnegative().optional(),basis:z.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:z.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),yg=z.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),aL=v$(a.decisionEnvelope).extend({decisionType:z.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:yg,actor:T6.optional(),traceId:z.string().min(1).optional(),inputHash:pL.optional(),policyBundleId:z.string().min(1).optional(),selected:z.array(R$).default([]),skipped:z.array(R$).default([]),reason:z.string().min(1),obligations:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),costEstimate:rU.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),hg=v$(a.capabilityCard).extend({kind:z.enum(["model","tool","machine","agent","lane","connector","service"]),name:z.string().min(1),version:z.string().min(1).optional(),status:z.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:z.array(z.string().min(1)).default([]),limitations:z.array(z.string().min(1)).default([]),riskLevel:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:rU.optional(),evidenceRefs:z.array(l$).default([])}).strict(),Y2=z.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),xg=z.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),mg=z.object({refName:j$,requiredForModes:z.array(Y2).min(1),allowedSecretInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:j$,revocationCheck:z.boolean().default(!0)}).strict(),ug=z.object({operation:j$,supportedModes:z.array(Y2).min(1),sideEffectClass:xg,requiresApproval:z.boolean().default(!1),requiresIdempotencyKey:z.boolean().default(!1),requiresSandboxEvidence:z.boolean().default(!1),requiresRollbackOrRevocation:z.boolean().default(!1),rollbackOrRevocation:j$.optional(),noSideEffectSmoke:j$.optional(),reconciliation:j$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),dg=z.object({providerId:j$,appId:j$,adapterId:j$,ownerPackage:j$,modes:z.array(Y2).min(1),defaultMode:Y2,credentialRequirements:z.array(mg).default([]),operations:z.array(ug).min(1),rateLimitPosture:j$,costPosture:j$.optional(),auditEvents:z.array(j$).default([]),redactionRules:z.array(j$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:z.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),ng=z.object({appId:j$,repo:j$,priority:z.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:z.array(j$).min(1),firstOperations:z.array(j$).min(1),blockedUntil:z.array(j$).default([])}).strict(),cg=v$(a.providerLiveModeStandard).extend({name:j$,version:j$,modes:z.array(Y2).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:z.array(j$).min(1),liveMutationGate:z.object({requiredMode:z.literal("live_mutating"),requiredChecks:z.array(j$).min(1),forbiddenBypassSignals:z.array(j$).min(1),disabledLiveSmoke:j$}).strict(),noSideEffectSmoke:z.object({requiredForModes:z.array(Y2).min(1),commandEvidence:z.array(j$).min(1),secretOutputScan:z.boolean().default(!0)}).strict(),credentialPolicy:z.object({acceptedInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:z.literal(!1),missingCredentialBehavior:z.literal("fail_closed"),revocationCheckRequired:z.boolean().default(!0)}).strict(),operationCards:z.array(dg).min(1),firstAdoptionTargets:z.array(ng).min(1),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),lg=z.object({id:z.string().min(1),title:z.string().min(1).optional(),summary:z.string().min(1),text:z.string().optional(),tokens:z.number().int().nonnegative().optional(),source:l$,resourceRefs:z.array(R$).default([])}).strict(),sL=v$(a.contextPack).extend({objective:z.string().min(1),budget:z.object({maxTokens:z.number().int().positive().optional(),maxBytes:z.number().int().positive().optional()}).strict().optional(),items:z.array(lg).default([]),citations:z.array(l$).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),permissions:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),conflicts:z.array(z.string().min(1)).default([]),uncertainty:z.string().min(1).optional()}).strict(),X6=j$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),b0=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),rg=z.enum(["public","internal","private","sensitive"]),ig=z.enum(["draft","active","paused","archived"]),RG=z.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),eL=v$(a.integrationRef).extend({kind:RG,name:z.string().min(1),projectId:b0.optional(),sourcePackage:j$.optional(),externalId:j$.optional(),uri:$4.optional(),enabled:z.boolean().default(!0),readOnly:z.boolean().default(!0),capabilities:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:R$.optional(),evidenceRefs:z.array(l$).default([]),config:_4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),pg=z.object({schemaRoot:X6.default(".hasna/project"),dashboardManifest:X6.default(".hasna/project/dashboard.render.json"),snapshotsDir:X6.default(".hasna/project/snapshots"),documentsDir:X6.default("documents"),reportsDir:X6.default("reports"),evidenceDir:X6.default(".hasna/project/evidence"),privateDir:X6.default(".hasna/project/private")}).strict(),og=v$(a.projectManifest).extend({projectId:b0,slug:b0,name:z.string().min(1),summary:z.string().min(1).optional(),status:ig.default("active"),classification:rg.default("private"),owner:T6.optional(),layout:pg.default({}),integrations:z.array(eL).default([]),renderManifests:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),tags:D2}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:z.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),tg=z.enum(["local","package","provider","url"]),AG=z.object({id:z.string().min(1),kind:tg,specifier:z.string().min(1),path:X6.optional(),packageName:z.string().min(1).optional(),uri:$4.optional(),provider:RG.optional(),schemaId:rL.optional(),integrity:pL.optional(),resourceRef:R$.optional(),optional:z.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:z.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:z.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:z.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ag=z.enum(["dashboard","canvas","panel","report","document","custom"]),sg=z.object({id:z.string().min(1),title:z.string().min(1),kind:ag,default:z.boolean().default(!1),entry:X6.optional(),imports:z.array(AG).default([]),panelRefs:z.array(R$).default([]),dataRefs:z.array(R$).default([]),layout:_4.optional()}).strict(),eg=v$(a.renderManifest).extend({projectId:b0,name:z.string().min(1),version:z.string().min(1),manifestPath:X6.default(".hasna/project/dashboard.render.json"),renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:z.array(sg).min(1),imports:z.array(AG).default([]),theme:_4.optional(),compatibility:z.object({minProjectsVersion:z.string().min(1).optional(),minContractsVersion:z.string().min(1).optional()}).strict().optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:z.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),$I=z.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),_I=z.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),UI=z.object({id:z.string().min(1),label:z.string().min(1),value:z.union([z.string(),z.number(),z.boolean()]),unit:z.string().min(1).optional(),status:z.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:z.array(R$).default([])}).strict(),JI=z.object({id:z.string().min(1),title:z.string().min(1),summary:z.string().min(1).optional(),status:z.string().min(1).optional(),priority:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:y_.optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),metadata:_4.optional()}).strict(),WI=z.object({renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:z.string().min(1).optional(),entry:X6.optional(),imports:z.array(AG).default([]),spec:_4.default({})}).strict(),$N=v$(a.projectPanel).extend({projectId:b0,provider:z.object({kind:RG,id:z.string().min(1),name:z.string().min(1).optional(),sourcePackage:j$.optional(),externalId:j$.optional()}).strict(),kind:_I,title:z.string().min(1),summary:z.string().min(1).optional(),state:$I.default("ready"),stateReason:z.string().min(1).optional(),generatedAt:y_,freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),metrics:z.array(UI).default([]),items:z.array(JI).default([]),actions:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),renderFragment:WI.optional(),warnings:z.array(z.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:z.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),XI=v$(a.projectSnapshot).extend({projectId:b0,generatedAt:y_,status:F0.default("unknown"),manifestRef:R$,renderManifestRef:R$.optional(),panels:z.array($N).default([]),contextPacks:z.array(sL).default([]),proofBundleRefs:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),warnings:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),_N=z.object({id:z.string().min(1),kind:z.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),expected:z.string().min(1).optional(),timeoutMs:z.number().int().positive().optional(),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:z.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),GI=v$(a.validationPlan).extend({objective:z.string().min(1),subject:R$.optional(),checks:z.array(_N).min(1),verifier:T6.optional(),requiredEvidenceKinds:z.array(VG).default([])}).strict(),QI=z.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),YI=z.enum(["draft","active","deprecated","archived"]),jI=z.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),DI=z.object({key:z.string().regex(/^[A-Z][A-Z0-9_]*$/),description:z.string().min(1),required:z.boolean().default(!1),["secret"]:z.boolean().default(!1),group:z.string().min(1).optional(),default:z.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),zI=z.object({name:z.string().min(1),command:z.string().min(1),description:z.string().min(1).optional(),required:z.boolean().default(!1)}).strict(),qI=z.object({packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:z.array(z.string().min(1)).default([]),requiredFiles:z.array(z.string().min(1)).default([]),requiredDirectories:z.array(z.string().min(1)).default([]),optionalDirectories:z.array(z.string().min(1)).default([])}).strict(),OI=v$(a.scaffoldManifest).extend({name:z.string().min(1),version:z.string().min(1),summary:z.string().min(1),type:QI,status:YI.default("draft"),capabilities:z.array(jI).default([]),techStack:z.array(z.string().min(1)).default([]),tags:D2,source:R$.optional(),output:qI,env:z.array(DI).default([]),scripts:z.array(zI).default([]),validationChecks:z.array(_N).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:z.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),LI=z.enum(["installed","failed","cancelled","partial","unknown"]),NI=v$(a.scaffoldInstallRecord).extend({scaffoldId:z.string().min(1),scaffoldVersion:z.string().min(1).optional(),manifestRef:R$.optional(),target:R$,status:LI,installedAt:y_.optional(),installer:T6.optional(),packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:_4.optional(),generatedFiles:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),j2=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),bG=z.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),UN=z.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),BI=z.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),HI=j$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),VI=z.enum(["active","stub","deprecated","archived"]),RI=z.enum(["stable","beta","canary","internal"]),AI=z.object({transport:z.enum(["http","stdio"]).default("http"),bin:z.string().min(1).optional(),url:$4.optional()}).strict(),bI=z.object({healthPath:z.string().min(1).default("/health"),port:z.number().int().positive().optional(),baseUrl:$4.optional()}).strict(),FI=z.object({bins:z.array(z.string().min(1)).default([]),mcp:AI.optional(),http:bI.optional()}).strict(),EI=v$(a.app).extend({appId:j2,npmName:bG,repoFolder:j2,githubUrl:HI,projectSlug:b0,surfaces:FI.default({}),lifecycle:VI,releaseChannel:RI.default("stable"),summary:z.string().min(1).optional(),tags:D2}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),KI=z.enum(["skill","ci","backfilled"]),MI=v$(a.release).extend({appId:j2,package:bG,version:UN,gitSha:BI,publishedAt:y_,publishPath:KI,changelogRef:R$.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),gI=z.enum(["install","update","rollback","freeze-blocked"]),II=z.object({cliVersion:z.string().min(1).optional(),mcpHealth:z.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),wI=v$(a.rolloutRecord).extend({appId:j2,package:bG,version:UN,machine:j$,action:gI,result:F0,verifiedBy:II.optional(),at:y_,evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:z.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),kI=z.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),fI=z.enum(["pending","queued","sent","failed","skipped","suppressed"]),PI=z.object({channel:kI,status:fI,deliveredAt:y_.optional(),detail:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),CI=v$(a.announcement).extend({campaignId:j$,appId:j2.optional(),releaseRef:R$.optional(),channels:z.array(PI).min(1),audienceRef:R$,sentAt:y_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),TI=z.enum(["tag","attribute","group"]),SI=z.enum(["eq","neq","in","not_in","exists","not_exists"]),SL=z.union([z.string(),z.number(),z.boolean()]),ZI=z.object({kind:TI,key:z.string().min(1).optional(),op:SI.default("eq"),value:SL.optional(),values:z.array(SL).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:z.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),vI=z.object({match:z.enum(["all","any"]).default("all"),predicates:z.array(ZI).min(1)}).strict(),yI=z.enum(["opt_in","opt_out","transactional","none"]),hI=v$(a.audience).extend({audienceId:j2,name:j$,definition:vI,consentPolicy:yI,suppressionSyncedAt:A0}).strict(),qG=["@hasna/cloud","open-cloud"],xI=z.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),mI=z.object({id:z.string().min(1),provider:xI,kind:z.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:z.string().min(1),region:z.string().min(1).optional(),accountId:z.string().min(1).optional(),uri:$4.optional(),machineScoped:z.boolean().default(!1)}).strict(),JN=v$(a.appCloudManifest).extend({packageName:z.string().min(1),packageVersion:z.string().min(1).optional(),appId:z.string().min(1),repository:R$.optional(),storageMode:z.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:z.enum(["none","app_owned","external_service","local_cache"]),cloudResources:z.array(mI).default([]),localCache:z.object({path:z.string().min(1).optional(),pullMode:z.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:z.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:z.array(z.string().min(1)).default([...qG]),dependencies:z.array(z.string().min(1)).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...qG,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:z.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of qG)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:z.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:z.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),WN=z.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),uI=z.enum(["low","medium","high","critical"]),XN=z.object({id:z.string().min(1),kind:WN,severity:uI,path:z.string().min(1).optional(),packageName:z.string().min(1).optional(),pattern:z.string().min(1),message:z.string().min(1),evidenceRefs:z.array(l$).default([])}).strict(),dI=z.object({id:z.string().min(1),kind:WN,status:F0,target:z.string().min(1),command:z.string().min(1).optional(),evidenceRefs:z.array(l$).default([]),findings:z.array(XN).default([])}).strict(),nI=v$(a.noCloudEvidencePack).extend({subject:R$,packageName:z.string().min(1).optional(),packageVersion:z.string().min(1).optional(),generatedBy:T6.optional(),scanMode:z.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:F0,verdict:z.enum(["passed","failed","warning","not_run"]),appCloudManifest:JN.optional(),checks:z.array(dI).min(1),findings:z.array(XN).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),cI=z.object({checkId:z.string().min(1),status:F0,summary:z.string().min(1).optional(),startedAt:A0,finishedAt:A0,evidenceRefs:z.array(l$).default([])}).strict(),lI=v$(a.proofBundle).extend({subject:R$,validationPlanRef:R$.optional(),status:F0,verdict:z.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:z.array(cI).default([]),verifier:T6.optional(),evidenceRefs:z.array(l$).default([]),residualRisks:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),rI=v$(a.workRun).extend({objective:z.string().min(1),status:F0,actor:T6,traceId:z.string().min(1).optional(),startedAt:A0,finishedAt:A0,constraints:z.array(z.string().min(1)).default([]),resourceRefs:z.array(R$).default([]),decisions:z.array(aL).default([]),costEstimates:z.array(rU).default([]),evidenceRefs:z.array(l$).default([]),validationPlanRefs:z.array(R$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:z.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(Cg.has($.status)&&!$.finishedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),iI=z.object({id:z.string().min(1),at:y_,kind:z.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:z.string().min(1),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),costEstimate:rU.optional()}).strict(),pI=v$(a.agentTrajectory).extend({actor:T6,workRunRef:R$.optional(),events:z.array(iI).default([]),outcome:z.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:R$.optional()}).strict(),oI="v1",tI=z.enum(["library","cli-with-store","service","saas"]),aI=["local","self-hosted","cloud"],GN=z.enum(aI),sI=z.enum(["supported","deferred","unsupported"]),eI=z.enum(["none","local-only","api-key","session","service-token","custom"]),OG=z.object({method:z.enum(["GET","POST","PUT","PATCH","DELETE"]),path:z.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:z.boolean().default(!1),description:z.string().min(1).optional()}).strict(),$w=z.object({id:z.string().min(1),kind:z.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),evidenceRef:l$.optional(),status:z.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),_w=z.object({name:z.string().min(1),status:sI,bin:z.string().min(1).optional(),mcpBin:z.string().min(1).optional(),authMode:eI,deploymentModes:z.array(GN).min(1),health:OG.optional(),readiness:OG.optional(),version:OG.optional(),apiBasePath:z.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:z.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:z.string().min(1).optional(),readinessGates:z.array($w).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:z.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:z.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:z.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),Uw=["local","cloud"],QN=z.enum(Uw);var Jw=z.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Ww=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Xw($){return Ww.map((_)=>`${$}${_}`)}function ZL($){return`hasna/oss/${$}/database-url`}var Gw=z.object({mode:QN,envPrefix:z.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:z.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:z.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:z.string().min(1).optional()}).strict(),Qw=z.object({$schema:z.string().min(1).optional(),schema:z.literal(a.serviceContract),name:Jw,class:tI,contractVersion:z.literal(oI),kitVersion:z.string().min(1),description:z.string().min(1).optional(),bins:z.array(z.string().min(1)).default([]),storage:Gw.optional(),deploymentModes:z.array(GN).default(["local"]),serviceSurfaces:z.array(_w).default([]),metadata:_4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Xw($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:z.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==ZL($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${ZL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:z.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:z.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),Uc=z.object({status:z.enum(["ok","degraded","unavailable"]),version:z.string().min(1),mode:QN}).strict(),Jc=z.object({ready:z.boolean(),reason:z.string().min(1).optional()}).strict(),Wc=z.object({version:z.string().min(1)}).strict(),Yw=z.enum(["info","notice","breaking","critical"]),jw=z.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),Dw=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],zw=z.enum(Dw);var qw=z.enum(["fleet","package","machine"]),YN=v$(a.commsEventEnvelope).extend({type:jw,severity:Yw,scope:qw,summary:z.string().min(1).optional(),source:T6.optional(),affected_packages:z.array(j$).default([]),affected_machines:z.array(j$).default([]),action_required:z.boolean().default(!1),ack_by:y_.optional(),dedupe_key:j$,resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),Ow=z.enum(["fleet","package","product","loop-lane","initiative","personal"]),Lw=z.enum(["quiet","work","firehose"]),Nw=j$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),Bw=v$(a.commsChannelMetadata).extend({class:Ow,noise:Lw.optional(),owner:j$.optional(),until:Nw.optional(),successor:j$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),vL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Hw=v$(a.commsMessageMetadata).extend({tag:zw,envelope:YN}).strict().superRefine(($,_)=>{let U=vL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(vL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Xc={[a.actorRef]:Tg,[a.resourceRef]:Sg,[a.evidenceRef]:vg,[a.workRun]:rI,[a.decisionEnvelope]:aL,[a.costEstimate]:rU,[a.capabilityCard]:hg,[a.providerLiveModeStandard]:cg,[a.contextPack]:sL,[a.integrationRef]:eL,[a.projectManifest]:og,[a.projectPanel]:$N,[a.projectSnapshot]:XI,[a.renderManifest]:eg,[a.agentTrajectory]:pI,[a.validationPlan]:GI,[a.proofBundle]:lI,[a.scaffoldManifest]:OI,[a.scaffoldInstallRecord]:NI,[a.appCloudManifest]:JN,[a.noCloudEvidencePack]:nI,[a.serviceContract]:Qw,[a.commsEventEnvelope]:YN,[a.commsChannelMetadata]:Bw,[a.commsMessageMetadata]:Hw,[a.app]:EI,[a.release]:MI,[a.rolloutRecord]:wI,[a.announcement]:CI,[a.audience]:hI};function Vw($){return $.toUpperCase().replace(/-/g,"_")}function jN($){let _=Vw($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}var Rw=["remote","hybrid","self_hosted"];function FG($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(Rw.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}import qc from"pg";class EG extends Error{scheme;port;constructor($,_){super($);this.name="KnowledgeNetworkGuardError",this.scheme=_.scheme,this.port=_.port}}function iU($=process.env){return($.NODE_ENV??"").trim().toLowerCase()==="test"}function DN($){let _=$.split(".");if(_.length!==4)return!1;if(!_.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return _[0]==="127"}function Kw($){let _=$.trim().toLowerCase();if(_.length===0)return!1;if(_==="localhost"||_.endsWith(".localhost"))return!0;if(DN(_))return!0;if(!_.startsWith("[")||!_.endsWith("]"))return!1;let U=_.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let W=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&DN(W))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function Mw($){if(typeof $==="string")return $;if($ instanceof URL)return $.href;return $.url}function gw($,_=process.env){if(!iU(_))return;let U=Mw($),W;try{W=new URL(U)}catch{throw new EG("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(Kw(W.hostname))return;throw new EG(`knowledge: refused a non-loopback ${W.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=local) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:W.protocol.replace(":",""),port:W.port})}function zN($,_){return gw($),fetch($,_)}var _X="knowledge",MG=jN(_X),z2=MG.modeKeys,gG=MG.apiUrlKeys,UX=MG.apiKeyKeys;function KG($,_){return _.filter((U)=>($[U]??"").trim().length>0)}function JX($=process.env){let _=[...KG($,gG),...KG($,UX)],U=z2[0];for(let W of z2){let J=$[W]?.trim();if(!J)continue;let X;try{X=FG(J)}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw Error(`knowledge: ${W}=${J} is not a valid mode. ${Y}`)}let G=[];if(X.deprecatedAlias)G.push(`Deprecated mode '${X.deprecatedAlias}' from ${W} is treated as 'cloud'. Prefer ${U}=cloud.`);if(W!==U)G.push(`Using alias env ${W}; the canonical key is ${U}.`);if(X.mode==="local"&&_.length>0)G.push(`${W}=local pins the on-box store; ${_.join(", ")} are set but ignored.`);return{mode:X.mode,source:{kind:"env",name:W,value:J},pointer_env_present:_,pointer_ignored:X.mode==="local"&&_.length>0,warning:G.length>0?G.join(" "):null}}return{mode:"local",source:{kind:"default",name:null,value:null},pointer_env_present:_,pointer_ignored:_.length>0,warning:_.length>0?`${_.join(", ")} are set but do NOT select a backend: mode is local by default. Set ${U}=cloud to route reads and writes to the API, or unset those vars to silence this note.`:null}}function IG($,_){return{...$,[z2[0]]:_}}function qN($=process.env){let _=JX($);return{..._,store_transport:_.mode==="cloud"?"api":"local",api_key_present:KG($,UX).length>0,network_guard_active:iU($)}}function ON($){return{fetchImpl:zN,...iU($)?{retry:!1}:{}}}var q2="notes";function Iw($){let _={};if($.search)_.search=$.search;if($.limit!==void 0)_.limit=$.limit;if($.offset!==void 0)_.offset=$.offset;if($.includeArchived||$.archivedOnly)_.includeArchived=!0;return _}function ww($){return{baseUrl:$.baseUrl,async list(_={}){let U=_.limit??200,W=Iw({..._,limit:Math.min(Math.max(U,1),200)}),J=await $.list(q2,{query:W}),X=J.items;if(_.archivedOnly)X=X.filter((G)=>G.archived===!0);if(_.tag){let G=_.tag.toLowerCase();X=X.filter((Q)=>(Q.tags??[]).some((Y)=>Y.toLowerCase()===G))}return{items:X,total:J.total}},async get(_){return $.get(q2,_)},async create(_){return $.create(q2,{..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})},async update(_,U){try{return await $.update(q2,_,U)}catch(W){if(kw(W))return null;throw W}},async delete(_){let U=await $.get(q2,_);if(!U)return!1;return await $.delete(q2,U.id),!0}}}function kw($){return Boolean($&&typeof $==="object"&&$.status===404)}function pU($=process.env){if(JX($).mode!=="cloud")return null;let _=DG(_X,IG($,"cloud"),ON($));if(_.transport!=="cloud-http")return null;return ww(_.client)}function C4($=process.env){if(JX($).mode!=="cloud")return!1;return DG(_X,IG($,"cloud"),ON($)).transport==="cloud-http"}async function WX($){let U=[];for(let W=0;;W+=200){let{items:J}=await $.list({includeArchived:!0,limit:200,offset:W});if(U.push(...J),J.length<200)break;if(W>1e5)break}return U}function wG($,_){return $.id===_||$.short_id===_}class LN{storePath;kind="local";constructor($){this.storePath=$}get location(){return this.storePath}get exists(){return fw(this.storePath)}async listAll(){let $=w1(this.storePath);return{items:$.items,exists:$.exists}}async get($){return w1(this.storePath).items.find((U)=>wG(U,$))??null}async create($){return I6(this.storePath,()=>{let _=fU(this.storePath),U=new Date().toISOString(),W=$.id??tO(),J={id:W,short_id:aO(W),title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:!1,created_at:U,updated_at:U};return _.items.push(J),l6(this.storePath,_),J},{createParent:!0})}async update($,_){return I6(this.storePath,()=>{let U=fU(this.storePath),W=U.items.findIndex((X)=>wG(X,$));if(W===-1)return null;let J=U.items[W];if(_.title!==void 0)J.title=_.title;if(_.content!==void 0)J.content=_.content;if(_.url!==void 0)J.url=_.url;if(_.tags!==void 0)J.tags=_.tags;if(_.metadata!==void 0)J.metadata=_.metadata;if(_.archived!==void 0)J.archived=_.archived;return J.updated_at=new Date().toISOString(),U.items[W]=J,l6(this.storePath,U),J},{createParent:!0})}async delete($){return I6(this.storePath,()=>{let _=fU(this.storePath),U=_.items.length;_.items=_.items.filter((J)=>!wG(J,$));let W=U!==_.items.length;if(W)l6(this.storePath,_);return W},{createParent:!0})}async deleteMany($){if($.length===0)return 0;let _=new Set($);return I6(this.storePath,()=>{let U=fU(this.storePath),W=U.items.length;U.items=U.items.filter((X)=>!_.has(X.id)&&!(X.short_id!=null&&_.has(X.short_id)));let J=W-U.items.length;if(J>0)l6(this.storePath,U);return J},{createParent:!0})}}class NN{cloud;kind="api";exists=!0;constructor($){this.cloud=$}get location(){return this.cloud.baseUrl}async listAll(){return{items:await WX(this.cloud),exists:!0}}async get($){return this.cloud.get($)}async create($){return this.cloud.create({...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})}async update($,_){return this.cloud.update($,_)}async delete($){return this.cloud.delete($)}async deleteMany($){let _=0;for(let U of $)if(await this.cloud.delete(U))_+=1;return _}}function XX($){let _=$.storePathOverridden?null:pU($.env??process.env);if(_)return new NN(_);return new LN($.storePath)}import{Database as BN}from"bun:sqlite";function GX($="catalog"){if(C4())throw Error(`knowledge: ${$} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`)}var Pw="porter unicode61 remove_diacritics 2",HN=` +`)}),this}_outputHelpIfRequested($){let _=this._getHelpOption();if(_&&$.find((W)=>_.is(W)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function pA($){return $.map((_)=>{if(!_.startsWith("--inspect"))return _;let U,W="127.0.0.1",J="9229",X;if((X=_.match(/^(--inspect(-brk)?)$/))!==null)U=X[1];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=X[1],/^\d+$/.test(X[3]))J=X[3];else W=X[3];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=X[1],W=X[3],J=X[4];if(U&&J!=="0")return`${U}=${W}:${parseInt(J)+1}`;return _})}function AO(){if(P$.env.NO_COLOR||P$.env.FORCE_COLOR==="0"||P$.env.FORCE_COLOR==="false")return!1;if(P$.env.FORCE_COLOR||P$.env.CLICOLOR_FORCE!==void 0)return!0;return}eu.Command=EO;eu.useColor=AO});var eA=G0((Wd)=>{var{Argument:tA}=gG(),{Command:FO}=oA(),{CommanderError:Ud,InvalidArgumentError:aA}=ZW(),{Help:Jd}=BO(),{Option:sA}=HO();Wd.program=new FO;Wd.createCommand=($)=>new FO($);Wd.createOption=($,_)=>new sA($,_);Wd.createArgument=($,_)=>new tA($,_);Wd.Command=FO;Wd.Option=sA;Wd.Argument=tA;Wd.Help=Jd;Wd.CommanderError=Ud;Wd.InvalidArgumentError=aA;Wd.InvalidOptionArgumentError=aA});import{chmodSync as uO,closeSync as IU,existsSync as g1,fsyncSync as lG,lstatSync as iE,openSync as iG,readFileSync as gU,renameSync as dO,unlinkSync as rG,writeFileSync as pG}from"fs";import{randomUUID as wU}from"crypto";import{basename as rE,dirname as cO,join as nG}from"path";import{chmodSync as CO,existsSync as uE,mkdirSync as yG,readFileSync as dE,writeFileSync as TO}from"fs";import{homedir as hG}from"os";import{dirname as cE,join as q_,resolve as SO}from"path";var n6=q_(".hasna","knowledge"),ZO=q_(".hasna","apps","knowledge"),S$={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:n6,s3:{bucket:"example-knowledge-prod",region:"us-east-1",profile:"example-infra",prefix:".hasna/knowledge",server_side_encryption:"AES256"},secrets:{env:"example/knowledge/prod/env",aws:"example/knowledge/prod/aws",s3:"example/knowledge/prod/s3",rds:null,future_rds:"example/knowledge/prod/rds"},source_owner:"open-files",evidence_doc:"docs/canonical-secrets-bootstrap-2026-06-08.md"};function vO(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:S$.s3.bucket,prefix:S$.s3.prefix,region:S$.s3.region,profile:S$.s3.profile,server_side_encryption:S$.s3.server_side_encryption}}}function bU(){return q_(hG(),".open-knowledge","db.json")}function uW(){return q_(hG(),".hasna","knowledge")}function xG($=process.cwd()){return SO($,n6)}function nE(){return q_(hG(),ZO)}function lE($=process.cwd()){return SO($,ZO)}function mG($,_=process.cwd()){if($==="project"||$==="local")return T_(lE(_));return T_(nE())}function T_($){return{home:$,configPath:q_($,"config.json"),jsonStorePath:q_($,"db.json"),knowledgeDbPath:q_($,"knowledge.db"),artifactsDir:q_($,"artifacts"),cacheDir:q_($,"cache"),exportsDir:q_($,"exports"),indexesDir:q_($,"indexes"),logsDir:q_($,"logs"),runsDir:q_($,"runs"),schemasDir:q_($,"schemas"),wikiDir:q_($,"wiki")}}function MU(){return{version:1,mode:"local",hosted:{api_url:"https://knowledge.md"},storage:{type:"local",artifacts_root:"artifacts"},sources:{preferred_ref:"open-files",allowed_schemes:["open-files","s3","file","https","http"]},providers:{default_model:"openai:gpt-5.2",aliases:{fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"},openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},embeddings:{default_model:"openai:text-embedding-3-small",dimensions:1536,batch_size:64,max_parallel_calls:4},safety:{network:{web_search_enabled:!1,s3_reads_enabled:!1,allowed_s3_buckets:[]},redaction:{enabled:!0},approvals:{generated_writes_require_approval:!0}}}}function I1($){let _=T_($);yG(_.home,{recursive:!0,mode:448});for(let U of[_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir])yG(U,{recursive:!0,mode:448});if(!uE(_.configPath))TO(_.configPath,`${JSON.stringify(MU(),null,2)} +`,{mode:384}),CO(_.configPath,384);return _}function dW($,_=process.cwd()){if($==="project"||$==="local")return T_(xG(_));return T_(uW())}function K4($){yG(cE($),{recursive:!0})}function uG($){let _=dE($,"utf8");return JSON.parse(_)}function yO($,_){K4($),TO($,`${JSON.stringify(_,null,2)} +`,{mode:384}),CO($,384)}function nW(){return T_(uW()).jsonStorePath}function kU($){if($===nW()&&g1(bU()))tG();if(!g1($))K4($),iO($,`${JSON.stringify({items:[]},null,2)} +`)}function pE($){return $.toISOString().replace(/[:.]/g,"-")}function oG($){let _=[`id:${$.id}`];if(typeof $.short_id==="string"&&$.short_id.length>0)_.push(`short_id:${$.short_id}`);return _}function oE($){let _=new Set;for(let U of $)for(let W of oG(U))_.add(W);return _}function tE($,_){return oG(_).some((U)=>$.has(U))}function dG($,_){K4($),pG($,`${JSON.stringify(_,null,2)} +`,{mode:384}),uO($,384)}function hO($){let _=JSON.parse(gU($,"utf8"));if(!_||typeof _!=="object"||!Array.isArray(_.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},W=0;for(let J of _.items)if(J&&typeof J==="object"&&typeof J.id==="string"&&J.id.length>0)U.items.push(J);else W+=1;return{store:U,skippedInvalid:W}}function tG($={}){if($.dryRun===!0)return xO($);return g6(nW(),()=>xO($),{createParent:!0})}function xO($={}){let _=$.dryRun===!0,U=$.now??new Date,W=T_(uW()),J=bU(),X=W.jsonStorePath,G=g1(J),Q=g1(X),Y={ok:!0,dry_run:_,legacy_path:J,canonical_path:X,legacy_exists:G,canonical_existed:Q,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:G?"Legacy global store already imported":"No legacy global store found"};if(!G)return Y;let j;try{let N=hO(J);j=N.store,Y.skipped_invalid=N.skippedInvalid}catch(N){return Y.ok=!1,Y.errors.push(`Could not read legacy store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let O={items:[]};if(Q)try{O=hO(X).store}catch(N){return Y.ok=!1,Y.errors.push(`Could not read canonical store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let B=oE(O.items),V={items:[...O.items]};for(let N of j.items){if(!N?.id){Y.skipped_invalid+=1;continue}if(tE(B,N)){Y.skipped_existing+=1;continue}V.items.push(N);for(let H of oG(N))B.add(H);Y.imported+=1}if(Y.would_create_canonical=!Q&&Y.imported>0,Y.canonical_created=!_&&Y.would_create_canonical,Y.message=Y.imported>0?`Imported ${Y.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",_||Y.imported===0)return Y;let L=`${pE(U)}-${wU().slice(0,8)}`;if(Q)Y.backup_path=nG(W.exportsDir,`legacy-open-knowledge-db-before-import-${L}.json`),dG(Y.backup_path,O);return dG(X,V),Y.report_path=nG(W.runsDir,`legacy-open-knowledge-import-${L}.json`),dG(Y.report_path,Y),Y}function w1($){if(!g1($))return{exists:!1,items:[]};let _=gU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function aE($){return`${$}.lock`}var cW=1e4,nO=25,mO=120000,sE=new Int32Array(new SharedArrayBuffer(4));function aG($){return typeof $==="object"&&$!==null&&"code"in $?String($.code):void 0}function lO($){let _=null;try{_=iG(cO($),"r"),lG(_)}catch{}finally{if(_!==null)try{IU(_)}catch{}}}var cG=new Set;function iO($,_){K4($);let U=nG(cO($),`.${rE($)}.tmp.${wU()}`),W=null;try{W=iG(U,"wx",384),pG(W,_),lG(W),IU(W),W=null,dO(U,$);try{uO($,384)}catch{}lO($)}catch(J){if(W!==null)try{IU(W)}catch{}try{rG(U)}catch{}throw J}}function rO($){Atomics.wait(sE,0,0,$)}function eE($){if(typeof $!=="number"||!Number.isInteger($)||$<=0)return!1;try{return process.kill($,0),!0}catch(_){return aG(_)!=="ESRCH"}}function pO($,_){try{let U=gU($,"utf8"),W=JSON.parse(U);if(typeof W.ts==="number")return _-W.ts>mO&&!eE(W.pid)}catch{}try{return _-iE($).mtimeMs>mO}catch{return!1}}function $F($){let _=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${$}.stale.${_}.${wU()}`;try{dO($,U)}catch(W){if(aG(W)!=="ENOENT")throw W;return}}function _F($){let _=wU(),U=`${$}.breaker`,W=Date.now();while(Date.now()-W<cW){if(oO(U,_)){try{if(pO($,Date.now()))$F($)}finally{tO(U,_)}return}rO(nO)}throw Error(`Could not acquire stale-lock breaker on ${U} after ${cW}ms`)}function oO($,_){let U=null,W=!1;try{return U=iG($,"wx",384),W=!0,pG(U,`${JSON.stringify({owner:_,pid:process.pid,ts:Date.now()})} +`),lG(U),IU(U),U=null,lO($),!0}catch(J){if(U!==null)try{IU(U)}catch{}if(W)try{rG($)}catch{}if(aG(J)==="EEXIST")return!1;throw J}}function UF($,_){let U=Date.now();while(Date.now()-U<cW){if(oO($,_))return;if(pO($,Date.now()))_F($);rO(nO)}throw Error(`Could not acquire lock on ${$} after ${cW}ms`)}function tO($,_){try{if(g1($)){if(JSON.parse(gU($,"utf8")).owner===_)rG($)}}catch{}}function PU($){kU($);let _=gU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{items:[]};return U}function l6($,_){iO($,`${JSON.stringify(_,null,2)} +`)}function g6($,_,U={}){let W=wU(),J=aE($);if(cG.has(J))return _();if(U.createParent)K4(J);UF(J,W),cG.add(J);try{return _()}finally{cG.delete(J),tO(J,W)}}function aO(){return`k_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function sO($){return $.replace(/^k_/,"").slice(0,12)}import{existsSync as Pw}from"fs";var JF=Object.defineProperty,WF=($)=>$;function XF($,_){this[$]=WF.bind(null,_)}var GF=($,_)=>{for(var U in _)JF($,U,{get:_[U],enumerable:!0,configurable:!0,set:XF.bind(_,U)})},D={};GF(D,{void:()=>nF,util:()=>M$,unknown:()=>dF,union:()=>pF,undefined:()=>xF,tuple:()=>aF,transformer:()=>_L,symbol:()=>hF,string:()=>zL,strictObject:()=>rF,setErrorMap:()=>jF,set:()=>$K,record:()=>sF,quotelessJson:()=>QF,promise:()=>GK,preprocess:()=>jK,pipeline:()=>DK,ostring:()=>zK,optional:()=>QK,onumber:()=>qK,oboolean:()=>OK,objectUtil:()=>U5,object:()=>iF,number:()=>qL,nullable:()=>YK,null:()=>mF,never:()=>cF,nativeEnum:()=>XK,nan:()=>ZF,map:()=>eF,makeIssue:()=>rW,literal:()=>JK,lazy:()=>UK,late:()=>TF,isValid:()=>Q0,isDirty:()=>W5,isAsync:()=>fU,isAborted:()=>J5,intersection:()=>tF,instanceof:()=>SF,getParsedType:()=>r6,getErrorMap:()=>iW,function:()=>_K,enum:()=>WK,effect:()=>_L,discriminatedUnion:()=>oF,defaultErrorMap:()=>C1,datetimeRegex:()=>YL,date:()=>yF,custom:()=>DL,coerce:()=>LK,boolean:()=>OL,bigint:()=>vF,array:()=>lF,any:()=>uF,addIssueToContext:()=>h,ZodVoid:()=>TU,ZodUnknown:()=>b4,ZodUnion:()=>v1,ZodUndefined:()=>S1,ZodType:()=>V$,ZodTuple:()=>k6,ZodTransformer:()=>l_,ZodSymbol:()=>CU,ZodString:()=>_6,ZodSet:()=>D0,ZodSchema:()=>V$,ZodRecord:()=>SU,ZodReadonly:()=>c1,ZodPromise:()=>z0,ZodPipeline:()=>yU,ZodParsedType:()=>c,ZodOptional:()=>J6,ZodObject:()=>s$,ZodNumber:()=>M4,ZodNullable:()=>p6,ZodNull:()=>Z1,ZodNever:()=>w6,ZodNativeEnum:()=>m1,ZodNaN:()=>vU,ZodMap:()=>ZU,ZodLiteral:()=>x1,ZodLazy:()=>h1,ZodIssueCode:()=>f,ZodIntersection:()=>y1,ZodFunction:()=>f1,ZodFirstPartyTypeKind:()=>X$,ZodError:()=>S_,ZodEnum:()=>g4,ZodEffects:()=>l_,ZodDiscriminatedUnion:()=>oW,ZodDefault:()=>u1,ZodDate:()=>Y0,ZodCatch:()=>d1,ZodBranded:()=>tW,ZodBoolean:()=>T1,ZodBigInt:()=>I4,ZodArray:()=>U6,ZodAny:()=>j0,Schema:()=>V$,ParseStatus:()=>O_,OK:()=>F_,NEVER:()=>NK,INVALID:()=>U$,EMPTY_PATH:()=>DF,DIRTY:()=>P1,BRAND:()=>CF});var M$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(M$||(M$={}));var U5;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(U5||(U5={}));var c=M$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),r6=($)=>{switch(typeof $){case"undefined":return c.undefined;case"string":return c.string;case"number":return Number.isNaN($)?c.nan:c.number;case"boolean":return c.boolean;case"function":return c.function;case"bigint":return c.bigint;case"symbol":return c.symbol;case"object":if(Array.isArray($))return c.array;if($===null)return c.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return c.promise;if(typeof Map<"u"&&$ instanceof Map)return c.map;if(typeof Set<"u"&&$ instanceof Set)return c.set;if(typeof Date<"u"&&$ instanceof Date)return c.date;return c.object;default:return c.unknown}},f=M$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),QF=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class S_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof S_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,M$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}S_.create=($)=>{return new S_($)};var YF=($,_)=>{let U;switch($.code){case f.invalid_type:if($.received===c.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case f.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,M$.jsonStringifyReplacer)}`;break;case f.unrecognized_keys:U=`Unrecognized key(s) in object: ${M$.joinValues($.keys,", ")}`;break;case f.invalid_union:U="Invalid input";break;case f.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${M$.joinValues($.options)}`;break;case f.invalid_enum_value:U=`Invalid enum value. Expected ${M$.joinValues($.options)}, received '${$.received}'`;break;case f.invalid_arguments:U="Invalid function arguments";break;case f.invalid_return_type:U="Invalid function return type";break;case f.invalid_date:U="Invalid date";break;case f.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else M$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case f.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case f.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case f.custom:U="Invalid input";break;case f.invalid_intersection_types:U="Intersection results could not be merged";break;case f.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case f.not_finite:U="Number must be finite";break;default:U=_.defaultError,M$.assertNever($)}return{message:U}},C1=YF,XL=C1;function jF($){XL=$}function iW(){return XL}var rW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},DF=[];function h($,_){let U=iW(),W=rW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===C1?void 0:C1].filter((J)=>!!J)});$.common.issues.push(W)}class O_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return U$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return O_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return U$;if(X.status==="aborted")return U$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var U$=Object.freeze({status:"aborted"}),P1=($)=>({status:"dirty",value:$}),F_=($)=>({status:"valid",value:$}),J5=($)=>$.status==="aborted",W5=($)=>$.status==="dirty",Q0=($)=>$.status==="valid",fU=($)=>typeof Promise<"u"&&$ instanceof Promise,t;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(t||(t={}));class W6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var eO=($,_)=>{if(Q0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new S_($.common.issues);return this._error=U,this._error}}}};function L$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class V${get description(){return this._def.description}_getType($){return r6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:r6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O_,ctx:{common:$.parent.common,data:$.data,parsedType:r6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(fU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)},W=this._parseSync({data:$,path:U.path,parent:U});return eO(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return Q0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>Q0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(fU(W)?W:Promise.resolve(W));return eO(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:f.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new l_({schema:this,typeName:X$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return J6.create(this,this._def)}nullable(){return p6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return U6.create(this)}promise(){return z0.create(this,this._def)}or($){return v1.create([this,$],this._def)}and($){return y1.create(this,$,this._def)}transform($){return new l_({...L$(this._def),schema:this,typeName:X$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new u1({...L$(this._def),innerType:this,defaultValue:_,typeName:X$.ZodDefault})}brand(){return new tW({typeName:X$.ZodBranded,type:this,...L$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new d1({...L$(this._def),innerType:this,catchValue:_,typeName:X$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return yU.create(this,$)}readonly(){return c1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var zF=/^c[^\s-]{8,}$/i,qF=/^[0-9a-z]+$/,OF=/^[0-9A-HJKMNP-TV-Z]{26}$/i,LF=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,NF=/^[a-z0-9_-]{21}$/i,BF=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,HF=/^[-+]?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)?)??$/,VF=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,RF="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",sG,AF=/^(?:(?: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])$/,EF=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,FF=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,KF=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,bF=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,MF=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,GL="((\\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])))",IF=new RegExp(`^${GL}$`);function QL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function gF($){return new RegExp(`^${QL($)}$`)}function YL($){let _=`${GL}T${QL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function wF($,_){if((_==="v4"||!_)&&AF.test($))return!0;if((_==="v6"||!_)&&FF.test($))return!0;return!1}function kF($,_){if(!BF.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function PF($,_){if((_==="v4"||!_)&&EF.test($))return!0;if((_==="v6"||!_)&&KF.test($))return!0;return!1}class _6 extends V${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==c.string){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.string,received:J.parsedType}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)h(W,{code:f.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)h(W,{code:f.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!VF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"email",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!sG)sG=new RegExp(RF,"u");if(!sG.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"emoji",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!LF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"uuid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!NF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"nanoid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!zF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"cuid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!qF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"cuid2",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!OF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"ulid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),h(W,{validation:"url",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"regex",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!YL(J).test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!IF.test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!gF(J).test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!HF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"duration",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!wF($.data,J.version))W=this._getOrReturnCtx($,W),h(W,{validation:"ip",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!kF($.data,J.alg))W=this._getOrReturnCtx($,W),h(W,{validation:"jwt",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!PF($.data,J.version))W=this._getOrReturnCtx($,W),h(W,{validation:"cidr",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!bF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"base64",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!MF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"base64url",code:f.invalid_string,message:J.message}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:f.invalid_string,...t.errToObj(U)})}_addCheck($){return new _6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...t.errToObj($)})}url($){return this._addCheck({kind:"url",...t.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...t.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...t.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...t.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...t.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...t.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...t.errToObj($)})}base64($){return this._addCheck({kind:"base64",...t.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...t.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...t.errToObj($)})}ip($){return this._addCheck({kind:"ip",...t.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...t.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...t.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...t.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...t.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...t.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...t.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...t.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...t.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...t.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...t.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...t.errToObj(_)})}nonempty($){return this.min(1,t.errToObj($))}trim(){return new _6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}_6.create=($)=>{return new _6({checks:[],typeName:X$.ZodString,coerce:$?.coerce??!1,...L$($)})};function fF($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class M4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==c.number){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.number,received:J.parsedType}),U$}let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="int"){if(!M$.isInteger($.data))U=this._getOrReturnCtx($,U),h(U,{code:f.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(fF($.data,J.value)!==0)U=this._getOrReturnCtx($,U),h(U,{code:f.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),h(U,{code:f.not_finite,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new M4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new M4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:t.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}finite($){return this._addCheck({kind:"finite",message:t.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:t.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:t.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&M$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}M4.create=($)=>{return new M4({checks:[],typeName:X$.ZodNumber,coerce:$?.coerce||!1,...L$($)})};class I4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==c.bigint)return this._getInvalidInput($);let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),h(U,{code:f.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return h(_,{code:f.invalid_type,expected:c.bigint,received:_.parsedType}),U$}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new I4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new I4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}I4.create=($)=>{return new I4({checks:[],typeName:X$.ZodBigInt,coerce:$?.coerce??!1,...L$($)})};class T1 extends V${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==c.boolean){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.boolean,received:U.parsedType}),U$}return F_($.data)}}T1.create=($)=>{return new T1({typeName:X$.ZodBoolean,coerce:$?.coerce||!1,...L$($)})};class Y0 extends V${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==c.date){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.date,received:J.parsedType}),U$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_date}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new Y0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:t.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:t.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}Y0.create=($)=>{return new Y0({checks:[],coerce:$?.coerce||!1,typeName:X$.ZodDate,...L$($)})};class CU extends V${_parse($){if(this._getType($)!==c.symbol){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.symbol,received:U.parsedType}),U$}return F_($.data)}}CU.create=($)=>{return new CU({typeName:X$.ZodSymbol,...L$($)})};class S1 extends V${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.undefined,received:U.parsedType}),U$}return F_($.data)}}S1.create=($)=>{return new S1({typeName:X$.ZodUndefined,...L$($)})};class Z1 extends V${_parse($){if(this._getType($)!==c.null){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.null,received:U.parsedType}),U$}return F_($.data)}}Z1.create=($)=>{return new Z1({typeName:X$.ZodNull,...L$($)})};class j0 extends V${constructor(){super(...arguments);this._any=!0}_parse($){return F_($.data)}}j0.create=($)=>{return new j0({typeName:X$.ZodAny,...L$($)})};class b4 extends V${constructor(){super(...arguments);this._unknown=!0}_parse($){return F_($.data)}}b4.create=($)=>{return new b4({typeName:X$.ZodUnknown,...L$($)})};class w6 extends V${_parse($){let _=this._getOrReturnCtx($);return h(_,{code:f.invalid_type,expected:c.never,received:_.parsedType}),U$}}w6.create=($)=>{return new w6({typeName:X$.ZodNever,...L$($)})};class TU extends V${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.void,received:U.parsedType}),U$}return F_($.data)}}TU.create=($)=>{return new TU({typeName:X$.ZodVoid,...L$($)})};class U6 extends V${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==c.array)return h(_,{code:f.invalid_type,expected:c.array,received:_.parsedType}),U$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)h(_,{code:X?f.too_big:f.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)h(_,{code:f.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)h(_,{code:f.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new W6(_,X,_.path,G))})).then((X)=>{return O_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new W6(_,X,_.path,G))});return O_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new U6({...this._def,minLength:{value:$,message:t.toString(_)}})}max($,_){return new U6({...this._def,maxLength:{value:$,message:t.toString(_)}})}length($,_){return new U6({...this._def,exactLength:{value:$,message:t.toString(_)}})}nonempty($){return this.min(1,$)}}U6.create=($,_)=>{return new U6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:X$.ZodArray,...L$(_)})};function k1($){if($ instanceof s$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=J6.create(k1(W))}return new s$({...$._def,shape:()=>_})}else if($ instanceof U6)return new U6({...$._def,type:k1($.element)});else if($ instanceof J6)return J6.create(k1($.unwrap()));else if($ instanceof p6)return p6.create(k1($.unwrap()));else if($ instanceof k6)return k6.create($.items.map((_)=>k1(_)));else return $}class s$ extends V${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=M$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==c.object){let Y=this._getOrReturnCtx($);return h(Y,{code:f.invalid_type,expected:c.object,received:Y.parsedType}),U$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof w6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new W6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof w6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)h(W,{code:f.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new W6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return O_.mergeObjectSync(U,Y)});else return O_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return t.errToObj,new s$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:t.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new s$({...this._def,unknownKeys:"strip"})}passthrough(){return new s$({...this._def,unknownKeys:"passthrough"})}extend($){return new s$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new s$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:X$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new s$({...this._def,catchall:$})}pick($){let _={};for(let U of M$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}omit($){let _={};for(let U of M$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}deepPartial(){return k1(this)}partial($){let _={};for(let U of M$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new s$({...this._def,shape:()=>_})}required($){let _={};for(let U of M$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof J6)J=J._def.innerType;_[U]=J}return new s$({...this._def,shape:()=>_})}keyof(){return jL(M$.objectKeys(this.shape))}}s$.create=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.strictCreate=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strict",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.lazycreate=($,_)=>{return new s$({shape:$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};class v1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new S_(G.ctx.common.issues));return h(_,{code:f.invalid_union,unionErrors:X}),U$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new S_(Q));return h(_,{code:f.invalid_union,unionErrors:G}),U$}}get options(){return this._def.options}}v1.create=($,_)=>{return new v1({options:$,typeName:X$.ZodUnion,...L$(_)})};var i6=($)=>{if($ instanceof h1)return i6($.schema);else if($ instanceof l_)return i6($.innerType());else if($ instanceof x1)return[$.value];else if($ instanceof g4)return $.options;else if($ instanceof m1)return M$.objectValues($.enum);else if($ instanceof u1)return i6($._def.innerType);else if($ instanceof S1)return[void 0];else if($ instanceof Z1)return[null];else if($ instanceof J6)return[void 0,...i6($.unwrap())];else if($ instanceof p6)return[null,...i6($.unwrap())];else if($ instanceof tW)return i6($.unwrap());else if($ instanceof c1)return i6($.unwrap());else if($ instanceof d1)return i6($._def.innerType);else return[]};class oW extends V${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.object)return h(_,{code:f.invalid_type,expected:c.object,received:_.parsedType}),U$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return h(_,{code:f.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),U$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=i6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new oW({typeName:X$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...L$(U)})}}function X5($,_){let U=r6($),W=r6(_);if($===_)return{valid:!0,data:$};else if(U===c.object&&W===c.object){let J=M$.objectKeys(_),X=M$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=X5($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===c.array&&W===c.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=X5(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===c.date&&W===c.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class y1 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(J5(J)||J5(X))return U$;let G=X5(J.value,X.value);if(!G.valid)return h(U,{code:f.invalid_intersection_types}),U$;if(W5(J)||W5(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}y1.create=($,_,U)=>{return new y1({left:$,right:_,typeName:X$.ZodIntersection,...L$(U)})};class k6 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.array)return h(U,{code:f.invalid_type,expected:c.array,received:U.parsedType}),U$;if(U.data.length<this._def.items.length)return h(U,{code:f.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),U$;if(!this._def.rest&&U.data.length>this._def.items.length)h(U,{code:f.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new W6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return O_.mergeArray(_,X)});else return O_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new k6({...this._def,rest:$})}}k6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new k6({items:$,typeName:X$.ZodTuple,rest:null,...L$(_)})};class SU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.object)return h(U,{code:f.invalid_type,expected:c.object,received:U.parsedType}),U$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new W6(U,G,U.path,G)),value:X._parse(new W6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return O_.mergeObjectAsync(_,W);else return O_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof V$)return new SU({keyType:$,valueType:_,typeName:X$.ZodRecord,...L$(U)});return new SU({keyType:_6.create(),valueType:$,typeName:X$.ZodRecord,...L$(_)})}}class ZU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.map)return h(U,{code:f.invalid_type,expected:c.map,received:U.parsedType}),U$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new W6(U,G,U.path,[Y,"key"])),value:J._parse(new W6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}ZU.create=($,_,U)=>{return new ZU({valueType:_,keyType:$,typeName:X$.ZodMap,...L$(U)})};class D0 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.set)return h(U,{code:f.invalid_type,expected:c.set,received:U.parsedType}),U$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)h(U,{code:f.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)h(U,{code:f.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return U$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new W6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new D0({...this._def,minSize:{value:$,message:t.toString(_)}})}max($,_){return new D0({...this._def,maxSize:{value:$,message:t.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}D0.create=($,_)=>{return new D0({valueType:$,minSize:null,maxSize:null,typeName:X$.ZodSet,...L$(_)})};class f1 extends V${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.function)return h(_,{code:f.invalid_type,expected:c.function,received:_.parsedType}),U$;function U(G,Q){return rW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,iW(),C1].filter((Y)=>!!Y),issueData:{code:f.invalid_arguments,argumentsError:Q}})}function W(G,Q){return rW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,iW(),C1].filter((Y)=>!!Y),issueData:{code:f.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof z0){let G=this;return F_(async function(...Q){let Y=new S_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return F_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new S_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new S_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new f1({...this._def,args:k6.create($).rest(b4.create())})}returns($){return new f1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new f1({args:$?$:k6.create([]).rest(b4.create()),returns:_||b4.create(),typeName:X$.ZodFunction,...L$(U)})}}class h1 extends V${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}h1.create=($,_)=>{return new h1({getter:$,typeName:X$.ZodLazy,...L$(_)})};class x1 extends V${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return h(_,{received:_.data,code:f.invalid_literal,expected:this._def.value}),U$}return{status:"valid",value:$.data}}get value(){return this._def.value}}x1.create=($,_)=>{return new x1({value:$,typeName:X$.ZodLiteral,...L$(_)})};function jL($,_){return new g4({values:$,typeName:X$.ZodEnum,...L$(_)})}class g4 extends V${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{expected:M$.joinValues(U),received:_.parsedType,code:f.invalid_type}),U$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{received:_.data,code:f.invalid_enum_value,options:U}),U$}return F_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return g4.create($,{...this._def,..._})}exclude($,_=this._def){return g4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}g4.create=jL;class m1 extends V${_parse($){let _=M$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==c.string&&U.parsedType!==c.number){let W=M$.objectValues(_);return h(U,{expected:M$.joinValues(W),received:U.parsedType,code:f.invalid_type}),U$}if(!this._cache)this._cache=new Set(M$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=M$.objectValues(_);return h(U,{received:U.data,code:f.invalid_enum_value,options:W}),U$}return F_($.data)}get enum(){return this._def.values}}m1.create=($,_)=>{return new m1({values:$,typeName:X$.ZodNativeEnum,...L$(_)})};class z0 extends V${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.promise&&_.common.async===!1)return h(_,{code:f.invalid_type,expected:c.promise,received:_.parsedType}),U$;let U=_.parsedType===c.promise?_.data:Promise.resolve(_.data);return F_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}z0.create=($,_)=>{return new z0({type:$,typeName:X$.ZodPromise,...L$(_)})};class l_ extends V${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===X$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(h(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return U$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return U$;if(Q.status==="dirty")return P1(Q.value);if(_.value==="dirty")return P1(Q.value);return Q});else{if(_.value==="aborted")return U$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")return P1(G.value);if(_.value==="dirty")return P1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!Q0(X))return U$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!Q0(X))return U$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});M$.assertNever(W)}}l_.create=($,_,U)=>{return new l_({schema:$,typeName:X$.ZodEffects,effect:_,...L$(U)})};l_.createWithPreprocess=($,_,U)=>{return new l_({schema:_,effect:{type:"preprocess",transform:$},typeName:X$.ZodEffects,...L$(U)})};class J6 extends V${_parse($){if(this._getType($)===c.undefined)return F_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}J6.create=($,_)=>{return new J6({innerType:$,typeName:X$.ZodOptional,...L$(_)})};class p6 extends V${_parse($){if(this._getType($)===c.null)return F_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}p6.create=($,_)=>{return new p6({innerType:$,typeName:X$.ZodNullable,...L$(_)})};class u1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===c.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}u1.create=($,_)=>{return new u1({innerType:$,typeName:X$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...L$(_)})};class d1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(fU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}d1.create=($,_)=>{return new d1({innerType:$,typeName:X$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...L$(_)})};class vU extends V${_parse($){if(this._getType($)!==c.nan){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.nan,received:U.parsedType}),U$}return{status:"valid",value:$.data}}}vU.create=($)=>{return new vU({typeName:X$.ZodNaN,...L$($)})};var CF=Symbol("zod_brand");class tW extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class yU extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return U$;if(J.status==="dirty")return _.dirty(),P1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return U$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new yU({in:$,out:_,typeName:X$.ZodPipeline})}}class c1 extends V${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(Q0(W))W.value=Object.freeze(W.value);return W};return fU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}c1.create=($,_)=>{return new c1({innerType:$,typeName:X$.ZodReadonly,...L$(_)})};function $L($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function DL($,_={},U){if($)return j0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=$L(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=$L(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return j0.create()}var TF={object:s$.lazycreate},X$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(X$||(X$={}));var SF=($,_={message:`Input not instance of ${$.name}`})=>DL((U)=>U instanceof $,_),zL=_6.create,qL=M4.create,ZF=vU.create,vF=I4.create,OL=T1.create,yF=Y0.create,hF=CU.create,xF=S1.create,mF=Z1.create,uF=j0.create,dF=b4.create,cF=w6.create,nF=TU.create,lF=U6.create,iF=s$.create,rF=s$.strictCreate,pF=v1.create,oF=oW.create,tF=y1.create,aF=k6.create,sF=SU.create,eF=ZU.create,$K=D0.create,_K=f1.create,UK=h1.create,JK=x1.create,WK=g4.create,XK=m1.create,GK=z0.create,_L=l_.create,QK=J6.create,YK=p6.create,jK=l_.createWithPreprocess,DK=yU.create,zK=()=>zL().optional(),qK=()=>qL().optional(),OK=()=>OL().optional(),LK={string:($)=>_6.create({...$,coerce:!0}),number:($)=>M4.create({...$,coerce:!0}),boolean:($)=>T1.create({...$,coerce:!0}),bigint:($)=>I4.create({...$,coerce:!0}),date:($)=>Y0.create({...$,coerce:!0})},NK=U$;var o={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},LL=D.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),Z_=D.string().datetime(),Y$=D.string().trim().min(1),o6=Y$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),NL=D.string().regex(/^[a-fA-F0-9]{64}$/),BL=D.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),t6=D.record(D.unknown()),i1=D.array(D.string().min(1)).default([]),q0=Z_.nullable().optional(),BK=new Set(["succeeded","failed","cancelled","blocked","skipped"]),L0=D.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function Z$($){return D.object({schema:D.literal($),id:D.string().min(1),createdAt:Z_,updatedAt:q0,metadata:t6.optional()}).strict()}var pc=D.object({schema:LL,id:D.string().min(1),createdAt:Z_,updatedAt:q0,metadata:t6.optional()}).strict(),HL=D.enum(["agent","human","service","model","workflow","system"]),HK=Z$(o.actorRef).extend({kind:HL,name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional(),capabilities:D.array(D.string().min(1)).default([])}).strict(),P6=D.object({kind:HL,id:D.string().min(1),name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional()}).strict(),VL=D.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),VK=Z$(o.resourceRef).extend({kind:VL,name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:i1}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),H$=D.object({kind:VL,id:D.string().min(1),name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:i1}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),Q5=D.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),RK=D.enum(["none","partial","full","unknown"]),AK=Z$(o.evidenceRef).extend({kind:Q5,uri:o6,sha256:NL.optional(),summary:D.string().min(1).optional(),contentType:D.string().min(1).optional(),sizeBytes:D.number().int().nonnegative().optional(),redaction:RK.default("unknown"),producer:P6.optional(),resourceRefs:D.array(H$).default([]),tags:i1}).strict(),n$=D.object({id:D.string().min(1),kind:Q5.optional(),uri:o6.optional(),sha256:NL.optional(),summary:D.string().min(1).optional()}).strict(),hU=Z$(o.costEstimate).extend({currency:D.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:D.number().int().nonnegative(),provider:D.string().min(1).optional(),model:D.string().min(1).optional(),accountId:D.string().min(1).optional(),promptTokens:D.number().int().nonnegative().optional(),completionTokens:D.number().int().nonnegative().optional(),totalTokens:D.number().int().nonnegative().optional(),basis:D.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:D.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),EK=D.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),RL=Z$(o.decisionEnvelope).extend({decisionType:D.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:EK,actor:P6.optional(),traceId:D.string().min(1).optional(),inputHash:BL.optional(),policyBundleId:D.string().min(1).optional(),selected:D.array(H$).default([]),skipped:D.array(H$).default([]),reason:D.string().min(1),obligations:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),costEstimate:hU.optional(),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),FK=Z$(o.capabilityCard).extend({kind:D.enum(["model","tool","machine","agent","lane","connector","service"]),name:D.string().min(1),version:D.string().min(1).optional(),status:D.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:D.array(D.string().min(1)).default([]),limitations:D.array(D.string().min(1)).default([]),riskLevel:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:hU.optional(),evidenceRefs:D.array(n$).default([])}).strict(),n1=D.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),KK=D.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),bK=D.object({refName:Y$,requiredForModes:D.array(n1).min(1),allowedSecretInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:Y$,revocationCheck:D.boolean().default(!0)}).strict(),MK=D.object({operation:Y$,supportedModes:D.array(n1).min(1),sideEffectClass:KK,requiresApproval:D.boolean().default(!1),requiresIdempotencyKey:D.boolean().default(!1),requiresSandboxEvidence:D.boolean().default(!1),requiresRollbackOrRevocation:D.boolean().default(!1),rollbackOrRevocation:Y$.optional(),noSideEffectSmoke:Y$.optional(),reconciliation:Y$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),IK=D.object({providerId:Y$,appId:Y$,adapterId:Y$,ownerPackage:Y$,modes:D.array(n1).min(1),defaultMode:n1,credentialRequirements:D.array(bK).default([]),operations:D.array(MK).min(1),rateLimitPosture:Y$,costPosture:Y$.optional(),auditEvents:D.array(Y$).default([]),redactionRules:D.array(Y$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:D.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),gK=D.object({appId:Y$,repo:Y$,priority:D.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:D.array(Y$).min(1),firstOperations:D.array(Y$).min(1),blockedUntil:D.array(Y$).default([])}).strict(),wK=Z$(o.providerLiveModeStandard).extend({name:Y$,version:Y$,modes:D.array(n1).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:D.array(Y$).min(1),liveMutationGate:D.object({requiredMode:D.literal("live_mutating"),requiredChecks:D.array(Y$).min(1),forbiddenBypassSignals:D.array(Y$).min(1),disabledLiveSmoke:Y$}).strict(),noSideEffectSmoke:D.object({requiredForModes:D.array(n1).min(1),commandEvidence:D.array(Y$).min(1),secretOutputScan:D.boolean().default(!0)}).strict(),credentialPolicy:D.object({acceptedInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:D.literal(!1),missingCredentialBehavior:D.literal("fail_closed"),revocationCheckRequired:D.boolean().default(!0)}).strict(),operationCards:D.array(IK).min(1),firstAdoptionTargets:D.array(gK).min(1),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),kK=D.object({id:D.string().min(1),title:D.string().min(1).optional(),summary:D.string().min(1),text:D.string().optional(),tokens:D.number().int().nonnegative().optional(),source:n$,resourceRefs:D.array(H$).default([])}).strict(),AL=Z$(o.contextPack).extend({objective:D.string().min(1),budget:D.object({maxTokens:D.number().int().positive().optional(),maxBytes:D.number().int().positive().optional()}).strict().optional(),items:D.array(kK).default([]),citations:D.array(n$).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),permissions:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),conflicts:D.array(D.string().min(1)).default([]),uncertainty:D.string().min(1).optional()}).strict(),$6=Y$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),O0=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),PK=D.enum(["public","internal","private","sensitive"]),fK=D.enum(["draft","active","paused","archived"]),Y5=D.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),EL=Z$(o.integrationRef).extend({kind:Y5,name:D.string().min(1),projectId:O0.optional(),sourcePackage:Y$.optional(),externalId:Y$.optional(),uri:o6.optional(),enabled:D.boolean().default(!0),readOnly:D.boolean().default(!0),capabilities:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:H$.optional(),evidenceRefs:D.array(n$).default([]),config:t6.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),CK=D.object({schemaRoot:$6.default(".hasna/project"),dashboardManifest:$6.default(".hasna/project/dashboard.render.json"),snapshotsDir:$6.default(".hasna/project/snapshots"),documentsDir:$6.default("documents"),reportsDir:$6.default("reports"),evidenceDir:$6.default(".hasna/project/evidence"),privateDir:$6.default(".hasna/project/private")}).strict(),TK=Z$(o.projectManifest).extend({projectId:O0,slug:O0,name:D.string().min(1),summary:D.string().min(1).optional(),status:fK.default("active"),classification:PK.default("private"),owner:P6.optional(),layout:CK.default({}),integrations:D.array(EL).default([]),renderManifests:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),tags:i1}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:D.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),SK=D.enum(["local","package","provider","url"]),j5=D.object({id:D.string().min(1),kind:SK,specifier:D.string().min(1),path:$6.optional(),packageName:D.string().min(1).optional(),uri:o6.optional(),provider:Y5.optional(),schemaId:LL.optional(),integrity:BL.optional(),resourceRef:H$.optional(),optional:D.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:D.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:D.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:D.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ZK=D.enum(["dashboard","canvas","panel","report","document","custom"]),vK=D.object({id:D.string().min(1),title:D.string().min(1),kind:ZK,default:D.boolean().default(!1),entry:$6.optional(),imports:D.array(j5).default([]),panelRefs:D.array(H$).default([]),dataRefs:D.array(H$).default([]),layout:t6.optional()}).strict(),yK=Z$(o.renderManifest).extend({projectId:O0,name:D.string().min(1),version:D.string().min(1),manifestPath:$6.default(".hasna/project/dashboard.render.json"),renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:D.array(vK).min(1),imports:D.array(j5).default([]),theme:t6.optional(),compatibility:D.object({minProjectsVersion:D.string().min(1).optional(),minContractsVersion:D.string().min(1).optional()}).strict().optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:D.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),hK=D.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),xK=D.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),mK=D.object({id:D.string().min(1),label:D.string().min(1),value:D.union([D.string(),D.number(),D.boolean()]),unit:D.string().min(1).optional(),status:D.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:D.array(H$).default([])}).strict(),uK=D.object({id:D.string().min(1),title:D.string().min(1),summary:D.string().min(1).optional(),status:D.string().min(1).optional(),priority:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:Z_.optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),metadata:t6.optional()}).strict(),dK=D.object({renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:D.string().min(1).optional(),entry:$6.optional(),imports:D.array(j5).default([]),spec:t6.default({})}).strict(),FL=Z$(o.projectPanel).extend({projectId:O0,provider:D.object({kind:Y5,id:D.string().min(1),name:D.string().min(1).optional(),sourcePackage:Y$.optional(),externalId:Y$.optional()}).strict(),kind:xK,title:D.string().min(1),summary:D.string().min(1).optional(),state:hK.default("ready"),stateReason:D.string().min(1).optional(),generatedAt:Z_,freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),metrics:D.array(mK).default([]),items:D.array(uK).default([]),actions:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),renderFragment:dK.optional(),warnings:D.array(D.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:D.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),cK=Z$(o.projectSnapshot).extend({projectId:O0,generatedAt:Z_,status:L0.default("unknown"),manifestRef:H$,renderManifestRef:H$.optional(),panels:D.array(FL).default([]),contextPacks:D.array(AL).default([]),proofBundleRefs:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),warnings:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),KL=D.object({id:D.string().min(1),kind:D.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),expected:D.string().min(1).optional(),timeoutMs:D.number().int().positive().optional(),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:D.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),nK=Z$(o.validationPlan).extend({objective:D.string().min(1),subject:H$.optional(),checks:D.array(KL).min(1),verifier:P6.optional(),requiredEvidenceKinds:D.array(Q5).default([])}).strict(),lK=D.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),iK=D.enum(["draft","active","deprecated","archived"]),rK=D.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),pK=D.object({key:D.string().regex(/^[A-Z][A-Z0-9_]*$/),description:D.string().min(1),required:D.boolean().default(!1),["secret"]:D.boolean().default(!1),group:D.string().min(1).optional(),default:D.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),oK=D.object({name:D.string().min(1),command:D.string().min(1),description:D.string().min(1).optional(),required:D.boolean().default(!1)}).strict(),tK=D.object({packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:D.array(D.string().min(1)).default([]),requiredFiles:D.array(D.string().min(1)).default([]),requiredDirectories:D.array(D.string().min(1)).default([]),optionalDirectories:D.array(D.string().min(1)).default([])}).strict(),aK=Z$(o.scaffoldManifest).extend({name:D.string().min(1),version:D.string().min(1),summary:D.string().min(1),type:lK,status:iK.default("draft"),capabilities:D.array(rK).default([]),techStack:D.array(D.string().min(1)).default([]),tags:i1,source:H$.optional(),output:tK,env:D.array(pK).default([]),scripts:D.array(oK).default([]),validationChecks:D.array(KL).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:D.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),sK=D.enum(["installed","failed","cancelled","partial","unknown"]),eK=Z$(o.scaffoldInstallRecord).extend({scaffoldId:D.string().min(1),scaffoldVersion:D.string().min(1).optional(),manifestRef:H$.optional(),target:H$,status:sK,installedAt:Z_.optional(),installer:P6.optional(),packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:t6.optional(),generatedFiles:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),l1=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),D5=D.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),bL=D.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),$b=D.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),_b=Y$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Ub=D.enum(["active","stub","deprecated","archived"]),Jb=D.enum(["stable","beta","canary","internal"]),Wb=D.object({transport:D.enum(["http","stdio"]).default("http"),bin:D.string().min(1).optional(),url:o6.optional()}).strict(),Xb=D.object({healthPath:D.string().min(1).default("/health"),port:D.number().int().positive().optional(),baseUrl:o6.optional()}).strict(),Gb=D.object({bins:D.array(D.string().min(1)).default([]),mcp:Wb.optional(),http:Xb.optional()}).strict(),Qb=Z$(o.app).extend({appId:l1,npmName:D5,repoFolder:l1,githubUrl:_b,projectSlug:O0,surfaces:Gb.default({}),lifecycle:Ub,releaseChannel:Jb.default("stable"),summary:D.string().min(1).optional(),tags:i1}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),Yb=D.enum(["skill","ci","backfilled"]),jb=Z$(o.release).extend({appId:l1,package:D5,version:bL,gitSha:$b,publishedAt:Z_,publishPath:Yb,changelogRef:H$.optional(),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Db=D.enum(["install","update","rollback","freeze-blocked"]),zb=D.object({cliVersion:D.string().min(1).optional(),mcpHealth:D.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),qb=Z$(o.rolloutRecord).extend({appId:l1,package:D5,version:bL,machine:Y$,action:Db,result:L0,verifiedBy:zb.optional(),at:Z_,evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:D.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Ob=D.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),Lb=D.enum(["pending","queued","sent","failed","skipped","suppressed"]),Nb=D.object({channel:Ob,status:Lb,deliveredAt:Z_.optional(),detail:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Bb=Z$(o.announcement).extend({campaignId:Y$,appId:l1.optional(),releaseRef:H$.optional(),channels:D.array(Nb).min(1),audienceRef:H$,sentAt:Z_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Hb=D.enum(["tag","attribute","group"]),Vb=D.enum(["eq","neq","in","not_in","exists","not_exists"]),UL=D.union([D.string(),D.number(),D.boolean()]),Rb=D.object({kind:Hb,key:D.string().min(1).optional(),op:Vb.default("eq"),value:UL.optional(),values:D.array(UL).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:D.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),Ab=D.object({match:D.enum(["all","any"]).default("all"),predicates:D.array(Rb).min(1)}).strict(),Eb=D.enum(["opt_in","opt_out","transactional","none"]),Fb=Z$(o.audience).extend({audienceId:l1,name:Y$,definition:Ab,consentPolicy:Eb,suppressionSyncedAt:q0}).strict(),eG=["@hasna/cloud","open-cloud"],Kb=D.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),bb=D.object({id:D.string().min(1),provider:Kb,kind:D.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:D.string().min(1),region:D.string().min(1).optional(),accountId:D.string().min(1).optional(),uri:o6.optional(),machineScoped:D.boolean().default(!1)}).strict(),ML=Z$(o.appCloudManifest).extend({packageName:D.string().min(1),packageVersion:D.string().min(1).optional(),appId:D.string().min(1),repository:H$.optional(),storageMode:D.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:D.enum(["none","app_owned","external_service","local_cache"]),cloudResources:D.array(bb).default([]),localCache:D.object({path:D.string().min(1).optional(),pullMode:D.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:D.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:D.array(D.string().min(1)).default([...eG]),dependencies:D.array(D.string().min(1)).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...eG,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:D.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of eG)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:D.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:D.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),IL=D.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),Mb=D.enum(["low","medium","high","critical"]),gL=D.object({id:D.string().min(1),kind:IL,severity:Mb,path:D.string().min(1).optional(),packageName:D.string().min(1).optional(),pattern:D.string().min(1),message:D.string().min(1),evidenceRefs:D.array(n$).default([])}).strict(),Ib=D.object({id:D.string().min(1),kind:IL,status:L0,target:D.string().min(1),command:D.string().min(1).optional(),evidenceRefs:D.array(n$).default([]),findings:D.array(gL).default([])}).strict(),gb=Z$(o.noCloudEvidencePack).extend({subject:H$,packageName:D.string().min(1).optional(),packageVersion:D.string().min(1).optional(),generatedBy:P6.optional(),scanMode:D.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:L0,verdict:D.enum(["passed","failed","warning","not_run"]),appCloudManifest:ML.optional(),checks:D.array(Ib).min(1),findings:D.array(gL).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),wb=D.object({checkId:D.string().min(1),status:L0,summary:D.string().min(1).optional(),startedAt:q0,finishedAt:q0,evidenceRefs:D.array(n$).default([])}).strict(),kb=Z$(o.proofBundle).extend({subject:H$,validationPlanRef:H$.optional(),status:L0,verdict:D.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:D.array(wb).default([]),verifier:P6.optional(),evidenceRefs:D.array(n$).default([]),residualRisks:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),Pb=Z$(o.workRun).extend({objective:D.string().min(1),status:L0,actor:P6,traceId:D.string().min(1).optional(),startedAt:q0,finishedAt:q0,constraints:D.array(D.string().min(1)).default([]),resourceRefs:D.array(H$).default([]),decisions:D.array(RL).default([]),costEstimates:D.array(hU).default([]),evidenceRefs:D.array(n$).default([]),validationPlanRefs:D.array(H$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:D.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(BK.has($.status)&&!$.finishedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),fb=D.object({id:D.string().min(1),at:Z_,kind:D.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:D.string().min(1),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),costEstimate:hU.optional()}).strict(),Cb=Z$(o.agentTrajectory).extend({actor:P6,workRunRef:H$.optional(),events:D.array(fb).default([]),outcome:D.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:H$.optional()}).strict(),Tb="v1",Sb=D.enum(["library","cli-with-store","service","saas"]),Zb=["local","self-hosted","cloud"],wL=D.enum(Zb),vb=D.enum(["supported","deferred","unsupported"]),yb=D.enum(["none","local-only","api-key","session","service-token","custom"]),$5=D.object({method:D.enum(["GET","POST","PUT","PATCH","DELETE"]),path:D.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:D.boolean().default(!1),description:D.string().min(1).optional()}).strict(),hb=D.object({id:D.string().min(1),kind:D.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),evidenceRef:n$.optional(),status:D.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),xb=D.object({name:D.string().min(1),status:vb,bin:D.string().min(1).optional(),mcpBin:D.string().min(1).optional(),authMode:yb,deploymentModes:D.array(wL).min(1),health:$5.optional(),readiness:$5.optional(),version:$5.optional(),apiBasePath:D.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:D.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:D.string().min(1).optional(),readinessGates:D.array(hb).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:D.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:D.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:D.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),mb=["local","cloud"],kL=D.enum(mb),ub=["remote","hybrid","self_hosted"],db=D.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),cb=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function nb($){return cb.map((_)=>`${$}${_}`)}function JL($){return`hasna/oss/${$}/database-url`}var lb=D.object({mode:kL,envPrefix:D.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:D.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:D.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:D.string().min(1).optional()}).strict(),ib=D.object({$schema:D.string().min(1).optional(),schema:D.literal(o.serviceContract),name:db,class:Sb,contractVersion:D.literal(Tb),kitVersion:D.string().min(1),description:D.string().min(1).optional(),bins:D.array(D.string().min(1)).default([]),storage:lb.optional(),deploymentModes:D.array(wL).default(["local"]),serviceSurfaces:D.array(xb).default([]),metadata:t6.optional()}).strict().superRefine(($,_)=>{let U=new Set(nb($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:D.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==JL($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${JL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:D.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:D.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),oc=D.object({status:D.enum(["ok","degraded","unavailable"]),version:D.string().min(1),mode:kL}).strict(),tc=D.object({ready:D.boolean(),reason:D.string().min(1).optional()}).strict(),ac=D.object({version:D.string().min(1)}).strict(),rb=D.enum(["info","notice","breaking","critical"]),pb=D.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),ob=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],tb=D.enum(ob);var ab=D.enum(["fleet","package","machine"]),PL=Z$(o.commsEventEnvelope).extend({type:pb,severity:rb,scope:ab,summary:D.string().min(1).optional(),source:P6.optional(),affected_packages:D.array(Y$).default([]),affected_machines:D.array(Y$).default([]),action_required:D.boolean().default(!1),ack_by:Z_.optional(),dedupe_key:Y$,resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),sb=D.enum(["fleet","package","product","loop-lane","initiative","personal"]),eb=D.enum(["quiet","work","firehose"]),$M=Y$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),_M=Z$(o.commsChannelMetadata).extend({class:sb,noise:eb.optional(),owner:Y$.optional(),until:$M.optional(),successor:Y$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),WL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},UM=Z$(o.commsMessageMetadata).extend({tag:tb,envelope:PL}).strict().superRefine(($,_)=>{let U=WL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(WL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var sc={[o.actorRef]:HK,[o.resourceRef]:VK,[o.evidenceRef]:AK,[o.workRun]:Pb,[o.decisionEnvelope]:RL,[o.costEstimate]:hU,[o.capabilityCard]:FK,[o.providerLiveModeStandard]:wK,[o.contextPack]:AL,[o.integrationRef]:EL,[o.projectManifest]:TK,[o.projectPanel]:FL,[o.projectSnapshot]:cK,[o.renderManifest]:yK,[o.agentTrajectory]:Cb,[o.validationPlan]:nK,[o.proofBundle]:kb,[o.scaffoldManifest]:aK,[o.scaffoldInstallRecord]:eK,[o.appCloudManifest]:ML,[o.noCloudEvidencePack]:gb,[o.serviceContract]:ib,[o.commsEventEnvelope]:PL,[o.commsChannelMetadata]:_M,[o.commsMessageMetadata]:UM,[o.app]:Qb,[o.release]:jb,[o.rolloutRecord]:qb,[o.announcement]:Bb,[o.audience]:Fb};function JM($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(ub.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}function WM($){return $.toUpperCase().replace(/-/g,"_")}function XM($){return`https://${$}.hasna.xyz`}function fL($){let _=WM($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}function lW($,_){for(let U of _){let W=$[U]?.trim();if(W)return{key:U,value:W}}return null}function GM($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U.endsWith("/v1"))U=U.slice(0,-3);return _.pathname=`${U}/v1`,_.search="",_.hash="",_.toString().replace(/\/+$/,"")}function QM($,_=process.env){let U=fL($),W=lW(_,U.modeKeys),J=lW(_,U.apiUrlKeys),X=lW(_,U.apiKeyKeys),G="local",Q=null,Y="default",j=[];if(W){let L=JM(W.value);if(G=L.mode,Q=L.deprecatedAlias,Y=W.key,Q)j.push(`Deprecated mode '${Q}' from ${W.key} is treated as 'cloud'. Prefer ${U.modeKeys[0]}=cloud.`)}else if(J&&X)G="cloud",Y=`${J.key}+${X.key}`;if(G==="local")return{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(X),apiKeySource:X?X.key:null,misconfigured:!1,warning:j.length>0?j.join(" "):null};if(!X)return j.push(`${Y}=cloud but no API key is set (${U.apiKeyKeys[0]}). Refusing to route to cloud; using local store. Set ${U.apiKeyKeys[0]} to enable the cloud client.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,misconfigured:!0,warning:j.join(" ")};let O=J?.value??XM($),B=J?J.key:"default",V;try{V=GM(O)}catch(L){let N=L instanceof Error?L.message:String(L);return j.push(`Invalid API URL from ${B}: ${N}. Using local store.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!0,warning:j.join(" ")}}return{transport:"cloud-http",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:V,apiUrlSource:B,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!1,warning:j.length>0?j.join(" "):null}}class pW extends Error{status;method;path;body;constructor($,_,U,W){super(`Hasna cloud request failed: ${$} ${_} -> ${U}`);this.name="HasnaHttpError",this.status=U,this.method=$,this.path=_,this.body=W}}var YM=[408,425,429,500,502,503,504],jM=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]);function DM($,_){if(!_)return $;let U=_ instanceof URLSearchParams?_:new URLSearchParams;if(!(_ instanceof URLSearchParams))for(let[J,X]of Object.entries(_)){if(X===null||X===void 0)continue;if(Array.isArray(X))for(let G of X)U.append(J,String(G));else U.append(J,String(X))}let W=U.toString();if(!W)return $;return`${$}${$.includes("?")?"&":"?"}${W}`}var zM=($)=>new Promise((_)=>setTimeout(_,$));function qM($){let _=$.fetchImpl??((j,O)=>fetch(j,O)),U=$.baseUrl.replace(/\/+$/,""),W=$.timeoutMs??30000,J=$.sleepImpl??zM,X=$.retry;function G(j){let O=j!==void 0?j:X;if(O===!1)return null;let B=O??{};return{retries:B.retries??2,baseDelayMs:B.baseDelayMs??200,maxDelayMs:B.maxDelayMs??2000,retryStatuses:B.retryStatuses??[...YM]}}async function Q(j,O,B,V,L){let N={"x-api-key":$.apiKey,Authorization:`Bearer ${$.apiKey}`,Accept:"application/json",...$.headers??{},...L.headers??{}};if(L.idempotencyKey)N["Idempotency-Key"]=L.idempotencyKey;let H={method:j,headers:N};if(V!==void 0)N["Content-Type"]="application/json",H.body=JSON.stringify(V);let R=new AbortController,E=()=>R.abort();if(L.signal)if(L.signal.aborted)R.abort();else L.signal.addEventListener("abort",E,{once:!0});let A=setTimeout(()=>R.abort(),L.timeoutMs??W);H.signal=R.signal;let M;try{M=await _(B,H)}catch(Z){let k=Z instanceof Error?Z:Error(String(Z));if(L.signal?.aborted)return{ok:!1,retryable:!1,error:k};return{ok:!1,retryable:!0,error:k}}finally{if(clearTimeout(A),L.signal)L.signal.removeEventListener("abort",E)}let K=await M.text(),I=void 0;if(K.length>0)try{I=JSON.parse(K)}catch{I=K}if(!M.ok){let Z=G(L.retry);return{ok:!1,retryable:Z?Z.retryStatuses.includes(M.status):!1,error:new pW(j,O,M.status,I)}}return{ok:!0,value:I}}async function Y(j,O,B,V={}){let L=j.toUpperCase(),N=DM(O.startsWith("/")?O:`/${O}`,V.query),H=`${U}${N}`,R=G(V.retry),E=jM.has(L)||Boolean(V.idempotencyKey),A=R&&E?R.retries+1:1,M=null;for(let K=1;K<=A;K++){let I=await Q(L,N,H,B,V);if(I.ok)return I.value;if(M=I,!(R!==null&&E&&I.retryable&&K<A))break;let k=Math.min(R.maxDelayMs,R.baseDelayMs*2**(K-1)),i=Math.floor(Math.random()*(k/2+1));await J(k+i)}throw M.error}return{baseUrl:U,request:Y,get:(j,O)=>Y("GET",j,void 0,O),post:(j,O,B)=>Y("POST",j,O,B),put:(j,O,B)=>Y("PUT",j,O,B),patch:(j,O,B)=>Y("PATCH",j,O,B),del:(j,O,B)=>Y("DELETE",j,O,B)}}function OM($,_=process.env,U){let W=QM($,_);if(W.misconfigured)throw Error(W.warning??`Client for '${$}' is misconfigured for cloud mode.`);if(W.transport==="local"||!W.baseUrl)return{transport:"local",client:null,resolution:W};let J=fL($),X=lW(_,J.apiKeyKeys)?.value;if(!X)throw Error(`Client for '${$}' resolved to cloud-http without an API key.`);return{transport:"cloud-http",client:qM({name:$,baseUrl:W.baseUrl,apiKey:X,...U?.fetchImpl?{fetchImpl:U.fetchImpl}:{},...U?.headers?{headers:U.headers}:{},...U?.timeoutMs?{timeoutMs:U.timeoutMs}:{},...U?.retry!==void 0?{retry:U.retry}:{},...U?.sleepImpl?{sleepImpl:U.sleepImpl}:{}}),resolution:W}}function G5($){let _=$.replace(/^\/+|\/+$/g,"");if(!_)throw Error("resource must be a non-empty path segment");return`/${_}`}function _5($,_){if(_===void 0||_===null||`${_}`.length===0)throw Error("id must be a non-empty string");return`${G5($)}/${encodeURIComponent(String(_))}`}function LM(){let $=globalThis;if($.crypto?.randomUUID)return $.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function NM($){if(Array.isArray($))return $;if($&&typeof $==="object"){let _=$;for(let U of["items","data","results","rows","records"])if(Array.isArray(_[U]))return _[U]}return[]}function BM($){if($&&typeof $==="object"){let _=$;for(let U of["total","count","totalCount","total_count"])if(typeof _[U]==="number")return _[U]}return null}function HM($){if($&&typeof $==="object"){let _=$;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof _[U]==="string")return _[U]}return null}function VM($,_){return{name:$,baseUrl:_.baseUrl,transport:_,async list(U,W={}){let J=await _.get(G5(U),W);return{items:NM(J),total:BM(J),cursor:HM(J),raw:J}},async get(U,W,J={}){try{return await _.get(_5(U,W),J)}catch(X){if(X instanceof pW&&X.status===404)return null;throw X}},async create(U,W,J={}){let{idempotencyKey:X,...G}=J;return _.post(G5(U),W,{...G,idempotencyKey:X??LM()})},async update(U,W,J,X={}){let{method:G="PATCH",idempotencyKey:Q,...Y}=X;return(G==="PUT"?_.put:_.patch)(_5(U,W),J,{...Y,...Q?{idempotencyKey:Q}:{}})},async delete(U,W,J={}){try{await _.del(_5(U,W),void 0,J)}catch(X){if(X instanceof pW&&X.status===404)return;throw X}}}}function z5($,_=process.env,U){let W=OM($,_,U);if(W.transport==="cloud-http")return{transport:"cloud-http",client:VM($,W.client)};return{transport:"local",client:null}}var RM=Object.defineProperty,AM=($)=>$;function EM($,_){this[$]=AM.bind(null,_)}var FM=($,_)=>{for(var U in _)RM($,U,{get:_[U],enumerable:!0,configurable:!0,set:EM.bind(_,U)})},z={};FM(z,{void:()=>GI,util:()=>I$,unknown:()=>WI,union:()=>DI,undefined:()=>_I,tuple:()=>OI,transformer:()=>SL,symbol:()=>$I,string:()=>nL,strictObject:()=>jI,setErrorMap:()=>MM,set:()=>BI,record:()=>LI,quotelessJson:()=>KM,promise:()=>FI,preprocess:()=>MI,pipeline:()=>II,ostring:()=>gI,optional:()=>KI,onumber:()=>wI,oboolean:()=>kI,objectUtil:()=>N5,object:()=>YI,number:()=>lL,nullable:()=>bI,null:()=>UI,never:()=>XI,nativeEnum:()=>EI,nan:()=>aM,map:()=>NI,makeIssue:()=>sW,literal:()=>RI,lazy:()=>VI,late:()=>oM,isValid:()=>N0,isDirty:()=>H5,isAsync:()=>xU,isAborted:()=>B5,intersection:()=>qI,instanceof:()=>tM,getParsedType:()=>s6,getErrorMap:()=>aW,function:()=>HI,enum:()=>AI,effect:()=>SL,discriminatedUnion:()=>zI,defaultErrorMap:()=>t1,datetimeRegex:()=>uL,date:()=>eM,custom:()=>cL,coerce:()=>PI,boolean:()=>iL,bigint:()=>sM,array:()=>QI,any:()=>JI,addIssueToContext:()=>x,ZodVoid:()=>uU,ZodUnknown:()=>w4,ZodUnion:()=>$2,ZodUndefined:()=>s1,ZodType:()=>A$,ZodTuple:()=>C6,ZodTransformer:()=>i_,ZodSymbol:()=>mU,ZodString:()=>G6,ZodSet:()=>V0,ZodSchema:()=>A$,ZodRecord:()=>dU,ZodReadonly:()=>Q2,ZodPromise:()=>R0,ZodPipeline:()=>lU,ZodParsedType:()=>n,ZodOptional:()=>Y6,ZodObject:()=>e$,ZodNumber:()=>k4,ZodNullable:()=>e6,ZodNull:()=>e1,ZodNever:()=>f6,ZodNativeEnum:()=>W2,ZodNaN:()=>nU,ZodMap:()=>cU,ZodLiteral:()=>J2,ZodLazy:()=>U2,ZodIssueCode:()=>C,ZodIntersection:()=>_2,ZodFunction:()=>o1,ZodFirstPartyTypeKind:()=>G$,ZodError:()=>v_,ZodEnum:()=>f4,ZodEffects:()=>i_,ZodDiscriminatedUnion:()=>eW,ZodDefault:()=>X2,ZodDate:()=>B0,ZodCatch:()=>G2,ZodBranded:()=>$X,ZodBoolean:()=>a1,ZodBigInt:()=>P4,ZodArray:()=>Q6,ZodAny:()=>H0,Schema:()=>A$,ParseStatus:()=>L_,OK:()=>K_,NEVER:()=>fI,INVALID:()=>J$,EMPTY_PATH:()=>IM,DIRTY:()=>p1,BRAND:()=>pM});var I$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(I$||(I$={}));var N5;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(N5||(N5={}));var n=I$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),s6=($)=>{switch(typeof $){case"undefined":return n.undefined;case"string":return n.string;case"number":return Number.isNaN($)?n.nan:n.number;case"boolean":return n.boolean;case"function":return n.function;case"bigint":return n.bigint;case"symbol":return n.symbol;case"object":if(Array.isArray($))return n.array;if($===null)return n.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return n.promise;if(typeof Map<"u"&&$ instanceof Map)return n.map;if(typeof Set<"u"&&$ instanceof Set)return n.set;if(typeof Date<"u"&&$ instanceof Date)return n.date;return n.object;default:return n.unknown}},C=I$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),KM=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class v_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof v_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,I$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}v_.create=($)=>{return new v_($)};var bM=($,_)=>{let U;switch($.code){case C.invalid_type:if($.received===n.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case C.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,I$.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:U=`Unrecognized key(s) in object: ${I$.joinValues($.keys,", ")}`;break;case C.invalid_union:U="Invalid input";break;case C.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${I$.joinValues($.options)}`;break;case C.invalid_enum_value:U=`Invalid enum value. Expected ${I$.joinValues($.options)}, received '${$.received}'`;break;case C.invalid_arguments:U="Invalid function arguments";break;case C.invalid_return_type:U="Invalid function return type";break;case C.invalid_date:U="Invalid date";break;case C.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else I$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case C.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case C.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case C.custom:U="Invalid input";break;case C.invalid_intersection_types:U="Intersection results could not be merged";break;case C.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case C.not_finite:U="Number must be finite";break;default:U=_.defaultError,I$.assertNever($)}return{message:U}},t1=bM,hL=t1;function MM($){hL=$}function aW(){return hL}var sW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},IM=[];function x($,_){let U=aW(),W=sW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===t1?void 0:t1].filter((J)=>!!J)});$.common.issues.push(W)}class L_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return J$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return L_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return J$;if(X.status==="aborted")return J$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var J$=Object.freeze({status:"aborted"}),p1=($)=>({status:"dirty",value:$}),K_=($)=>({status:"valid",value:$}),B5=($)=>$.status==="aborted",H5=($)=>$.status==="dirty",N0=($)=>$.status==="valid",xU=($)=>typeof Promise<"u"&&$ instanceof Promise,s;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(s||(s={}));class j6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var CL=($,_)=>{if(N0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new v_($.common.issues);return this._error=U,this._error}}}};function N$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class A${get description(){return this._def.description}_getType($){return s6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new L_,ctx:{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(xU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parseSync({data:$,path:U.path,parent:U});return CL(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return N0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>N0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(xU(W)?W:Promise.resolve(W));return CL(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:C.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new i_({schema:this,typeName:G$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return Y6.create(this,this._def)}nullable(){return e6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Q6.create(this)}promise(){return R0.create(this,this._def)}or($){return $2.create([this,$],this._def)}and($){return _2.create(this,$,this._def)}transform($){return new i_({...N$(this._def),schema:this,typeName:G$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new X2({...N$(this._def),innerType:this,defaultValue:_,typeName:G$.ZodDefault})}brand(){return new $X({typeName:G$.ZodBranded,type:this,...N$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new G2({...N$(this._def),innerType:this,catchValue:_,typeName:G$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return lU.create(this,$)}readonly(){return Q2.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var gM=/^c[^\s-]{8,}$/i,wM=/^[0-9a-z]+$/,kM=/^[0-9A-HJKMNP-TV-Z]{26}$/i,PM=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,fM=/^[a-z0-9_-]{21}$/i,CM=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,TM=/^[-+]?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)?)??$/,SM=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ZM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",q5,vM=/^(?:(?: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])$/,yM=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,hM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,xM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mM=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,uM=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,xL="((\\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])))",dM=new RegExp(`^${xL}$`);function mL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function cM($){return new RegExp(`^${mL($)}$`)}function uL($){let _=`${xL}T${mL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function nM($,_){if((_==="v4"||!_)&&vM.test($))return!0;if((_==="v6"||!_)&&hM.test($))return!0;return!1}function lM($,_){if(!CM.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function iM($,_){if((_==="v4"||!_)&&yM.test($))return!0;if((_==="v6"||!_)&&xM.test($))return!0;return!1}class G6 extends A${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==n.string){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.string,received:J.parsedType}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)x(W,{code:C.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!SM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"email",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!q5)q5=new RegExp(ZM,"u");if(!q5.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"emoji",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!PM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"uuid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!fM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"nanoid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!gM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"cuid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!wM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"cuid2",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!kM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"ulid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),x(W,{validation:"url",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"regex",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!uL(J).test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!dM.test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!cM(J).test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!TM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"duration",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!nM($.data,J.version))W=this._getOrReturnCtx($,W),x(W,{validation:"ip",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!lM($.data,J.alg))W=this._getOrReturnCtx($,W),x(W,{validation:"jwt",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!iM($.data,J.version))W=this._getOrReturnCtx($,W),x(W,{validation:"cidr",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!mM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"base64",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!uM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"base64url",code:C.invalid_string,message:J.message}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:C.invalid_string,...s.errToObj(U)})}_addCheck($){return new G6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...s.errToObj($)})}url($){return this._addCheck({kind:"url",...s.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...s.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...s.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...s.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...s.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...s.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...s.errToObj($)})}base64($){return this._addCheck({kind:"base64",...s.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...s.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...s.errToObj($)})}ip($){return this._addCheck({kind:"ip",...s.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...s.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...s.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...s.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...s.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...s.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...s.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...s.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...s.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...s.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...s.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...s.errToObj(_)})}nonempty($){return this.min(1,s.errToObj($))}trim(){return new G6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}G6.create=($)=>{return new G6({checks:[],typeName:G$.ZodString,coerce:$?.coerce??!1,...N$($)})};function rM($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class k4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==n.number){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.number,received:J.parsedType}),J$}let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="int"){if(!I$.isInteger($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(rM($.data,J.value)!==0)U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.not_finite,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new k4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new k4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:s.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}finite($){return this._addCheck({kind:"finite",message:s.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&I$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}k4.create=($)=>{return new k4({checks:[],typeName:G$.ZodNumber,coerce:$?.coerce||!1,...N$($)})};class P4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==n.bigint)return this._getInvalidInput($);let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:n.bigint,received:_.parsedType}),J$}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new P4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new P4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}P4.create=($)=>{return new P4({checks:[],typeName:G$.ZodBigInt,coerce:$?.coerce??!1,...N$($)})};class a1 extends A${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==n.boolean){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.boolean,received:U.parsedType}),J$}return K_($.data)}}a1.create=($)=>{return new a1({typeName:G$.ZodBoolean,coerce:$?.coerce||!1,...N$($)})};class B0 extends A${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==n.date){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.date,received:J.parsedType}),J$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_date}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new B0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:s.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:s.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}B0.create=($)=>{return new B0({checks:[],coerce:$?.coerce||!1,typeName:G$.ZodDate,...N$($)})};class mU extends A${_parse($){if(this._getType($)!==n.symbol){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.symbol,received:U.parsedType}),J$}return K_($.data)}}mU.create=($)=>{return new mU({typeName:G$.ZodSymbol,...N$($)})};class s1 extends A${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.undefined,received:U.parsedType}),J$}return K_($.data)}}s1.create=($)=>{return new s1({typeName:G$.ZodUndefined,...N$($)})};class e1 extends A${_parse($){if(this._getType($)!==n.null){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.null,received:U.parsedType}),J$}return K_($.data)}}e1.create=($)=>{return new e1({typeName:G$.ZodNull,...N$($)})};class H0 extends A${constructor(){super(...arguments);this._any=!0}_parse($){return K_($.data)}}H0.create=($)=>{return new H0({typeName:G$.ZodAny,...N$($)})};class w4 extends A${constructor(){super(...arguments);this._unknown=!0}_parse($){return K_($.data)}}w4.create=($)=>{return new w4({typeName:G$.ZodUnknown,...N$($)})};class f6 extends A${_parse($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:n.never,received:_.parsedType}),J$}}f6.create=($)=>{return new f6({typeName:G$.ZodNever,...N$($)})};class uU extends A${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.void,received:U.parsedType}),J$}return K_($.data)}}uU.create=($)=>{return new uU({typeName:G$.ZodVoid,...N$($)})};class Q6 extends A${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==n.array)return x(_,{code:C.invalid_type,expected:n.array,received:_.parsedType}),J$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)x(_,{code:X?C.too_big:C.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)x(_,{code:C.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)x(_,{code:C.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new j6(_,X,_.path,G))})).then((X)=>{return L_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new j6(_,X,_.path,G))});return L_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new Q6({...this._def,minLength:{value:$,message:s.toString(_)}})}max($,_){return new Q6({...this._def,maxLength:{value:$,message:s.toString(_)}})}length($,_){return new Q6({...this._def,exactLength:{value:$,message:s.toString(_)}})}nonempty($){return this.min(1,$)}}Q6.create=($,_)=>{return new Q6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:G$.ZodArray,...N$(_)})};function r1($){if($ instanceof e$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=Y6.create(r1(W))}return new e$({...$._def,shape:()=>_})}else if($ instanceof Q6)return new Q6({...$._def,type:r1($.element)});else if($ instanceof Y6)return Y6.create(r1($.unwrap()));else if($ instanceof e6)return e6.create(r1($.unwrap()));else if($ instanceof C6)return C6.create($.items.map((_)=>r1(_)));else return $}class e$ extends A${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=I$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==n.object){let Y=this._getOrReturnCtx($);return x(Y,{code:C.invalid_type,expected:n.object,received:Y.parsedType}),J$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof f6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new j6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof f6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)x(W,{code:C.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new j6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return L_.mergeObjectSync(U,Y)});else return L_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return s.errToObj,new e$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:s.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new e$({...this._def,unknownKeys:"strip"})}passthrough(){return new e$({...this._def,unknownKeys:"passthrough"})}extend($){return new e$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new e$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:G$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new e$({...this._def,catchall:$})}pick($){let _={};for(let U of I$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}omit($){let _={};for(let U of I$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}deepPartial(){return r1(this)}partial($){let _={};for(let U of I$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new e$({...this._def,shape:()=>_})}required($){let _={};for(let U of I$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof Y6)J=J._def.innerType;_[U]=J}return new e$({...this._def,shape:()=>_})}keyof(){return dL(I$.objectKeys(this.shape))}}e$.create=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strip",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};e$.strictCreate=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strict",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};e$.lazycreate=($,_)=>{return new e$({shape:$,unknownKeys:"strip",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};class $2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new v_(G.ctx.common.issues));return x(_,{code:C.invalid_union,unionErrors:X}),J$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new v_(Q));return x(_,{code:C.invalid_union,unionErrors:G}),J$}}get options(){return this._def.options}}$2.create=($,_)=>{return new $2({options:$,typeName:G$.ZodUnion,...N$(_)})};var a6=($)=>{if($ instanceof U2)return a6($.schema);else if($ instanceof i_)return a6($.innerType());else if($ instanceof J2)return[$.value];else if($ instanceof f4)return $.options;else if($ instanceof W2)return I$.objectValues($.enum);else if($ instanceof X2)return a6($._def.innerType);else if($ instanceof s1)return[void 0];else if($ instanceof e1)return[null];else if($ instanceof Y6)return[void 0,...a6($.unwrap())];else if($ instanceof e6)return[null,...a6($.unwrap())];else if($ instanceof $X)return a6($.unwrap());else if($ instanceof Q2)return a6($.unwrap());else if($ instanceof G2)return a6($._def.innerType);else return[]};class eW extends A${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.object)return x(_,{code:C.invalid_type,expected:n.object,received:_.parsedType}),J$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return x(_,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),J$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=a6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new eW({typeName:G$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...N$(U)})}}function V5($,_){let U=s6($),W=s6(_);if($===_)return{valid:!0,data:$};else if(U===n.object&&W===n.object){let J=I$.objectKeys(_),X=I$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=V5($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===n.array&&W===n.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=V5(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===n.date&&W===n.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class _2 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(B5(J)||B5(X))return J$;let G=V5(J.value,X.value);if(!G.valid)return x(U,{code:C.invalid_intersection_types}),J$;if(H5(J)||H5(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}_2.create=($,_,U)=>{return new _2({left:$,right:_,typeName:G$.ZodIntersection,...N$(U)})};class C6 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.array)return x(U,{code:C.invalid_type,expected:n.array,received:U.parsedType}),J$;if(U.data.length<this._def.items.length)return x(U,{code:C.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J$;if(!this._def.rest&&U.data.length>this._def.items.length)x(U,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new j6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return L_.mergeArray(_,X)});else return L_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new C6({...this._def,rest:$})}}C6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new C6({items:$,typeName:G$.ZodTuple,rest:null,...N$(_)})};class dU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.object)return x(U,{code:C.invalid_type,expected:n.object,received:U.parsedType}),J$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new j6(U,G,U.path,G)),value:X._parse(new j6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return L_.mergeObjectAsync(_,W);else return L_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof A$)return new dU({keyType:$,valueType:_,typeName:G$.ZodRecord,...N$(U)});return new dU({keyType:G6.create(),valueType:$,typeName:G$.ZodRecord,...N$(_)})}}class cU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.map)return x(U,{code:C.invalid_type,expected:n.map,received:U.parsedType}),J$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new j6(U,G,U.path,[Y,"key"])),value:J._parse(new j6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}cU.create=($,_,U)=>{return new cU({valueType:_,keyType:$,typeName:G$.ZodMap,...N$(U)})};class V0 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.set)return x(U,{code:C.invalid_type,expected:n.set,received:U.parsedType}),J$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)x(U,{code:C.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)x(U,{code:C.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return J$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new j6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new V0({...this._def,minSize:{value:$,message:s.toString(_)}})}max($,_){return new V0({...this._def,maxSize:{value:$,message:s.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}V0.create=($,_)=>{return new V0({valueType:$,minSize:null,maxSize:null,typeName:G$.ZodSet,...N$(_)})};class o1 extends A${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.function)return x(_,{code:C.invalid_type,expected:n.function,received:_.parsedType}),J$;function U(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),t1].filter((Y)=>!!Y),issueData:{code:C.invalid_arguments,argumentsError:Q}})}function W(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),t1].filter((Y)=>!!Y),issueData:{code:C.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof R0){let G=this;return K_(async function(...Q){let Y=new v_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return K_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new v_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new v_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new o1({...this._def,args:C6.create($).rest(w4.create())})}returns($){return new o1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new o1({args:$?$:C6.create([]).rest(w4.create()),returns:_||w4.create(),typeName:G$.ZodFunction,...N$(U)})}}class U2 extends A${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}U2.create=($,_)=>{return new U2({getter:$,typeName:G$.ZodLazy,...N$(_)})};class J2 extends A${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return x(_,{received:_.data,code:C.invalid_literal,expected:this._def.value}),J$}return{status:"valid",value:$.data}}get value(){return this._def.value}}J2.create=($,_)=>{return new J2({value:$,typeName:G$.ZodLiteral,...N$(_)})};function dL($,_){return new f4({values:$,typeName:G$.ZodEnum,...N$(_)})}class f4 extends A${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{expected:I$.joinValues(U),received:_.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{received:_.data,code:C.invalid_enum_value,options:U}),J$}return K_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return f4.create($,{...this._def,..._})}exclude($,_=this._def){return f4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}f4.create=dL;class W2 extends A${_parse($){let _=I$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==n.string&&U.parsedType!==n.number){let W=I$.objectValues(_);return x(U,{expected:I$.joinValues(W),received:U.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(I$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=I$.objectValues(_);return x(U,{received:U.data,code:C.invalid_enum_value,options:W}),J$}return K_($.data)}get enum(){return this._def.values}}W2.create=($,_)=>{return new W2({values:$,typeName:G$.ZodNativeEnum,...N$(_)})};class R0 extends A${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.promise&&_.common.async===!1)return x(_,{code:C.invalid_type,expected:n.promise,received:_.parsedType}),J$;let U=_.parsedType===n.promise?_.data:Promise.resolve(_.data);return K_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}R0.create=($,_)=>{return new R0({type:$,typeName:G$.ZodPromise,...N$(_)})};class i_ extends A${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===G$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(x(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return J$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return J$;if(Q.status==="dirty")return p1(Q.value);if(_.value==="dirty")return p1(Q.value);return Q});else{if(_.value==="aborted")return J$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")return p1(G.value);if(_.value==="dirty")return p1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!N0(X))return J$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!N0(X))return J$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});I$.assertNever(W)}}i_.create=($,_,U)=>{return new i_({schema:$,typeName:G$.ZodEffects,effect:_,...N$(U)})};i_.createWithPreprocess=($,_,U)=>{return new i_({schema:_,effect:{type:"preprocess",transform:$},typeName:G$.ZodEffects,...N$(U)})};class Y6 extends A${_parse($){if(this._getType($)===n.undefined)return K_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}Y6.create=($,_)=>{return new Y6({innerType:$,typeName:G$.ZodOptional,...N$(_)})};class e6 extends A${_parse($){if(this._getType($)===n.null)return K_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}e6.create=($,_)=>{return new e6({innerType:$,typeName:G$.ZodNullable,...N$(_)})};class X2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===n.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}X2.create=($,_)=>{return new X2({innerType:$,typeName:G$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...N$(_)})};class G2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(xU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}G2.create=($,_)=>{return new G2({innerType:$,typeName:G$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...N$(_)})};class nU extends A${_parse($){if(this._getType($)!==n.nan){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.nan,received:U.parsedType}),J$}return{status:"valid",value:$.data}}}nU.create=($)=>{return new nU({typeName:G$.ZodNaN,...N$($)})};var pM=Symbol("zod_brand");class $X extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class lU extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return J$;if(J.status==="dirty")return _.dirty(),p1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return J$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new lU({in:$,out:_,typeName:G$.ZodPipeline})}}class Q2 extends A${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(N0(W))W.value=Object.freeze(W.value);return W};return xU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}Q2.create=($,_)=>{return new Q2({innerType:$,typeName:G$.ZodReadonly,...N$(_)})};function TL($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function cL($,_={},U){if($)return H0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=TL(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=TL(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return H0.create()}var oM={object:e$.lazycreate},G$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(G$||(G$={}));var tM=($,_={message:`Input not instance of ${$.name}`})=>cL((U)=>U instanceof $,_),nL=G6.create,lL=k4.create,aM=nU.create,sM=P4.create,iL=a1.create,eM=B0.create,$I=mU.create,_I=s1.create,UI=e1.create,JI=H0.create,WI=w4.create,XI=f6.create,GI=uU.create,QI=Q6.create,YI=e$.create,jI=e$.strictCreate,DI=$2.create,zI=eW.create,qI=_2.create,OI=C6.create,LI=dU.create,NI=cU.create,BI=V0.create,HI=o1.create,VI=U2.create,RI=J2.create,AI=f4.create,EI=W2.create,FI=R0.create,SL=i_.create,KI=Y6.create,bI=e6.create,MI=i_.createWithPreprocess,II=lU.create,gI=()=>nL().optional(),wI=()=>lL().optional(),kI=()=>iL().optional(),PI={string:($)=>G6.create({...$,coerce:!0}),number:($)=>k4.create({...$,coerce:!0}),boolean:($)=>a1.create({...$,coerce:!0}),bigint:($)=>P4.create({...$,coerce:!0}),date:($)=>B0.create({...$,coerce:!0})},fI=J$;var a={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},rL=z.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),y_=z.string().datetime(),j$=z.string().trim().min(1),$4=j$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),pL=z.string().regex(/^[a-fA-F0-9]{64}$/),oL=z.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),_4=z.record(z.unknown()),D2=z.array(z.string().min(1)).default([]),A0=y_.nullable().optional(),CI=new Set(["succeeded","failed","cancelled","blocked","skipped"]),F0=z.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function v$($){return z.object({schema:z.literal($),id:z.string().min(1),createdAt:y_,updatedAt:A0,metadata:_4.optional()}).strict()}var $n=z.object({schema:rL,id:z.string().min(1),createdAt:y_,updatedAt:A0,metadata:_4.optional()}).strict(),tL=z.enum(["agent","human","service","model","workflow","system"]),TI=v$(a.actorRef).extend({kind:tL,name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional(),capabilities:z.array(z.string().min(1)).default([])}).strict(),T6=z.object({kind:tL,id:z.string().min(1),name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional()}).strict(),aL=z.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),SI=v$(a.resourceRef).extend({kind:aL,name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:D2}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),R$=z.object({kind:aL,id:z.string().min(1),name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:D2}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),R5=z.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),ZI=z.enum(["none","partial","full","unknown"]),vI=v$(a.evidenceRef).extend({kind:R5,uri:$4,sha256:pL.optional(),summary:z.string().min(1).optional(),contentType:z.string().min(1).optional(),sizeBytes:z.number().int().nonnegative().optional(),redaction:ZI.default("unknown"),producer:T6.optional(),resourceRefs:z.array(R$).default([]),tags:D2}).strict(),l$=z.object({id:z.string().min(1),kind:R5.optional(),uri:$4.optional(),sha256:pL.optional(),summary:z.string().min(1).optional()}).strict(),iU=v$(a.costEstimate).extend({currency:z.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:z.number().int().nonnegative(),provider:z.string().min(1).optional(),model:z.string().min(1).optional(),accountId:z.string().min(1).optional(),promptTokens:z.number().int().nonnegative().optional(),completionTokens:z.number().int().nonnegative().optional(),totalTokens:z.number().int().nonnegative().optional(),basis:z.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:z.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),yI=z.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),sL=v$(a.decisionEnvelope).extend({decisionType:z.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:yI,actor:T6.optional(),traceId:z.string().min(1).optional(),inputHash:oL.optional(),policyBundleId:z.string().min(1).optional(),selected:z.array(R$).default([]),skipped:z.array(R$).default([]),reason:z.string().min(1),obligations:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),costEstimate:iU.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),hI=v$(a.capabilityCard).extend({kind:z.enum(["model","tool","machine","agent","lane","connector","service"]),name:z.string().min(1),version:z.string().min(1).optional(),status:z.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:z.array(z.string().min(1)).default([]),limitations:z.array(z.string().min(1)).default([]),riskLevel:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:iU.optional(),evidenceRefs:z.array(l$).default([])}).strict(),Y2=z.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),xI=z.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),mI=z.object({refName:j$,requiredForModes:z.array(Y2).min(1),allowedSecretInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:j$,revocationCheck:z.boolean().default(!0)}).strict(),uI=z.object({operation:j$,supportedModes:z.array(Y2).min(1),sideEffectClass:xI,requiresApproval:z.boolean().default(!1),requiresIdempotencyKey:z.boolean().default(!1),requiresSandboxEvidence:z.boolean().default(!1),requiresRollbackOrRevocation:z.boolean().default(!1),rollbackOrRevocation:j$.optional(),noSideEffectSmoke:j$.optional(),reconciliation:j$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),dI=z.object({providerId:j$,appId:j$,adapterId:j$,ownerPackage:j$,modes:z.array(Y2).min(1),defaultMode:Y2,credentialRequirements:z.array(mI).default([]),operations:z.array(uI).min(1),rateLimitPosture:j$,costPosture:j$.optional(),auditEvents:z.array(j$).default([]),redactionRules:z.array(j$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:z.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),cI=z.object({appId:j$,repo:j$,priority:z.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:z.array(j$).min(1),firstOperations:z.array(j$).min(1),blockedUntil:z.array(j$).default([])}).strict(),nI=v$(a.providerLiveModeStandard).extend({name:j$,version:j$,modes:z.array(Y2).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:z.array(j$).min(1),liveMutationGate:z.object({requiredMode:z.literal("live_mutating"),requiredChecks:z.array(j$).min(1),forbiddenBypassSignals:z.array(j$).min(1),disabledLiveSmoke:j$}).strict(),noSideEffectSmoke:z.object({requiredForModes:z.array(Y2).min(1),commandEvidence:z.array(j$).min(1),secretOutputScan:z.boolean().default(!0)}).strict(),credentialPolicy:z.object({acceptedInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:z.literal(!1),missingCredentialBehavior:z.literal("fail_closed"),revocationCheckRequired:z.boolean().default(!0)}).strict(),operationCards:z.array(dI).min(1),firstAdoptionTargets:z.array(cI).min(1),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),lI=z.object({id:z.string().min(1),title:z.string().min(1).optional(),summary:z.string().min(1),text:z.string().optional(),tokens:z.number().int().nonnegative().optional(),source:l$,resourceRefs:z.array(R$).default([])}).strict(),eL=v$(a.contextPack).extend({objective:z.string().min(1),budget:z.object({maxTokens:z.number().int().positive().optional(),maxBytes:z.number().int().positive().optional()}).strict().optional(),items:z.array(lI).default([]),citations:z.array(l$).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),permissions:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),conflicts:z.array(z.string().min(1)).default([]),uncertainty:z.string().min(1).optional()}).strict(),X6=j$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),E0=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),iI=z.enum(["public","internal","private","sensitive"]),rI=z.enum(["draft","active","paused","archived"]),A5=z.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),$N=v$(a.integrationRef).extend({kind:A5,name:z.string().min(1),projectId:E0.optional(),sourcePackage:j$.optional(),externalId:j$.optional(),uri:$4.optional(),enabled:z.boolean().default(!0),readOnly:z.boolean().default(!0),capabilities:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:R$.optional(),evidenceRefs:z.array(l$).default([]),config:_4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),pI=z.object({schemaRoot:X6.default(".hasna/project"),dashboardManifest:X6.default(".hasna/project/dashboard.render.json"),snapshotsDir:X6.default(".hasna/project/snapshots"),documentsDir:X6.default("documents"),reportsDir:X6.default("reports"),evidenceDir:X6.default(".hasna/project/evidence"),privateDir:X6.default(".hasna/project/private")}).strict(),oI=v$(a.projectManifest).extend({projectId:E0,slug:E0,name:z.string().min(1),summary:z.string().min(1).optional(),status:rI.default("active"),classification:iI.default("private"),owner:T6.optional(),layout:pI.default({}),integrations:z.array($N).default([]),renderManifests:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),tags:D2}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:z.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),tI=z.enum(["local","package","provider","url"]),E5=z.object({id:z.string().min(1),kind:tI,specifier:z.string().min(1),path:X6.optional(),packageName:z.string().min(1).optional(),uri:$4.optional(),provider:A5.optional(),schemaId:rL.optional(),integrity:oL.optional(),resourceRef:R$.optional(),optional:z.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:z.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:z.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:z.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),aI=z.enum(["dashboard","canvas","panel","report","document","custom"]),sI=z.object({id:z.string().min(1),title:z.string().min(1),kind:aI,default:z.boolean().default(!1),entry:X6.optional(),imports:z.array(E5).default([]),panelRefs:z.array(R$).default([]),dataRefs:z.array(R$).default([]),layout:_4.optional()}).strict(),eI=v$(a.renderManifest).extend({projectId:E0,name:z.string().min(1),version:z.string().min(1),manifestPath:X6.default(".hasna/project/dashboard.render.json"),renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:z.array(sI).min(1),imports:z.array(E5).default([]),theme:_4.optional(),compatibility:z.object({minProjectsVersion:z.string().min(1).optional(),minContractsVersion:z.string().min(1).optional()}).strict().optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:z.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),$g=z.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),_g=z.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Ug=z.object({id:z.string().min(1),label:z.string().min(1),value:z.union([z.string(),z.number(),z.boolean()]),unit:z.string().min(1).optional(),status:z.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:z.array(R$).default([])}).strict(),Jg=z.object({id:z.string().min(1),title:z.string().min(1),summary:z.string().min(1).optional(),status:z.string().min(1).optional(),priority:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:y_.optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),metadata:_4.optional()}).strict(),Wg=z.object({renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:z.string().min(1).optional(),entry:X6.optional(),imports:z.array(E5).default([]),spec:_4.default({})}).strict(),_N=v$(a.projectPanel).extend({projectId:E0,provider:z.object({kind:A5,id:z.string().min(1),name:z.string().min(1).optional(),sourcePackage:j$.optional(),externalId:j$.optional()}).strict(),kind:_g,title:z.string().min(1),summary:z.string().min(1).optional(),state:$g.default("ready"),stateReason:z.string().min(1).optional(),generatedAt:y_,freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),metrics:z.array(Ug).default([]),items:z.array(Jg).default([]),actions:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),renderFragment:Wg.optional(),warnings:z.array(z.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:z.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),Xg=v$(a.projectSnapshot).extend({projectId:E0,generatedAt:y_,status:F0.default("unknown"),manifestRef:R$,renderManifestRef:R$.optional(),panels:z.array(_N).default([]),contextPacks:z.array(eL).default([]),proofBundleRefs:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),warnings:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),UN=z.object({id:z.string().min(1),kind:z.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),expected:z.string().min(1).optional(),timeoutMs:z.number().int().positive().optional(),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:z.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Gg=v$(a.validationPlan).extend({objective:z.string().min(1),subject:R$.optional(),checks:z.array(UN).min(1),verifier:T6.optional(),requiredEvidenceKinds:z.array(R5).default([])}).strict(),Qg=z.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Yg=z.enum(["draft","active","deprecated","archived"]),jg=z.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Dg=z.object({key:z.string().regex(/^[A-Z][A-Z0-9_]*$/),description:z.string().min(1),required:z.boolean().default(!1),["secret"]:z.boolean().default(!1),group:z.string().min(1).optional(),default:z.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),zg=z.object({name:z.string().min(1),command:z.string().min(1),description:z.string().min(1).optional(),required:z.boolean().default(!1)}).strict(),qg=z.object({packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:z.array(z.string().min(1)).default([]),requiredFiles:z.array(z.string().min(1)).default([]),requiredDirectories:z.array(z.string().min(1)).default([]),optionalDirectories:z.array(z.string().min(1)).default([])}).strict(),Og=v$(a.scaffoldManifest).extend({name:z.string().min(1),version:z.string().min(1),summary:z.string().min(1),type:Qg,status:Yg.default("draft"),capabilities:z.array(jg).default([]),techStack:z.array(z.string().min(1)).default([]),tags:D2,source:R$.optional(),output:qg,env:z.array(Dg).default([]),scripts:z.array(zg).default([]),validationChecks:z.array(UN).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:z.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Lg=z.enum(["installed","failed","cancelled","partial","unknown"]),Ng=v$(a.scaffoldInstallRecord).extend({scaffoldId:z.string().min(1),scaffoldVersion:z.string().min(1).optional(),manifestRef:R$.optional(),target:R$,status:Lg,installedAt:y_.optional(),installer:T6.optional(),packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:_4.optional(),generatedFiles:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),j2=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),F5=z.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),JN=z.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Bg=z.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Hg=j$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Vg=z.enum(["active","stub","deprecated","archived"]),Rg=z.enum(["stable","beta","canary","internal"]),Ag=z.object({transport:z.enum(["http","stdio"]).default("http"),bin:z.string().min(1).optional(),url:$4.optional()}).strict(),Eg=z.object({healthPath:z.string().min(1).default("/health"),port:z.number().int().positive().optional(),baseUrl:$4.optional()}).strict(),Fg=z.object({bins:z.array(z.string().min(1)).default([]),mcp:Ag.optional(),http:Eg.optional()}).strict(),Kg=v$(a.app).extend({appId:j2,npmName:F5,repoFolder:j2,githubUrl:Hg,projectSlug:E0,surfaces:Fg.default({}),lifecycle:Vg,releaseChannel:Rg.default("stable"),summary:z.string().min(1).optional(),tags:D2}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),bg=z.enum(["skill","ci","backfilled"]),Mg=v$(a.release).extend({appId:j2,package:F5,version:JN,gitSha:Bg,publishedAt:y_,publishPath:bg,changelogRef:R$.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Ig=z.enum(["install","update","rollback","freeze-blocked"]),gg=z.object({cliVersion:z.string().min(1).optional(),mcpHealth:z.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),wg=v$(a.rolloutRecord).extend({appId:j2,package:F5,version:JN,machine:j$,action:Ig,result:F0,verifiedBy:gg.optional(),at:y_,evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:z.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),kg=z.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),Pg=z.enum(["pending","queued","sent","failed","skipped","suppressed"]),fg=z.object({channel:kg,status:Pg,deliveredAt:y_.optional(),detail:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Cg=v$(a.announcement).extend({campaignId:j$,appId:j2.optional(),releaseRef:R$.optional(),channels:z.array(fg).min(1),audienceRef:R$,sentAt:y_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Tg=z.enum(["tag","attribute","group"]),Sg=z.enum(["eq","neq","in","not_in","exists","not_exists"]),ZL=z.union([z.string(),z.number(),z.boolean()]),Zg=z.object({kind:Tg,key:z.string().min(1).optional(),op:Sg.default("eq"),value:ZL.optional(),values:z.array(ZL).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:z.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),vg=z.object({match:z.enum(["all","any"]).default("all"),predicates:z.array(Zg).min(1)}).strict(),yg=z.enum(["opt_in","opt_out","transactional","none"]),hg=v$(a.audience).extend({audienceId:j2,name:j$,definition:vg,consentPolicy:yg,suppressionSyncedAt:A0}).strict(),O5=["@hasna/cloud","open-cloud"],xg=z.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),mg=z.object({id:z.string().min(1),provider:xg,kind:z.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:z.string().min(1),region:z.string().min(1).optional(),accountId:z.string().min(1).optional(),uri:$4.optional(),machineScoped:z.boolean().default(!1)}).strict(),WN=v$(a.appCloudManifest).extend({packageName:z.string().min(1),packageVersion:z.string().min(1).optional(),appId:z.string().min(1),repository:R$.optional(),storageMode:z.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:z.enum(["none","app_owned","external_service","local_cache"]),cloudResources:z.array(mg).default([]),localCache:z.object({path:z.string().min(1).optional(),pullMode:z.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:z.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:z.array(z.string().min(1)).default([...O5]),dependencies:z.array(z.string().min(1)).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...O5,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:z.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of O5)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:z.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:z.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),XN=z.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),ug=z.enum(["low","medium","high","critical"]),GN=z.object({id:z.string().min(1),kind:XN,severity:ug,path:z.string().min(1).optional(),packageName:z.string().min(1).optional(),pattern:z.string().min(1),message:z.string().min(1),evidenceRefs:z.array(l$).default([])}).strict(),dg=z.object({id:z.string().min(1),kind:XN,status:F0,target:z.string().min(1),command:z.string().min(1).optional(),evidenceRefs:z.array(l$).default([]),findings:z.array(GN).default([])}).strict(),cg=v$(a.noCloudEvidencePack).extend({subject:R$,packageName:z.string().min(1).optional(),packageVersion:z.string().min(1).optional(),generatedBy:T6.optional(),scanMode:z.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:F0,verdict:z.enum(["passed","failed","warning","not_run"]),appCloudManifest:WN.optional(),checks:z.array(dg).min(1),findings:z.array(GN).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),ng=z.object({checkId:z.string().min(1),status:F0,summary:z.string().min(1).optional(),startedAt:A0,finishedAt:A0,evidenceRefs:z.array(l$).default([])}).strict(),lg=v$(a.proofBundle).extend({subject:R$,validationPlanRef:R$.optional(),status:F0,verdict:z.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:z.array(ng).default([]),verifier:T6.optional(),evidenceRefs:z.array(l$).default([]),residualRisks:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),ig=v$(a.workRun).extend({objective:z.string().min(1),status:F0,actor:T6,traceId:z.string().min(1).optional(),startedAt:A0,finishedAt:A0,constraints:z.array(z.string().min(1)).default([]),resourceRefs:z.array(R$).default([]),decisions:z.array(sL).default([]),costEstimates:z.array(iU).default([]),evidenceRefs:z.array(l$).default([]),validationPlanRefs:z.array(R$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:z.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(CI.has($.status)&&!$.finishedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),rg=z.object({id:z.string().min(1),at:y_,kind:z.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:z.string().min(1),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),costEstimate:iU.optional()}).strict(),pg=v$(a.agentTrajectory).extend({actor:T6,workRunRef:R$.optional(),events:z.array(rg).default([]),outcome:z.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:R$.optional()}).strict(),og="v1",tg=z.enum(["library","cli-with-store","service","saas"]),ag=["local","self-hosted","cloud"],QN=z.enum(ag),sg=z.enum(["supported","deferred","unsupported"]),eg=z.enum(["none","local-only","api-key","session","service-token","custom"]),L5=z.object({method:z.enum(["GET","POST","PUT","PATCH","DELETE"]),path:z.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:z.boolean().default(!1),description:z.string().min(1).optional()}).strict(),$w=z.object({id:z.string().min(1),kind:z.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),evidenceRef:l$.optional(),status:z.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),_w=z.object({name:z.string().min(1),status:sg,bin:z.string().min(1).optional(),mcpBin:z.string().min(1).optional(),authMode:eg,deploymentModes:z.array(QN).min(1),health:L5.optional(),readiness:L5.optional(),version:L5.optional(),apiBasePath:z.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:z.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:z.string().min(1).optional(),readinessGates:z.array($w).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:z.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:z.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:z.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),Uw=["local","cloud"],YN=z.enum(Uw);var Jw=z.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Ww=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Xw($){return Ww.map((_)=>`${$}${_}`)}function vL($){return`hasna/oss/${$}/database-url`}var Gw=z.object({mode:YN,envPrefix:z.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:z.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:z.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:z.string().min(1).optional()}).strict(),Qw=z.object({$schema:z.string().min(1).optional(),schema:z.literal(a.serviceContract),name:Jw,class:tg,contractVersion:z.literal(og),kitVersion:z.string().min(1),description:z.string().min(1).optional(),bins:z.array(z.string().min(1)).default([]),storage:Gw.optional(),deploymentModes:z.array(QN).default(["local"]),serviceSurfaces:z.array(_w).default([]),metadata:_4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Xw($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:z.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==vL($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${vL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:z.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:z.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),_n=z.object({status:z.enum(["ok","degraded","unavailable"]),version:z.string().min(1),mode:YN}).strict(),Un=z.object({ready:z.boolean(),reason:z.string().min(1).optional()}).strict(),Jn=z.object({version:z.string().min(1)}).strict(),Yw=z.enum(["info","notice","breaking","critical"]),jw=z.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),Dw=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],zw=z.enum(Dw);var qw=z.enum(["fleet","package","machine"]),jN=v$(a.commsEventEnvelope).extend({type:jw,severity:Yw,scope:qw,summary:z.string().min(1).optional(),source:T6.optional(),affected_packages:z.array(j$).default([]),affected_machines:z.array(j$).default([]),action_required:z.boolean().default(!1),ack_by:y_.optional(),dedupe_key:j$,resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),Ow=z.enum(["fleet","package","product","loop-lane","initiative","personal"]),Lw=z.enum(["quiet","work","firehose"]),Nw=j$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),Bw=v$(a.commsChannelMetadata).extend({class:Ow,noise:Lw.optional(),owner:j$.optional(),until:Nw.optional(),successor:j$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),yL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Hw=v$(a.commsMessageMetadata).extend({tag:zw,envelope:jN}).strict().superRefine(($,_)=>{let U=yL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(yL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Wn={[a.actorRef]:TI,[a.resourceRef]:SI,[a.evidenceRef]:vI,[a.workRun]:ig,[a.decisionEnvelope]:sL,[a.costEstimate]:iU,[a.capabilityCard]:hI,[a.providerLiveModeStandard]:nI,[a.contextPack]:eL,[a.integrationRef]:$N,[a.projectManifest]:oI,[a.projectPanel]:_N,[a.projectSnapshot]:Xg,[a.renderManifest]:eI,[a.agentTrajectory]:pg,[a.validationPlan]:Gg,[a.proofBundle]:lg,[a.scaffoldManifest]:Og,[a.scaffoldInstallRecord]:Ng,[a.appCloudManifest]:WN,[a.noCloudEvidencePack]:cg,[a.serviceContract]:Qw,[a.commsEventEnvelope]:jN,[a.commsChannelMetadata]:Bw,[a.commsMessageMetadata]:Hw,[a.app]:Kg,[a.release]:Mg,[a.rolloutRecord]:wg,[a.announcement]:Cg,[a.audience]:hg};function Vw($){return $.toUpperCase().replace(/-/g,"_")}function DN($){let _=Vw($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}var Rw=["remote","hybrid","self_hosted"];function K5($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(Rw.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}import zn from"pg";class b5 extends Error{scheme;port;constructor($,_){super($);this.name="KnowledgeNetworkGuardError",this.scheme=_.scheme,this.port=_.port}}function rU($=process.env){return($.NODE_ENV??"").trim().toLowerCase()==="test"}function zN($){let _=$.split(".");if(_.length!==4)return!1;if(!_.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return _[0]==="127"}function bw($){let _=$.trim().toLowerCase();if(_.length===0)return!1;if(_==="localhost"||_.endsWith(".localhost"))return!0;if(zN(_))return!0;if(!_.startsWith("[")||!_.endsWith("]"))return!1;let U=_.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let W=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&zN(W))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function Mw($){if(typeof $==="string")return $;if($ instanceof URL)return $.href;return $.url}function Iw($,_=process.env){if(!rU(_))return;let U=Mw($),W;try{W=new URL(U)}catch{throw new b5("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(bw(W.hostname))return;throw new b5(`knowledge: refused a non-loopback ${W.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=local) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:W.protocol.replace(":",""),port:W.port})}function _X($,_){return Iw($),fetch($,_)}var UX="knowledge",I5=DN(UX),z2=I5.modeKeys,g5=I5.apiUrlKeys,JX=I5.apiKeyKeys;function M5($,_){return _.filter((U)=>($[U]??"").trim().length>0)}function WX($=process.env){let _=[...M5($,g5),...M5($,JX)],U=z2[0];for(let W of z2){let J=$[W]?.trim();if(!J)continue;let X;try{X=K5(J)}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw Error(`knowledge: ${W}=${J} is not a valid mode. ${Y}`)}let G=[];if(X.deprecatedAlias)G.push(`Deprecated mode '${X.deprecatedAlias}' from ${W} is treated as 'cloud'. Prefer ${U}=cloud.`);if(W!==U)G.push(`Using alias env ${W}; the canonical key is ${U}.`);if(X.mode==="local"&&_.length>0)G.push(`${W}=local pins the on-box store; ${_.join(", ")} are set but ignored.`);return{mode:X.mode,source:{kind:"env",name:W,value:J},pointer_env_present:_,pointer_ignored:X.mode==="local"&&_.length>0,warning:G.length>0?G.join(" "):null}}return{mode:"local",source:{kind:"default",name:null,value:null},pointer_env_present:_,pointer_ignored:_.length>0,warning:_.length>0?`${_.join(", ")} are set but do NOT select a backend: mode is local by default. Set ${U}=cloud to route reads and writes to the API, or unset those vars to silence this note.`:null}}function w5($,_){return{...$,[z2[0]]:_}}function qN($=process.env){let _=WX($);return{..._,store_transport:_.mode==="cloud"?"api":"local",api_key_present:M5($,JX).length>0,network_guard_active:rU($)}}function ON($){return{fetchImpl:_X,...rU($)?{retry:!1}:{}}}var q2="notes";function gw($){let _={};if($.search)_.search=$.search;if($.limit!==void 0)_.limit=$.limit;if($.offset!==void 0)_.offset=$.offset;if($.includeArchived||$.archivedOnly)_.includeArchived=!0;return _}function ww($){return{baseUrl:$.baseUrl,async list(_={}){let U=_.limit??200,W=gw({..._,limit:Math.min(Math.max(U,1),200)}),J=await $.list(q2,{query:W}),X=J.items;if(_.archivedOnly)X=X.filter((G)=>G.archived===!0);if(_.tag){let G=_.tag.toLowerCase();X=X.filter((Q)=>(Q.tags??[]).some((Y)=>Y.toLowerCase()===G))}return{items:X,total:J.total}},async get(_){return $.get(q2,_)},async create(_){return $.create(q2,{..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})},async update(_,U){try{return await $.update(q2,_,U)}catch(W){if(kw(W))return null;throw W}},async delete(_){let U=await $.get(q2,_);if(!U)return!1;return await $.delete(q2,U.id),!0}}}function kw($){return Boolean($&&typeof $==="object"&&$.status===404)}function pU($=process.env){if(WX($).mode!=="cloud")return null;let _=z5(UX,w5($,"cloud"),ON($));if(_.transport!=="cloud-http")return null;return ww(_.client)}function C4($=process.env){if(WX($).mode!=="cloud")return!1;return z5(UX,w5($,"cloud"),ON($)).transport==="cloud-http"}async function XX($){let U=[];for(let W=0;;W+=200){let{items:J}=await $.list({includeArchived:!0,limit:200,offset:W});if(U.push(...J),J.length<200)break;if(W>1e5)break}return U}function k5($,_){return $.id===_||$.short_id===_}class LN{storePath;kind="local";constructor($){this.storePath=$}get location(){return this.storePath}get exists(){return Pw(this.storePath)}async listAll(){let $=w1(this.storePath);return{items:$.items,exists:$.exists}}async get($){return w1(this.storePath).items.find((U)=>k5(U,$))??null}async create($){return g6(this.storePath,()=>{let _=PU(this.storePath),U=new Date().toISOString(),W=$.id??aO(),J={id:W,short_id:sO(W),title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:!1,created_at:U,updated_at:U};return _.items.push(J),l6(this.storePath,_),J},{createParent:!0})}async update($,_){return g6(this.storePath,()=>{let U=PU(this.storePath),W=U.items.findIndex((X)=>k5(X,$));if(W===-1)return null;let J=U.items[W];if(_.title!==void 0)J.title=_.title;if(_.content!==void 0)J.content=_.content;if(_.url!==void 0)J.url=_.url;if(_.tags!==void 0)J.tags=_.tags;if(_.metadata!==void 0)J.metadata=_.metadata;if(_.archived!==void 0)J.archived=_.archived;return J.updated_at=new Date().toISOString(),U.items[W]=J,l6(this.storePath,U),J},{createParent:!0})}async delete($){return g6(this.storePath,()=>{let _=PU(this.storePath),U=_.items.length;_.items=_.items.filter((J)=>!k5(J,$));let W=U!==_.items.length;if(W)l6(this.storePath,_);return W},{createParent:!0})}async deleteMany($){if($.length===0)return 0;let _=new Set($);return g6(this.storePath,()=>{let U=PU(this.storePath),W=U.items.length;U.items=U.items.filter((X)=>!_.has(X.id)&&!(X.short_id!=null&&_.has(X.short_id)));let J=W-U.items.length;if(J>0)l6(this.storePath,U);return J},{createParent:!0})}}class NN{cloud;kind="api";exists=!0;constructor($){this.cloud=$}get location(){return this.cloud.baseUrl}async listAll(){return{items:await XX(this.cloud),exists:!0}}async get($){return this.cloud.get($)}async create($){return this.cloud.create({...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})}async update($,_){return this.cloud.update($,_)}async delete($){return this.cloud.delete($)}async deleteMany($){let _=0;for(let U of $)if(await this.cloud.delete(U))_+=1;return _}}function GX($){let _=$.storePathOverridden?null:pU($.env??process.env);if(_)return new NN(_);return new LN($.storePath)}import{Database as BN}from"bun:sqlite";function QX($="catalog"){if(C4())throw Error(`knowledge: ${$} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`)}var fw="porter unicode61 remove_diacritics 2",HN=` PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; @@ -494,7 +494,7 @@ CREATE VIRTUAL TABLE chunks_fts USING fts5( text, title, source_uri, - tokenize='${Pw}' + tokenize='${fw}' ); INSERT INTO chunks_fts (chunk_id, text, title, source_uri) @@ -506,14 +506,14 @@ INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now')); COMMIT; -`;function d($){GX("opening the local knowledge.db catalog"),E4($);let _=new BN($);return _.exec("PRAGMA foreign_keys = ON;"),_.exec("PRAGMA busy_timeout = 5000;"),_}function RN($){return GX("reading the local knowledge.db catalog"),new BN($,{readonly:!0})}function $$($){let _=d($);try{if(_.exec(HN),z_(_)<2)_.exec(Cw);if(z_(_)<3)_.exec(Tw);if(z_(_)<4)_.exec(Sw);if(z_(_)<5)_.exec(Zw);if(z_(_)<6)_.exec(VN);if(xw(_))mw(_);if(uw(_))dw(_);if(nw(_))cw(_);return{path:$,schema_version:z_(_)}}finally{_.close()}}function z_($){return $.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function X_($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function kG($){return`"${$.replaceAll('"','""')}"`}function E0($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get(_);return Boolean(U)}function U4($,_,U){if(!E0($,_))return!1;return $.query(`PRAGMA table_info(${kG(_)})`).all().some((J)=>J.name===U)}function T4($,_,U,W){if(!U4($,_,U))$.exec(`ALTER TABLE ${kG(_)} ADD COLUMN ${kG(U)} ${W};`)}function xw($){return z_($)<7||!U4($,"knowledge_sync_changes","logical_clock")||!U4($,"knowledge_sync_changes","bundle_id")||!E0($,"knowledge_sync_table_clocks")||!E0($,"knowledge_sync_imports")}function mw($){if(!E0($,"knowledge_sync_changes"))$.exec(VN);T4($,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),T4($,"knowledge_sync_changes","bundle_id","TEXT"),$.exec(vw)}function uw($){return z_($)<8||!U4($,"wiki_pages","valid_from")||!U4($,"wiki_pages","valid_to")||!U4($,"wiki_pages","supersedes")||!U4($,"wiki_pages","superseded_by")||!U4($,"wiki_pages","confidence")||!U4($,"wiki_pages","last_verified_at")}function dw($){if(!E0($,"wiki_pages"))$.exec(HN);T4($,"wiki_pages","valid_from","TEXT"),T4($,"wiki_pages","valid_to","TEXT"),T4($,"wiki_pages","supersedes","TEXT"),T4($,"wiki_pages","superseded_by","TEXT"),T4($,"wiki_pages","confidence","REAL"),T4($,"wiki_pages","last_verified_at","TEXT"),$.exec(` +`;function d($){QX("opening the local knowledge.db catalog"),K4($);let _=new BN($);return _.exec("PRAGMA foreign_keys = ON;"),_.exec("PRAGMA busy_timeout = 5000;"),_}function RN($){return QX("reading the local knowledge.db catalog"),new BN($,{readonly:!0})}function $$($){let _=d($);try{if(_.exec(HN),z_(_)<2)_.exec(Cw);if(z_(_)<3)_.exec(Tw);if(z_(_)<4)_.exec(Sw);if(z_(_)<5)_.exec(Zw);if(z_(_)<6)_.exec(VN);if(xw(_))mw(_);if(uw(_))dw(_);if(cw(_))nw(_);return{path:$,schema_version:z_(_)}}finally{_.close()}}function z_($){return $.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function X_($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function P5($){return`"${$.replaceAll('"','""')}"`}function K0($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get(_);return Boolean(U)}function U4($,_,U){if(!K0($,_))return!1;return $.query(`PRAGMA table_info(${P5(_)})`).all().some((J)=>J.name===U)}function T4($,_,U,W){if(!U4($,_,U))$.exec(`ALTER TABLE ${P5(_)} ADD COLUMN ${P5(U)} ${W};`)}function xw($){return z_($)<7||!U4($,"knowledge_sync_changes","logical_clock")||!U4($,"knowledge_sync_changes","bundle_id")||!K0($,"knowledge_sync_table_clocks")||!K0($,"knowledge_sync_imports")}function mw($){if(!K0($,"knowledge_sync_changes"))$.exec(VN);T4($,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),T4($,"knowledge_sync_changes","bundle_id","TEXT"),$.exec(vw)}function uw($){return z_($)<8||!U4($,"wiki_pages","valid_from")||!U4($,"wiki_pages","valid_to")||!U4($,"wiki_pages","supersedes")||!U4($,"wiki_pages","superseded_by")||!U4($,"wiki_pages","confidence")||!U4($,"wiki_pages","last_verified_at")}function dw($){if(!K0($,"wiki_pages"))$.exec(HN);T4($,"wiki_pages","valid_from","TEXT"),T4($,"wiki_pages","valid_to","TEXT"),T4($,"wiki_pages","supersedes","TEXT"),T4($,"wiki_pages","superseded_by","TEXT"),T4($,"wiki_pages","confidence","REAL"),T4($,"wiki_pages","last_verified_at","TEXT"),$.exec(` UPDATE wiki_pages SET valid_from = COALESCE(valid_from, created_at), last_verified_at = COALESCE(last_verified_at, updated_at), confidence = COALESCE(confidence, 0.8) WHERE valid_from IS NULL OR last_verified_at IS NULL OR confidence IS NULL; - `),$.exec(yw)}function AN($){let _=$.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean(_?.sql&&_.sql.includes("remove_diacritics"))}function nw($){if(!E0($,"chunks_fts"))return!1;return z_($)<9||!AN($)}function cw($){if(!E0($,"chunks_fts"))return;if(AN($)){$.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}$.exec(hw)}function fG($){let _=d($);try{return{schema_version:z_(_),sources:X_(_,"sources"),source_revisions:X_(_,"source_revisions"),chunks:X_(_,"chunks"),wiki_pages:X_(_,"wiki_pages"),citations:X_(_,"citations"),indexes:X_(_,"knowledge_indexes"),runs:X_(_,"runs"),run_events:X_(_,"run_events"),redaction_findings:X_(_,"redaction_findings"),audit_events:X_(_,"audit_events"),approval_gates:X_(_,"approval_gates"),storage_objects:X_(_,"storage_objects"),embeddings:X_(_,"chunk_embeddings"),vector_entries:X_(_,"vector_index_entries"),reindex_queue:X_(_,"reindex_queue"),knowledge_machines:X_(_,"knowledge_machines"),sync_snapshots:X_(_,"knowledge_sync_snapshots"),sync_changes:X_(_,"knowledge_sync_changes"),sync_conflicts:X_(_,"knowledge_sync_conflicts"),sync_table_clocks:X_(_,"knowledge_sync_table_clocks"),sync_imports:X_(_,"knowledge_sync_imports")}}finally{_.close()}}import{chmodSync as lw,existsSync as rw,mkdirSync as bN,readFileSync as iw,statSync as pw,writeFileSync as ow}from"fs";import{dirname as tw,join as PG,relative as aw,sep as sw}from"path";import{pathToFileURL as ew}from"url";function S6($){let _=$.replace(/\\/g,"/").trim();if(!_||_.startsWith("/"))throw Error(`Invalid artifact key: ${$}`);let U=_.split("/").filter(Boolean);if(U.length===0||U.some((W)=>W==="."||W===".."))throw Error(`Invalid artifact key: ${$}`);return U.join("/")}function CG($,_){let U=aw($,_);if(U.startsWith("..")||U===".."||U.startsWith(`..${sw}`))throw Error(`Artifact path escapes root: ${_}`)}function $k($){if(!$)return;let _={};for(let[U,W]of Object.entries($))if(typeof W==="string")_[U]=W;else if(typeof W==="number"||typeof W==="boolean")_[U]=String(W);return Object.keys(_).length>0?_:void 0}class FN{root;type="local";canRead=!0;canWrite=!0;constructor($){this.root=$;bN($,{recursive:!0,mode:448})}async put($){let _=S6($.key),U=PG(this.root,_);return CG(this.root,U),bN(tw(U),{recursive:!0,mode:448}),ow(U,$.body,{mode:384}),lw(U,384),{key:_,uri:ew(U).href,modified_at:pw(U).mtime.toISOString()}}async getText($){let _=S6($),U=PG(this.root,_);return CG(this.root,U),iw(U,"utf8")}async exists($){let _=S6($),U=PG(this.root,_);return CG(this.root,U),rw(U)}}class EN{options;type="s3";canRead=!0;canWrite=!0;client;constructor($){this.options=$;this.client=$.client}async getClient(){if(this.client)return this.client;let[{S3Client:$},{fromIni:_}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]);return this.client=new $({region:this.options.region,credentials:this.options.profile?_({profile:this.options.profile}):void 0,maxAttempts:this.options.max_attempts}),this.client}objectKey($){let _=S6($),U=this.options.prefix?S6(this.options.prefix):"";return U?`${U}/${_}`:_}async put($){let[{PutObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=S6($.key),J=this.objectKey(W);return await U.send(new _({Bucket:this.options.bucket,Key:J,Body:$.body,ContentType:$.content_type,Metadata:$k($.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:W,uri:`s3://${this.options.bucket}/${J}`,modified_at:new Date().toISOString()}}async getText($){let[{GetObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($),J=await U.send(new _({Bucket:this.options.bucket,Key:W}));if(!J.Body)return"";return await J.Body.transformToString()}async exists($){let[{HeadObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($);try{return await U.send(new _({Bucket:this.options.bucket,Key:W})),!0}catch(J){let X=J instanceof Error?J.name:"";if(X==="NotFound"||X==="NoSuchKey"||X==="NotFoundError")return!1;throw J}}}function TG($,_){if($.storage.type==="s3"){if(!$.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new EN({bucket:$.storage.s3.bucket,prefix:$.storage.s3.prefix,region:$.storage.s3.region,profile:$.storage.s3.profile,max_attempts:$.storage.s3.max_attempts,server_side_encryption:$.storage.s3.server_side_encryption,kms_key_id:$.storage.s3.kms_key_id})}return new FN(_.artifactsDir)}import{createHash as FW}from"crypto";import{spawnSync as ny}from"child_process";import{existsSync as x$,readFileSync as cy}from"fs";import{hostname as ly}from"os";import{join as wR,resolve as dR}from"path";import{createHash as gf,randomUUID as If}from"crypto";import{createHash as jk,randomUUID as Dk}from"crypto";import{existsSync as ZG,readdirSync as zk}from"fs";import{join as PN}from"path";import{pathToFileURL as qk}from"url";import{existsSync as _k,mkdirSync as Uk,readFileSync as Jk,unlinkSync as Wk,writeFileSync as Xk}from"fs";import{homedir as Gk}from"os";import{dirname as Qk,join as KN}from"path";var SG="https://knowledge.md";function J4($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U==="/api"||U==="/api/v1")_.pathname="/";else if(U.endsWith("/api/v1"))_.pathname=U.slice(0,-7)||"/";else if(U.endsWith("/api"))_.pathname=U.slice(0,-4)||"/";return _.toString().replace(/\/+$/,"")}function QX($=process.env){if($.HASNA_KNOWLEDGE_AUTH_PATH)return $.HASNA_KNOWLEDGE_AUTH_PATH;let _=$.HASNA_KNOWLEDGE_AUTH_DIR??KN(Gk(),".hasna","knowledge");return KN(_,"auth.json")}function MN($,_=process.env){return J4(_.KNOWLEDGE_API_URL??$?.hosted?.api_url??SG)}function gN($=process.env){try{let _=QX($);if(!_k(_))return null;let U=JSON.parse(Jk(_,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function IN($,_=process.env){let U=QX(_),W={...$,api_url:$.api_url?J4($.api_url):void 0,created_at:$.created_at??new Date().toISOString()};return Uk(Qk(U),{recursive:!0,mode:448}),Xk(U,`${JSON.stringify(W,null,2)} -`,{mode:384}),W}function wN($=process.env){try{return Wk(QX($)),!0}catch{return!1}}function Yk($=process.env){if($.KNOWLEDGE_API_KEY)return{apiKey:$.KNOWLEDGE_API_KEY,source:"env"};if($.HASNA_KNOWLEDGE_API_KEY)return{apiKey:$.HASNA_KNOWLEDGE_API_KEY,source:"env"};let _=gN($);return _?.api_key?{apiKey:_.api_key,source:"file"}:{apiKey:null,source:"none"}}function kN($,_=process.env){let U=gN(_),W=Yk(_),J=_.KNOWLEDGE_API_URL?MN($,_):U?.api_url?J4(U.api_url):MN($,_);return{authenticated:Boolean(W.apiKey),source:W.source,api_url:J,auth_path:QX(_),email:W.source==="file"?U?.email??null:null,org_id:W.source==="file"?U?.org_id??null:null,org_slug:W.source==="file"?U?.org_slug??null:null,user_id:W.source==="file"?U?.user_id??null:null,api_key_present:Boolean(W.apiKey)}}var fN=2;var CN=[{kind:"schema",prefix:"schemas/",description:"Machine-readable agent schemas and source rules."},{kind:"index",prefix:"indexes/",description:"Small orientation indexes and future shard manifests."},{kind:"log",prefix:"logs/",description:"Append-only JSONL run and wiki-maintenance log partitions."},{kind:"run",prefix:"runs/",description:"Prompt/tool/cost ledgers and generated output records."},{kind:"wiki_page",prefix:"wiki/",description:"Generated cited Markdown pages, not raw source files."},{kind:"export",prefix:"exports/",description:"Portable exports and snapshots of derived knowledge state."}],Ok=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function TN($){let _=[];if(ZG(PN($.home,"cloud.env")))_.push("cloud.env");if(ZG(PN($.home,"migration-exports")))_.push("migration-exports");if(ZG($.home)){for(let U of zk($.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))_.push(U)}return _}function O2($){let _=typeof $==="string"?Buffer.from($):Buffer.from($);return{hash:`sha256:${jk("sha256").update(_).digest("hex")}`,size_bytes:_.byteLength}}function SN($){return CN.find((U)=>$.startsWith(U.prefix))?.kind??"artifact"}function YX($,_,U="global"){let W=vG($,_),J=$.storage.s3??null,X=J?.prefix?.replace(/^\/+|\/+$/g,"")??"",G=J?`s3://${J.bucket}/${X?`${X}/`:""}`:"",Q=S$.s3.prefix.replace(/^\/+|\/+$/g,""),Y=`s3://${S$.s3.bucket}/${Q}/`,j=$.storage.type==="s3"&&J?.bucket===S$.s3.bucket&&(J.region??null)===S$.s3.region;return{scope:U,mode:$.mode,storage_type:$.storage.type,workspace_home:_.home,local_layout:{app_path:c6,config_path:_.configPath,json_store_path:_.jsonStorePath,knowledge_db_path:_.knowledgeDbPath,directories:{artifacts:_.artifactsDir,cache:_.cacheDir,exports:_.exportsDir,indexes:_.indexesDir,logs:_.logsDir,runs:_.runsDir,schemas:_.schemasDir,wiki:_.wikiDir}},artifact_store:{type:$.storage.type,artifacts_root:$.storage.artifacts_root,uri_prefix:$.storage.type==="s3"?G:qk(`${_.artifactsDir}/`).href,s3:J?{bucket:J.bucket,prefix:X,region:J.region??null,profile:J.profile??null,server_side_encryption:J.server_side_encryption??null,kms_key_configured:Boolean(J.kms_key_id)}:null},canonical_example:{division:S$.division,app_type:S$.app_type,app:S$.app,env:S$.env,active:j,local_path:S$.local_path,s3:{bucket:S$.s3.bucket,region:S$.s3.region,profile:S$.s3.profile,prefix:Q,uri_prefix:Y,server_side_encryption:S$.s3.server_side_encryption},secrets:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds,future_rds:S$.secrets.future_rds},evidence_doc:S$.evidence_doc},hosted:{enabled:$.mode==="hosted",api_url:J4($.hosted?.api_url??SG),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:fN,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:Ok,forbidden_workspace_files_present:TN(_),runtime_env_keys:["HASNA_KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_DATABASE_URL","KNOWLEDGE_DATABASE_URL"],secret_ref_authority:"open-secrets",approved_secret_refs:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds},db_url_rotation_decision:{status:"blocked_without_secret_authority",reason:"No live secret mutation authority is available in @hasna/knowledge. Rotate the DB URL only through the approved secret authority if separate evidence proves the URL propagated to backups, exports, sync bundles, reports, or copied artifacts.",authority_required:!0}},source_ownership:{owner:"open-files",preferred_ref:$.sources.preferred_ref,allowed_schemes:$.sources.allowed_schemes,raw_source_bytes_stored_in_open_knowledge:!1,stores:["source refs","source revisions and hashes","citation spans","redacted extracted chunks","embeddings","generated wiki artifacts","indexes","run ledgers"],does_not_store:["raw open-files bytes","S3 object credentials","connector secrets","hosted tenant ownership state"]},private_fleet_boundary:{manifest_authority:"open-machines",source_ref_authority:"open-files",secret_ref_authority:"open-secrets",raw_private_manifest_bytes_stored_in_open_knowledge:!1,accepted_source_ref_schemes:$.sources.allowed_schemes.filter((O)=>["open-files","s3","file"].includes(O)),stores:["source refs for private manifests","redacted setup decisions","runbook summaries","citation spans into approved knowledge sources","machine setup evidence hashes"],does_not_store:["private fleet manifests","machine hostnames","machine serial numbers","sudo passwords","VNC passwords","SSH private keys","GitHub App private keys","secret values"],example_manifest_ref:"open-files://source/private-fleet-manifest/path/machines.json"},generated_artifacts:CN,scalability:{catalog:"knowledge.db tracks sources, revisions, chunks, citations, indexes, runs, and storage_objects.",indexes:"Indexes are cataloged DB rows plus sharded artifacts, not one giant index.md.",logs:"Logs use dated JSONL partitions under logs/yyyy/mm/dd.jsonl.",markdown:"Markdown pages are the readable wiki layer over DB/object-store state."},warnings:W.warnings}}function vG($,_){let U=[],W=[],J=TN(_);for(let X of J)U.push(`Forbidden Knowledge workspace file present: ${X}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!_.home.endsWith(c6))W.push(`Workspace home does not end with ${c6}: ${_.home}`);if($.storage.type==="s3"){if(!$.storage.s3?.bucket)U.push("storage.s3.bucket is required when storage.type is s3.");if(!$.storage.s3?.prefix)W.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if($.mode==="local")W.push("storage.type is s3 while mode is local; this is valid for BYO S3, but hosted wrappers should set mode to hosted.")}if($.storage.type==="local"&&$.storage.s3)W.push("storage.s3 is configured but ignored while storage.type is local.");if($.sources.preferred_ref!=="open-files")W.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!$.sources.allowed_schemes.includes("open-files"))U.push("sources.allowed_schemes must include open-files.");if($.mode==="hosted"&&$.hosted?.api_url)try{J4($.hosted.api_url)}catch{U.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:U.length===0,errors:U,warnings:W}}function W4($,_,U=new Date){let W=U.toISOString(),J=$.prepare(` + `),$.exec(yw)}function AN($){let _=$.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean(_?.sql&&_.sql.includes("remove_diacritics"))}function cw($){if(!K0($,"chunks_fts"))return!1;return z_($)<9||!AN($)}function nw($){if(!K0($,"chunks_fts"))return;if(AN($)){$.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}$.exec(hw)}function f5($){let _=d($);try{return{schema_version:z_(_),sources:X_(_,"sources"),source_revisions:X_(_,"source_revisions"),chunks:X_(_,"chunks"),wiki_pages:X_(_,"wiki_pages"),citations:X_(_,"citations"),indexes:X_(_,"knowledge_indexes"),runs:X_(_,"runs"),run_events:X_(_,"run_events"),redaction_findings:X_(_,"redaction_findings"),audit_events:X_(_,"audit_events"),approval_gates:X_(_,"approval_gates"),storage_objects:X_(_,"storage_objects"),embeddings:X_(_,"chunk_embeddings"),vector_entries:X_(_,"vector_index_entries"),reindex_queue:X_(_,"reindex_queue"),knowledge_machines:X_(_,"knowledge_machines"),sync_snapshots:X_(_,"knowledge_sync_snapshots"),sync_changes:X_(_,"knowledge_sync_changes"),sync_conflicts:X_(_,"knowledge_sync_conflicts"),sync_table_clocks:X_(_,"knowledge_sync_table_clocks"),sync_imports:X_(_,"knowledge_sync_imports")}}finally{_.close()}}import{chmodSync as lw,existsSync as iw,mkdirSync as EN,readFileSync as rw,statSync as pw,writeFileSync as ow}from"fs";import{dirname as tw,join as C5,relative as aw,sep as sw}from"path";import{pathToFileURL as ew}from"url";function S6($){let _=$.replace(/\\/g,"/").trim();if(!_||_.startsWith("/"))throw Error(`Invalid artifact key: ${$}`);let U=_.split("/").filter(Boolean);if(U.length===0||U.some((W)=>W==="."||W===".."))throw Error(`Invalid artifact key: ${$}`);return U.join("/")}function T5($,_){let U=aw($,_);if(U.startsWith("..")||U===".."||U.startsWith(`..${sw}`))throw Error(`Artifact path escapes root: ${_}`)}function $k($){if(!$)return;let _={};for(let[U,W]of Object.entries($))if(typeof W==="string")_[U]=W;else if(typeof W==="number"||typeof W==="boolean")_[U]=String(W);return Object.keys(_).length>0?_:void 0}class FN{root;type="local";canRead=!0;canWrite=!0;constructor($){this.root=$;EN($,{recursive:!0,mode:448})}async put($){let _=S6($.key),U=C5(this.root,_);return T5(this.root,U),EN(tw(U),{recursive:!0,mode:448}),ow(U,$.body,{mode:384}),lw(U,384),{key:_,uri:ew(U).href,modified_at:pw(U).mtime.toISOString()}}async getText($){let _=S6($),U=C5(this.root,_);return T5(this.root,U),rw(U,"utf8")}async exists($){let _=S6($),U=C5(this.root,_);return T5(this.root,U),iw(U)}}class KN{options;type="s3";canRead=!0;canWrite=!0;client;constructor($){this.options=$;this.client=$.client}async getClient(){if(this.client)return this.client;let[{S3Client:$},{fromIni:_}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]);return this.client=new $({region:this.options.region,credentials:this.options.profile?_({profile:this.options.profile}):void 0,maxAttempts:this.options.max_attempts}),this.client}objectKey($){let _=S6($),U=this.options.prefix?S6(this.options.prefix):"";return U?`${U}/${_}`:_}async put($){let[{PutObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=S6($.key),J=this.objectKey(W);return await U.send(new _({Bucket:this.options.bucket,Key:J,Body:$.body,ContentType:$.content_type,Metadata:$k($.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:W,uri:`s3://${this.options.bucket}/${J}`,modified_at:new Date().toISOString()}}async getText($){let[{GetObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($),J=await U.send(new _({Bucket:this.options.bucket,Key:W}));if(!J.Body)return"";return await J.Body.transformToString()}async exists($){let[{HeadObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($);try{return await U.send(new _({Bucket:this.options.bucket,Key:W})),!0}catch(J){let X=J instanceof Error?J.name:"";if(X==="NotFound"||X==="NoSuchKey"||X==="NotFoundError")return!1;throw J}}}function S5($,_){if($.storage.type==="s3"){if(!$.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new KN({bucket:$.storage.s3.bucket,prefix:$.storage.s3.prefix,region:$.storage.s3.region,profile:$.storage.s3.profile,max_attempts:$.storage.s3.max_attempts,server_side_encryption:$.storage.s3.server_side_encryption,kms_key_id:$.storage.s3.kms_key_id})}return new FN(_.artifactsDir)}import{createHash as FW}from"crypto";import{spawnSync as cy}from"child_process";import{existsSync as x$,readFileSync as ny}from"fs";import{hostname as ly}from"os";import{join as wR,resolve as dR}from"path";import{createHash as IP,randomUUID as gP}from"crypto";import{createHash as jk,randomUUID as Dk}from"crypto";import{existsSync as v5,readdirSync as zk}from"fs";import{join as fN}from"path";import{pathToFileURL as qk}from"url";import{existsSync as _k,mkdirSync as Uk,readFileSync as Jk,unlinkSync as Wk,writeFileSync as Xk}from"fs";import{homedir as Gk}from"os";import{dirname as Qk,join as bN}from"path";var Z5="https://knowledge.md";function J4($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U==="/api"||U==="/api/v1")_.pathname="/";else if(U.endsWith("/api/v1"))_.pathname=U.slice(0,-7)||"/";else if(U.endsWith("/api"))_.pathname=U.slice(0,-4)||"/";return _.toString().replace(/\/+$/,"")}function YX($=process.env){if($.HASNA_KNOWLEDGE_AUTH_PATH)return $.HASNA_KNOWLEDGE_AUTH_PATH;let _=$.HASNA_KNOWLEDGE_AUTH_DIR??bN(Gk(),".hasna","knowledge");return bN(_,"auth.json")}function MN($,_=process.env){return J4(_.KNOWLEDGE_API_URL??$?.hosted?.api_url??Z5)}function IN($=process.env){try{let _=YX($);if(!_k(_))return null;let U=JSON.parse(Jk(_,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function gN($,_=process.env){let U=YX(_),W={...$,api_url:$.api_url?J4($.api_url):void 0,created_at:$.created_at??new Date().toISOString()};return Uk(Qk(U),{recursive:!0,mode:448}),Xk(U,`${JSON.stringify(W,null,2)} +`,{mode:384}),W}function wN($=process.env){try{return Wk(YX($)),!0}catch{return!1}}function Yk($=process.env){if($.KNOWLEDGE_API_KEY)return{apiKey:$.KNOWLEDGE_API_KEY,source:"env"};if($.HASNA_KNOWLEDGE_API_KEY)return{apiKey:$.HASNA_KNOWLEDGE_API_KEY,source:"env"};let _=IN($);return _?.api_key?{apiKey:_.api_key,source:"file"}:{apiKey:null,source:"none"}}function kN($,_=process.env){let U=IN(_),W=Yk(_),J=_.KNOWLEDGE_API_URL?MN($,_):U?.api_url?J4(U.api_url):MN($,_);return{authenticated:Boolean(W.apiKey),source:W.source,api_url:J,auth_path:YX(_),email:W.source==="file"?U?.email??null:null,org_id:W.source==="file"?U?.org_id??null:null,org_slug:W.source==="file"?U?.org_slug??null:null,user_id:W.source==="file"?U?.user_id??null:null,api_key_present:Boolean(W.apiKey)}}var PN=2;var CN=[{kind:"schema",prefix:"schemas/",description:"Machine-readable agent schemas and source rules."},{kind:"index",prefix:"indexes/",description:"Small orientation indexes and future shard manifests."},{kind:"log",prefix:"logs/",description:"Append-only JSONL run and wiki-maintenance log partitions."},{kind:"run",prefix:"runs/",description:"Prompt/tool/cost ledgers and generated output records."},{kind:"wiki_page",prefix:"wiki/",description:"Generated cited Markdown pages, not raw source files."},{kind:"export",prefix:"exports/",description:"Portable exports and snapshots of derived knowledge state."}],Ok=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function TN($){let _=[];if(v5(fN($.home,"cloud.env")))_.push("cloud.env");if(v5(fN($.home,"migration-exports")))_.push("migration-exports");if(v5($.home)){for(let U of zk($.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))_.push(U)}return _}function O2($){let _=typeof $==="string"?Buffer.from($):Buffer.from($);return{hash:`sha256:${jk("sha256").update(_).digest("hex")}`,size_bytes:_.byteLength}}function SN($){return CN.find((U)=>$.startsWith(U.prefix))?.kind??"artifact"}function jX($,_,U="global"){let W=y5($,_),J=$.storage.s3??null,X=J?.prefix?.replace(/^\/+|\/+$/g,"")??"",G=J?`s3://${J.bucket}/${X?`${X}/`:""}`:"",Q=S$.s3.prefix.replace(/^\/+|\/+$/g,""),Y=`s3://${S$.s3.bucket}/${Q}/`,j=$.storage.type==="s3"&&J?.bucket===S$.s3.bucket&&(J.region??null)===S$.s3.region;return{scope:U,mode:$.mode,storage_type:$.storage.type,workspace_home:_.home,local_layout:{app_path:n6,config_path:_.configPath,json_store_path:_.jsonStorePath,knowledge_db_path:_.knowledgeDbPath,directories:{artifacts:_.artifactsDir,cache:_.cacheDir,exports:_.exportsDir,indexes:_.indexesDir,logs:_.logsDir,runs:_.runsDir,schemas:_.schemasDir,wiki:_.wikiDir}},artifact_store:{type:$.storage.type,artifacts_root:$.storage.artifacts_root,uri_prefix:$.storage.type==="s3"?G:qk(`${_.artifactsDir}/`).href,s3:J?{bucket:J.bucket,prefix:X,region:J.region??null,profile:J.profile??null,server_side_encryption:J.server_side_encryption??null,kms_key_configured:Boolean(J.kms_key_id)}:null},canonical_example:{division:S$.division,app_type:S$.app_type,app:S$.app,env:S$.env,active:j,local_path:S$.local_path,s3:{bucket:S$.s3.bucket,region:S$.s3.region,profile:S$.s3.profile,prefix:Q,uri_prefix:Y,server_side_encryption:S$.s3.server_side_encryption},secrets:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds,future_rds:S$.secrets.future_rds},evidence_doc:S$.evidence_doc},hosted:{enabled:$.mode==="hosted",api_url:J4($.hosted?.api_url??Z5),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:PN,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:Ok,forbidden_workspace_files_present:TN(_),runtime_env_keys:["HASNA_KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_DATABASE_URL","KNOWLEDGE_DATABASE_URL"],secret_ref_authority:"open-secrets",approved_secret_refs:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds},db_url_rotation_decision:{status:"blocked_without_secret_authority",reason:"No live secret mutation authority is available in @hasna/knowledge. Rotate the DB URL only through the approved secret authority if separate evidence proves the URL propagated to backups, exports, sync bundles, reports, or copied artifacts.",authority_required:!0}},source_ownership:{owner:"open-files",preferred_ref:$.sources.preferred_ref,allowed_schemes:$.sources.allowed_schemes,raw_source_bytes_stored_in_open_knowledge:!1,stores:["source refs","source revisions and hashes","citation spans","redacted extracted chunks","embeddings","generated wiki artifacts","indexes","run ledgers"],does_not_store:["raw open-files bytes","S3 object credentials","connector secrets","hosted tenant ownership state"]},private_fleet_boundary:{manifest_authority:"open-machines",source_ref_authority:"open-files",secret_ref_authority:"open-secrets",raw_private_manifest_bytes_stored_in_open_knowledge:!1,accepted_source_ref_schemes:$.sources.allowed_schemes.filter((O)=>["open-files","s3","file"].includes(O)),stores:["source refs for private manifests","redacted setup decisions","runbook summaries","citation spans into approved knowledge sources","machine setup evidence hashes"],does_not_store:["private fleet manifests","machine hostnames","machine serial numbers","sudo passwords","VNC passwords","SSH private keys","GitHub App private keys","secret values"],example_manifest_ref:"open-files://source/private-fleet-manifest/path/machines.json"},generated_artifacts:CN,scalability:{catalog:"knowledge.db tracks sources, revisions, chunks, citations, indexes, runs, and storage_objects.",indexes:"Indexes are cataloged DB rows plus sharded artifacts, not one giant index.md.",logs:"Logs use dated JSONL partitions under logs/yyyy/mm/dd.jsonl.",markdown:"Markdown pages are the readable wiki layer over DB/object-store state."},warnings:W.warnings}}function y5($,_){let U=[],W=[],J=TN(_);for(let X of J)U.push(`Forbidden Knowledge workspace file present: ${X}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!_.home.endsWith(n6))W.push(`Workspace home does not end with ${n6}: ${_.home}`);if($.storage.type==="s3"){if(!$.storage.s3?.bucket)U.push("storage.s3.bucket is required when storage.type is s3.");if(!$.storage.s3?.prefix)W.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if($.mode==="local")W.push("storage.type is s3 while mode is local; this is valid for BYO S3, but hosted wrappers should set mode to hosted.")}if($.storage.type==="local"&&$.storage.s3)W.push("storage.s3 is configured but ignored while storage.type is local.");if($.sources.preferred_ref!=="open-files")W.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!$.sources.allowed_schemes.includes("open-files"))U.push("sources.allowed_schemes must include open-files.");if($.mode==="hosted"&&$.hosted?.api_url)try{J4($.hosted.api_url)}catch{U.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:U.length===0,errors:U,warnings:W}}function W4($,_,U=new Date){let W=U.toISOString(),J=$.prepare(` INSERT INTO storage_objects ( id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json, created_at, updated_at ) @@ -525,49 +525,49 @@ COMMIT; size_bytes = excluded.size_bytes, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);$.transaction((G)=>{for(let Q of G){let Y={key:Q.key,...Q.modified_at?{artifact_modified_at:Q.modified_at}:{},...Q.metadata??{}};J.run(Dk(),Q.uri,Q.kind,Q.content_type??null,Q.hash??null,Q.size_bytes??null,JSON.stringify(Y),W,W)}})(_)}function yG($){return["deleted","stale","invalidated","reindex_required"].includes(($??"").toLowerCase())}function S4($){let _=$.status??null;return{source_owner:"open-files",source_ref:$.source_ref??null,source_uri:$.source_uri??null,source_kind:$.source_kind??null,source_revision_id:$.source_revision_id??null,revision:$.revision??null,hash:$.hash??null,chunk_id:$.chunk_id??null,start_offset:$.start_offset??null,end_offset:$.end_offset??null,status:_,read_only:!0,citation_required:!0,resolver:$.resolver??null,stale:yG(_)}}function D6($){return{source_owner:"open-files",generated_from:$.generated_from,artifact_key:$.artifact_key,source_refs:$.source_refs??[],read_only_sources:!0,citation_required:$.citation_required??!0,raw_source_bytes_stored_in_open_knowledge:!1}}function ZN($,_){return{...$,provenance:_}}import{createHash as Hf}from"crypto";import{existsSync as Vf,readFileSync as Rf}from"fs";import{basename as qX}from"path";import{createHash as mk}from"crypto";import{existsSync as uk,readFileSync as dk}from"fs";import{basename as nk}from"path";import{fileURLToPath as Lk}from"url";function vN($,_){if(!$)throw Error(_);return $}function Nk($){let U=$.slice(13).split("/").filter(Boolean),W=U[0];if(W!=="file"&&W!=="source")throw Error("Invalid open-files ref. Expected open-files://file/<id>, open-files://file/<id>/revision/<revision_id>, or open-files://source/<id>/path/<path>.");let J=vN(U[1],"Invalid open-files ref. Missing id.");if(W==="file"){if(U.length===2)return{kind:"open-files",uri:$,entity:W,id:J};if(U[2]==="revision"&&U[3]&&U.length===4)return{kind:"open-files",uri:$,entity:W,id:J,revision_id:decodeURIComponent(U[3])};throw Error("Invalid open-files file ref. Expected open-files://file/<id>/revision/<revision_id>.")}let X=U.indexOf("path"),G=X>=0?decodeURIComponent(U.slice(X+1).join("/")):void 0;return{kind:"open-files",uri:$,entity:W,id:J,path:G}}function Bk($){let _=new URL($),U=vN(_.hostname,"Invalid s3 ref. Missing bucket."),W=decodeURIComponent(_.pathname.replace(/^\/+/,""));if(!W)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:$,bucket:U,key:W}}function Hk($){return{kind:"file",uri:$,path:Lk($)}}function Vk($){let _=new URL($);return{kind:"web",uri:$,url:_.toString()}}function i_($){if($.startsWith("open-files://"))return Nk($);if($.startsWith("s3://"))return Bk($);if($.startsWith("file://"))return Hk($);if($.startsWith("https://")||$.startsWith("http://"))return Vk($);throw Error(`Unsupported source ref scheme: ${$}`)}function yN($,_=i_($)){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function hN($){let _=i_($);return _.kind==="open-files"&&_.entity==="file"?_.revision_id??null:null}import{createHash as Rk,randomUUID as xG}from"crypto";import{relative as Ak,resolve as mN,sep as bk}from"path";function xN($){let _=process.env[$];return _==="1"||_==="true"||_==="yes"}function uN($,_){let U=$,W=new Set(U.safety?.network?.allowed_s3_buckets??[]);if($.storage.type==="s3"&&$.storage.s3?.bucket)W.add($.storage.s3.bucket);if(process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS)for(let J of process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.split(",").map((X)=>X.trim()).filter(Boolean))W.add(J);return{mode:$.mode,allowWriteRoots:[_.home,_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir].map((J)=>mN(J)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??xN("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??xN("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...W].sort()},redaction:{enabled:U.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:U.safety?.approvals?.generated_writes_require_approval??!0}}}function Fk($,_){let U=Ak($,_);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${bk}`)}function X4($,_){let U=mN($);if(!_.allowWriteRoots.some((W)=>Fk(W,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${$}`)}function Z4($,_){let W=new URL($).hostname;if(!_.network.s3ReadsEnabled)throw Error("Safety policy denied S3 read. Set safety.network.s3_reads_enabled=true or HASNA_KNOWLEDGE_ALLOW_S3_READS=1.");if(!_.network.allowedS3Buckets.includes(W))throw Error(`Safety policy denied S3 bucket "${W}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function L2($){if(!$.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var dN=[{type:"private_key_block",severity:"high",regex:/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,replacement:"[REDACTED:private_key_block]"},{type:"secret_assignment",severity:"high",regex:/\b(?:api[_-]?key|secret|token|password)\s*[:=]\s*['"]?[^'"\s]{8,}/gi,replacement:"[REDACTED:secret_assignment]"},{type:"openai_api_key",severity:"high",regex:/\bsk-[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:openai_api_key]"},{type:"anthropic_api_key",severity:"high",regex:new RegExp(`\\b${["sk","ant"].join("-")}-[A-Za-z0-9_-]{20,}\\b`,"g"),replacement:"[REDACTED:anthropic_api_key]"},{type:"aws_access_key_id",severity:"high",regex:/\bA(?:KIA|SIA)[A-Z0-9]{16}\b/g,replacement:"[REDACTED:aws_access_key_id]"}];function w_($,_){if(_&&!_.redaction.enabled)return{text:$,findings:[]};let U=$,W=[];for(let J of dN)U=U.replace(J.regex,(X,...G)=>{let Q=typeof G.at(-2)==="number"?G.at(-2):U.indexOf(X);return W.push({type:J.type,severity:J.severity,start:Math.max(0,Q),end:Math.max(0,Q+X.length)}),J.replacement});return{text:U,findings:W}}function Ek($){return`audit_${Rk("sha256").update(`${$.event_type}\x00${$.action}\x00${$.target_uri??""}\x00${$.created_at??""}\x00${JSON.stringify($.metadata??{})}\x00${xG()}`).digest("hex").slice(0,24)}`}function hG($,_=0){if(_>6)return"[Truncated:depth]";if(typeof $==="string")return $.length>1000?`${$.slice(0,1000)}...[Truncated:${$.length-1000} chars]`:$;if(typeof $==="number"||typeof $==="boolean"||$===null||$===void 0)return $;if(Array.isArray($)){let U=$.slice(0,25).map((W)=>hG(W,_+1));if($.length>25)U.push(`[Truncated:${$.length-25} items]`);return U}if(typeof $==="object"){let U={},W=Object.entries($).slice(0,50);for(let[X,G]of W)U[X]=hG(G,_+1);let J=Object.keys($).length;if(J>W.length)U.__truncated_keys=J-W.length;return U}return String($)}function a$($,_){let U=_.created_at??new Date().toISOString(),W=hG(_.metadata??{}),J=Ek({..._,metadata:W,created_at:U});return $.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?)`,[J,_.event_type,_.action,_.target_uri??null,_.decision,JSON.stringify(W),U]),J}function jX($,_){let U=_.created_at??new Date().toISOString();for(let W of _.findings)$.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${xG()}`,_.source_uri??null,_.run_id??null,W.severity,W.type,JSON.stringify({..._.metadata??{},start:W.start,end:W.end}),U]);return _.findings.length}function nN($,_){let U=_.created_at??new Date().toISOString(),W=`approval_${xG()}`;return $.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.action,_.target_uri??null,"approved",_.reason??null,_.approved_by??"local-cli",JSON.stringify(_.metadata??{}),U,U]),{id:W,status:"approved"}}var Kk=[{type:"github_token",severity:"high",regex:/\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_token]"},{type:"github_pat_token",severity:"high",regex:/\bgithub[_]pat[_][A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_pat_token]"},{type:"package_registry_token",severity:"high",regex:/\bnpm_[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:package_registry_token]"},{type:"context7_token",severity:"high",regex:/\bctx7sk[-][A-Za-z0-9_-]{10,}\b/g,replacement:"[REDACTED:context7_token]"},{type:"xai_api_key",severity:"high",regex:/\bxai[-][A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:xai_api_key]"},{type:"google_api_key",severity:"high",regex:/\bAIza[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:google_api_key]"}];dN.push(...Kk);function Mk($,_,U){let W=$.query(`SELECT id FROM approval_gates + `);$.transaction((G)=>{for(let Q of G){let Y={key:Q.key,...Q.modified_at?{artifact_modified_at:Q.modified_at}:{},...Q.metadata??{}};J.run(Dk(),Q.uri,Q.kind,Q.content_type??null,Q.hash??null,Q.size_bytes??null,JSON.stringify(Y),W,W)}})(_)}function h5($){return["deleted","stale","invalidated","reindex_required"].includes(($??"").toLowerCase())}function S4($){let _=$.status??null;return{source_owner:"open-files",source_ref:$.source_ref??null,source_uri:$.source_uri??null,source_kind:$.source_kind??null,source_revision_id:$.source_revision_id??null,revision:$.revision??null,hash:$.hash??null,chunk_id:$.chunk_id??null,start_offset:$.start_offset??null,end_offset:$.end_offset??null,status:_,read_only:!0,citation_required:!0,resolver:$.resolver??null,stale:h5(_)}}function D6($){return{source_owner:"open-files",generated_from:$.generated_from,artifact_key:$.artifact_key,source_refs:$.source_refs??[],read_only_sources:!0,citation_required:$.citation_required??!0,raw_source_bytes_stored_in_open_knowledge:!1}}function ZN($,_){return{...$,provenance:_}}import{createHash as HP}from"crypto";import{existsSync as VP,readFileSync as RP}from"fs";import{basename as OX}from"path";import{createHash as mk}from"crypto";import{existsSync as uk,readFileSync as dk}from"fs";import{basename as ck}from"path";import{fileURLToPath as Lk}from"url";function vN($,_){if(!$)throw Error(_);return $}function Nk($){let U=$.slice(13).split("/").filter(Boolean),W=U[0];if(W!=="file"&&W!=="source")throw Error("Invalid open-files ref. Expected open-files://file/<id>, open-files://file/<id>/revision/<revision_id>, or open-files://source/<id>/path/<path>.");let J=vN(U[1],"Invalid open-files ref. Missing id.");if(W==="file"){if(U.length===2)return{kind:"open-files",uri:$,entity:W,id:J};if(U[2]==="revision"&&U[3]&&U.length===4)return{kind:"open-files",uri:$,entity:W,id:J,revision_id:decodeURIComponent(U[3])};throw Error("Invalid open-files file ref. Expected open-files://file/<id>/revision/<revision_id>.")}let X=U.indexOf("path"),G=X>=0?decodeURIComponent(U.slice(X+1).join("/")):void 0;return{kind:"open-files",uri:$,entity:W,id:J,path:G}}function Bk($){let _=new URL($),U=vN(_.hostname,"Invalid s3 ref. Missing bucket."),W=decodeURIComponent(_.pathname.replace(/^\/+/,""));if(!W)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:$,bucket:U,key:W}}function Hk($){return{kind:"file",uri:$,path:Lk($)}}function Vk($){let _=new URL($);return{kind:"web",uri:$,url:_.toString()}}function r_($){if($.startsWith("open-files://"))return Nk($);if($.startsWith("s3://"))return Bk($);if($.startsWith("file://"))return Hk($);if($.startsWith("https://")||$.startsWith("http://"))return Vk($);throw Error(`Unsupported source ref scheme: ${$}`)}function yN($,_=r_($)){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function hN($){let _=r_($);return _.kind==="open-files"&&_.entity==="file"?_.revision_id??null:null}import{createHash as Rk,randomUUID as m5}from"crypto";import{relative as Ak,resolve as mN,sep as Ek}from"path";function xN($){let _=process.env[$];return _==="1"||_==="true"||_==="yes"}function uN($,_){let U=$,W=new Set(U.safety?.network?.allowed_s3_buckets??[]);if($.storage.type==="s3"&&$.storage.s3?.bucket)W.add($.storage.s3.bucket);if(process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS)for(let J of process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.split(",").map((X)=>X.trim()).filter(Boolean))W.add(J);return{mode:$.mode,allowWriteRoots:[_.home,_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir].map((J)=>mN(J)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??xN("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??xN("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...W].sort()},redaction:{enabled:U.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:U.safety?.approvals?.generated_writes_require_approval??!0}}}function Fk($,_){let U=Ak($,_);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${Ek}`)}function X4($,_){let U=mN($);if(!_.allowWriteRoots.some((W)=>Fk(W,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${$}`)}function Z4($,_){let W=new URL($).hostname;if(!_.network.s3ReadsEnabled)throw Error("Safety policy denied S3 read. Set safety.network.s3_reads_enabled=true or HASNA_KNOWLEDGE_ALLOW_S3_READS=1.");if(!_.network.allowedS3Buckets.includes(W))throw Error(`Safety policy denied S3 bucket "${W}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function L2($){if(!$.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var dN=[{type:"private_key_block",severity:"high",regex:/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,replacement:"[REDACTED:private_key_block]"},{type:"secret_assignment",severity:"high",regex:/\b(?:api[_-]?key|secret|token|password)\s*[:=]\s*['"]?[^'"\s]{8,}/gi,replacement:"[REDACTED:secret_assignment]"},{type:"openai_api_key",severity:"high",regex:/\bsk-[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:openai_api_key]"},{type:"anthropic_api_key",severity:"high",regex:new RegExp(`\\b${["sk","ant"].join("-")}-[A-Za-z0-9_-]{20,}\\b`,"g"),replacement:"[REDACTED:anthropic_api_key]"},{type:"aws_access_key_id",severity:"high",regex:/\bA(?:KIA|SIA)[A-Z0-9]{16}\b/g,replacement:"[REDACTED:aws_access_key_id]"}];function w_($,_){if(_&&!_.redaction.enabled)return{text:$,findings:[]};let U=$,W=[];for(let J of dN)U=U.replace(J.regex,(X,...G)=>{let Q=typeof G.at(-2)==="number"?G.at(-2):U.indexOf(X);return W.push({type:J.type,severity:J.severity,start:Math.max(0,Q),end:Math.max(0,Q+X.length)}),J.replacement});return{text:U,findings:W}}function Kk($){return`audit_${Rk("sha256").update(`${$.event_type}\x00${$.action}\x00${$.target_uri??""}\x00${$.created_at??""}\x00${JSON.stringify($.metadata??{})}\x00${m5()}`).digest("hex").slice(0,24)}`}function x5($,_=0){if(_>6)return"[Truncated:depth]";if(typeof $==="string")return $.length>1000?`${$.slice(0,1000)}...[Truncated:${$.length-1000} chars]`:$;if(typeof $==="number"||typeof $==="boolean"||$===null||$===void 0)return $;if(Array.isArray($)){let U=$.slice(0,25).map((W)=>x5(W,_+1));if($.length>25)U.push(`[Truncated:${$.length-25} items]`);return U}if(typeof $==="object"){let U={},W=Object.entries($).slice(0,50);for(let[X,G]of W)U[X]=x5(G,_+1);let J=Object.keys($).length;if(J>W.length)U.__truncated_keys=J-W.length;return U}return String($)}function a$($,_){let U=_.created_at??new Date().toISOString(),W=x5(_.metadata??{}),J=Kk({..._,metadata:W,created_at:U});return $.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?)`,[J,_.event_type,_.action,_.target_uri??null,_.decision,JSON.stringify(W),U]),J}function DX($,_){let U=_.created_at??new Date().toISOString();for(let W of _.findings)$.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${m5()}`,_.source_uri??null,_.run_id??null,W.severity,W.type,JSON.stringify({..._.metadata??{},start:W.start,end:W.end}),U]);return _.findings.length}function cN($,_){let U=_.created_at??new Date().toISOString(),W=`approval_${m5()}`;return $.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.action,_.target_uri??null,"approved",_.reason??null,_.approved_by??"local-cli",JSON.stringify(_.metadata??{}),U,U]),{id:W,status:"approved"}}var bk=[{type:"github_token",severity:"high",regex:/\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_token]"},{type:"github_pat_token",severity:"high",regex:/\bgithub[_]pat[_][A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_pat_token]"},{type:"package_registry_token",severity:"high",regex:/\bnpm_[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:package_registry_token]"},{type:"context7_token",severity:"high",regex:/\bctx7sk[-][A-Za-z0-9_-]{10,}\b/g,replacement:"[REDACTED:context7_token]"},{type:"xai_api_key",severity:"high",regex:/\bxai[-][A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:xai_api_key]"},{type:"google_api_key",severity:"high",regex:/\bAIza[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:google_api_key]"}];dN.push(...bk);function Mk($,_,U){let W=$.query(`SELECT id FROM approval_gates WHERE action = ? AND status = 'approved' AND (target_uri IS NULL OR target_uri = ? OR ? IS NULL) - ORDER BY updated_at DESC LIMIT 1`).get(_,U??null,U??null);return Boolean(W)}function cN($,_,U,W){let J=U==="generated_write"&&_.approvals.generatedWritesRequireApproval,X=!J||Mk($,U,W);return{action:U,target_uri:W??null,approval_required:J,approved:X,decision:X?"allow":"requires_approval"}}import{createHash as gk}from"crypto";import{realpathSync as Ik}from"fs";import{homedir as wk,tmpdir as kk}from"os";var K0=String.raw`[^\s"'<>),\]}]`,uG=String.raw`[^/\\\s"'<>]+`,iN=/file:\/\/[^\s"'<>),\]}]+/gi,fk=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,pN=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,oN=new RegExp(String.raw`/(?:home|Users)/${uG}/(?:workspace|Workspace)/${K0}*`,"g"),Pk=[new RegExp(String.raw`/(?:home|Users)/${uG}(?:/${K0}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${K0}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${K0}+`,"g"),new RegExp(String.raw`(?<![A-Za-z0-9])[A-Za-z]:[\\/]${K0}+`,"g"),new RegExp(String.raw`\\\\${uG}\\${K0}+`,"g")],tN=/\b(?:knowledge\.db(?:[-.][A-Za-z0-9_-]+)?|db\.json(?:[-.][A-Za-z0-9_-]+)?|cloud\.env|migration-exports\/[^\s"'<>),\]}]+)\b/gi,aN=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,Ck=new Set(["content_base64"]);function Tk($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Sk($){return $.length>=4&&$!=="/"&&!/^[A-Za-z]:[\\/]?$/.test($)}var lN=null,mG=[];function Zk(){let $=new Set;for(let U of[wk(),kk()]){if(!U)continue;$.add(U);try{$.add(Ik(U))}catch{}}let _=[...$].sort().join("\x00");if(_===lN)return mG;return lN=_,mG=[...$].filter(Sk).sort((U,W)=>W.length-U.length).map((U)=>new RegExp(`${Tk(U)}(?:[/\\\\]${K0}*)?`,"g")),mG}function p_($){return gk("sha256").update($).digest("hex").slice(0,12)}function vk($){return $.length<=80?$:`${$.slice(0,77)}...`}function rN($){return/(?:^|\/)\.hasna(?:\/|$)/i.test($)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test($)||/\bmigration-exports\//i.test($)}function yk($,_,U,W){for(let J of $.matchAll(iN)){let X=J[0];if(!U.allowFileSourceRefs||rN(X))W.push({type:rN(X)?"private_file_uri":"local_file_uri",severity:"high",path:_,preview:vk(X.replace(/^file:\/\/.*/,`[redacted:file-uri:${p_(X)}]`))})}for(let J of $.matchAll(pN))W.push({type:"private_hasna_path",severity:"high",path:_,preview:`[redacted:.hasna:${p_(J[0])}]`});for(let J of $.matchAll(tN))W.push({type:J[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:_,preview:`[redacted:${p_(J[0])}]`});for(let J of $.matchAll(aN))W.push({type:"database_url",severity:"high",path:_,preview:`[redacted:database-url:${p_(J[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let J of $.matchAll(oN))W.push({type:"private_workspace_path",severity:"medium",path:_,preview:`[redacted:workspace:${p_(J[0])}]`})}function hk($,_={},U="$"){let W=[],J=(X,G)=>{if(typeof X==="string"){yk(X,G,_,W);return}if(!X||typeof X!=="object")return;if(Array.isArray(X)){X.forEach((Q,Y)=>J(Q,`${G}[${Y}]`));return}for(let[Q,Y]of Object.entries(X))J(Y,`${G}.${Q}`)};return J($,U),W}function M0($,_={}){let U=hk($,_);if(U.length===0)return;let W=new Map;for(let X of U)W.set(X.type,(W.get(X.type)??0)+1);let J=[...W.entries()].map(([X,G])=>`${X}:${G}`).join(", ");throw Error(`Knowledge private-ref lint failed (${J}). Store open-files/s3 refs or approved runtime secret refs instead of private .hasna, file://, raw DB/export, or cloud.env refs.`)}function xk($){let _=w_($).text.replace(aN,(U)=>`[REDACTED:database-url:${p_(U)}]`).replace(iN,(U)=>`[REDACTED:local-file-uri:${p_(U)}]`).replace(fk,(U)=>`[REDACTED:local-hasna-path:${p_(U)}]`).replace(oN,(U)=>`[REDACTED:private-workspace:${p_(U)}]`);for(let U of[...Zk(),...Pk])_=_.replace(U,(W)=>`[REDACTED:local-path:${p_(W)}]`);return _.replace(pN,(U)=>`[REDACTED:hasna-path:${p_(U)}]`).replace(tN,(U)=>`[REDACTED:private-artifact:${p_(U)}]`)}function o$($){if(typeof $==="string")return xk($);if(!$||typeof $!=="object")return $;if(Array.isArray($))return $.map((U)=>o$(U));let _={};for(let[U,W]of Object.entries($))_[U]=Ck.has(U)?W:o$(W);return _}var ck=20971520,sN=1e4,lk=10;function nG($,_){return`${$}_${mk("sha256").update(_).digest("hex").slice(0,20)}`}function g0($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function k$($){return typeof $==="string"&&$.length>0?$:void 0}function rk($){return typeof $==="number"&&Number.isFinite($)?$:void 0}function ik($){let _=k$($.source_ref)??k$($.source_uri)??k$($.uri);if(_)return _;let U=k$($.file_id);if(U){let X=k$($.revision_id)??k$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=k$($.source_id),J=k$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function pk($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function ok($){let _=k$($.extracted_text)??k$($.text)??k$($.content_text)??k$($.markdown);if(_!==void 0)return _;let U=$.content;return typeof U==="string"?U:null}function tk($){let _=k$($.extracted_text_ref)??k$($.extracted_text_uri)??k$($.text_ref);if(_)return _;let U=g0($.content);return k$(U?.extracted_text_ref)??k$(U?.extracted_text_uri)??null}function ak($){let _=k$($.path);return k$($.title)??k$($.name)??(_?nk(_):null)}function sk($){return k$($.hash)??k$($.checksum)??k$($.sha256)??null}var eN=new Set(["text","content","content_text","extracted_text","markdown","raw","raw_text","raw_bytes","raw_content","raw_body","raw_file","source_raw","source_raw_bytes","source_bytes","source_content","source_body","file_bytes","file_content","content_bytes","content_base64","document_bytes","document_content","document_base64","binary","binary_content","binary_base64","bytes","body","blob","data","payload"]);function $B($){return $.toLowerCase().replace(/[\s-]+/g,"_")}function dG($){if(Array.isArray($))return $.map((W)=>dG(W));let _=g0($);if(!_)return $;let U={};for(let[W,J]of Object.entries(_)){if(eN.has($B(W)))continue;U[W]=dG(J)}return U}function ek($,_,U){return k$($.revision_id)??k$($.revision)??k$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??k$($.updated_at)??"current"}function $f($,_){let U={};for(let[W,J]of Object.entries($)){if(eN.has($B(W)))continue;U[W]=o$(dG(J))}return U.source_ref=_.sourceRef,U.source_uri=_.sourceUri,U.status=_.status,U}function _f($,_,U={}){let W=ik($);M0(W,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let J=i_(W),X=pk(W,J),G=sk($),Q=k$($.status)??"active";return{raw:$,sourceRef:W,sourceUri:X,kind:J.kind,title:ak($),revision:ek($,J,G),hash:G,extractedTextUri:tk($),text:ok($),metadata:$f($,{sourceRef:W,sourceUri:X,status:Q}),acl:$.permissions??$.acl??{},status:Q,updatedAt:k$($.updated_at)??_}}function Uf($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Manifest array parse failed.");return U.map((W)=>{let J=g0(W);if(!J)throw Error("Manifest array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=g0(U);if(!W)throw Error("Manifest object parse failed.");if(Array.isArray(W.items))return W.items.map((J)=>{let X=g0(J);if(!X)throw Error("Manifest items entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=g0(JSON.parse(J));if(!X)throw Error("Manifest JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=g0(JSON.parse(U));if(!W)throw Error("Manifest JSONL entries must be objects.");return W})}async function Jf($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 manifest URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Wf($,_,U,W=ck){let J=$.startsWith("s3://")?await Jf($,_,U):(()=>{if(!uk($))throw Error(`Manifest not found: ${$}`);return dk($,"utf8")})(),X=Buffer.byteLength(J);if(X>W)throw Error(`Manifest input is too large: ${X} bytes exceeds ${W} byte limit.`);return J}function Xf($,_,U){let W=$.replace(/\r\n/g,` + ORDER BY updated_at DESC LIMIT 1`).get(_,U??null,U??null);return Boolean(W)}function nN($,_,U,W){let J=U==="generated_write"&&_.approvals.generatedWritesRequireApproval,X=!J||Mk($,U,W);return{action:U,target_uri:W??null,approval_required:J,approved:X,decision:X?"allow":"requires_approval"}}import{createHash as Ik}from"crypto";import{realpathSync as gk}from"fs";import{homedir as wk,tmpdir as kk}from"os";var b0=String.raw`[^\s"'<>),\]}]`,d5=String.raw`[^/\\\s"'<>]+`,rN=/file:\/\/[^\s"'<>),\]}]+/gi,Pk=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,pN=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,oN=new RegExp(String.raw`/(?:home|Users)/${d5}/(?:workspace|Workspace)/${b0}*`,"g"),fk=[new RegExp(String.raw`/(?:home|Users)/${d5}(?:/${b0}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${b0}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${b0}+`,"g"),new RegExp(String.raw`(?<![A-Za-z0-9])[A-Za-z]:[\\/]${b0}+`,"g"),new RegExp(String.raw`\\\\${d5}\\${b0}+`,"g")],tN=/\b(?:knowledge\.db(?:[-.][A-Za-z0-9_-]+)?|db\.json(?:[-.][A-Za-z0-9_-]+)?|cloud\.env|migration-exports\/[^\s"'<>),\]}]+)\b/gi,aN=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,Ck=new Set(["content_base64"]);function Tk($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Sk($){return $.length>=4&&$!=="/"&&!/^[A-Za-z]:[\\/]?$/.test($)}var lN=null,u5=[];function Zk(){let $=new Set;for(let U of[wk(),kk()]){if(!U)continue;$.add(U);try{$.add(gk(U))}catch{}}let _=[...$].sort().join("\x00");if(_===lN)return u5;return lN=_,u5=[...$].filter(Sk).sort((U,W)=>W.length-U.length).map((U)=>new RegExp(`${Tk(U)}(?:[/\\\\]${b0}*)?`,"g")),u5}function p_($){return Ik("sha256").update($).digest("hex").slice(0,12)}function vk($){return $.length<=80?$:`${$.slice(0,77)}...`}function iN($){return/(?:^|\/)\.hasna(?:\/|$)/i.test($)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test($)||/\bmigration-exports\//i.test($)}function yk($,_,U,W){for(let J of $.matchAll(rN)){let X=J[0];if(!U.allowFileSourceRefs||iN(X))W.push({type:iN(X)?"private_file_uri":"local_file_uri",severity:"high",path:_,preview:vk(X.replace(/^file:\/\/.*/,`[redacted:file-uri:${p_(X)}]`))})}for(let J of $.matchAll(pN))W.push({type:"private_hasna_path",severity:"high",path:_,preview:`[redacted:.hasna:${p_(J[0])}]`});for(let J of $.matchAll(tN))W.push({type:J[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:_,preview:`[redacted:${p_(J[0])}]`});for(let J of $.matchAll(aN))W.push({type:"database_url",severity:"high",path:_,preview:`[redacted:database-url:${p_(J[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let J of $.matchAll(oN))W.push({type:"private_workspace_path",severity:"medium",path:_,preview:`[redacted:workspace:${p_(J[0])}]`})}function hk($,_={},U="$"){let W=[],J=(X,G)=>{if(typeof X==="string"){yk(X,G,_,W);return}if(!X||typeof X!=="object")return;if(Array.isArray(X)){X.forEach((Q,Y)=>J(Q,`${G}[${Y}]`));return}for(let[Q,Y]of Object.entries(X))J(Y,`${G}.${Q}`)};return J($,U),W}function M0($,_={}){let U=hk($,_);if(U.length===0)return;let W=new Map;for(let X of U)W.set(X.type,(W.get(X.type)??0)+1);let J=[...W.entries()].map(([X,G])=>`${X}:${G}`).join(", ");throw Error(`Knowledge private-ref lint failed (${J}). Store open-files/s3 refs or approved runtime secret refs instead of private .hasna, file://, raw DB/export, or cloud.env refs.`)}function xk($){let _=w_($).text.replace(aN,(U)=>`[REDACTED:database-url:${p_(U)}]`).replace(rN,(U)=>`[REDACTED:local-file-uri:${p_(U)}]`).replace(Pk,(U)=>`[REDACTED:local-hasna-path:${p_(U)}]`).replace(oN,(U)=>`[REDACTED:private-workspace:${p_(U)}]`);for(let U of[...Zk(),...fk])_=_.replace(U,(W)=>`[REDACTED:local-path:${p_(W)}]`);return _.replace(pN,(U)=>`[REDACTED:hasna-path:${p_(U)}]`).replace(tN,(U)=>`[REDACTED:private-artifact:${p_(U)}]`)}function o$($){if(typeof $==="string")return xk($);if(!$||typeof $!=="object")return $;if(Array.isArray($))return $.map((U)=>o$(U));let _={};for(let[U,W]of Object.entries($))_[U]=Ck.has(U)?W:o$(W);return _}var nk=20971520,sN=1e4,lk=10;function n5($,_){return`${$}_${mk("sha256").update(_).digest("hex").slice(0,20)}`}function I0($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function k$($){return typeof $==="string"&&$.length>0?$:void 0}function ik($){return typeof $==="number"&&Number.isFinite($)?$:void 0}function rk($){let _=k$($.source_ref)??k$($.source_uri)??k$($.uri);if(_)return _;let U=k$($.file_id);if(U){let X=k$($.revision_id)??k$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=k$($.source_id),J=k$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function pk($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function ok($){let _=k$($.extracted_text)??k$($.text)??k$($.content_text)??k$($.markdown);if(_!==void 0)return _;let U=$.content;return typeof U==="string"?U:null}function tk($){let _=k$($.extracted_text_ref)??k$($.extracted_text_uri)??k$($.text_ref);if(_)return _;let U=I0($.content);return k$(U?.extracted_text_ref)??k$(U?.extracted_text_uri)??null}function ak($){let _=k$($.path);return k$($.title)??k$($.name)??(_?ck(_):null)}function sk($){return k$($.hash)??k$($.checksum)??k$($.sha256)??null}var eN=new Set(["text","content","content_text","extracted_text","markdown","raw","raw_text","raw_bytes","raw_content","raw_body","raw_file","source_raw","source_raw_bytes","source_bytes","source_content","source_body","file_bytes","file_content","content_bytes","content_base64","document_bytes","document_content","document_base64","binary","binary_content","binary_base64","bytes","body","blob","data","payload"]);function $B($){return $.toLowerCase().replace(/[\s-]+/g,"_")}function c5($){if(Array.isArray($))return $.map((W)=>c5(W));let _=I0($);if(!_)return $;let U={};for(let[W,J]of Object.entries(_)){if(eN.has($B(W)))continue;U[W]=c5(J)}return U}function ek($,_,U){return k$($.revision_id)??k$($.revision)??k$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??k$($.updated_at)??"current"}function $P($,_){let U={};for(let[W,J]of Object.entries($)){if(eN.has($B(W)))continue;U[W]=o$(c5(J))}return U.source_ref=_.sourceRef,U.source_uri=_.sourceUri,U.status=_.status,U}function _P($,_,U={}){let W=rk($);M0(W,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let J=r_(W),X=pk(W,J),G=sk($),Q=k$($.status)??"active";return{raw:$,sourceRef:W,sourceUri:X,kind:J.kind,title:ak($),revision:ek($,J,G),hash:G,extractedTextUri:tk($),text:ok($),metadata:$P($,{sourceRef:W,sourceUri:X,status:Q}),acl:$.permissions??$.acl??{},status:Q,updatedAt:k$($.updated_at)??_}}function UP($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Manifest array parse failed.");return U.map((W)=>{let J=I0(W);if(!J)throw Error("Manifest array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=I0(U);if(!W)throw Error("Manifest object parse failed.");if(Array.isArray(W.items))return W.items.map((J)=>{let X=I0(J);if(!X)throw Error("Manifest items entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=I0(JSON.parse(J));if(!X)throw Error("Manifest JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=I0(JSON.parse(U));if(!W)throw Error("Manifest JSONL entries must be objects.");return W})}async function JP($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 manifest URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function WP($,_,U,W=nk){let J=$.startsWith("s3://")?await JP($,_,U):(()=>{if(!uk($))throw Error(`Manifest not found: ${$}`);return dk($,"utf8")})(),X=Buffer.byteLength(J);if(X>W)throw Error(`Manifest input is too large: ${X} bytes exceeds ${W} byte limit.`);return J}function XP($,_,U){let W=$.replace(/\r\n/g,` `);if(!W.trim())return[];let J=[],X=0;while(X<W.length){let G=Math.min(W.length,X+_),Q=G;if(G<W.length){let j=W.lastIndexOf(` -`,G),O=W.lastIndexOf(". ",G),B=Math.max(j,O);if(B>X+Math.floor(_*0.5))Q=B+(B===j?2:1)}let Y=W.slice(X,Q).trim();if(Y)J.push({ordinal:J.length,text:Y,startOffset:X,endOffset:Q});if(Q>=W.length)break;X=Math.max(0,Q-U)}return J}function Gf($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function Qf($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_);for(let W of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[W.id]);return $.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]),U.length}function Yf($,_,U){let W=nG("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`,G),O=W.lastIndexOf(". ",G),B=Math.max(j,O);if(B>X+Math.floor(_*0.5))Q=B+(B===j?2:1)}let Y=W.slice(X,Q).trim();if(Y)J.push({ordinal:J.length,text:Y,startOffset:X,endOffset:Q});if(Q>=W.length)break;X=Math.max(0,Q-U)}return J}function GP($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function QP($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_);for(let W of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[W.id]);return $.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]),U.length}function YP($,_,U){let W=n5("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(uri) DO UPDATE SET kind = excluded.kind, title = excluded.title, metadata_json = excluded.metadata_json, acl_json = excluded.acl_json, - updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify(_.metadata),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source: ${_.sourceUri}`);return J.id}function jf($,_,U,W){let J=nG("rev",`${_}\x00${U.revision}`);$.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) + updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify(_.metadata),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source: ${_.sourceUri}`);return J.id}function jP($,_,U,W){let J=n5("rev",`${_}\x00${U.revision}`);$.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(source_id, revision) DO UPDATE SET hash = excluded.hash, extracted_text_uri = excluded.extracted_text_uri, - metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,U.extractedTextUri,JSON.stringify(U.metadata),W]);let X=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision);if(!X)throw Error(`Failed to upsert source revision: ${U.sourceRef}`);return X.id}function Df($,_,U,W,J,X,G){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let Q=w_(U.text,G);if(Q.findings.length>0)jX($,{source_uri:U.sourceUri,findings:Q.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:W}),a$($,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:Q.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:W});let Y=Xf(Q.text,J,X);for(let j of Y){let O=nG("chk",`${_}\x00${j.ordinal}\x00${j.text}`),B=S4({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,chunk_id:O,start_offset:j.startOffset,end_offset:j.endOffset,status:U.status,resolver:"open-files-read-only"}),V=ZN({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,status:U.status,path:k$(U.raw.path)??null,mime:k$(U.raw.mime)??k$(U.raw.content_type)??null,size:rk(U.raw.size)??null},B);$.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[O,_,"source",j.ordinal,j.text,Gf(j.text),j.startOffset,j.endOffset,JSON.stringify(V),W]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[O,j.text,U.title??"",U.sourceUri])}return{chunksInserted:Y.length,redactions:Q.findings.length}}async function _B($){let _=$.now??new Date;if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await Wf($.input,$.config,$.safetyPolicy,$.maxInputBytes),W=Uf(U),J=$.maxItems??sN;if(W.length>J)throw Error(`Manifest contains too many items: ${W.length} exceeds ${J} item limit.`);return I0({dbPath:$.dbPath,items:W,sourceLabel:$.input,allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:$.safetyPolicy,now:_,maxChunkChars:$.maxChunkChars,chunkOverlapChars:$.chunkOverlapChars,maxItems:$.maxItems})}async function I0($){let _=($.now??new Date).toISOString(),U=$.maxChunkChars??4000,W=$.chunkOverlapChars??200,J=$.maxItems??sN;if(U<500)throw Error("maxChunkChars must be at least 500.");if(W<0||W>=U)throw Error("chunkOverlapChars must be less than maxChunkChars.");if($.items.length>J)throw Error(`Manifest contains too many items: ${$.items.length} exceeds ${J} item limit.`);if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let X=d($.dbPath);try{return X.transaction(()=>{let Q=new Set,Y=new Set,j=0,O=0,B=0,V=0,L=[];a$(X,{event_type:"source_read",action:$.readAction??($.sourceLabel.startsWith("s3://")?"s3_manifest_read":"local_manifest_read"),target_uri:$.sourceLabel,decision:"allow",metadata:{items:$.items.length,read_only:!0},created_at:_});for(let N of $.items){let H=_f(N,_,{allowFileSourceRefs:$.allowFileSourceRefs});if(L.length<lk)L.push({source_ref:H.sourceRef,title:H.title,status:H.status,has_text:Boolean(H.text)});let R=Yf(X,H,_),b=jf(X,R,H,_);if(Q.add(R),Y.add(b),H.text||H.status.toLowerCase()==="deleted")O+=Qf(X,b);let A=Df(X,b,H,_,U,W,$.safetyPolicy);j+=A.chunksInserted,B+=A.redactions}return a$(X,{event_type:"write",action:"knowledge_manifest_ingest",target_uri:$.dbPath,decision:"allow",metadata:{items:$.items.length,sources:Q.size,revisions:Y.size,chunks_inserted:j,redactions:B},created_at:_}),{path:$.sourceLabel,db_path:$.dbPath,items_seen:$.items.length,sources_upserted:Q.size,revisions_upserted:Y.size,chunks_inserted:j,chunks_deleted:O,redactions:B,skipped:V,items_preview:L}})()}finally{X.close()}}function DX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function w0($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function UB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function zf($,_){let U=$.mode;if(typeof U==="string"&&U!=="read_only")throw Error(`Source resolver denied ${_}. Permission mode is ${U}, expected read_only.`);let W=$.denied_purposes;if(Array.isArray(W)&&W.includes(_))throw Error(`Source resolver denied ${_}. Purpose is explicitly denied.`);let J=$.allowed_purposes;if(Array.isArray(J)&&J.length>0&&!J.includes(_))throw Error(`Source resolver denied ${_}. Allowed purposes: ${J.join(", ")}`)}function qf($,_,U){if(!_)return U;try{let W=i_($);if(W.kind==="open-files"&&W.entity==="file")return`${$}/revision/${encodeURIComponent(_.revision)}`}catch{return U}return U}function Of($,_,U){return $.query(`SELECT id, uri, kind, title, metadata_json, acl_json, updated_at + metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,U.extractedTextUri,JSON.stringify(U.metadata),W]);let X=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision);if(!X)throw Error(`Failed to upsert source revision: ${U.sourceRef}`);return X.id}function DP($,_,U,W,J,X,G){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let Q=w_(U.text,G);if(Q.findings.length>0)DX($,{source_uri:U.sourceUri,findings:Q.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:W}),a$($,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:Q.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:W});let Y=XP(Q.text,J,X);for(let j of Y){let O=n5("chk",`${_}\x00${j.ordinal}\x00${j.text}`),B=S4({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,chunk_id:O,start_offset:j.startOffset,end_offset:j.endOffset,status:U.status,resolver:"open-files-read-only"}),V=ZN({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,status:U.status,path:k$(U.raw.path)??null,mime:k$(U.raw.mime)??k$(U.raw.content_type)??null,size:ik(U.raw.size)??null},B);$.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[O,_,"source",j.ordinal,j.text,GP(j.text),j.startOffset,j.endOffset,JSON.stringify(V),W]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[O,j.text,U.title??"",U.sourceUri])}return{chunksInserted:Y.length,redactions:Q.findings.length}}async function _B($){let _=$.now??new Date;if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await WP($.input,$.config,$.safetyPolicy,$.maxInputBytes),W=UP(U),J=$.maxItems??sN;if(W.length>J)throw Error(`Manifest contains too many items: ${W.length} exceeds ${J} item limit.`);return g0({dbPath:$.dbPath,items:W,sourceLabel:$.input,allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:$.safetyPolicy,now:_,maxChunkChars:$.maxChunkChars,chunkOverlapChars:$.chunkOverlapChars,maxItems:$.maxItems})}async function g0($){let _=($.now??new Date).toISOString(),U=$.maxChunkChars??4000,W=$.chunkOverlapChars??200,J=$.maxItems??sN;if(U<500)throw Error("maxChunkChars must be at least 500.");if(W<0||W>=U)throw Error("chunkOverlapChars must be less than maxChunkChars.");if($.items.length>J)throw Error(`Manifest contains too many items: ${$.items.length} exceeds ${J} item limit.`);if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let X=d($.dbPath);try{return X.transaction(()=>{let Q=new Set,Y=new Set,j=0,O=0,B=0,V=0,L=[];a$(X,{event_type:"source_read",action:$.readAction??($.sourceLabel.startsWith("s3://")?"s3_manifest_read":"local_manifest_read"),target_uri:$.sourceLabel,decision:"allow",metadata:{items:$.items.length,read_only:!0},created_at:_});for(let N of $.items){let H=_P(N,_,{allowFileSourceRefs:$.allowFileSourceRefs});if(L.length<lk)L.push({source_ref:H.sourceRef,title:H.title,status:H.status,has_text:Boolean(H.text)});let R=YP(X,H,_),E=jP(X,R,H,_);if(Q.add(R),Y.add(E),H.text||H.status.toLowerCase()==="deleted")O+=QP(X,E);let A=DP(X,E,H,_,U,W,$.safetyPolicy);j+=A.chunksInserted,B+=A.redactions}return a$(X,{event_type:"write",action:"knowledge_manifest_ingest",target_uri:$.dbPath,decision:"allow",metadata:{items:$.items.length,sources:Q.size,revisions:Y.size,chunks_inserted:j,redactions:B},created_at:_}),{path:$.sourceLabel,db_path:$.dbPath,items_seen:$.items.length,sources_upserted:Q.size,revisions_upserted:Y.size,chunks_inserted:j,chunks_deleted:O,redactions:B,skipped:V,items_preview:L}})()}finally{X.close()}}function zX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function w0($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function UB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function zP($,_){let U=$.mode;if(typeof U==="string"&&U!=="read_only")throw Error(`Source resolver denied ${_}. Permission mode is ${U}, expected read_only.`);let W=$.denied_purposes;if(Array.isArray(W)&&W.includes(_))throw Error(`Source resolver denied ${_}. Purpose is explicitly denied.`);let J=$.allowed_purposes;if(Array.isArray(J)&&J.length>0&&!J.includes(_))throw Error(`Source resolver denied ${_}. Allowed purposes: ${J.join(", ")}`)}function qP($,_,U){if(!_)return U;try{let W=r_($);if(W.kind==="open-files"&&W.entity==="file")return`${$}/revision/${encodeURIComponent(_.revision)}`}catch{return U}return U}function OP($,_,U){return $.query(`SELECT id, uri, kind, title, metadata_json, acl_json, updated_at FROM sources WHERE uri = ? OR uri = ? ORDER BY CASE WHEN uri = ? THEN 0 ELSE 1 END - LIMIT 1`).get(_,U,_)??null}function Lf($,_,U){if(U)return $.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get(_,U,_)??null}function LP($,_,U){if(U)return $.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at FROM source_revisions WHERE source_id = ? AND revision = ? LIMIT 1`).get(_,U)??null;return $.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at FROM source_revisions WHERE source_id = ? ORDER BY created_at DESC, revision DESC - LIMIT 1`).get(_)??null}function Nf($,_){if(!_)return 0;return $.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get(_)?.n??0}function Bf($,_,U){if(!_||U<=0)return[];return $.query(`SELECT id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json + LIMIT 1`).get(_)??null}function NP($,_){if(!_)return 0;return $.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get(_)?.n??0}function BP($,_,U){if(!_||U<=0)return[];return $.query(`SELECT id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json FROM chunks WHERE source_revision_id = ? ORDER BY ordinal ASC - LIMIT ?`).all(_,U)}async function zX($){let _=$.purpose??"knowledge_answer",U=Math.max(0,Math.min($.limit??10,100)),W=($.now??new Date).toISOString(),J=i_($.sourceRef),X=yN($.sourceRef,J),G=hN($.sourceRef);if($.safetyPolicy){if(!$.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");X4($.dbPath,$.safetyPolicy)}$$($.dbPath);let Q=d($.dbPath);try{return Q.transaction(()=>{let Y=Of(Q,X,$.sourceRef);if(!Y)return a$(Q,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:X},created_at:W}),{source_ref:$.sourceRef,source_uri:X,purpose:_,read_only:!0,resolved:!1,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:null,revision:null,content:{mime:null,size:null,hash:null,text_available:!1,chunks_total:0,chunks_returned:0,char_count_returned:0,extracted_text_ref:null,bytes_available:!1,bytes_exposed:!1},chunks:[],citations:[]};let j=DX(Y.metadata_json),O=DX(Y.acl_json);try{zf(O,_)}catch(E){throw a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"deny",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,error:E instanceof Error?E.message:String(E)},created_at:W}),E}let B=Lf(Q,Y.id,G),V=DX(B?.metadata_json),L=Nf(Q,B?.id??null),N=Bf(Q,B?.id??null,U),H=qf(Y.uri,B,$.sourceRef),R=N.map((E)=>{let g=DX(E.metadata_json),Z={resolver:"open-files-read-only",mode:"local_catalog",purpose:_,read_only:!0,source_ref:w0(g,["source_ref"])??H,source_uri:Y.uri,source_revision_id:B?.id??null,revision:B?.revision??null,hash:B?.hash??w0(g,["hash"]),chunk_id:E.id,start_offset:E.start_offset,end_offset:E.end_offset,resolved_at:W},k=S4({source_ref:Z.source_ref,source_uri:Z.source_uri,source_kind:Y.kind,source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,chunk_id:E.id,start_offset:E.start_offset,end_offset:E.end_offset,status:w0(g,["status"]),resolver:Z.resolver});return{id:E.id,kind:E.kind,ordinal:E.ordinal,text:E.text,token_count:E.token_count,start_offset:E.start_offset,end_offset:E.end_offset,metadata:g,evidence:Z,provenance:k}}),b=R.map((E)=>({source_ref:E.evidence.source_ref,source_uri:Y.uri,chunk_id:E.id,quote:E.text.slice(0,500),start_offset:E.start_offset,end_offset:E.end_offset,evidence:E.evidence,provenance:E.provenance}));a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,revision:B?.revision??null,chunks_returned:R.length,chunks_total:L},created_at:W});let A=w0(j,["mime","content_type"])??w0(V,["mime","content_type"]),M=UB(j,["size","size_bytes"])??UB(V,["size","size_bytes"]);return{source_ref:H,source_uri:Y.uri,purpose:_,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:Y.id,uri:Y.uri,kind:Y.kind,title:Y.title,metadata:j,permissions:O,updated_at:Y.updated_at},revision:B?{id:B.id,revision:B.revision,hash:B.hash,extracted_text_uri:B.extracted_text_uri,metadata:V,created_at:B.created_at,reindex_required:V.reindex_required===!0}:null,content:{mime:A,size:M,hash:B?.hash??w0(j,["hash","checksum","sha256"]),text_available:L>0,chunks_total:L,chunks_returned:R.length,char_count_returned:R.reduce((E,g)=>E+g.text.length,0),extracted_text_ref:B?.extracted_text_uri??w0(V,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:R,citations:b}})()}finally{Q.close()}}function N2($){return`sha256:${Hf("sha256").update($).digest("hex")}`}function Af($){return $.replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` + LIMIT ?`).all(_,U)}async function qX($){let _=$.purpose??"knowledge_answer",U=Math.max(0,Math.min($.limit??10,100)),W=($.now??new Date).toISOString(),J=r_($.sourceRef),X=yN($.sourceRef,J),G=hN($.sourceRef);if($.safetyPolicy){if(!$.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");X4($.dbPath,$.safetyPolicy)}$$($.dbPath);let Q=d($.dbPath);try{return Q.transaction(()=>{let Y=OP(Q,X,$.sourceRef);if(!Y)return a$(Q,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:X},created_at:W}),{source_ref:$.sourceRef,source_uri:X,purpose:_,read_only:!0,resolved:!1,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:null,revision:null,content:{mime:null,size:null,hash:null,text_available:!1,chunks_total:0,chunks_returned:0,char_count_returned:0,extracted_text_ref:null,bytes_available:!1,bytes_exposed:!1},chunks:[],citations:[]};let j=zX(Y.metadata_json),O=zX(Y.acl_json);try{zP(O,_)}catch(K){throw a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"deny",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,error:K instanceof Error?K.message:String(K)},created_at:W}),K}let B=LP(Q,Y.id,G),V=zX(B?.metadata_json),L=NP(Q,B?.id??null),N=BP(Q,B?.id??null,U),H=qP(Y.uri,B,$.sourceRef),R=N.map((K)=>{let I=zX(K.metadata_json),Z={resolver:"open-files-read-only",mode:"local_catalog",purpose:_,read_only:!0,source_ref:w0(I,["source_ref"])??H,source_uri:Y.uri,source_revision_id:B?.id??null,revision:B?.revision??null,hash:B?.hash??w0(I,["hash"]),chunk_id:K.id,start_offset:K.start_offset,end_offset:K.end_offset,resolved_at:W},k=S4({source_ref:Z.source_ref,source_uri:Z.source_uri,source_kind:Y.kind,source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,chunk_id:K.id,start_offset:K.start_offset,end_offset:K.end_offset,status:w0(I,["status"]),resolver:Z.resolver});return{id:K.id,kind:K.kind,ordinal:K.ordinal,text:K.text,token_count:K.token_count,start_offset:K.start_offset,end_offset:K.end_offset,metadata:I,evidence:Z,provenance:k}}),E=R.map((K)=>({source_ref:K.evidence.source_ref,source_uri:Y.uri,chunk_id:K.id,quote:K.text.slice(0,500),start_offset:K.start_offset,end_offset:K.end_offset,evidence:K.evidence,provenance:K.provenance}));a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,revision:B?.revision??null,chunks_returned:R.length,chunks_total:L},created_at:W});let A=w0(j,["mime","content_type"])??w0(V,["mime","content_type"]),M=UB(j,["size","size_bytes"])??UB(V,["size","size_bytes"]);return{source_ref:H,source_uri:Y.uri,purpose:_,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:Y.id,uri:Y.uri,kind:Y.kind,title:Y.title,metadata:j,permissions:O,updated_at:Y.updated_at},revision:B?{id:B.id,revision:B.revision,hash:B.hash,extracted_text_uri:B.extracted_text_uri,metadata:V,created_at:B.created_at,reindex_required:V.reindex_required===!0}:null,content:{mime:A,size:M,hash:B?.hash??w0(j,["hash","checksum","sha256"]),text_available:L>0,chunks_total:L,chunks_returned:R.length,char_count_returned:R.reduce((K,I)=>K+I.text.length,0),extracted_text_ref:B?.extracted_text_uri??w0(V,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:R,citations:E}})()}finally{Q.close()}}function N2($){return`sha256:${HP("sha256").update($).digest("hex")}`}function AP($){return $.replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` `).replace(/\n\s+/g,` -`).replace(/[ \t]{2,}/g," ").trim()}async function bf($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 source URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Ff($,_){if(_)L2(_);let U=await fetch($,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!U.ok)throw Error(`Web source read failed ${U.status}: ${$}`);let W=U.headers.get("content-type"),J=await U.text();return{text:W?.includes("html")?Af(J):J,mime:W}}function OX($){if($.kind==="file")return qX($.path);if($.kind==="s3")return qX($.key);if($.kind==="web")return qX(new URL($.url).pathname)||$.url;return $.path?qX($.path):$.id}async function JB($,_,U){if($.kind==="file"){if(!Vf($.path))throw Error(`Source file not found: ${$.path}`);let W=Rf($.path,"utf8");return{text:W,contentSource:"file",title:OX($),mime:"text/plain",size:W.length,hash:N2(W),revision:null,extractedTextRef:null,metadata:{path:$.path},permissions:{mode:"read_only"}}}if($.kind==="s3"){let W=await bf($.uri,_,U);return{text:W,contentSource:"s3",title:OX($),mime:"text/plain",size:W.length,hash:N2(W),revision:null,extractedTextRef:null,metadata:{bucket:$.bucket,key:$.key},permissions:{mode:"read_only"}}}if($.kind==="web"){let W=await Ff($.url,U);return{text:W.text,contentSource:"web",title:OX($),mime:W.mime,size:W.text.length,hash:N2(W.text),revision:null,extractedTextRef:null,metadata:{url:$.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${$.uri}`)}async function Ef($,_,U){if($.startsWith("open-files://"))throw Error("Open-files extracted text refs require an open-files resolver API. Ingest an open-files manifest with extracted_text or an extracted_text_ref using file://, s3://, or https://.");let W=i_($);return{text:(await JB(W,_,U)).text,contentSource:"extracted_text_ref"}}async function Kf($){let _=await zX({dbPath:$.dbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",limit:100,safetyPolicy:$.safetyPolicy,now:$.now});if(!_.resolved)throw Error("Open-files source is not in the local knowledge catalog. Ingest an open-files manifest first or use the open-files resolver API.");if(_.revision?.extracted_text_uri&&!_.content.text_available){let W=await Ef(_.revision.extracted_text_uri,$.config,$.safetyPolicy);return{text:W.text,contentSource:W.contentSource,title:_.source?.title??null,mime:_.content.mime,size:W.text.length,hash:_.revision.hash??N2(W.text),revision:_.revision.revision,extractedTextRef:_.revision.extracted_text_uri,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}if(_.chunks.length===0)throw Error("Open-files source has no extracted text chunks yet. Ingest an open-files manifest with extracted_text or extracted_text_ref first.");let U=_.chunks.map((W)=>W.text).join(` +`).replace(/[ \t]{2,}/g," ").trim()}async function EP($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 source URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function FP($,_){if(_)L2(_);let U=await _X($,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!U.ok)throw Error(`Web source read failed ${U.status}: ${$}`);let W=U.headers.get("content-type"),J=await U.text();return{text:W?.includes("html")?AP(J):J,mime:W}}function LX($){if($.kind==="file")return OX($.path);if($.kind==="s3")return OX($.key);if($.kind==="web")return OX(new URL($.url).pathname)||$.url;return $.path?OX($.path):$.id}async function JB($,_,U){if($.kind==="file"){if(!VP($.path))throw Error(`Source file not found: ${$.path}`);let W=RP($.path,"utf8");return{text:W,contentSource:"file",title:LX($),mime:"text/plain",size:W.length,hash:N2(W),revision:null,extractedTextRef:null,metadata:{path:$.path},permissions:{mode:"read_only"}}}if($.kind==="s3"){let W=await EP($.uri,_,U);return{text:W,contentSource:"s3",title:LX($),mime:"text/plain",size:W.length,hash:N2(W),revision:null,extractedTextRef:null,metadata:{bucket:$.bucket,key:$.key},permissions:{mode:"read_only"}}}if($.kind==="web"){let W=await FP($.url,U);return{text:W.text,contentSource:"web",title:LX($),mime:W.mime,size:W.text.length,hash:N2(W.text),revision:null,extractedTextRef:null,metadata:{url:$.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${$.uri}`)}async function KP($,_,U){if($.startsWith("open-files://"))throw Error("Open-files extracted text refs require an open-files resolver API. Ingest an open-files manifest with extracted_text or an extracted_text_ref using file://, s3://, or https://.");let W=r_($);return{text:(await JB(W,_,U)).text,contentSource:"extracted_text_ref"}}async function bP($){let _=await qX({dbPath:$.dbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",limit:100,safetyPolicy:$.safetyPolicy,now:$.now});if(!_.resolved)throw Error("Open-files source is not in the local knowledge catalog. Ingest an open-files manifest first or use the open-files resolver API.");if(_.revision?.extracted_text_uri&&!_.content.text_available){let W=await KP(_.revision.extracted_text_uri,$.config,$.safetyPolicy);return{text:W.text,contentSource:W.contentSource,title:_.source?.title??null,mime:_.content.mime,size:W.text.length,hash:_.revision.hash??N2(W.text),revision:_.revision.revision,extractedTextRef:_.revision.extracted_text_uri,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}if(_.chunks.length===0)throw Error("Open-files source has no extracted text chunks yet. Ingest an open-files manifest with extracted_text or extracted_text_ref first.");let U=_.chunks.map((W)=>W.text).join(` -`);return{text:U,contentSource:"catalog_chunks",title:_.source?.title??null,mime:_.content.mime,size:U.length,hash:_.revision?.hash??N2(U),revision:_.revision?.revision??null,extractedTextRef:_.revision?.extracted_text_uri??null,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}function Mf($,_,U,W){let J=U.hash??N2(U.text),X={...o$(U.metadata),source_ref:$,content_source:U.contentSource,read_only:!0},G={source_ref:$,name:U.title??OX(_),mime:U.mime??"text/plain",size:U.size??U.text.length,hash:J,revision:U.revision??J,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[W],...U.permissions},metadata:X,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if(_.kind==="open-files"){if(_.entity==="file")G.file_id=_.id;if(_.entity==="source")G.source_id=_.id,G.path=_.path}if(_.kind==="file")G.path=_.path;if(_.kind==="s3")G.path=_.key;if(_.kind==="web")G.url=_.url;return G}async function LX($){let _=$.purpose??"knowledge_index";M0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1});let U=i_($.sourceRef),W=U.kind==="open-files"?await Kf($):await JB(U,$.config,$.safetyPolicy),J=Mf($.sourceRef,U,W,_);return{...await I0({dbPath:$.dbPath,items:[J],sourceLabel:$.sourceRef,readAction:"source_ref_ingest_read",allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1,safetyPolicy:$.safetyPolicy,now:$.now}),source_ref:$.sourceRef,content_source:W.contentSource,read_only:!0,hash:String(J.hash)}}function NX($,_){return`${$}_${gf("sha256").update(_).digest("hex").slice(0,20)}`}function wf($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function cG($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function kf($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function WB($){return Array.from(new Set(($??[]).map((_)=>_.trim()).filter(Boolean)))}function ff($){let _=$.path?.trim()||`wiki/notes/${wf($.title)}.md`,U=_.replace(/\\/g,"/");if(!U.startsWith("wiki/notes/")||!U.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(U.startsWith("/")||U.split("/").some((W)=>W===".."||W==="."))throw Error(`Invalid app wiki note path: ${_}`);return U}function Pf($){let _=[`# ${$.title}`,"",$.content.trim(),"",`Updated: ${$.now}`];if($.tags.length>0)_.push("","Tags:",...$.tags.map((U)=>`- ${U}`));if($.sourceRefs.length>0)_.push("","Source refs:",...$.sourceRefs.map((U)=>`- ${U}`));return _.push(""),_.join(` -`)}async function XB($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...O2(_.body),metadata:{..._.metadata??{}}}}async function Cf($,_,U){let W=String(U.getUTCFullYear()),J=String(U.getUTCMonth()+1).padStart(2,"0"),X=String(U.getUTCDate()).padStart(2,"0"),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return XB($,{key:G,body:`${Q}${JSON.stringify(_)} -`,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"app_wiki_log"),artifact_key:G})}})}function Tf($){return{...o$($.metadata??{}),app_wiki:!0,note:!0,artifact_key:$.path,tags:$.tags,source_refs:$.sourceRefs,provenance:$.provenance}}function lG($){let _=cG($.metadata_json);return{id:$.id,path:$.path,title:$.title,artifact_uri:$.artifact_uri,content_hash:$.content_hash,tags:Array.isArray(_.tags)?_.tags.filter((U)=>typeof U==="string"):[],source_refs:Array.isArray(_.source_refs)?_.source_refs.filter((U)=>typeof U==="string"):[],created_at:$.created_at,updated_at:$.updated_at}}function Sf($,_){return _.map((U)=>{let W=$.query(`SELECT +`);return{text:U,contentSource:"catalog_chunks",title:_.source?.title??null,mime:_.content.mime,size:U.length,hash:_.revision?.hash??N2(U),revision:_.revision?.revision??null,extractedTextRef:_.revision?.extracted_text_uri??null,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}function MP($,_,U,W){let J=U.hash??N2(U.text),X={...o$(U.metadata),source_ref:$,content_source:U.contentSource,read_only:!0},G={source_ref:$,name:U.title??LX(_),mime:U.mime??"text/plain",size:U.size??U.text.length,hash:J,revision:U.revision??J,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[W],...U.permissions},metadata:X,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if(_.kind==="open-files"){if(_.entity==="file")G.file_id=_.id;if(_.entity==="source")G.source_id=_.id,G.path=_.path}if(_.kind==="file")G.path=_.path;if(_.kind==="s3")G.path=_.key;if(_.kind==="web")G.url=_.url;return G}async function NX($){let _=$.purpose??"knowledge_index";M0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1});let U=r_($.sourceRef),W=U.kind==="open-files"?await bP($):await JB(U,$.config,$.safetyPolicy),J=MP($.sourceRef,U,W,_);return{...await g0({dbPath:$.dbPath,items:[J],sourceLabel:$.sourceRef,readAction:"source_ref_ingest_read",allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1,safetyPolicy:$.safetyPolicy,now:$.now}),source_ref:$.sourceRef,content_source:W.contentSource,read_only:!0,hash:String(J.hash)}}function BX($,_){return`${$}_${IP("sha256").update(_).digest("hex").slice(0,20)}`}function wP($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function l5($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function kP($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function WB($){return Array.from(new Set(($??[]).map((_)=>_.trim()).filter(Boolean)))}function PP($){let _=$.path?.trim()||`wiki/notes/${wP($.title)}.md`,U=_.replace(/\\/g,"/");if(!U.startsWith("wiki/notes/")||!U.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(U.startsWith("/")||U.split("/").some((W)=>W===".."||W==="."))throw Error(`Invalid app wiki note path: ${_}`);return U}function fP($){let _=[`# ${$.title}`,"",$.content.trim(),"",`Updated: ${$.now}`];if($.tags.length>0)_.push("","Tags:",...$.tags.map((U)=>`- ${U}`));if($.sourceRefs.length>0)_.push("","Source refs:",...$.sourceRefs.map((U)=>`- ${U}`));return _.push(""),_.join(` +`)}async function XB($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...O2(_.body),metadata:{..._.metadata??{}}}}async function CP($,_,U){let W=String(U.getUTCFullYear()),J=String(U.getUTCMonth()+1).padStart(2,"0"),X=String(U.getUTCDate()).padStart(2,"0"),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return XB($,{key:G,body:`${Q}${JSON.stringify(_)} +`,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"app_wiki_log"),artifact_key:G})}})}function TP($){return{...o$($.metadata??{}),app_wiki:!0,note:!0,artifact_key:$.path,tags:$.tags,source_refs:$.sourceRefs,provenance:$.provenance}}function i5($){let _=l5($.metadata_json);return{id:$.id,path:$.path,title:$.title,artifact_uri:$.artifact_uri,content_hash:$.content_hash,tags:Array.isArray(_.tags)?_.tags.filter((U)=>typeof U==="string"):[],source_refs:Array.isArray(_.source_refs)?_.source_refs.filter((U)=>typeof U==="string"):[],created_at:$.created_at,updated_at:$.updated_at}}function SP($,_){return _.map((U)=>{let W=$.query(`SELECT s.uri AS source_uri, c.id AS chunk_id, c.text, @@ -581,13 +581,13 @@ COMMIT; LEFT JOIN chunks c ON c.source_revision_id = sr.id WHERE s.uri = ? OR s.metadata_json LIKE ? ORDER BY sr.created_at DESC, c.ordinal ASC - LIMIT 1`).get(U,`%${U}%`),J=cG(W?.metadata_json);return{source_ref:U,source_uri:W?.source_uri??U,chunk_id:W?.chunk_id??null,quote:W?.text?W.text.replace(/\s+/g," ").slice(0,240):null,start_offset:W?.start_offset??null,end_offset:W?.end_offset??null,metadata:{source_ref:U,revision:W?.revision??J.revision,hash:W?.hash??J.hash}}})}function Zf($,_,U,W){$.run("DELETE FROM citations WHERE wiki_page_id = ?",[_]);let J=Sf($,U);for(let X of J)$.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[NX("cit",`${_}\x00${X.source_uri}\x00${X.chunk_id??If()}`),_,X.chunk_id,X.source_uri,X.quote,X.start_offset,X.end_offset,JSON.stringify(X.metadata),W]);return J.length}function vf($,_){$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + LIMIT 1`).get(U,`%${U}%`),J=l5(W?.metadata_json);return{source_ref:U,source_uri:W?.source_uri??U,chunk_id:W?.chunk_id??null,quote:W?.text?W.text.replace(/\s+/g," ").slice(0,240):null,start_offset:W?.start_offset??null,end_offset:W?.end_offset??null,metadata:{source_ref:U,revision:W?.revision??J.revision,hash:W?.hash??J.hash}}})}function ZP($,_,U,W){$.run("DELETE FROM citations WHERE wiki_page_id = ?",[_]);let J=SP($,U);for(let X of J)$.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[BX("cit",`${_}\x00${X.source_uri}\x00${X.chunk_id??gP()}`),_,X.chunk_id,X.source_uri,X.quote,X.start_offset,X.end_offset,JSON.stringify(X.metadata),W]);return J.length}function vP($,_){$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[NX("idx",`app-wiki-note\x00${_.path}`),"app_wiki_note",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash,tags:_.tags,source_refs:_.sourceRefs}),_.now,_.now])}function yf($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[BX("idx",`app-wiki-note\x00${_.path}`),"app_wiki_note",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash,tags:_.tags,source_refs:_.sourceRefs}),_.now,_.now])}function yP($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -595,22 +595,22 @@ COMMIT; content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[_.pageId,_.path,_.title,_.artifactUri,_.contentHash,"active",JSON.stringify(_.metadata),_.now,_.now]);let U=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_.pageId);for(let J of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_.pageId]);let W=NX("chk",`${_.pageId}\x00${_.contentHash}`);$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.pageId,"wiki",0,_.body,kf(_.body),0,_.body.length,JSON.stringify({..._.metadata,artifact_uri:_.artifactUri,content_hash:_.contentHash}),_.now]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[W,_.body,_.title,_.artifactUri])}function oU($){if($.scope==="global"&&$.allowGlobal!==!0)throw Error("Global app-wiki writes require allowGlobal=true or CLI --allow-global.");if($.workspace.home.includes("/.husna/")||$.workspace.home.endsWith("/.husna"))throw Error(`Refusing app-wiki writes to legacy .husna path: ${$.workspace.home}`);if($.workspace.home.includes("/.hasna/apps/knowledge"))throw Error(`Refusing app-wiki writes to legacy .hasna/apps/knowledge path: ${$.workspace.home}`);if($.safetyPolicy)X4($.workspace.knowledgeDbPath,$.safetyPolicy)}async function GB($){oU($);let _=$$($.workspace.knowledgeDbPath),U=d($.workspace.knowledgeDbPath);try{a$(U,{event_type:"write",action:"app_wiki_init",target_uri:$.workspace.home,decision:"allow",metadata:{scope:$.scope,store_type:$.store.type,app_path:".hasna/knowledge"},created_at:($.now??new Date).toISOString()})}finally{U.close()}return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,knowledge_db_path:$.workspace.knowledgeDbPath,schema_version:_.schema_version,store_type:$.store.type,global_write_allowed:$.scope==="global"&&$.allowGlobal===!0,message:`Initialized app wiki scope at ${$.workspace.home}`}}async function QB($){oU($);let _=$.now??new Date,U=_.toISOString(),W=WB($.tags),J=WB($.sourceRefs);for(let B of J)M0(B,{allowFileSourceRefs:$.safetyPolicy?.readOnlySourceAccess===!0});let X=ff($),G=Pf({title:$.title,content:$.content,tags:W,sourceRefs:J,now:U}),Q=D6({generated_from:"app_wiki_note",artifact_key:X,source_refs:J}),Y=await XB($.store,{key:X,body:G,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:Q,scope:$.scope,tags:W.join(","),source_refs:J.join(",")}}),j=await Cf($.store,{ts:U,event:"app_wiki_note_written",page_key:X,source_refs:J,tags:W},_);$$($.workspace.knowledgeDbPath);let O=d($.workspace.knowledgeDbPath);try{let B=NX("wiki",X),V=Tf({path:X,tags:W,sourceRefs:J,provenance:Q,metadata:$.metadata});W4(O,[Y,j],_),yf(O,{pageId:B,path:X,title:$.title,artifactUri:Y.uri,contentHash:Y.hash??"",body:G,metadata:V,now:U});let L=Zf(O,B,J,U);vf(O,{title:$.title,path:X,artifactUri:Y.uri,contentHash:Y.hash??"",tags:W,sourceRefs:J,now:U}),a$(O,{event_type:"write",action:"app_wiki_note_write",target_uri:Y.uri,decision:"allow",metadata:{scope:$.scope,path:X,source_refs:J,tags:W},created_at:U});let N=O.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(B);if(!N)throw Error(`Failed to write app wiki note: ${X}`);return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,note:lG(N),artifact_uri:Y.uri,content_hash:Y.hash??"",citations_written:L,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${X}`}}finally{O.close()}}function YB($){let _=Math.max(1,Math.min($.limit??50,200));if(!$.dbPath)return[];$$($.dbPath);let U=d($.dbPath);try{return U.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + updated_at = excluded.updated_at`,[_.pageId,_.path,_.title,_.artifactUri,_.contentHash,"active",JSON.stringify(_.metadata),_.now,_.now]);let U=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_.pageId);for(let J of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_.pageId]);let W=BX("chk",`${_.pageId}\x00${_.contentHash}`);$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.pageId,"wiki",0,_.body,kP(_.body),0,_.body.length,JSON.stringify({..._.metadata,artifact_uri:_.artifactUri,content_hash:_.contentHash}),_.now]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[W,_.body,_.title,_.artifactUri])}function oU($){if($.scope==="global"&&$.allowGlobal!==!0)throw Error("Global app-wiki writes require allowGlobal=true or CLI --allow-global.");if($.workspace.home.includes("/.husna/")||$.workspace.home.endsWith("/.husna"))throw Error(`Refusing app-wiki writes to legacy .husna path: ${$.workspace.home}`);if($.workspace.home.includes("/.hasna/apps/knowledge"))throw Error(`Refusing app-wiki writes to legacy .hasna/apps/knowledge path: ${$.workspace.home}`);if($.safetyPolicy)X4($.workspace.knowledgeDbPath,$.safetyPolicy)}async function GB($){oU($);let _=$$($.workspace.knowledgeDbPath),U=d($.workspace.knowledgeDbPath);try{a$(U,{event_type:"write",action:"app_wiki_init",target_uri:$.workspace.home,decision:"allow",metadata:{scope:$.scope,store_type:$.store.type,app_path:".hasna/knowledge"},created_at:($.now??new Date).toISOString()})}finally{U.close()}return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,knowledge_db_path:$.workspace.knowledgeDbPath,schema_version:_.schema_version,store_type:$.store.type,global_write_allowed:$.scope==="global"&&$.allowGlobal===!0,message:`Initialized app wiki scope at ${$.workspace.home}`}}async function QB($){oU($);let _=$.now??new Date,U=_.toISOString(),W=WB($.tags),J=WB($.sourceRefs);for(let B of J)M0(B,{allowFileSourceRefs:$.safetyPolicy?.readOnlySourceAccess===!0});let X=PP($),G=fP({title:$.title,content:$.content,tags:W,sourceRefs:J,now:U}),Q=D6({generated_from:"app_wiki_note",artifact_key:X,source_refs:J}),Y=await XB($.store,{key:X,body:G,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:Q,scope:$.scope,tags:W.join(","),source_refs:J.join(",")}}),j=await CP($.store,{ts:U,event:"app_wiki_note_written",page_key:X,source_refs:J,tags:W},_);$$($.workspace.knowledgeDbPath);let O=d($.workspace.knowledgeDbPath);try{let B=BX("wiki",X),V=TP({path:X,tags:W,sourceRefs:J,provenance:Q,metadata:$.metadata});W4(O,[Y,j],_),yP(O,{pageId:B,path:X,title:$.title,artifactUri:Y.uri,contentHash:Y.hash??"",body:G,metadata:V,now:U});let L=ZP(O,B,J,U);vP(O,{title:$.title,path:X,artifactUri:Y.uri,contentHash:Y.hash??"",tags:W,sourceRefs:J,now:U}),a$(O,{event_type:"write",action:"app_wiki_note_write",target_uri:Y.uri,decision:"allow",metadata:{scope:$.scope,path:X,source_refs:J,tags:W},created_at:U});let N=O.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(B);if(!N)throw Error(`Failed to write app wiki note: ${X}`);return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,note:i5(N),artifact_uri:Y.uri,content_hash:Y.hash??"",citations_written:L,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${X}`}}finally{O.close()}}function YB($){let _=Math.max(1,Math.min($.limit??50,200));if(!$.dbPath)return[];$$($.dbPath);let U=d($.dbPath);try{return U.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE status = 'active' AND path LIKE 'wiki/notes/%' AND metadata_json LIKE '%"app_wiki":true%' ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(_).map(lG)}finally{U.close()}}async function jB($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + LIMIT ?`).all(_).map(i5)}finally{U.close()}}async function jB($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE (id = ? OR path = ?) AND path LIKE 'wiki/notes/%' AND metadata_json LIKE '%"app_wiki":true%'`).get($.id,$.id);if(!U)return null;let W=_.query(`SELECT id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at FROM citations WHERE wiki_page_id = ? - ORDER BY created_at ASC`).all(U.id).map((X)=>({...X,metadata:cG(X.metadata_json),metadata_json:void 0})),J=null;if($.includeContent!==!1)try{J=await $.store.getText(U.path)}catch{J=null}return{ok:!0,note:lG(U),citations:W,content:J}}finally{_.close()}}async function DB($){return oU($),M0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1}),LX({dbPath:$.workspace.knowledgeDbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",config:$.config,safetyPolicy:$.safetyPolicy})}import{randomUUID as $Q}from"crypto";import{randomUUID as hf}from"crypto";var rG={openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},xf={openai:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!0,reasoning:!0,embeddings:!0},anthropic:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!1,reasoning:!0,embeddings:!1},deepseek:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!1,native_web_search:!1,reasoning:!0,embeddings:!1}},mf={default:"openai:gpt-5.2",fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"};function qB($){return $?.providers??{}}function G4($,_){let U=qB($)[_]??{};return{...rG[_],...U}}function OB($){let _=qB($);return{...mf,..._.default_model?{default:_.default_model}:{},..._.aliases??{}}}function j_($){let[_,...U]=$.split(":"),W=U.join(":");if(_!=="openai"&&_!=="anthropic"&&_!=="deepseek")throw Error(`Unsupported AI provider: ${_}`);if(!W)throw Error(`Invalid model ref: ${$}. Expected provider:model.`);return{provider:_,model:W}}function z6($,_){return OB(_)[$]??$}function iG($){let _=OB($);return Object.entries(_).map(([U,W])=>{let J=j_(W);return{alias:U,model_ref:W,provider:J.provider,model:J.model,default:U==="default",capabilities:xf[J.provider]}})}function LB($,_=process.env){return Object.keys(rG).map((U)=>{let W=G4($,U),J=Boolean(_[W.api_key_env]);return{provider:U,api_key_env:W.api_key_env,configured:J,source:J?"env":"missing",base_url:W.base_url??null,default_model:W.default_model}})}function NB($,_=process.env){return{default_model:z6("default",$),providers:LB($,_),models:iG($)}}function k0($,_,U=process.env){let W=LB(_,U).find((J)=>J.provider===$);if(!W)throw Error(`Unsupported AI provider: ${$}`);if(!W.configured)throw Error(`Missing ${W.api_key_env} for ${$}. Set the env var to use this provider.`);return W}async function uf($){if($==="openai"){let{createOpenAI:U}=await import("@ai-sdk/openai");return U}if($==="anthropic"){let{createAnthropic:U}=await import("@ai-sdk/anthropic");return U}let{createDeepSeek:_}=await import("@ai-sdk/deepseek");return _}async function df($={}){let{createProviderRegistry:_}=await import("ai"),U=$.env??process.env,W={};for(let J of Object.keys(rG)){let X=G4($.config,J),G=U[X.api_key_env];if(!G)continue;let Q=$.factories?.[J]??await uf(J);W[J]=Q({apiKey:G,baseURL:X.base_url})}return _(W)}async function tU($,_={}){let U=z6($,_.config),W=j_(U);return k0(W.provider,_.config,_.env),(await df(_)).languageModel(U)}function zB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return 0}function f0($){let _=$.usage??{};return{provider:$.provider,model:$.model,input_tokens:zB(_,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:zB(_,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:$.costUsd??0,metadata:{usage:_,provider_metadata:$.providerMetadata??{}}}}function B2($,_){let U=`usage_${hf()}`;return $.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,_.run_id??null,_.provider,_.model,_.input_tokens,_.output_tokens,_.cost_usd,JSON.stringify(_.metadata),_.created_at??new Date().toISOString()]),U}import{createHash as LP}from"crypto";import{existsSync as af,readFileSync as sf}from"fs";import{createHash as VB}from"crypto";var nf="openai:text-embedding-3-small",RB=1536;function BX($){return $?.embeddings??{}}function BB($,_){return`${$}_${VB("sha256").update(_).digest("hex").slice(0,20)}`}function oG($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function q6($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function HB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function pG($){return Math.sqrt($.reduce((_,U)=>_+U*U,0))}function cf($,_,U=pG(_)){let W=pG($);if(W===0||U===0)return 0;let J=Math.min($.length,_.length),X=0;for(let G=0;G<J;G+=1)X+=$[G]*_[G];return X/(W*U)}function lf($,_){let U=VB("sha256").update($).digest();return Array.from({length:_},(W,J)=>{let X=U[J%U.length]/255;return Number((X*2-1).toFixed(6))})}async function rf($,_,U=process.env){k0("openai",_,U);let W=G4(_,"openai"),{createOpenAI:J}=await import("@ai-sdk/openai"),X=J({apiKey:U[W.api_key_env],baseURL:W.base_url});if(X.embeddingModel)return X.embeddingModel($);if(X.textEmbedding)return X.textEmbedding($);if(X.textEmbeddingModel)return X.textEmbeddingModel($);throw Error("OpenAI provider does not expose an embedding model factory.")}function P0($,_){if(!$||$==="default"||$==="embedding")return BX(_).default_model??nf;return $}async function AB($,_={}){let U=P0(_.modelRef,_.config),W=j_(U);if(W.provider!=="openai")throw Error(`Embedding provider ${W.provider} is not supported yet. Use openai:text-embedding-3-small.`);let J=_.dimensions??BX(_.config).dimensions??RB;if(_.fake)return{provider:W.provider,model:W.model,dimensions:J,vectors:$.map((j)=>lf(j,J)),usage:{input_tokens:$.reduce((j,O)=>j+Math.max(1,Math.ceil(O.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:X}=await import("ai"),G=await rf(W.model,_.config,_.env),Q=await X({model:G,values:$,maxParallelCalls:_.maxParallelCalls??BX(_.config).max_parallel_calls,providerOptions:{openai:{dimensions:J}}}),Y=Q.embeddings;return{provider:W.provider,model:W.model,dimensions:Y[0]?.length??J,vectors:Y,usage:{input_tokens:Q.usage?.tokens??0}}}function pf($,_){if(_.sourceRevisionId)return $.query(`SELECT + ORDER BY created_at ASC`).all(U.id).map((X)=>({...X,metadata:l5(X.metadata_json),metadata_json:void 0})),J=null;if($.includeContent!==!1)try{J=await $.store.getText(U.path)}catch{J=null}return{ok:!0,note:i5(U),citations:W,content:J}}finally{_.close()}}async function DB($){return oU($),M0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1}),NX({dbPath:$.workspace.knowledgeDbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",config:$.config,safetyPolicy:$.safetyPolicy})}import{randomUUID as _Q}from"crypto";import{randomUUID as hP}from"crypto";var r5={openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},xP={openai:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!0,reasoning:!0,embeddings:!0},anthropic:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!1,reasoning:!0,embeddings:!1},deepseek:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!1,native_web_search:!1,reasoning:!0,embeddings:!1}},mP={default:"openai:gpt-5.2",fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"};function qB($){return $?.providers??{}}function G4($,_){let U=qB($)[_]??{};return{...r5[_],...U}}function OB($){let _=qB($);return{...mP,..._.default_model?{default:_.default_model}:{},..._.aliases??{}}}function j_($){let[_,...U]=$.split(":"),W=U.join(":");if(_!=="openai"&&_!=="anthropic"&&_!=="deepseek")throw Error(`Unsupported AI provider: ${_}`);if(!W)throw Error(`Invalid model ref: ${$}. Expected provider:model.`);return{provider:_,model:W}}function z6($,_){return OB(_)[$]??$}function p5($){let _=OB($);return Object.entries(_).map(([U,W])=>{let J=j_(W);return{alias:U,model_ref:W,provider:J.provider,model:J.model,default:U==="default",capabilities:xP[J.provider]}})}function LB($,_=process.env){return Object.keys(r5).map((U)=>{let W=G4($,U),J=Boolean(_[W.api_key_env]);return{provider:U,api_key_env:W.api_key_env,configured:J,source:J?"env":"missing",base_url:W.base_url??null,default_model:W.default_model}})}function NB($,_=process.env){return{default_model:z6("default",$),providers:LB($,_),models:p5($)}}function k0($,_,U=process.env){let W=LB(_,U).find((J)=>J.provider===$);if(!W)throw Error(`Unsupported AI provider: ${$}`);if(!W.configured)throw Error(`Missing ${W.api_key_env} for ${$}. Set the env var to use this provider.`);return W}async function uP($){if($==="openai"){let{createOpenAI:U}=await import("@ai-sdk/openai");return U}if($==="anthropic"){let{createAnthropic:U}=await import("@ai-sdk/anthropic");return U}let{createDeepSeek:_}=await import("@ai-sdk/deepseek");return _}async function dP($={}){let{createProviderRegistry:_}=await import("ai"),U=$.env??process.env,W={};for(let J of Object.keys(r5)){let X=G4($.config,J),G=U[X.api_key_env];if(!G)continue;let Q=$.factories?.[J]??await uP(J);W[J]=Q({apiKey:G,baseURL:X.base_url})}return _(W)}async function tU($,_={}){let U=z6($,_.config),W=j_(U);return k0(W.provider,_.config,_.env),(await dP(_)).languageModel(U)}function zB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return 0}function P0($){let _=$.usage??{};return{provider:$.provider,model:$.model,input_tokens:zB(_,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:zB(_,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:$.costUsd??0,metadata:{usage:_,provider_metadata:$.providerMetadata??{}}}}function B2($,_){let U=`usage_${hP()}`;return $.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,_.run_id??null,_.provider,_.model,_.input_tokens,_.output_tokens,_.cost_usd,JSON.stringify(_.metadata),_.created_at??new Date().toISOString()]),U}import{createHash as Of}from"crypto";import{existsSync as tP,readFileSync as aP}from"fs";import{createHash as VB}from"crypto";var cP="openai:text-embedding-3-small",RB=1536;function HX($){return $?.embeddings??{}}function BB($,_){return`${$}_${VB("sha256").update(_).digest("hex").slice(0,20)}`}function t5($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function q6($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function HB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function o5($){return Math.sqrt($.reduce((_,U)=>_+U*U,0))}function nP($,_,U=o5(_)){let W=o5($);if(W===0||U===0)return 0;let J=Math.min($.length,_.length),X=0;for(let G=0;G<J;G+=1)X+=$[G]*_[G];return X/(W*U)}function lP($,_){let U=VB("sha256").update($).digest();return Array.from({length:_},(W,J)=>{let X=U[J%U.length]/255;return Number((X*2-1).toFixed(6))})}async function iP($,_,U=process.env){k0("openai",_,U);let W=G4(_,"openai"),{createOpenAI:J}=await import("@ai-sdk/openai"),X=J({apiKey:U[W.api_key_env],baseURL:W.base_url});if(X.embeddingModel)return X.embeddingModel($);if(X.textEmbedding)return X.textEmbedding($);if(X.textEmbeddingModel)return X.textEmbeddingModel($);throw Error("OpenAI provider does not expose an embedding model factory.")}function f0($,_){if(!$||$==="default"||$==="embedding")return HX(_).default_model??cP;return $}async function AB($,_={}){let U=f0(_.modelRef,_.config),W=j_(U);if(W.provider!=="openai")throw Error(`Embedding provider ${W.provider} is not supported yet. Use openai:text-embedding-3-small.`);let J=_.dimensions??HX(_.config).dimensions??RB;if(_.fake)return{provider:W.provider,model:W.model,dimensions:J,vectors:$.map((j)=>lP(j,J)),usage:{input_tokens:$.reduce((j,O)=>j+Math.max(1,Math.ceil(O.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:X}=await import("ai"),G=await iP(W.model,_.config,_.env),Q=await X({model:G,values:$,maxParallelCalls:_.maxParallelCalls??HX(_.config).max_parallel_calls,providerOptions:{openai:{dimensions:J}}}),Y=Q.embeddings;return{provider:W.provider,model:W.model,dimensions:Y[0]?.length??J,vectors:Y,usage:{input_tokens:Q.usage?.tokens??0}}}function rP($,_){if(_.sourceRevisionId)return $.query(`SELECT c.id, c.text, c.token_count, @@ -648,7 +648,7 @@ COMMIT; ON v.chunk_id = c.id AND v.provider = ? AND v.model = ? WHERE v.id IS NULL ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(_.provider,_.model,_.limit)}function of($){let _=oG($.metadata_json),U=_.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return S4({source_ref:q6(_,["source_ref"]),source_uri:$.source_uri??q6(_,["source_uri"]),source_kind:$.source_kind??q6(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??q6(_,["revision"]),hash:$.hash??q6(_,["hash"]),chunk_id:$.id,start_offset:$.start_offset??HB(_,["start_offset"]),end_offset:$.end_offset??HB(_,["end_offset"]),status:q6(_,["status"]),resolver:"open-files-read-only"})}function tf($,_,U,W){let J=$.prepare(` + LIMIT ?`).all(_.provider,_.model,_.limit)}function pP($){let _=t5($.metadata_json),U=_.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return S4({source_ref:q6(_,["source_ref"]),source_uri:$.source_uri??q6(_,["source_uri"]),source_kind:$.source_kind??q6(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??q6(_,["revision"]),hash:$.hash??q6(_,["hash"]),chunk_id:$.id,start_offset:$.start_offset??HB(_,["start_offset"]),end_offset:$.end_offset??HB(_,["end_offset"]),status:q6(_,["status"]),resolver:"open-files-read-only"})}function oP($,_,U,W){let J=$.prepare(` INSERT INTO chunk_embeddings (id, chunk_id, provider, model, dimensions, vector_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(chunk_id, provider, model) DO UPDATE SET @@ -677,10 +677,10 @@ COMMIT; status = excluded.status, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);return $.transaction(()=>{for(let Q=0;Q<_.length;Q+=1){let Y=_[Q],j=U.vectors[Q];if(!j)continue;let O=oG(Y.metadata_json),B=of(Y),V=B.source_ref??q6(O,["source_ref"]),L=B.source_uri??Y.source_uri??q6(O,["source_uri"]),N=B.revision??Y.revision??q6(O,["revision"]),H=B.hash??Y.hash??q6(O,["hash"]),R=B.status??q6(O,["status"])??"active",b=JSON.stringify(j);J.run(BB("emb",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,U.provider,U.model,U.dimensions,b,W),X.run(BB("vec",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,Y.source_revision_id,U.provider,U.model,U.dimensions,b,pG(j),L,V,N,H,B.start_offset,B.end_offset,Y.token_count,R,JSON.stringify({...O,provenance:B,embedded_at:W}),W,W)}})(),_.length}async function HX($){let _=P0($.modelRef,$.config),U=j_(_);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet.`);let W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??100,1000));$$($.dbPath);let X=d($.dbPath),G;try{G=pf(X,{provider:U.provider,model:U.model,limit:J,sourceRevisionId:$.sourceRevisionId})}finally{X.close()}if(G.length===0)return{provider:U.provider,model:U.model,dimensions:$.dimensions??BX($.config).dimensions??RB,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let Q=await AB(G.map((j)=>j.text),$),Y=d($.dbPath);try{let j=tf(Y,G,Q,W);return{provider:Q.provider,model:Q.model,dimensions:Q.dimensions,chunks_seen:G.length,chunks_embedded:G.length,embeddings_upserted:j,vector_entries_upserted:j,usage:Q.usage}}finally{Y.close()}}function bB($){$$($);let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,J=_.query(`SELECT provider, model, dimensions, COUNT(*) AS entries, MAX(updated_at) AS updated_at + `);return $.transaction(()=>{for(let Q=0;Q<_.length;Q+=1){let Y=_[Q],j=U.vectors[Q];if(!j)continue;let O=t5(Y.metadata_json),B=pP(Y),V=B.source_ref??q6(O,["source_ref"]),L=B.source_uri??Y.source_uri??q6(O,["source_uri"]),N=B.revision??Y.revision??q6(O,["revision"]),H=B.hash??Y.hash??q6(O,["hash"]),R=B.status??q6(O,["status"])??"active",E=JSON.stringify(j);J.run(BB("emb",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,U.provider,U.model,U.dimensions,E,W),X.run(BB("vec",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,Y.source_revision_id,U.provider,U.model,U.dimensions,E,o5(j),L,V,N,H,B.start_offset,B.end_offset,Y.token_count,R,JSON.stringify({...O,provenance:B,embedded_at:W}),W,W)}})(),_.length}async function VX($){let _=f0($.modelRef,$.config),U=j_(_);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet.`);let W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??100,1000));$$($.dbPath);let X=d($.dbPath),G;try{G=rP(X,{provider:U.provider,model:U.model,limit:J,sourceRevisionId:$.sourceRevisionId})}finally{X.close()}if(G.length===0)return{provider:U.provider,model:U.model,dimensions:$.dimensions??HX($.config).dimensions??RB,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let Q=await AB(G.map((j)=>j.text),$),Y=d($.dbPath);try{let j=oP(Y,G,Q,W);return{provider:Q.provider,model:Q.model,dimensions:Q.dimensions,chunks_seen:G.length,chunks_embedded:G.length,embeddings_upserted:j,vector_entries_upserted:j,usage:Q.usage}}finally{Y.close()}}function EB($){$$($);let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,J=_.query(`SELECT provider, model, dimensions, COUNT(*) AS entries, MAX(updated_at) AS updated_at FROM vector_index_entries GROUP BY provider, model, dimensions - ORDER BY provider, model`).all();return{total_embeddings:U,total_vector_entries:W,indexes:J}}finally{_.close()}}async function VX($){let _=P0($.modelRef,$.config),U=j_(_),W=Math.max(1,Math.min($.limit??10,100)),J=await AB([$.query],$),X=J.vectors[0]??[];$$($.dbPath);let G=d($.dbPath);try{let Y=G.query(`SELECT + ORDER BY provider, model`).all();return{total_embeddings:U,total_vector_entries:W,indexes:J}}finally{_.close()}}async function RX($){let _=f0($.modelRef,$.config),U=j_(_),W=Math.max(1,Math.min($.limit??10,100)),J=await AB([$.query],$),X=J.vectors[0]??[];$$($.dbPath);let G=d($.dbPath);try{let Y=G.query(`SELECT v.chunk_id, c.text, v.vector_json, @@ -692,7 +692,7 @@ COMMIT; v.metadata_json FROM vector_index_entries v JOIN chunks c ON c.id = v.chunk_id - WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((j)=>{let O=JSON.parse(j.vector_json),B=oG(j.metadata_json),V=B.provenance&&typeof B.provenance==="object"&&!Array.isArray(B.provenance)?B.provenance:null;return{chunk_id:j.chunk_id,score:cf(X,O,j.vector_norm),text:j.text,source_uri:j.source_uri,source_ref:j.source_ref,revision:j.revision,hash:j.hash,provenance:V}}).sort((j,O)=>O.score-j.score).slice(0,W);return{provider:U.provider,model:U.model,dimensions:J.dimensions,query:$.query,results:Y}}finally{G.close()}}function RX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function h_($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function FB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function MB($){return Array.from(new Set($))}function gB($){let _=$.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return MB(_.filter((U)=>U.length>0)).slice(0,16)}function EB($){return $.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function ef($){let _=[],U=/"([^"]*)"|(\S+)/g,W,J=!1;while((W=U.exec($))!==null){if(W[1]!==void 0){let j=EB(W[1]);if(j.length>0)_.push({type:"phrase",value:j.join(" "),negate:J,prefix:!1});J=!1;continue}let X=W[2]??"";if(X==="OR"||X==="||"||X==="|"){_.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(X==="AND"||X==="&&")continue;if(X==="NOT"){J=!0;continue}let G=J;if(J=!1,X.startsWith("-")&&X.length>1)G=!0,X=X.slice(1);let Q=!1;if(X.endsWith("*"))Q=!0,X=X.slice(0,-1);let Y=EB(X);if(Y.length===0)continue;_.push({type:Y.length>1?"phrase":"term",value:Y.join(" "),negate:G,prefix:Q})}return _.slice(0,24)}function $P($){if($.type==="phrase")return`"${$.value}"`;return`"${$.value}"*`}function _P($){let _=ef($);if(_.filter((G)=>G.type!=="or"&&!G.negate).length===0)return{and:null,or:null};let W=(G)=>{let Q="",Y=!1,j=[];for(let O of _){if(O.type==="or"){Y=!0;continue}let B=$P(O);if(O.negate){j.push(B);continue}if(Q.length===0)Q=B;else Q=Y?`${Q} OR ${B}`:`${Q} ${G} ${B}`;Y=!1}for(let O of j)Q=`(${Q}) NOT ${O}`;return Q.length>0?Q:null},J=W("AND"),X=W("OR");return{and:J,or:X!==J?X:null}}function UP($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function IB($,_){return $.flatMap((U)=>Array.from({length:_},()=>`%${UP(U)}%`))}function JP($,_){let U=Number.isFinite($)?1/(1+Math.abs($)):0,W=1/(1+_);return AX(Math.max(U,W))}function tG($,_){if(_.length===0)return 0;let U=_.filter((W)=>$.includes(W)).length;if(U===0)return 0;return AX(Math.min(0.85,0.35+U/_.length*0.5))}function WP($){return AX(Math.max(0,Math.min(1,($+1)/2)))}function AX($){return Number($.toFixed(6))}function V2($,_){let U=$.keyword??0,W=$.semantic??0,J=$.catalog??0,X=_?.chunk_id?0.05:0;return AX(Math.min(1,U*0.55+W*0.4+J*0.35+X))}function aG($){let _=$.provenance;return _&&typeof _==="object"&&!Array.isArray(_)?_:null}function XP($){let _=RX($.chunk_metadata_json),U=aG(_);if(U)return U;if(!$.source_revision_id&&!$.source_uri)return null;return S4({source_ref:h_(_,["source_ref"]),source_uri:$.source_uri??h_(_,["source_uri"]),source_kind:$.source_kind??h_(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??h_(_,["revision"]),hash:$.hash??h_(_,["hash"]),chunk_id:$.chunk_id,start_offset:$.start_offset??FB(_,["start_offset"]),end_offset:$.end_offset??FB(_,["end_offset"]),status:h_(_,["status"]),resolver:"open-files-read-only"})}function KB($,_,U){if(!_)return[];try{return GP($,_,U)}catch{return[]}}function GP($,_,U){return $.query(`SELECT + WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((j)=>{let O=JSON.parse(j.vector_json),B=t5(j.metadata_json),V=B.provenance&&typeof B.provenance==="object"&&!Array.isArray(B.provenance)?B.provenance:null;return{chunk_id:j.chunk_id,score:nP(X,O,j.vector_norm),text:j.text,source_uri:j.source_uri,source_ref:j.source_ref,revision:j.revision,hash:j.hash,provenance:V}}).sort((j,O)=>O.score-j.score).slice(0,W);return{provider:U.provider,model:U.model,dimensions:J.dimensions,query:$.query,results:Y}}finally{G.close()}}function AX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function h_($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function FB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function MB($){return Array.from(new Set($))}function IB($){let _=$.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return MB(_.filter((U)=>U.length>0)).slice(0,16)}function KB($){return $.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function sP($){let _=[],U=/"([^"]*)"|(\S+)/g,W,J=!1;while((W=U.exec($))!==null){if(W[1]!==void 0){let j=KB(W[1]);if(j.length>0)_.push({type:"phrase",value:j.join(" "),negate:J,prefix:!1});J=!1;continue}let X=W[2]??"";if(X==="OR"||X==="||"||X==="|"){_.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(X==="AND"||X==="&&")continue;if(X==="NOT"){J=!0;continue}let G=J;if(J=!1,X.startsWith("-")&&X.length>1)G=!0,X=X.slice(1);let Q=!1;if(X.endsWith("*"))Q=!0,X=X.slice(0,-1);let Y=KB(X);if(Y.length===0)continue;_.push({type:Y.length>1?"phrase":"term",value:Y.join(" "),negate:G,prefix:Q})}return _.slice(0,24)}function eP($){if($.type==="phrase")return`"${$.value}"`;return`"${$.value}"*`}function $f($){let _=sP($);if(_.filter((G)=>G.type!=="or"&&!G.negate).length===0)return{and:null,or:null};let W=(G)=>{let Q="",Y=!1,j=[];for(let O of _){if(O.type==="or"){Y=!0;continue}let B=eP(O);if(O.negate){j.push(B);continue}if(Q.length===0)Q=B;else Q=Y?`${Q} OR ${B}`:`${Q} ${G} ${B}`;Y=!1}for(let O of j)Q=`(${Q}) NOT ${O}`;return Q.length>0?Q:null},J=W("AND"),X=W("OR");return{and:J,or:X!==J?X:null}}function _f($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function gB($,_){return $.flatMap((U)=>Array.from({length:_},()=>`%${_f(U)}%`))}function Uf($,_){let U=Number.isFinite($)?1/(1+Math.abs($)):0,W=1/(1+_);return EX(Math.max(U,W))}function a5($,_){if(_.length===0)return 0;let U=_.filter((W)=>$.includes(W)).length;if(U===0)return 0;return EX(Math.min(0.85,0.35+U/_.length*0.5))}function Jf($){return EX(Math.max(0,Math.min(1,($+1)/2)))}function EX($){return Number($.toFixed(6))}function V2($,_){let U=$.keyword??0,W=$.semantic??0,J=$.catalog??0,X=_?.chunk_id?0.05:0;return EX(Math.min(1,U*0.55+W*0.4+J*0.35+X))}function s5($){let _=$.provenance;return _&&typeof _==="object"&&!Array.isArray(_)?_:null}function Wf($){let _=AX($.chunk_metadata_json),U=s5(_);if(U)return U;if(!$.source_revision_id&&!$.source_uri)return null;return S4({source_ref:h_(_,["source_ref"]),source_uri:$.source_uri??h_(_,["source_uri"]),source_kind:$.source_kind??h_(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??h_(_,["revision"]),hash:$.hash??h_(_,["hash"]),chunk_id:$.chunk_id,start_offset:$.start_offset??FB(_,["start_offset"]),end_offset:$.end_offset??FB(_,["end_offset"]),status:h_(_,["status"]),resolver:"open-files-read-only"})}function bB($,_,U){if(!_)return[];try{return Xf($,_,U)}catch{return[]}}function Xf($,_,U){return $.query(`SELECT chunks_fts.chunk_id, c.kind AS chunk_kind, c.wiki_page_id, @@ -721,49 +721,49 @@ COMMIT; LEFT JOIN wiki_pages wp ON wp.id = c.wiki_page_id WHERE chunks_fts MATCH ? ORDER BY rank ASC - LIMIT ?`).all(_,U)}function wB($,_){if(_.length===0)return"1 = 0";return _.map(()=>`(${$.map((W)=>`lower(COALESCE(${W}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function QP($,_,U){let W=["path","title","artifact_uri","metadata_json"];return $.query(`SELECT id, path, title, artifact_uri, content_hash, status, metadata_json + LIMIT ?`).all(_,U)}function wB($,_){if(_.length===0)return"1 = 0";return _.map(()=>`(${$.map((W)=>`lower(COALESCE(${W}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function Gf($,_,U){let W=["path","title","artifact_uri","metadata_json"];return $.query(`SELECT id, path, title, artifact_uri, content_hash, status, metadata_json FROM wiki_pages WHERE status = 'active' AND (${wB(W,_)}) ORDER BY updated_at DESC - LIMIT ?`).all(...IB(_,W.length),U)}function YP($,_,U){let W=["kind","name","shard_key","artifact_uri","metadata_json"];return $.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json + LIMIT ?`).all(...gB(_,W.length),U)}function Qf($,_,U){let W=["kind","name","shard_key","artifact_uri","metadata_json"];return $.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json FROM knowledge_indexes WHERE ${wB(W,_)} ORDER BY updated_at DESC - LIMIT ?`).all(...IB(_,W.length),U)}function kB($){if(!$||!af($))return[];try{let _=JSON.parse(sf($,"utf8"));if(!_||!Array.isArray(_.items))return[];return _.items.filter((U)=>{return Boolean(U&&typeof U==="object"&&typeof U.id==="string"&&typeof U.title==="string"&&typeof U.content==="string")})}catch{return[]}}function jP($){return[$.id,$.short_id,$.title,$.content,$.url,...$.tags??[]].filter((_)=>typeof _==="string"&&_.length>0).join(" ").toLowerCase()}function fB($,_,U){if(_.length===0)return[];return $.filter((W)=>W.archived!==!0).map((W)=>({item:W,haystack:jP(W)})).filter(({haystack:W})=>_.some((J)=>W.includes(J))).map(({item:W,haystack:J})=>({item:W,score:tG(J,_)})).sort((W,J)=>J.score-W.score||W.item.id.localeCompare(J.item.id)).slice(0,U)}function DP($,_,U){return fB(kB($),_,U)}function zP($,_){let U=RX($.chunk_metadata_json),W=XP($),J=h_(U,["source_ref"]),X=$.source_uri??h_(U,["source_uri"]),G=Boolean($.wiki_page_id),Q={kind:G?"wiki_chunk":"source_chunk",id:$.chunk_id,title:G?$.wiki_title:$.source_title,text:$.text,score:0,scores:{keyword:_},source:X||J?{uri:X,ref:J,kind:$.source_kind??h_(U,["source_kind"]),revision:$.revision??h_(U,["revision"]),hash:$.hash??h_(U,["hash"])}:null,citation:{chunk_id:$.chunk_id,start_offset:$.start_offset,end_offset:$.end_offset},artifact:G?{uri:$.wiki_artifact_uri,path:$.wiki_path,hash:$.wiki_content_hash,shard_key:$.wiki_path}:null,provenance:W,reasons:["keyword_match"]};return Q.score=V2(Q.scores,Q.citation),Q}function PB($,_){let U=`knowledge://item/${encodeURIComponent($.id)}`,W={kind:"legacy_item",id:$.id,title:$.title,text:$.content,score:0,scores:{keyword:_},source:{uri:U,ref:U,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return W.score=V2(W.scores,W.citation),W}function qP($,_){let U=RX($.metadata_json),W=tG(`${$.path} ${$.title} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"wiki_page",id:$.id,title:$.title,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:$.path,hash:$.content_hash,shard_key:$.path},provenance:aG(U),reasons:["wiki_catalog_match"]};return J.score=V2(J.scores,J.citation),J}function OP($,_){let U=RX($.metadata_json),W=tG(`${$.kind} ${$.name} ${$.shard_key??""} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"knowledge_index",id:$.id,title:$.name,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:h_(U,["artifact_key"]),hash:h_(U,["content_hash"]),shard_key:$.shard_key},provenance:aG(U),reasons:["index_catalog_match"]};return J.score=V2(J.scores,J.citation),J}function H2($,_){let U=`${_.kind}:${_.id}`,W=$.get(U);if(!W){$.set(U,_);return}W.scores={keyword:Math.max(W.scores.keyword??0,_.scores.keyword??0)||void 0,semantic:Math.max(W.scores.semantic??0,_.scores.semantic??0)||void 0,catalog:Math.max(W.scores.catalog??0,_.scores.catalog??0)||void 0},W.reasons=MB([...W.reasons,..._.reasons]),W.text=W.text??_.text,W.title=W.title??_.title,W.source=W.source??_.source,W.citation=W.citation??_.citation,W.artifact=W.artifact??_.artifact,W.provenance=W.provenance??_.provenance,W.score=V2(W.scores,W.citation)}function CB($){let _={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return $.sort((U,W)=>{if(W.score!==U.score)return W.score-U.score;return _[U.kind]-_[W.kind]||U.id.localeCompare(W.id)})}async function bX($){let _=$.query.trim();if(!_)throw Error("Search query is required.");let U=Math.max(1,Math.min($.limit??10,100)),W=Math.max(0,Math.floor($.offset??0)),J=W+U,X=gB(_),G=_P(_),Q=$.semantic===!0||$.fake===!0||Boolean($.modelRef),Y=[],j=null,O=null,B=null,V=0,L=0,N=0,H=new Map;$$($.dbPath);let R=d($.dbPath);try{let M=Math.max(J*3,20),E=KB(R,G.and,M);if(E.length===0&&G.or)E=KB(R,G.or,M);V=E.length,E.forEach((r,i$)=>H2(H,zP(r,JP(r.rank,i$))));let g=QP(R,X,Math.max(J,10)),Z=YP(R,X,Math.max(J,10)),k=DP($.legacyStorePath,X,Math.max(J,10));L=g.length+Z.length,V+=k.length,k.forEach(({item:r,score:i$})=>H2(H,PB(r,i$))),g.forEach((r)=>H2(H,qP(r,X))),Z.forEach((r)=>H2(H,OP(r,X)))}finally{R.close()}if(Q)try{let M=await VX({dbPath:$.dbPath,query:_,limit:Math.max(J*3,20),config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,batchSize:$.batchSize,maxParallelCalls:$.maxParallelCalls});j=M.provider,O=M.model,B=M.dimensions,N=M.results.length;for(let E of M.results){let g={kind:"source_chunk",id:E.chunk_id,title:null,text:E.text,score:0,scores:{semantic:WP(E.score)},source:{uri:E.source_uri,ref:E.source_ref,kind:E.provenance?.source_kind??null,revision:E.revision,hash:E.hash},citation:{chunk_id:E.chunk_id,start_offset:E.provenance?.start_offset??null,end_offset:E.provenance?.end_offset??null},artifact:null,provenance:E.provenance,reasons:["semantic_match"]};g.score=V2(g.scores,g.citation),H2(H,g)}}catch(M){Y.push(`semantic_search_failed: ${M instanceof Error?M.message:String(M)}`)}let A=CB(Array.from(H.values())).slice(W,W+U);return{query:_,limit:U,offset:W,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:j,semantic_model:O,semantic_dimensions:B,counts:{keyword_results:V,catalog_results:L,semantic_results:N,merged_results:A.length},warnings:Y,results:A}}async function FX($){return C0(kB($.legacyStorePath),$,["knowledge_db_missing"])}async function C0($,_,U=[]){let W=_.query.trim();if(!W)throw Error("Search query is required.");let J=Math.max(1,Math.min(_.limit??10,100)),X=Math.max(0,Math.floor(_.offset??0)),G=gB(W),Q=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),Y=new Map,j=fB($,G,Math.max(X+J,10));j.forEach(({item:V,score:L})=>H2(Y,PB(V,L)));let O=[...U];if(Q)O.push("semantic_search_requires_local_catalog");let B=CB(Array.from(Y.values())).slice(X,X+J);return{query:W,limit:J,offset:X,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:j.length,catalog_results:0,semantic_results:0,merged_results:B.length},warnings:O,results:B}}function TB($,_){return`${$}_${LP("sha256").update(_).digest("hex").slice(0,20)}`}function SB($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function NP($){return Array.from(new Set(SB($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function BP($){return[$.title,$.text].filter(Boolean).join(" ").toLowerCase()}function HP($,_){if(_.length===0)return 0;let U=BP($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function VP($){if(!$)return!0;if("read_only"in $)return $.read_only===!0;if("read_only_sources"in $)return $.read_only_sources===!0;return!0}function ZB($){if(!$)return!1;if("stale"in $&&$.stale)return!0;if("status"in $)return yG($.status);return!1}function RP($){if(ZB($.provenance))return 0;if($.source?.hash||$.source?.revision)return 1;if($.artifact?.hash)return 0.85;if($.provenance&&"source_refs"in $.provenance&&$.provenance.source_refs.length>0)return 0.75;return 0.55}function AP($){if($.citation?.chunk_id&&($.source?.uri||$.artifact?.uri))return 1;if($.provenance&&"citation_required"in $.provenance&&$.provenance.citation_required)return 0.75;if($.artifact?.uri)return 0.65;return 0.35}function bP($){if($.kind==="wiki_chunk")return 0.85;if($.kind==="source_chunk")return 0.8;if($.kind==="legacy_item")return 0.6;if($.kind==="wiki_page")return 0.65;return 0.55}function FP($,_){let U={base_score:$.score,exact_score:HP($,_),citation_score:AP($),freshness_score:RP($),authority_score:bP($)},W=Math.min(1,U.base_score*0.65+U.exact_score*0.1+U.citation_score*0.1+U.freshness_score*0.1+U.authority_score*0.05),J=new Set($.reasons);if(U.exact_score>0.5)J.add("exact_term");if(U.citation_score>=0.75)J.add("cited_source");if(U.freshness_score>=0.85)J.add("fresh_source");return{...$,score:Number(W.toFixed(6)),reasons:Array.from(J),rerank:{...U,final_score:Number(W.toFixed(6))}}}function vB($,_){let U=$.text??$.title;if(!U)return null;let W=U.replace(/\s+/g," ").trim();return W.length<=_?W:`${W.slice(0,Math.max(0,_-1)).trim()}...`}function EP($){return{id:TB("cite",`${$.kind}\x00${$.id}\x00${$.source?.uri??""}\x00${$.artifact?.uri??""}`),result_id:$.id,kind:$.kind,source_uri:$.source?.uri??null,source_ref:$.source?.ref??null,artifact_uri:$.artifact?.uri??null,artifact_path:$.artifact?.path??null,revision:$.source?.revision??null,hash:$.source?.hash??$.artifact?.hash??null,chunk_id:$.citation?.chunk_id??null,start_offset:$.citation?.start_offset??null,end_offset:$.citation?.end_offset??null,quote:vB($,500),provenance:$.provenance}}function KP($,_,U){let W=vB($,U);if(!W)return null;return{id:TB("excerpt",`${$.kind}\x00${$.id}`),result_id:$.id,citation_id:_.id,kind:$.kind,text:W,score:$.score}}function EX($){return $.map(()=>"?").join(", ")}function MP($,_){let U=_.map((Q)=>Q.citation?.chunk_id).filter((Q)=>Boolean(Q)),W=_.filter((Q)=>Q.kind==="wiki_page").map((Q)=>Q.id),J=[],X=[];if(U.length===0&&W.length===0)return{citations:J,backlinks:X};let G=d($);try{if(U.length>0)J.push(...G.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT ?`).all(...gB(_,W.length),U)}function kB($){if(!$||!tP($))return[];try{let _=JSON.parse(aP($,"utf8"));if(!_||!Array.isArray(_.items))return[];return _.items.filter((U)=>{return Boolean(U&&typeof U==="object"&&typeof U.id==="string"&&typeof U.title==="string"&&typeof U.content==="string")})}catch{return[]}}function Yf($){return[$.id,$.short_id,$.title,$.content,$.url,...$.tags??[]].filter((_)=>typeof _==="string"&&_.length>0).join(" ").toLowerCase()}function PB($,_,U){if(_.length===0)return[];return $.filter((W)=>W.archived!==!0).map((W)=>({item:W,haystack:Yf(W)})).filter(({haystack:W})=>_.some((J)=>W.includes(J))).map(({item:W,haystack:J})=>({item:W,score:a5(J,_)})).sort((W,J)=>J.score-W.score||W.item.id.localeCompare(J.item.id)).slice(0,U)}function jf($,_,U){return PB(kB($),_,U)}function Df($,_){let U=AX($.chunk_metadata_json),W=Wf($),J=h_(U,["source_ref"]),X=$.source_uri??h_(U,["source_uri"]),G=Boolean($.wiki_page_id),Q={kind:G?"wiki_chunk":"source_chunk",id:$.chunk_id,title:G?$.wiki_title:$.source_title,text:$.text,score:0,scores:{keyword:_},source:X||J?{uri:X,ref:J,kind:$.source_kind??h_(U,["source_kind"]),revision:$.revision??h_(U,["revision"]),hash:$.hash??h_(U,["hash"])}:null,citation:{chunk_id:$.chunk_id,start_offset:$.start_offset,end_offset:$.end_offset},artifact:G?{uri:$.wiki_artifact_uri,path:$.wiki_path,hash:$.wiki_content_hash,shard_key:$.wiki_path}:null,provenance:W,reasons:["keyword_match"]};return Q.score=V2(Q.scores,Q.citation),Q}function fB($,_){let U=`knowledge://item/${encodeURIComponent($.id)}`,W={kind:"legacy_item",id:$.id,title:$.title,text:$.content,score:0,scores:{keyword:_},source:{uri:U,ref:U,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return W.score=V2(W.scores,W.citation),W}function zf($,_){let U=AX($.metadata_json),W=a5(`${$.path} ${$.title} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"wiki_page",id:$.id,title:$.title,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:$.path,hash:$.content_hash,shard_key:$.path},provenance:s5(U),reasons:["wiki_catalog_match"]};return J.score=V2(J.scores,J.citation),J}function qf($,_){let U=AX($.metadata_json),W=a5(`${$.kind} ${$.name} ${$.shard_key??""} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"knowledge_index",id:$.id,title:$.name,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:h_(U,["artifact_key"]),hash:h_(U,["content_hash"]),shard_key:$.shard_key},provenance:s5(U),reasons:["index_catalog_match"]};return J.score=V2(J.scores,J.citation),J}function H2($,_){let U=`${_.kind}:${_.id}`,W=$.get(U);if(!W){$.set(U,_);return}W.scores={keyword:Math.max(W.scores.keyword??0,_.scores.keyword??0)||void 0,semantic:Math.max(W.scores.semantic??0,_.scores.semantic??0)||void 0,catalog:Math.max(W.scores.catalog??0,_.scores.catalog??0)||void 0},W.reasons=MB([...W.reasons,..._.reasons]),W.text=W.text??_.text,W.title=W.title??_.title,W.source=W.source??_.source,W.citation=W.citation??_.citation,W.artifact=W.artifact??_.artifact,W.provenance=W.provenance??_.provenance,W.score=V2(W.scores,W.citation)}function CB($){let _={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return $.sort((U,W)=>{if(W.score!==U.score)return W.score-U.score;return _[U.kind]-_[W.kind]||U.id.localeCompare(W.id)})}async function FX($){let _=$.query.trim();if(!_)throw Error("Search query is required.");let U=Math.max(1,Math.min($.limit??10,100)),W=Math.max(0,Math.floor($.offset??0)),J=W+U,X=IB(_),G=$f(_),Q=$.semantic===!0||$.fake===!0||Boolean($.modelRef),Y=[],j=null,O=null,B=null,V=0,L=0,N=0,H=new Map;$$($.dbPath);let R=d($.dbPath);try{let M=Math.max(J*3,20),K=bB(R,G.and,M);if(K.length===0&&G.or)K=bB(R,G.or,M);V=K.length,K.forEach((i,r$)=>H2(H,Df(i,Uf(i.rank,r$))));let I=Gf(R,X,Math.max(J,10)),Z=Qf(R,X,Math.max(J,10)),k=jf($.legacyStorePath,X,Math.max(J,10));L=I.length+Z.length,V+=k.length,k.forEach(({item:i,score:r$})=>H2(H,fB(i,r$))),I.forEach((i)=>H2(H,zf(i,X))),Z.forEach((i)=>H2(H,qf(i,X)))}finally{R.close()}if(Q)try{let M=await RX({dbPath:$.dbPath,query:_,limit:Math.max(J*3,20),config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,batchSize:$.batchSize,maxParallelCalls:$.maxParallelCalls});j=M.provider,O=M.model,B=M.dimensions,N=M.results.length;for(let K of M.results){let I={kind:"source_chunk",id:K.chunk_id,title:null,text:K.text,score:0,scores:{semantic:Jf(K.score)},source:{uri:K.source_uri,ref:K.source_ref,kind:K.provenance?.source_kind??null,revision:K.revision,hash:K.hash},citation:{chunk_id:K.chunk_id,start_offset:K.provenance?.start_offset??null,end_offset:K.provenance?.end_offset??null},artifact:null,provenance:K.provenance,reasons:["semantic_match"]};I.score=V2(I.scores,I.citation),H2(H,I)}}catch(M){Y.push(`semantic_search_failed: ${M instanceof Error?M.message:String(M)}`)}let A=CB(Array.from(H.values())).slice(W,W+U);return{query:_,limit:U,offset:W,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:j,semantic_model:O,semantic_dimensions:B,counts:{keyword_results:V,catalog_results:L,semantic_results:N,merged_results:A.length},warnings:Y,results:A}}async function KX($){return C0(kB($.legacyStorePath),$,["knowledge_db_missing"])}async function C0($,_,U=[]){let W=_.query.trim();if(!W)throw Error("Search query is required.");let J=Math.max(1,Math.min(_.limit??10,100)),X=Math.max(0,Math.floor(_.offset??0)),G=IB(W),Q=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),Y=new Map,j=PB($,G,Math.max(X+J,10));j.forEach(({item:V,score:L})=>H2(Y,fB(V,L)));let O=[...U];if(Q)O.push("semantic_search_requires_local_catalog");let B=CB(Array.from(Y.values())).slice(X,X+J);return{query:W,limit:J,offset:X,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:j.length,catalog_results:0,semantic_results:0,merged_results:B.length},warnings:O,results:B}}function TB($,_){return`${$}_${Of("sha256").update(_).digest("hex").slice(0,20)}`}function SB($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Lf($){return Array.from(new Set(SB($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function Nf($){return[$.title,$.text].filter(Boolean).join(" ").toLowerCase()}function Bf($,_){if(_.length===0)return 0;let U=Nf($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function Hf($){if(!$)return!0;if("read_only"in $)return $.read_only===!0;if("read_only_sources"in $)return $.read_only_sources===!0;return!0}function ZB($){if(!$)return!1;if("stale"in $&&$.stale)return!0;if("status"in $)return h5($.status);return!1}function Vf($){if(ZB($.provenance))return 0;if($.source?.hash||$.source?.revision)return 1;if($.artifact?.hash)return 0.85;if($.provenance&&"source_refs"in $.provenance&&$.provenance.source_refs.length>0)return 0.75;return 0.55}function Rf($){if($.citation?.chunk_id&&($.source?.uri||$.artifact?.uri))return 1;if($.provenance&&"citation_required"in $.provenance&&$.provenance.citation_required)return 0.75;if($.artifact?.uri)return 0.65;return 0.35}function Af($){if($.kind==="wiki_chunk")return 0.85;if($.kind==="source_chunk")return 0.8;if($.kind==="legacy_item")return 0.6;if($.kind==="wiki_page")return 0.65;return 0.55}function Ef($,_){let U={base_score:$.score,exact_score:Bf($,_),citation_score:Rf($),freshness_score:Vf($),authority_score:Af($)},W=Math.min(1,U.base_score*0.65+U.exact_score*0.1+U.citation_score*0.1+U.freshness_score*0.1+U.authority_score*0.05),J=new Set($.reasons);if(U.exact_score>0.5)J.add("exact_term");if(U.citation_score>=0.75)J.add("cited_source");if(U.freshness_score>=0.85)J.add("fresh_source");return{...$,score:Number(W.toFixed(6)),reasons:Array.from(J),rerank:{...U,final_score:Number(W.toFixed(6))}}}function vB($,_){let U=$.text??$.title;if(!U)return null;let W=U.replace(/\s+/g," ").trim();return W.length<=_?W:`${W.slice(0,Math.max(0,_-1)).trim()}...`}function Ff($){return{id:TB("cite",`${$.kind}\x00${$.id}\x00${$.source?.uri??""}\x00${$.artifact?.uri??""}`),result_id:$.id,kind:$.kind,source_uri:$.source?.uri??null,source_ref:$.source?.ref??null,artifact_uri:$.artifact?.uri??null,artifact_path:$.artifact?.path??null,revision:$.source?.revision??null,hash:$.source?.hash??$.artifact?.hash??null,chunk_id:$.citation?.chunk_id??null,start_offset:$.citation?.start_offset??null,end_offset:$.citation?.end_offset??null,quote:vB($,500),provenance:$.provenance}}function Kf($,_,U){let W=vB($,U);if(!W)return null;return{id:TB("excerpt",`${$.kind}\x00${$.id}`),result_id:$.id,citation_id:_.id,kind:$.kind,text:W,score:$.score}}function bX($){return $.map(()=>"?").join(", ")}function bf($,_){let U=_.map((Q)=>Q.citation?.chunk_id).filter((Q)=>Boolean(Q)),W=_.filter((Q)=>Q.kind==="wiki_page").map((Q)=>Q.id),J=[],X=[];if(U.length===0&&W.length===0)return{citations:J,backlinks:X};let G=d($);try{if(U.length>0)J.push(...G.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE chunk_id IN (${EX(U)}) + WHERE chunk_id IN (${bX(U)}) ORDER BY created_at DESC LIMIT 50`).all(...U));if(W.length>0)J.push(...G.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE wiki_page_id IN (${EX(W)}) + WHERE wiki_page_id IN (${bX(W)}) ORDER BY created_at DESC LIMIT 50`).all(...W)),X.push(...G.query(`SELECT from_page_id, to_page_id, label FROM wiki_backlinks - WHERE from_page_id IN (${EX(W)}) OR to_page_id IN (${EX(W)}) - LIMIT 50`).all(...W,...W))}finally{G.close()}return{citations:J,backlinks:X}}function R2($,_={}){let U=Math.max(200,Math.min(_.contextChars??1200,4000)),W=NP($.query),J=[...$.warnings],X=new Set,G=new Set,Y=$.results.filter((B)=>{if(!VP(B.provenance))return J.push(`permission_filtered: ${B.kind}:${B.id}`),X.add("Dropped a result because provenance was not read-only."),!1;if(ZB(B.provenance))return J.push(`stale_filtered: ${B.kind}:${B.id}`),G.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((B)=>FP(B,W)).sort((B,V)=>V.score-B.score||B.id.localeCompare(V.id)).slice(0,$.limit),j=Y.map(EP),O=Y.map((B,V)=>KP(B,j[V],U)).filter((B)=>Boolean(B));for(let B of Y){if(B.provenance&&"read_only"in B.provenance&&B.provenance.read_only)X.add("All source-backed excerpts are read-only and citation-required.");if(B.rerank.freshness_score>=0.85)G.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:$.query,normalized_query:SB($.query),created_at:new Date().toISOString(),mode:$.mode,warnings:J,search_counts:$.counts,results:Y,citations:j,excerpts:O,graph:_.dbPath?MP(_.dbPath,Y):{citations:[],backlinks:[]},notes:{permissions:Array.from(X),freshness:Array.from(G)}}}async function A2($){let _=await bX($);return R2(_,{dbPath:$.dbPath,contextChars:$.contextChars})}async function KX($,_){let U=await C0($,_);return R2(U,{contextChars:_.contextChars})}function b2($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function eG($){return`C${$+1}`}function hB($,_){if(_.excerpts.length===0)return`No indexed knowledge matched the prompt: ${$}`;return[`Found ${_.excerpts.length} relevant knowledge excerpt(s) for: ${$}`,"",..._.excerpts.slice(0,5).map((W,J)=>{let X=_.citations.find((Q)=>Q.id===W.citation_id),G=X?.source_ref??X?.source_uri??X?.artifact_path??X?.artifact_uri??"unknown source";return`[${eG(J)}] ${W.text} (${G})`})].join(` -`)}function xB($,_){let U=_.citations.map((J,X)=>({id:eG(X),source_ref:J.source_ref,source_uri:J.source_uri,artifact_path:J.artifact_path,revision:J.revision,hash:J.hash,quote:J.quote})),W=_.excerpts.map((J,X)=>({id:eG(X),kind:J.kind,text:J.text,score:J.score}));return[`Prompt: ${$}`,"","Use only the provided context. Cite claims with citation ids like [C1]. If context is insufficient, say what is missing.","",`Context excerpts: + WHERE from_page_id IN (${bX(W)}) OR to_page_id IN (${bX(W)}) + LIMIT 50`).all(...W,...W))}finally{G.close()}return{citations:J,backlinks:X}}function R2($,_={}){let U=Math.max(200,Math.min(_.contextChars??1200,4000)),W=Lf($.query),J=[...$.warnings],X=new Set,G=new Set,Y=$.results.filter((B)=>{if(!Hf(B.provenance))return J.push(`permission_filtered: ${B.kind}:${B.id}`),X.add("Dropped a result because provenance was not read-only."),!1;if(ZB(B.provenance))return J.push(`stale_filtered: ${B.kind}:${B.id}`),G.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((B)=>Ef(B,W)).sort((B,V)=>V.score-B.score||B.id.localeCompare(V.id)).slice(0,$.limit),j=Y.map(Ff),O=Y.map((B,V)=>Kf(B,j[V],U)).filter((B)=>Boolean(B));for(let B of Y){if(B.provenance&&"read_only"in B.provenance&&B.provenance.read_only)X.add("All source-backed excerpts are read-only and citation-required.");if(B.rerank.freshness_score>=0.85)G.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:$.query,normalized_query:SB($.query),created_at:new Date().toISOString(),mode:$.mode,warnings:J,search_counts:$.counts,results:Y,citations:j,excerpts:O,graph:_.dbPath?bf(_.dbPath,Y):{citations:[],backlinks:[]},notes:{permissions:Array.from(X),freshness:Array.from(G)}}}async function A2($){let _=await FX($);return R2(_,{dbPath:$.dbPath,contextChars:$.contextChars})}async function MX($,_){let U=await C0($,_);return R2(U,{contextChars:_.contextChars})}function E2($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function $Q($){return`C${$+1}`}function hB($,_){if(_.excerpts.length===0)return`No indexed knowledge matched the prompt: ${$}`;return[`Found ${_.excerpts.length} relevant knowledge excerpt(s) for: ${$}`,"",..._.excerpts.slice(0,5).map((W,J)=>{let X=_.citations.find((Q)=>Q.id===W.citation_id),G=X?.source_ref??X?.source_uri??X?.artifact_path??X?.artifact_uri??"unknown source";return`[${$Q(J)}] ${W.text} (${G})`})].join(` +`)}function xB($,_){let U=_.citations.map((J,X)=>({id:$Q(X),source_ref:J.source_ref,source_uri:J.source_uri,artifact_path:J.artifact_path,revision:J.revision,hash:J.hash,quote:J.quote})),W=_.excerpts.map((J,X)=>({id:$Q(X),kind:J.kind,text:J.text,score:J.score}));return[`Prompt: ${$}`,"","Use only the provided context. Cite claims with citation ids like [C1]. If context is insufficient, say what is missing.","",`Context excerpts: ${JSON.stringify(W,null,2)}`,"",`Citations: ${JSON.stringify(U,null,2)}`].join(` -`)}function mB($,_){if(_.citations.length===0)return[];return[{kind:"answer_note",title:$.length>80?`${$.slice(0,77)}...`:$,citations:_.citations.map((U)=>U.id),requires_approval:!0}]}function gP($,_){let U=d($);try{U.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[_.runId,"knowledge-prompt",_.prompt,_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.now])}finally{U.close()}}function sG($,_){let U=d($);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${$Q()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{U.close()}}function yB($,_){let U=d($);try{U.run(`UPDATE runs +`)}function mB($,_){if(_.citations.length===0)return[];return[{kind:"answer_note",title:$.length>80?`${$.slice(0,77)}...`:$,citations:_.citations.map((U)=>U.id),requires_approval:!0}]}function Mf($,_){let U=d($);try{U.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[_.runId,"knowledge-prompt",_.prompt,_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.now])}finally{U.close()}}function e5($,_){let U=d($);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${_Q()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{U.close()}}function yB($,_){let U=d($);try{U.run(`UPDATE runs SET status = ?, provider = ?, model = ?, metadata_json = ?, updated_at = ? - WHERE id = ?`,[_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.runId])}finally{U.close()}}function IP($,_,U,W,J,X,G={}){let Q=d($);try{B2(Q,{run_id:_,provider:W,model:J,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:G,created_at:X})}finally{Q.close()}}async function uB($){let _=$.prompt.trim();if(!_)throw Error("Knowledge prompt is required.");let U=($.now??new Date).toISOString(),W=`run_${$Q()}`,J=z6($.modelRef??"default",$.config),X=j_(J);$$($.dbPath),gP($.dbPath,{runId:W,prompt:_,status:$.generate?"running":"dry_run",provider:$.generate?X.provider:"local",model:$.generate?X.model:"context-draft",metadata:{semantic:$.semantic===!0||$.fake===!0||Boolean($.modelRef),approve_write:$.approveWrite===!0,generated:$.generate===!0},now:U});let{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=$,B=await A2({...O,query:_});sG($.dbPath,{runId:W,level:"info",event:"context_retrieved",metadata:{results:B.results.length,citations:B.citations.length,warnings:B.warnings},now:U});let V=hB(_,B),L=!1,N="local",H="context-draft",R={input_tokens:b2(_)+B.excerpts.reduce((E,g)=>E+b2(g.text),0),output_tokens:b2(V),cost_usd:0},b=[...B.warnings];if($.generate)try{if($.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${_} + WHERE id = ?`,[_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.runId])}finally{U.close()}}function If($,_,U,W,J,X,G={}){let Q=d($);try{B2(Q,{run_id:_,provider:W,model:J,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:G,created_at:X})}finally{Q.close()}}async function uB($){let _=$.prompt.trim();if(!_)throw Error("Knowledge prompt is required.");let U=($.now??new Date).toISOString(),W=`run_${_Q()}`,J=z6($.modelRef??"default",$.config),X=j_(J);$$($.dbPath),Mf($.dbPath,{runId:W,prompt:_,status:$.generate?"running":"dry_run",provider:$.generate?X.provider:"local",model:$.generate?X.model:"context-draft",metadata:{semantic:$.semantic===!0||$.fake===!0||Boolean($.modelRef),approve_write:$.approveWrite===!0,generated:$.generate===!0},now:U});let{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=$,B=await A2({...O,query:_});e5($.dbPath,{runId:W,level:"info",event:"context_retrieved",metadata:{results:B.results.length,citations:B.citations.length,warnings:B.warnings},now:U});let V=hB(_,B),L=!1,N="local",H="context-draft",R={input_tokens:E2(_)+B.excerpts.reduce((K,I)=>K+E2(I.text),0),output_tokens:E2(V),cost_usd:0},E=[...B.warnings];if($.generate)try{if($.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${_} -${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:$.config,env:$.env}),Z=await E({model:g,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:xB(_,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=f0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}}catch(E){throw sG($.dbPath,{runId:W,level:"error",event:"answer_generation_failed",metadata:{message:E instanceof Error?E.message:String(E)},now:U}),yB($.dbPath,{runId:W,status:"failed",provider:X.provider,model:X.model,metadata:{generated:!1,error:E instanceof Error?E.message:String(E)},now:U}),E}let A=mB(_,B),M={approved:$.approveWrite===!0,durable_writes_performed:!1,reason:$.approveWrite?"Approval flag recorded; durable wiki writing is deferred to the wiki compile task.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return sG($.dbPath,{runId:W,level:"info",event:L?"answer_generated":"answer_drafted",metadata:{provider:N,model:H,proposed_updates:A.length,durable_writes_performed:!1},now:U}),IP($.dbPath,W,R,N,H,U,{generated:L,citations:B.citations.length}),yB($.dbPath,{runId:W,status:L?"completed":"dry_run",provider:N,model:H,metadata:{generated:L,citations:B.citations.length,proposed_updates:A.length,approve_write:$.approveWrite===!0},now:U}),{run_id:W,prompt:_,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:b}}async function dB($,_){let U=_.prompt.trim();if(!U)throw Error("Knowledge prompt is required.");let W=`run_${$Q()}`,J=z6(_.modelRef??"default",_.config),X=j_(J),{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=_,B=await KX($,{...O,query:U}),V=hB(U,B),L=!1,N="local",H="context-draft",R={input_tokens:b2(U)+B.excerpts.reduce((E,g)=>E+b2(g.text),0),output_tokens:b2(V),cost_usd:0},b=[...B.warnings];if(_.generate)if(_.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${U} +${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:$.config,env:$.env}),Z=await K({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:xB(_,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=P0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}}catch(K){throw e5($.dbPath,{runId:W,level:"error",event:"answer_generation_failed",metadata:{message:K instanceof Error?K.message:String(K)},now:U}),yB($.dbPath,{runId:W,status:"failed",provider:X.provider,model:X.model,metadata:{generated:!1,error:K instanceof Error?K.message:String(K)},now:U}),K}let A=mB(_,B),M={approved:$.approveWrite===!0,durable_writes_performed:!1,reason:$.approveWrite?"Approval flag recorded; durable wiki writing is deferred to the wiki compile task.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return e5($.dbPath,{runId:W,level:"info",event:L?"answer_generated":"answer_drafted",metadata:{provider:N,model:H,proposed_updates:A.length,durable_writes_performed:!1},now:U}),If($.dbPath,W,R,N,H,U,{generated:L,citations:B.citations.length}),yB($.dbPath,{runId:W,status:L?"completed":"dry_run",provider:N,model:H,metadata:{generated:L,citations:B.citations.length,proposed_updates:A.length,approve_write:$.approveWrite===!0},now:U}),{run_id:W,prompt:_,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:E}}async function dB($,_){let U=_.prompt.trim();if(!U)throw Error("Knowledge prompt is required.");let W=`run_${_Q()}`,J=z6(_.modelRef??"default",_.config),X=j_(J),{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=_,B=await MX($,{...O,query:U}),V=hB(U,B),L=!1,N="local",H="context-draft",R={input_tokens:E2(U)+B.excerpts.reduce((K,I)=>K+E2(I.text),0),output_tokens:E2(V),cost_usd:0},E=[...B.warnings];if(_.generate)if(_.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${U} -${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:_.config,env:_.env}),Z=await E({model:g,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:xB(U,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=f0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}let A=mB(U,B),M={approved:_.approveWrite===!0,durable_writes_performed:!1,reason:_.approveWrite?"Approval flag recorded; durable wiki writes require the local catalog (wiki compile) and are not available in cloud mode.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return{run_id:W,prompt:U,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:b}}import{createHash as wP}from"crypto";var kP=1200,fP=6,PP=12000,CP=50,nB=800;function E2($,_,U=16){return`${$}_${wP("sha256").update(_).digest("hex").slice(0,U)}`}function UQ($){return $.normalize("NFKC").trim().replace(/\s+/g," ")}function JQ($){return UQ($).toLowerCase()}function TP($){return Array.from(new Set(JQ($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function Q4($,_){let U=UQ($);if(U.length<=_)return U;let W="...";if(_<=W.length)return U.slice(0,Math.max(0,_));return`${U.slice(0,_-W.length).trim()}${W}`}function cB($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function WQ($){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test($)}function _Q($){return Object.keys($).filter((_)=>!WQ(_)).sort().slice(0,12)}function SP($,_){for(let U of _){if(WQ(U))continue;let W=$[U];if(typeof W==="string"&&W.trim())return W.trim()}return null}function aU($,_){if(!$)return null;let U=w_($,_).text;try{let W=new URL(U),J=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let X of J)W.searchParams.delete(X);for(let[X]of W.searchParams)if(WQ(X))W.searchParams.delete(X);return W.toString()}catch{return U}}function Z6($,_,U){return aU(SP($,_),U)}function MX($){let _=[];for(let U of _Q($).slice(0,6)){let W=$[U];if(typeof W==="string"&&W.trim())_.push(`${U}=${Q4(W,80)}`);else if(typeof W==="number"||typeof W==="boolean")_.push(`${U}=${String(W)}`);else if(W&&typeof W==="object")_.push(`${U}={...}`)}return _.join("; ")}function ZP($){if(!$.trim())return 0;return Math.max(1,Math.ceil($.length/4))}function lB($){return ZP(JSON.stringify($))}function vP($){if(!Number.isFinite($??NaN))return kP;let _=Math.floor($);if(_<nB)throw Error(`--max-tokens must be at least ${nB} for the stable context-pack schema.`);return Math.min(_,PP)}function yP($,_){let U=Number.isFinite($??NaN)?$:_;if(!Number.isFinite(U??NaN))return fP;return Math.max(1,Math.min(Math.floor(U),CP))}function pB($,_){if(!$)return{cutoff:null,warning:null};let U=$.trim(),W=/^(\d+)\s*([mhdw])$/i.exec(U);if(W){let X=Number(W[1]),G=W[2].toLowerCase(),Q=G==="m"?60000:G==="h"?3600000:G==="d"?86400000:604800000;return{cutoff:new Date(_.getTime()-X*Q).toISOString(),warning:null}}let J=new Date(U);if(!Number.isNaN(J.getTime()))return{cutoff:J.toISOString(),warning:null};return{cutoff:null,warning:`invalid_since_ignored: ${U}`}}function F2($,_,U){let W=w_($,_);return{text:Q4(W.text,U),redactions:W.findings.length}}function rB($,_){if(_.length===0)return 0.5;let U=JQ($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function hP($){return["This pack is read-only and performs no durable writes.","Use citation ids and refs instead of pasting raw artifacts into prompts.","Resolve source or artifact refs explicitly only when raw content is needed and allowed.","Run generated knowledge writes through approval-gated commands before applying.",$==="loops"||$==="runs"?"Run evidence is summarized from knowledge run ledgers; raw run artifacts remain referenced, not embedded.":"Search evidence is derived from indexed chunks/wiki catalog rows with citation metadata."]}function xP($,_,U){let W=aU(_.source_ref,U),J=aU(_.source_uri,U),X=aU(_.artifact_uri,U),G=aU(_.artifact_path,U),Q=W??J??G??X??_.id,Y=_.quote?F2(_.quote,U,$<3?220:140):null;return{citation:{id:E2("cite",`${_.id}\x00${Q}`,12),kind:_.artifact_uri||_.artifact_path?"artifact":"source",ref:Q,source_ref:W,source_uri:J,artifact_uri:X,artifact_path:G,run_id:null,run_event_id:null,revision:_.revision??null,hash:_.hash??null,chunk_id:_.chunk_id??null,offsets:{start:_.start_offset??null,end:_.end_offset??null},quote_preview:Y?.text??null},redactions:Y?.redactions??0}}async function mP($,_){let U=($.query??$.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:W,dbPath:J,limit:X,semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,legacyStorePath:L}=$,N=await A2({dbPath:J,config:W,legacyStorePath:L,query:U,limit:Math.max(_,X??_),semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,contextChars:Math.min($.contextChars??700,1200)}),H=new Map,R=0;N.citations.forEach((E,g)=>{let Z=xP(g,E,$.safetyPolicy);R+=Z.redactions,H.set(E.id,Z.citation)});let b=N.excerpts.slice(0,Math.max(_*2,_)).map((E)=>{let g=N.results.find((i$)=>i$.id===E.result_id),Z=E.citation_id?H.get(E.citation_id):null,k=F2(E.text,$.safetyPolicy,520);R+=k.redactions;let r=g?.title??Z?.ref??E.kind;return{id:E2("ev",`${E.kind}\x00${E.result_id}\x00${E.citation_id??""}`,14),kind:E.kind,title:Q4(r,100),text_preview:k.text,score:Number(E.score.toFixed(6)),citation_ids:Z?[Z.id]:[],provenance:{source:"search",record_ref:`${E.kind}:${E.result_id}`,created_at:N.created_at,updated_at:null,metadata_keys:[]}}}),A=new Set(b.flatMap((E)=>E.citation_ids));return{citations:Array.from(H.values()).filter((E)=>A.has(E.id)),evidence:b,duplicateCandidates:[],redactions:R,warnings:N.warnings,available:N.excerpts.length}}function uP($,_,U){if(_)return $.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at +${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:_.config,env:_.env}),Z=await K({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:xB(U,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=P0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}let A=mB(U,B),M={approved:_.approveWrite===!0,durable_writes_performed:!1,reason:_.approveWrite?"Approval flag recorded; durable wiki writes require the local catalog (wiki compile) and are not available in cloud mode.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return{run_id:W,prompt:U,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:E}}import{createHash as gf}from"crypto";var wf=1200,kf=6,Pf=12000,ff=50,cB=800;function K2($,_,U=16){return`${$}_${gf("sha256").update(_).digest("hex").slice(0,U)}`}function JQ($){return $.normalize("NFKC").trim().replace(/\s+/g," ")}function WQ($){return JQ($).toLowerCase()}function Cf($){return Array.from(new Set(WQ($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function Q4($,_){let U=JQ($);if(U.length<=_)return U;let W="...";if(_<=W.length)return U.slice(0,Math.max(0,_));return`${U.slice(0,_-W.length).trim()}${W}`}function nB($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function XQ($){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test($)}function UQ($){return Object.keys($).filter((_)=>!XQ(_)).sort().slice(0,12)}function Tf($,_){for(let U of _){if(XQ(U))continue;let W=$[U];if(typeof W==="string"&&W.trim())return W.trim()}return null}function aU($,_){if(!$)return null;let U=w_($,_).text;try{let W=new URL(U),J=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let X of J)W.searchParams.delete(X);for(let[X]of W.searchParams)if(XQ(X))W.searchParams.delete(X);return W.toString()}catch{return U}}function Z6($,_,U){return aU(Tf($,_),U)}function IX($){let _=[];for(let U of UQ($).slice(0,6)){let W=$[U];if(typeof W==="string"&&W.trim())_.push(`${U}=${Q4(W,80)}`);else if(typeof W==="number"||typeof W==="boolean")_.push(`${U}=${String(W)}`);else if(W&&typeof W==="object")_.push(`${U}={...}`)}return _.join("; ")}function Sf($){if(!$.trim())return 0;return Math.max(1,Math.ceil($.length/4))}function lB($){return Sf(JSON.stringify($))}function Zf($){if(!Number.isFinite($??NaN))return wf;let _=Math.floor($);if(_<cB)throw Error(`--max-tokens must be at least ${cB} for the stable context-pack schema.`);return Math.min(_,Pf)}function vf($,_){let U=Number.isFinite($??NaN)?$:_;if(!Number.isFinite(U??NaN))return kf;return Math.max(1,Math.min(Math.floor(U),ff))}function pB($,_){if(!$)return{cutoff:null,warning:null};let U=$.trim(),W=/^(\d+)\s*([mhdw])$/i.exec(U);if(W){let X=Number(W[1]),G=W[2].toLowerCase(),Q=G==="m"?60000:G==="h"?3600000:G==="d"?86400000:604800000;return{cutoff:new Date(_.getTime()-X*Q).toISOString(),warning:null}}let J=new Date(U);if(!Number.isNaN(J.getTime()))return{cutoff:J.toISOString(),warning:null};return{cutoff:null,warning:`invalid_since_ignored: ${U}`}}function F2($,_,U){let W=w_($,_);return{text:Q4(W.text,U),redactions:W.findings.length}}function iB($,_){if(_.length===0)return 0.5;let U=WQ($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function yf($){return["This pack is read-only and performs no durable writes.","Use citation ids and refs instead of pasting raw artifacts into prompts.","Resolve source or artifact refs explicitly only when raw content is needed and allowed.","Run generated knowledge writes through approval-gated commands before applying.",$==="loops"||$==="runs"?"Run evidence is summarized from knowledge run ledgers; raw run artifacts remain referenced, not embedded.":"Search evidence is derived from indexed chunks/wiki catalog rows with citation metadata."]}function hf($,_,U){let W=aU(_.source_ref,U),J=aU(_.source_uri,U),X=aU(_.artifact_uri,U),G=aU(_.artifact_path,U),Q=W??J??G??X??_.id,Y=_.quote?F2(_.quote,U,$<3?220:140):null;return{citation:{id:K2("cite",`${_.id}\x00${Q}`,12),kind:_.artifact_uri||_.artifact_path?"artifact":"source",ref:Q,source_ref:W,source_uri:J,artifact_uri:X,artifact_path:G,run_id:null,run_event_id:null,revision:_.revision??null,hash:_.hash??null,chunk_id:_.chunk_id??null,offsets:{start:_.start_offset??null,end:_.end_offset??null},quote_preview:Y?.text??null},redactions:Y?.redactions??0}}async function xf($,_){let U=($.query??$.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:W,dbPath:J,limit:X,semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,legacyStorePath:L}=$,N=await A2({dbPath:J,config:W,legacyStorePath:L,query:U,limit:Math.max(_,X??_),semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,contextChars:Math.min($.contextChars??700,1200)}),H=new Map,R=0;N.citations.forEach((K,I)=>{let Z=hf(I,K,$.safetyPolicy);R+=Z.redactions,H.set(K.id,Z.citation)});let E=N.excerpts.slice(0,Math.max(_*2,_)).map((K)=>{let I=N.results.find((r$)=>r$.id===K.result_id),Z=K.citation_id?H.get(K.citation_id):null,k=F2(K.text,$.safetyPolicy,520);R+=k.redactions;let i=I?.title??Z?.ref??K.kind;return{id:K2("ev",`${K.kind}\x00${K.result_id}\x00${K.citation_id??""}`,14),kind:K.kind,title:Q4(i,100),text_preview:k.text,score:Number(K.score.toFixed(6)),citation_ids:Z?[Z.id]:[],provenance:{source:"search",record_ref:`${K.kind}:${K.result_id}`,created_at:N.created_at,updated_at:null,metadata_keys:[]}}}),A=new Set(E.flatMap((K)=>K.citation_ids));return{citations:Array.from(H.values()).filter((K)=>A.has(K.id)),evidence:E,duplicateCandidates:[],redactions:R,warnings:N.warnings,available:N.excerpts.length}}function mf($,_,U){if(_)return $.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at FROM runs WHERE updated_at >= ? OR created_at >= ? ORDER BY updated_at DESC, created_at DESC LIMIT ?`).all(_,_,U);return $.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at FROM runs ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(U)}function dP($,_,U){if(_.length===0)return[];let W=_.map(()=>"?").join(", ");return $.query(`SELECT id, run_id, level, event, metadata_json, created_at + LIMIT ?`).all(U)}function uf($,_,U){if(_.length===0)return[];let W=_.map(()=>"?").join(", ");return $.query(`SELECT id, run_id, level, event, metadata_json, created_at FROM run_events WHERE run_id IN (${W}) ORDER BY created_at DESC - LIMIT ?`).all(..._,U)}function nP($,_){return`${$.type} ${$.metadata_json} ${_.map((W)=>`${W.event} ${W.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function cP($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.id}`,Q=$.prompt?F2($.prompt,U,180).text:null;return{id:E2("cite",`run\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.id,run_event_id:null,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function lP($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.run_id}`,Q=F2($.event,U,160).text;return{id:E2("cite",`event\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run_event",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.run_id,run_event_id:$.id,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function oB($){let _=new Map;for(let U of $){let W=JQ(`${U.title} ${U.text_preview}`).replace(/\b(?:file|https?|s3):\/\/\S+/g,"").replace(/\b(?:run|evt|task|loop)_[a-z0-9_]+\b/g,"").replace(/[^a-z0-9 ]+/g,"").replace(/\b(?:run|event|completed|dry_run|pending)\b/g,"").replace(/\s+/g," ").trim().slice(0,220);if(!W)continue;_.set(W,[..._.get(W)??[],U.id])}return Array.from(_.entries()).filter(([,U])=>U.length>1).map(([U,W])=>({id:E2("dup",U,12),reason:"normalized_text_match",evidence_ids:W,confidence:W.length>2?"high":"medium"}))}async function rP($,_,U){let W=$.source==="loops"?"loops":"runs",J=($.topic??$.query??"").trim(),X=TP(J),G=pB($.since,U),Q=G.warning?[G.warning]:[];$$($.dbPath);let Y=d($.dbPath);try{let j=uP(Y,G.cutoff,Math.max(_*8,40)),O=dP(Y,j.map((b)=>b.id),Math.max(_*12,80)),B=new Map;for(let b of O)B.set(b.run_id,[...B.get(b.run_id)??[],b]);let L=(W==="loops"?j.filter((b)=>nP(b,B.get(b.id)??[])):j).map((b)=>{let A=cB(b.metadata_json),M=`${b.type} ${b.status} ${b.prompt??""} ${MX(A)} ${(B.get(b.id)??[]).map((E)=>`${E.event} ${E.metadata_json}`).join(" ")}`;return{row:b,metadata:A,score:rB(M,X),text:M}}).filter((b)=>X.length===0||b.score>0).sort((b,A)=>A.score-b.score||A.row.updated_at.localeCompare(b.row.updated_at)||b.row.id.localeCompare(A.row.id)),N=[],H=[],R=0;for(let b of L.slice(0,Math.max(_*2,_))){let A=cP(b.row,b.metadata,$.safetyPolicy);N.push(A);let M=MX(b.metadata),E=[b.row.prompt,M].filter(Boolean).join(" | ")||`${b.row.type} ${b.row.status}`,g=F2(E,$.safetyPolicy,420);R+=g.redactions,H.push({id:`run:${b.row.id}`,kind:b.row.type,title:Q4(`${b.row.type}: ${b.row.status}`,100),text_preview:g.text,score:b.score,citation_ids:[A.id],provenance:{source:W,record_ref:`knowledge://project/runs/${b.row.id}`,created_at:b.row.created_at,updated_at:b.row.updated_at,metadata_keys:_Q(b.metadata)}});let Z=(B.get(b.row.id)??[]).map((k)=>{let r=cB(k.metadata_json),i$=`${k.event} ${MX(r)} ${k.metadata_json}`;return{event:k,metadata:r,score:rB(i$,X),text:i$}}).filter((k)=>X.length===0||k.score>0).sort((k,r)=>r.score-k.score||r.event.created_at.localeCompare(k.event.created_at)||k.event.id.localeCompare(r.event.id)).slice(0,2);for(let k of Z){let r=lP(k.event,k.metadata,$.safetyPolicy);N.push(r);let i$=F2(`${k.event}: ${MX(k.metadata)}`,$.safetyPolicy,320);R+=i$.redactions,H.push({id:`event:${k.event.id}`,kind:`run_event:${k.event.level}`,title:Q4(k.event.event,100),text_preview:i$.text,score:k.score,citation_ids:[r.id],provenance:{source:W,record_ref:`knowledge://project/runs/${k.event.run_id}`,created_at:k.event.created_at,updated_at:null,metadata_keys:_Q(k.metadata)}})}}return{citations:N,evidence:H,duplicateCandidates:$.dedupe?oB(H):[],redactions:R,warnings:Q,available:L.length}}finally{Y.close()}}function iP($){let _=$.purpose==="proposal"?`Proposal context: ${Q4($.query||"loop evidence",80)}`:`Knowledge context: ${Q4($.query,80)}`,U=$.evidence.slice(0,8).map((X)=>X.id),W=$.duplicates.slice(0,5).map((X)=>X.id),J=$.evidence.slice(0,5).map((X)=>`${X.id}: ${X.title}`);if($.evidence.length===0)J.push("No matching bounded evidence was found.");return{title:_,bullets:J,evidence_ids:U,duplicate_candidate_ids:W,next_actions:$.source==="loops"?["Review duplicate_candidates before drafting a new proposal.","Use cited run refs for provenance; inspect a run only when more detail is needed.","Keep proposal writes approval-gated and idempotent."]:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]}}function tB($){let _=new Set($.evidence.flatMap((U)=>U.citation_ids));$.citations=$.citations.filter((U)=>_.has(U.id))}function iB($){$.outline.evidence_ids=$.evidence.slice(0,8).map((_)=>_.id),$.outline.bullets=$.evidence.length>0?$.evidence.slice(0,5).map((_)=>`${_.id}: ${_.title}`):["No matching bounded evidence was found."],$.outline.duplicate_candidate_ids=$.duplicate_candidates.slice(0,5).map((_)=>_.id)}function pP($){let _=$.budgets.max_tokens,U=new Set($.warnings);while(lB($)>_){let W=$.evidence.map((X,G)=>({entry:X,index:G})).filter(({entry:X})=>X.text_preview.length>180).sort((X,G)=>G.entry.text_preview.length-X.entry.text_preview.length)[0];if(W){W.entry.text_preview=Q4(W.entry.text_preview,180),U.add("text_preview_truncated_for_token_budget");continue}let J=$.citations.filter((X)=>(X.quote_preview?.length??0)>120).sort((X,G)=>(G.quote_preview?.length??0)-(X.quote_preview?.length??0))[0];if(J?.quote_preview){J.quote_preview=Q4(J.quote_preview,120),U.add("citation_quote_truncated_for_token_budget");continue}if($.evidence.length>0){$.evidence.pop(),$.budgets.items_truncated+=1,$.duplicate_candidates=$.duplicate_candidates.map((X)=>({...X,evidence_ids:X.evidence_ids.filter((G)=>$.evidence.some((Q)=>Q.id===G))})).filter((X)=>X.evidence_ids.length>1),iB($),U.add("evidence_truncated_for_token_budget"),tB($);continue}if($.outline.next_actions.length>1){$.outline.next_actions.pop(),U.add("outline_truncated_for_token_budget");continue}U.add("token_budget_floor_exceeded");break}if($.warnings=Array.from(U).sort(),$.budgets.items_included=$.evidence.length,iB($),$.budgets.estimated_tokens=lB($),$.budgets.token_budget_exceeded=$.budgets.estimated_tokens>_,$.budgets.token_budget_exceeded)throw Error(`Unable to build context pack within ${_} token budget; increase --max-tokens.`);return $.message=`${$.evidence.length} bounded evidence item(s), estimated ${$.budgets.estimated_tokens}/${_} token(s)`,$}async function aB($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=vP($.maxTokens),X=yP($.maxItems,$.limit),G=UQ($.query??$.topic??"");if(W==="proposal"&&U!=="search"&&!G)throw Error("Proposal context requires --topic <text> or a positional topic.");if(U!=="search")$$($.dbPath);let Q=pB($.since,_).cutoff??$.since??"",Y=U==="search"?await mP($,X):await rP($,X,_),j=Y.evidence.sort((N,H)=>H.score-N.score||N.id.localeCompare(H.id)).slice(0,X),O=Y.citations.filter((N,H,R)=>R.findIndex((b)=>b.id===N.id)===H).sort((N,H)=>N.id.localeCompare(H.id)),B=$.dedupe?oB(j):Y.duplicateCandidates.filter((N)=>N.evidence_ids.every((H)=>j.some((R)=>R.id===H))),V=iP({source:U,purpose:W,query:G,evidence:j,duplicates:B}),L={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:E2("ctx",[U,W,G,Q,$.dedupe===!0?"dedupe":"no-dedupe",$.semantic===!0?"semantic":"keyword",$.modelRef??"",$.limit??"",J,X,j.map((N)=>N.id).join(","),O.map((N)=>N.id).join(",")].join("\x00"),20),budgets:{max_tokens:J,estimated_tokens:0,max_items:X,items_included:j.length,items_available:Y.available,items_truncated:Math.max(0,Y.available-j.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:Y.redactions,reminders:hP(U)},citations:O,evidence:j,duplicate_candidates:B,outline:V,warnings:Y.warnings,message:`${j.length} bounded evidence item(s), estimated under ${J} token(s)`};return tB(L),pP(L)}import{randomUUID as bV}from"crypto";import{createHash as oP,randomUUID as tP}from"crypto";import{existsSync as aP,readFileSync as sP}from"fs";import{hostname as J3}from"os";import{fileURLToPath as W3}from"url";import{extname as eP,relative as X3,resolve as sB,sep as $C}from"path";var wX=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"],h4=2,x4=1,UJ={sources:["id"],wiki_pages:["id"],source_revisions:["id"],chunks:["id"],chunk_embeddings:["id"],wiki_backlinks:["from_page_id","to_page_id"],citations:["id"],knowledge_indexes:["id"],runs:["id"],run_events:["id"],provider_usage:["id"],redaction_findings:["id"],storage_objects:["id"],audit_events:["id"],approval_gates:["id"],vector_index_entries:["id"],reindex_queue:["id"],knowledge_machines:["machine_id"],knowledge_sync_snapshots:["id"],knowledge_sync_changes:["id"],knowledge_sync_conflicts:["id"],knowledge_sync_table_clocks:["table_name","machine_id"],knowledge_sync_imports:["bundle_id"]},JJ=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function v6($=new Date){return $.toISOString()}function DQ($){return`${$}_${Date.now().toString(36)}_${tP().slice(0,8)}`}function G3($){let _=$?.trim();if(_)return _;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??J3()}function M2($){if(Array.isArray($))return`[${$.map(M2).join(",")}]`;if($&&typeof $==="object"){let _=$;return`{${Object.keys(_).sort().map((U)=>`${JSON.stringify(U)}:${M2(_[U])}`).join(",")}}`}return JSON.stringify($)}function eU($){return`sha256:${oP("sha256").update($).digest("hex")}`}function gX($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function fX($,_){try{return JSON.parse($)}catch{return _}}function x_($){return`"${$.replace(/"/g,'""')}"`}function _C($){if($===void 0||$===null)return null;if(typeof $==="string"||typeof $==="number"||typeof $==="bigint"||typeof $==="boolean")return $;if($ instanceof Date)return $.toISOString();if(Buffer.isBuffer($)||$ instanceof Uint8Array)return $;if(typeof $==="object")return JSON.stringify($);return String($)}function Q3($,_){return _.filter((U)=>o_($,U))}function o_($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(_);return Boolean(U)}function UC($,_){let U=$.query(`PRAGMA table_info(${x_(_)})`).all();return new Set(U.map((W)=>W.name))}function JC($,_,U){let W=UC($,_);return U.filter((J)=>W.has(J))}function Y3($){if(!$||$.length===0)return[...wX];let _=new Set(wX),U=$.map((J)=>J.trim()).filter(Boolean),W=U.filter((J)=>!_.has(J));if(W.length>0)throw Error(`Unknown knowledge sync table(s): ${W.join(", ")}`);return U}function S0($,_){return UJ[$].map((W)=>`${W}=${JSON.stringify(_[W]??null)}`).join("&")}var WC=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function $J($,_=0){if(_>8)return"[truncated-depth]";if(typeof $==="string")return $.length>4000?`${$.slice(0,4000)}...[truncated]`:$;if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.slice(0,50).map((W)=>$J(W,_+1));let U={};for(let[W,J]of Object.entries($)){if(WC.has(W.toLowerCase()))continue;U[W]=$J(J,_+1)}return U}function sU($){if(!$)return null;return $J($)}function zQ($){return eU(M2($))}function XC($,_){let U={};for(let[W,J]of Object.entries($))if(W==="artifact_uri"&&typeof J==="string"&&_.has(J))U[W]=`artifact:${_.get(J)}`;else U[W]=J;return U}function T0($,_=new Map){return zQ(XC($,_))}function j3($,_){if(!o_($,_))return[];return $.query(`SELECT * FROM ${x_(_)} ORDER BY rowid ASC`).all()}function kX($,_,U=new Map){return zQ(_.map((W)=>({key:S0($,W),hash:T0(W,U)})).sort((W,J)=>W.key.localeCompare(J.key)))}function _J($,_,U){return $.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get(_,U)??null}function GC($){if(!o_($,"knowledge_sync_table_clocks"))return[];return $.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function PX($,_){let U=_.now??v6(),J=_J($,_.table,_.machineId)?.created_at??U;$.query(` + LIMIT ?`).all(..._,U)}function df($,_){return`${$.type} ${$.metadata_json} ${_.map((W)=>`${W.event} ${W.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function cf($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.id}`,Q=$.prompt?F2($.prompt,U,180).text:null;return{id:K2("cite",`run\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.id,run_event_id:null,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function nf($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.run_id}`,Q=F2($.event,U,160).text;return{id:K2("cite",`event\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run_event",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.run_id,run_event_id:$.id,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function oB($){let _=new Map;for(let U of $){let W=WQ(`${U.title} ${U.text_preview}`).replace(/\b(?:file|https?|s3):\/\/\S+/g,"").replace(/\b(?:run|evt|task|loop)_[a-z0-9_]+\b/g,"").replace(/[^a-z0-9 ]+/g,"").replace(/\b(?:run|event|completed|dry_run|pending)\b/g,"").replace(/\s+/g," ").trim().slice(0,220);if(!W)continue;_.set(W,[..._.get(W)??[],U.id])}return Array.from(_.entries()).filter(([,U])=>U.length>1).map(([U,W])=>({id:K2("dup",U,12),reason:"normalized_text_match",evidence_ids:W,confidence:W.length>2?"high":"medium"}))}async function lf($,_,U){let W=$.source==="loops"?"loops":"runs",J=($.topic??$.query??"").trim(),X=Cf(J),G=pB($.since,U),Q=G.warning?[G.warning]:[];$$($.dbPath);let Y=d($.dbPath);try{let j=mf(Y,G.cutoff,Math.max(_*8,40)),O=uf(Y,j.map((E)=>E.id),Math.max(_*12,80)),B=new Map;for(let E of O)B.set(E.run_id,[...B.get(E.run_id)??[],E]);let L=(W==="loops"?j.filter((E)=>df(E,B.get(E.id)??[])):j).map((E)=>{let A=nB(E.metadata_json),M=`${E.type} ${E.status} ${E.prompt??""} ${IX(A)} ${(B.get(E.id)??[]).map((K)=>`${K.event} ${K.metadata_json}`).join(" ")}`;return{row:E,metadata:A,score:iB(M,X),text:M}}).filter((E)=>X.length===0||E.score>0).sort((E,A)=>A.score-E.score||A.row.updated_at.localeCompare(E.row.updated_at)||E.row.id.localeCompare(A.row.id)),N=[],H=[],R=0;for(let E of L.slice(0,Math.max(_*2,_))){let A=cf(E.row,E.metadata,$.safetyPolicy);N.push(A);let M=IX(E.metadata),K=[E.row.prompt,M].filter(Boolean).join(" | ")||`${E.row.type} ${E.row.status}`,I=F2(K,$.safetyPolicy,420);R+=I.redactions,H.push({id:`run:${E.row.id}`,kind:E.row.type,title:Q4(`${E.row.type}: ${E.row.status}`,100),text_preview:I.text,score:E.score,citation_ids:[A.id],provenance:{source:W,record_ref:`knowledge://project/runs/${E.row.id}`,created_at:E.row.created_at,updated_at:E.row.updated_at,metadata_keys:UQ(E.metadata)}});let Z=(B.get(E.row.id)??[]).map((k)=>{let i=nB(k.metadata_json),r$=`${k.event} ${IX(i)} ${k.metadata_json}`;return{event:k,metadata:i,score:iB(r$,X),text:r$}}).filter((k)=>X.length===0||k.score>0).sort((k,i)=>i.score-k.score||i.event.created_at.localeCompare(k.event.created_at)||k.event.id.localeCompare(i.event.id)).slice(0,2);for(let k of Z){let i=nf(k.event,k.metadata,$.safetyPolicy);N.push(i);let r$=F2(`${k.event}: ${IX(k.metadata)}`,$.safetyPolicy,320);R+=r$.redactions,H.push({id:`event:${k.event.id}`,kind:`run_event:${k.event.level}`,title:Q4(k.event.event,100),text_preview:r$.text,score:k.score,citation_ids:[i.id],provenance:{source:W,record_ref:`knowledge://project/runs/${k.event.run_id}`,created_at:k.event.created_at,updated_at:null,metadata_keys:UQ(k.metadata)}})}}return{citations:N,evidence:H,duplicateCandidates:$.dedupe?oB(H):[],redactions:R,warnings:Q,available:L.length}}finally{Y.close()}}function rf($){let _=$.purpose==="proposal"?`Proposal context: ${Q4($.query||"loop evidence",80)}`:`Knowledge context: ${Q4($.query,80)}`,U=$.evidence.slice(0,8).map((X)=>X.id),W=$.duplicates.slice(0,5).map((X)=>X.id),J=$.evidence.slice(0,5).map((X)=>`${X.id}: ${X.title}`);if($.evidence.length===0)J.push("No matching bounded evidence was found.");return{title:_,bullets:J,evidence_ids:U,duplicate_candidate_ids:W,next_actions:$.source==="loops"?["Review duplicate_candidates before drafting a new proposal.","Use cited run refs for provenance; inspect a run only when more detail is needed.","Keep proposal writes approval-gated and idempotent."]:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]}}function tB($){let _=new Set($.evidence.flatMap((U)=>U.citation_ids));$.citations=$.citations.filter((U)=>_.has(U.id))}function rB($){$.outline.evidence_ids=$.evidence.slice(0,8).map((_)=>_.id),$.outline.bullets=$.evidence.length>0?$.evidence.slice(0,5).map((_)=>`${_.id}: ${_.title}`):["No matching bounded evidence was found."],$.outline.duplicate_candidate_ids=$.duplicate_candidates.slice(0,5).map((_)=>_.id)}function pf($){let _=$.budgets.max_tokens,U=new Set($.warnings);while(lB($)>_){let W=$.evidence.map((X,G)=>({entry:X,index:G})).filter(({entry:X})=>X.text_preview.length>180).sort((X,G)=>G.entry.text_preview.length-X.entry.text_preview.length)[0];if(W){W.entry.text_preview=Q4(W.entry.text_preview,180),U.add("text_preview_truncated_for_token_budget");continue}let J=$.citations.filter((X)=>(X.quote_preview?.length??0)>120).sort((X,G)=>(G.quote_preview?.length??0)-(X.quote_preview?.length??0))[0];if(J?.quote_preview){J.quote_preview=Q4(J.quote_preview,120),U.add("citation_quote_truncated_for_token_budget");continue}if($.evidence.length>0){$.evidence.pop(),$.budgets.items_truncated+=1,$.duplicate_candidates=$.duplicate_candidates.map((X)=>({...X,evidence_ids:X.evidence_ids.filter((G)=>$.evidence.some((Q)=>Q.id===G))})).filter((X)=>X.evidence_ids.length>1),rB($),U.add("evidence_truncated_for_token_budget"),tB($);continue}if($.outline.next_actions.length>1){$.outline.next_actions.pop(),U.add("outline_truncated_for_token_budget");continue}U.add("token_budget_floor_exceeded");break}if($.warnings=Array.from(U).sort(),$.budgets.items_included=$.evidence.length,rB($),$.budgets.estimated_tokens=lB($),$.budgets.token_budget_exceeded=$.budgets.estimated_tokens>_,$.budgets.token_budget_exceeded)throw Error(`Unable to build context pack within ${_} token budget; increase --max-tokens.`);return $.message=`${$.evidence.length} bounded evidence item(s), estimated ${$.budgets.estimated_tokens}/${_} token(s)`,$}async function aB($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=Zf($.maxTokens),X=vf($.maxItems,$.limit),G=JQ($.query??$.topic??"");if(W==="proposal"&&U!=="search"&&!G)throw Error("Proposal context requires --topic <text> or a positional topic.");if(U!=="search")$$($.dbPath);let Q=pB($.since,_).cutoff??$.since??"",Y=U==="search"?await xf($,X):await lf($,X,_),j=Y.evidence.sort((N,H)=>H.score-N.score||N.id.localeCompare(H.id)).slice(0,X),O=Y.citations.filter((N,H,R)=>R.findIndex((E)=>E.id===N.id)===H).sort((N,H)=>N.id.localeCompare(H.id)),B=$.dedupe?oB(j):Y.duplicateCandidates.filter((N)=>N.evidence_ids.every((H)=>j.some((R)=>R.id===H))),V=rf({source:U,purpose:W,query:G,evidence:j,duplicates:B}),L={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:K2("ctx",[U,W,G,Q,$.dedupe===!0?"dedupe":"no-dedupe",$.semantic===!0?"semantic":"keyword",$.modelRef??"",$.limit??"",J,X,j.map((N)=>N.id).join(","),O.map((N)=>N.id).join(",")].join("\x00"),20),budgets:{max_tokens:J,estimated_tokens:0,max_items:X,items_included:j.length,items_available:Y.available,items_truncated:Math.max(0,Y.available-j.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:Y.redactions,reminders:yf(U)},citations:O,evidence:j,duplicate_candidates:B,outline:V,warnings:Y.warnings,message:`${j.length} bounded evidence item(s), estimated under ${J} token(s)`};return tB(L),pf(L)}import{randomUUID as EV}from"crypto";import{createHash as of,randomUUID as tf}from"crypto";import{existsSync as af,readFileSync as sf}from"fs";import{hostname as JH}from"os";import{fileURLToPath as WH}from"url";import{extname as ef,relative as XH,resolve as sB,sep as $C}from"path";var kX=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"],h4=2,x4=1,UJ={sources:["id"],wiki_pages:["id"],source_revisions:["id"],chunks:["id"],chunk_embeddings:["id"],wiki_backlinks:["from_page_id","to_page_id"],citations:["id"],knowledge_indexes:["id"],runs:["id"],run_events:["id"],provider_usage:["id"],redaction_findings:["id"],storage_objects:["id"],audit_events:["id"],approval_gates:["id"],vector_index_entries:["id"],reindex_queue:["id"],knowledge_machines:["machine_id"],knowledge_sync_snapshots:["id"],knowledge_sync_changes:["id"],knowledge_sync_conflicts:["id"],knowledge_sync_table_clocks:["table_name","machine_id"],knowledge_sync_imports:["bundle_id"]},JJ=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function v6($=new Date){return $.toISOString()}function zQ($){return`${$}_${Date.now().toString(36)}_${tf().slice(0,8)}`}function GH($){let _=$?.trim();if(_)return _;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??JH()}function M2($){if(Array.isArray($))return`[${$.map(M2).join(",")}]`;if($&&typeof $==="object"){let _=$;return`{${Object.keys(_).sort().map((U)=>`${JSON.stringify(U)}:${M2(_[U])}`).join(",")}}`}return JSON.stringify($)}function eU($){return`sha256:${of("sha256").update($).digest("hex")}`}function gX($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function fX($,_){try{return JSON.parse($)}catch{return _}}function x_($){return`"${$.replace(/"/g,'""')}"`}function _C($){if($===void 0||$===null)return null;if(typeof $==="string"||typeof $==="number"||typeof $==="bigint"||typeof $==="boolean")return $;if($ instanceof Date)return $.toISOString();if(Buffer.isBuffer($)||$ instanceof Uint8Array)return $;if(typeof $==="object")return JSON.stringify($);return String($)}function QH($,_){return _.filter((U)=>o_($,U))}function o_($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(_);return Boolean(U)}function UC($,_){let U=$.query(`PRAGMA table_info(${x_(_)})`).all();return new Set(U.map((W)=>W.name))}function JC($,_,U){let W=UC($,_);return U.filter((J)=>W.has(J))}function YH($){if(!$||$.length===0)return[...kX];let _=new Set(kX),U=$.map((J)=>J.trim()).filter(Boolean),W=U.filter((J)=>!_.has(J));if(W.length>0)throw Error(`Unknown knowledge sync table(s): ${W.join(", ")}`);return U}function S0($,_){return UJ[$].map((W)=>`${W}=${JSON.stringify(_[W]??null)}`).join("&")}var WC=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function $J($,_=0){if(_>8)return"[truncated-depth]";if(typeof $==="string")return $.length>4000?`${$.slice(0,4000)}...[truncated]`:$;if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.slice(0,50).map((W)=>$J(W,_+1));let U={};for(let[W,J]of Object.entries($)){if(WC.has(W.toLowerCase()))continue;U[W]=$J(J,_+1)}return U}function sU($){if(!$)return null;return $J($)}function qQ($){return eU(M2($))}function XC($,_){let U={};for(let[W,J]of Object.entries($))if(W==="artifact_uri"&&typeof J==="string"&&_.has(J))U[W]=`artifact:${_.get(J)}`;else U[W]=J;return U}function T0($,_=new Map){return qQ(XC($,_))}function jH($,_){if(!o_($,_))return[];return $.query(`SELECT * FROM ${x_(_)} ORDER BY rowid ASC`).all()}function PX($,_,U=new Map){return qQ(_.map((W)=>({key:S0($,W),hash:T0(W,U)})).sort((W,J)=>W.key.localeCompare(J.key)))}function _J($,_,U){return $.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get(_,U)??null}function GC($){if(!o_($,"knowledge_sync_table_clocks"))return[];return $.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function CX($,_){let U=_.now??v6(),J=_J($,_.table,_.machineId)?.created_at??U;$.query(` INSERT INTO knowledge_sync_table_clocks ( table_name, machine_id, logical_clock, high_water_hash, high_water_bundle_id, origin_machine_id, updated_by_machine_id, last_applied_at, metadata_json, @@ -778,17 +778,17 @@ ${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:_.config, last_applied_at = excluded.last_applied_at, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `).run(_.table,_.machineId,_.logicalClock,_.highWaterHash,_.highWaterBundleId??null,_.originMachineId??_.machineId,_.updatedByMachineId??_.machineId,_.lastAppliedAt??U,JSON.stringify(_.metadata??{}),J,U);let X=_J($,_.table,_.machineId);if(!X)throw Error(`Failed to record sync clock for ${_.table}:${_.machineId}`);return X}function QC($,_){let U=_J($,_.table,_.machineId),W=U?.high_water_hash===_.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,J=_.record?PX($,{table:_.table,machineId:_.machineId,logicalClock:W,highWaterHash:_.highWaterHash,highWaterBundleId:null,originMachineId:U?.origin_machine_id??_.machineId,updatedByMachineId:_.machineId,lastAppliedAt:_.now,metadata:{source:"export",row_count:_.rowCount},now:_.now}):{table_name:_.table,machine_id:_.machineId,logical_clock:W,high_water_hash:_.highWaterHash,high_water_bundle_id:U?.high_water_bundle_id??null,origin_machine_id:U?.origin_machine_id??_.machineId,updated_by_machine_id:_.machineId,last_applied_at:_.now,metadata_json:"{}",created_at:U?.created_at??_.now,updated_at:_.now};return{table:_.table,machine_id:_.machineId,logical_clock:J.logical_clock,high_water_hash:_.highWaterHash,high_water_bundle_id:J.high_water_bundle_id,row_count:_.rowCount,updated_at:J.updated_at}}function YC($,_,U,W,J){if(_.high_water_bundle_id=U,!W)return;PX($,{table:_.table,machineId:_.machine_id,logicalClock:_.logical_clock,highWaterHash:_.high_water_hash,highWaterBundleId:U,originMachineId:_.machine_id,updatedByMachineId:_.machine_id,lastAppliedAt:J,metadata:{source:"export",row_count:_.row_count},now:J})}function D3($,_){return $.table_clocks?.find((U)=>U.table===_)??null}function jC($,_){if(!$||!_)return!1;return _.logical_clock<$.logical_clock}function DC($,_,U){if(U.length===0)return 0;let W=JC($,_,Object.keys(U[0]));if(W.length===0)return 0;let J=UJ[_],X=W.map(x_).join(", "),G=W.map(()=>"?").join(", "),Q=J.map(x_).join(", "),Y=W.filter((L)=>!J.includes(L)),j=J[0],O=Y.length>0?Y.map((L)=>`${x_(L)} = excluded.${x_(L)}`).join(", "):`${x_(j)} = excluded.${x_(j)}`,B=$.query(`INSERT INTO ${x_(_)} (${X}) VALUES (${G}) - ON CONFLICT (${Q}) DO UPDATE SET ${O}`);return $.transaction((L)=>{for(let N of L)B.run(...W.map((H)=>_C(N[H])))})(U),U.length}function z3($,_){let U=UJ[$],W=[],J=_;for(let X=0;X<U.length;X+=1){let Q=`${U[X]}=`;if(!J.startsWith(Q))return null;let Y=J.slice(Q.length),j=U[X+1],O=j?`&${j}=`:null,B=O?Y.indexOf(O):-1,V=B>=0?Y.slice(0,B):Y;try{W.push(JSON.parse(V))}catch{return null}J=B>=0&&O?Y.slice(B+1):""}return J.length===0?W:null}function q3($){return UJ[$].map((_)=>`${x_(_)} = ?`).join(" AND ")}function zC($,_,U){if(!o_($,"knowledge_sync_changes"))return new Map;let W=$.query(`SELECT entity_id, next_hash + `).run(_.table,_.machineId,_.logicalClock,_.highWaterHash,_.highWaterBundleId??null,_.originMachineId??_.machineId,_.updatedByMachineId??_.machineId,_.lastAppliedAt??U,JSON.stringify(_.metadata??{}),J,U);let X=_J($,_.table,_.machineId);if(!X)throw Error(`Failed to record sync clock for ${_.table}:${_.machineId}`);return X}function QC($,_){let U=_J($,_.table,_.machineId),W=U?.high_water_hash===_.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,J=_.record?CX($,{table:_.table,machineId:_.machineId,logicalClock:W,highWaterHash:_.highWaterHash,highWaterBundleId:null,originMachineId:U?.origin_machine_id??_.machineId,updatedByMachineId:_.machineId,lastAppliedAt:_.now,metadata:{source:"export",row_count:_.rowCount},now:_.now}):{table_name:_.table,machine_id:_.machineId,logical_clock:W,high_water_hash:_.highWaterHash,high_water_bundle_id:U?.high_water_bundle_id??null,origin_machine_id:U?.origin_machine_id??_.machineId,updated_by_machine_id:_.machineId,last_applied_at:_.now,metadata_json:"{}",created_at:U?.created_at??_.now,updated_at:_.now};return{table:_.table,machine_id:_.machineId,logical_clock:J.logical_clock,high_water_hash:_.highWaterHash,high_water_bundle_id:J.high_water_bundle_id,row_count:_.rowCount,updated_at:J.updated_at}}function YC($,_,U,W,J){if(_.high_water_bundle_id=U,!W)return;CX($,{table:_.table,machineId:_.machine_id,logicalClock:_.logical_clock,highWaterHash:_.high_water_hash,highWaterBundleId:U,originMachineId:_.machine_id,updatedByMachineId:_.machine_id,lastAppliedAt:J,metadata:{source:"export",row_count:_.row_count},now:J})}function DH($,_){return $.table_clocks?.find((U)=>U.table===_)??null}function jC($,_){if(!$||!_)return!1;return _.logical_clock<$.logical_clock}function DC($,_,U){if(U.length===0)return 0;let W=JC($,_,Object.keys(U[0]));if(W.length===0)return 0;let J=UJ[_],X=W.map(x_).join(", "),G=W.map(()=>"?").join(", "),Q=J.map(x_).join(", "),Y=W.filter((L)=>!J.includes(L)),j=J[0],O=Y.length>0?Y.map((L)=>`${x_(L)} = excluded.${x_(L)}`).join(", "):`${x_(j)} = excluded.${x_(j)}`,B=$.query(`INSERT INTO ${x_(_)} (${X}) VALUES (${G}) + ON CONFLICT (${Q}) DO UPDATE SET ${O}`);return $.transaction((L)=>{for(let N of L)B.run(...W.map((H)=>_C(N[H])))})(U),U.length}function zH($,_){let U=UJ[$],W=[],J=_;for(let X=0;X<U.length;X+=1){let Q=`${U[X]}=`;if(!J.startsWith(Q))return null;let Y=J.slice(Q.length),j=U[X+1],O=j?`&${j}=`:null,B=O?Y.indexOf(O):-1,V=B>=0?Y.slice(0,B):Y;try{W.push(JSON.parse(V))}catch{return null}J=B>=0&&O?Y.slice(B+1):""}return J.length===0?W:null}function qH($){return UJ[$].map((_)=>`${x_(_)} = ?`).join(" AND ")}function zC($,_,U){if(!o_($,"knowledge_sync_changes"))return new Map;let W=$.query(`SELECT entity_id, next_hash FROM knowledge_sync_changes WHERE origin_machine_id = ? AND entity_kind = ? - ORDER BY created_at ASC, id ASC`).all(U,_),J=new Map;for(let X of W)J.set(X.entity_id,X.next_hash);return J}function qC($,_){if(o_($,"chunks_fts"))$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(_);if(o_($,"chunk_embeddings"))$.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run(_);if(o_($,"vector_index_entries"))$.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run(_);if(o_($,"citations"))$.query("DELETE FROM citations WHERE chunk_id = ?").run(_)}function OC($,_,U){let W=z3(_,U);if(!W)return!1;let J=q3(_),X=$.query(`SELECT * FROM ${x_(_)} WHERE ${J} LIMIT 1`).get(...W);if(!X)return!1;if(_==="chunks"&&typeof X.id==="string")qC($,X.id);return $.query(`DELETE FROM ${x_(_)} WHERE ${J}`).run(...W),!0}function LC($,_){if(!o_($,"chunks_fts"))return;for(let U of _){let W=typeof U.id==="string"?U.id:null,J=typeof U.text==="string"?U.text:null;if(!W||J===null)continue;let X="",G="",Q=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(Q){let Y=$.query(`SELECT s.title, s.uri + ORDER BY created_at ASC, id ASC`).all(U,_),J=new Map;for(let X of W)J.set(X.entity_id,X.next_hash);return J}function qC($,_){if(o_($,"chunks_fts"))$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(_);if(o_($,"chunk_embeddings"))$.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run(_);if(o_($,"vector_index_entries"))$.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run(_);if(o_($,"citations"))$.query("DELETE FROM citations WHERE chunk_id = ?").run(_)}function OC($,_,U){let W=zH(_,U);if(!W)return!1;let J=qH(_),X=$.query(`SELECT * FROM ${x_(_)} WHERE ${J} LIMIT 1`).get(...W);if(!X)return!1;if(_==="chunks"&&typeof X.id==="string")qC($,X.id);return $.query(`DELETE FROM ${x_(_)} WHERE ${J}`).run(...W),!0}function LC($,_){if(!o_($,"chunks_fts"))return;for(let U of _){let W=typeof U.id==="string"?U.id:null,J=typeof U.text==="string"?U.text:null;if(!W||J===null)continue;let X="",G="",Q=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(Q){let Y=$.query(`SELECT s.title, s.uri FROM source_revisions sr JOIN sources s ON s.id = sr.source_id WHERE sr.id = ? - LIMIT 1`).get(Q);X=Y?.title??"",G=Y?.uri??""}if(!G&&typeof U.metadata_json==="string"){let Y=fX(U.metadata_json,{});G=typeof Y.source_uri==="string"?Y.source_uri:""}$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(W),$.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(W,J,X,G)}}function NC($,_,U){if(_==="chunks")LC($,U)}function BC($,_){let U=X3($,_);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${$C}`)}function HC($,_){let U=fX($.metadata_json,{});if(typeof U.key==="string")return U.key;if(!$.artifact_uri.startsWith("file://"))return null;try{let W=W3($.artifact_uri),J=sB(_),X=sB(W);if(!BC(J,X))return null;let G=X3(J,X).replace(/\\/g,"/");return G?S6(G):null}catch{return null}}var VC=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function RC($,_){let U=$?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return _?VC.has(eP(_).toLowerCase()):!1}function Z0($){let _=new Map;for(let U of $)if(U.key)_.set(U.artifact_uri,U.key);return _}function v4($){return zQ({key:$.key,kind:$.kind,hash:$.hash,size_bytes:$.size_bytes})}function CX($){return $.key??$.artifact_uri}function AC($,_){return $.artifact_uri.startsWith("s3://")&&_.artifact_store.type==="s3"&&$.artifact_uri.startsWith(_.artifact_store.uri_prefix)}function O3($){return Object.fromEntries(wX.map((_)=>[_,o_($,_)?gX($,_):0]))}function bC($){return $.query(`SELECT artifact_uri, kind, hash, size_bytes + LIMIT 1`).get(Q);X=Y?.title??"",G=Y?.uri??""}if(!G&&typeof U.metadata_json==="string"){let Y=fX(U.metadata_json,{});G=typeof Y.source_uri==="string"?Y.source_uri:""}$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(W),$.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(W,J,X,G)}}function NC($,_,U){if(_==="chunks")LC($,U)}function BC($,_){let U=XH($,_);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${$C}`)}function HC($,_){let U=fX($.metadata_json,{});if(typeof U.key==="string")return U.key;if(!$.artifact_uri.startsWith("file://"))return null;try{let W=WH($.artifact_uri),J=sB(_),X=sB(W);if(!BC(J,X))return null;let G=XH(J,X).replace(/\\/g,"/");return G?S6(G):null}catch{return null}}var VC=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function RC($,_){let U=$?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return _?VC.has(ef(_).toLowerCase()):!1}function Z0($){let _=new Map;for(let U of $)if(U.key)_.set(U.artifact_uri,U.key);return _}function v4($){return qQ({key:$.key,kind:$.kind,hash:$.hash,size_bytes:$.size_bytes})}function TX($){return $.key??$.artifact_uri}function AC($,_){return $.artifact_uri.startsWith("s3://")&&_.artifact_store.type==="s3"&&$.artifact_uri.startsWith(_.artifact_store.uri_prefix)}function OH($){return Object.fromEntries(kX.map((_)=>[_,o_($,_)?gX($,_):0]))}function EC($){return $.query(`SELECT artifact_uri, kind, hash, size_bytes FROM storage_objects - ORDER BY artifact_uri ASC`).all()}function FC($,_){return{machine_id:$.machine_id,hostname:$.hostname,platform:$.platform,user_label:$.user,workspace_home:$.workspace_path,tailscale_dns:$.tailscale.dns_name,tailscale_ips_json:JSON.stringify($.tailscale.ips),ssh_target:$.ssh.command_target,last_seen_at:$.local||$.tailscale.online===!0||$.heartbeat_status==="online"?_:$.last_heartbeat_at,capabilities_json:JSON.stringify({route_hints:$.route_hints,heartbeat_status:$.heartbeat_status,manifest_declared:$.manifest_declared}),metadata_json:JSON.stringify({...$.metadata,source:$.source,tags:$.tags,tailscale:$.tailscale,ssh:$.ssh}),created_at:_,updated_at:_}}function XQ($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function EC($){if(!$)return[];try{let _=JSON.parse($);return Array.isArray(_)?_:[]}catch{return[]}}function y4($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function IX($){return Object.fromEntries(Object.entries($).filter(([,_])=>_!==void 0))}function K2($){if(Array.isArray($))return`[${$.map(K2).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).filter(([,_])=>_!==void 0).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${K2(U)}`).join(",")}}`;return JSON.stringify($)}function eB($){let{recorded_at:_,...U}=$;return U}function $_($){return typeof $==="string"&&$.length>0?$:null}function KC($){return typeof $==="number"&&Number.isFinite($)?$:null}function $3($){return typeof $==="boolean"?$:null}function MC($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function L3($){let _=y4($),U=$_(_.observed_at),W=$_(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:$_(_.verified_at),expires_at:$_(_.expires_at),ttl_ms:KC(_.ttl_ms),source_authority:W,confidence:$_(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:MC(_.reasons)}}function N3($,_){if(!$||$.stale)return!1;if(!$.expires_at)return!0;let U=Date.parse($.expires_at),W=Date.parse(_);return Number.isNaN(U)||Number.isNaN(W)||U>W}function gC($,_){return $_(_.source)===$.source&&$_(_.target)===$.target&&$_(_.route)===$.route&&$_(_.target_kind)===$.targetKind&&$_(_.confidence)===$.confidence}function IC($,_){return $_(_.source)===$.source&&$_(_.requested_machine_id)===$.requested_machine_id&&$_(_.machine_id)===$.machine_id&&$_(_.project_id)===$.project_id&&$_(_.repo_name)===$.repo_name&&$_(_.project_root)===$.project_root&&$_(_.project_root_source)===$.project_root_source&&$_(_.workspace_root)===$.workspace_root&&$_(_.workspace_root_source)===$.workspace_root_source&&$_(_.open_files_root)===$.open_files_root&&$_(_.open_files_root_source)===$.open_files_root_source&&$_(_.trust_status)===$.trust_status&&$_(_.auth_status)===$.auth_status&&$3(_.current)===$.current&&$3(_.primary)===$.primary}function wC($,_,U){if(!$)return null;let W=L3(_.cacheability);if(W&&N3(W,U)&&gC($,_))return{...$,cacheability:W};return $}function kC($,_,U){if(!$)return null;let W=L3(_.cacheability);if(W&&N3(W,U)&&IC($,_))return{...$,cacheability:W};return $}function fC($){return $.workspace?.machine_id??$.workspace?.requested_machine_id??$.machineId??$.route?.target??J3()}function PC($,_){let U=new Set,W=Array.isArray(_.sources)?_.sources:[];for(let J of W)if(typeof J==="string")U.add(J);if(typeof _.source==="string")U.add(_.source);if($.route?.source)U.add($.route.source);if($.workspace?.source)U.add($.workspace.source);return U.add("knowledge"),[...U].sort()}function _3($,_){if(_?.target&&(_.route==="tailscale"||_.targetKind==="tailscale"))return _.target;return $?.tailscale_dns??null}function CC($,_,U){let W=y4(_.resolver_evidence),J=$.route?IX({source:$.route.source,target:$.route.target,route:$.route.route,target_kind:$.route.targetKind,confidence:$.route.confidence,adapter:$.route.adapter,evidence:$.route.evidence,cacheability:$.route.cacheability,warnings:$.route.warnings}):y4(W.route),X=$.workspace?IX({source:$.workspace.source,requested_machine_id:$.workspace.requested_machine_id,machine_id:$.workspace.machine_id,project_id:$.workspace.project_id,repo_name:$.workspace.repo_name,project_root:$.workspace.project_root,project_root_source:$.workspace.project_root_source,workspace_root:$.workspace.workspace_root,workspace_root_source:$.workspace.workspace_root_source,open_files_root:$.workspace.open_files_root,open_files_root_source:$.workspace.open_files_root_source,trust_status:$.workspace.trust_status,auth_status:$.workspace.auth_status,current:$.workspace.current,primary:$.workspace.primary,diagnostics:$.workspace.diagnostics,repair_hints:$.workspace.repair_hints,evidence:$.workspace.evidence,cacheability:$.workspace.cacheability,warnings:$.workspace.warnings}):y4(W.workspace);return IX({...W,recorded_at:U,route:J,workspace:X})}function B3($,_){$$($);let U=d($);try{let W=fC(_),J=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(W)??null,X=v6(_.now),G=XQ(J?.capabilities_json),Q=XQ(J?.metadata_json),Y=y4(G.resolver),j=y4(Q.resolver_evidence),O=y4(j.route),B=y4(j.workspace),V=wC(_.route?.source==="registry"?null:_.route??null,O,X),L=kC(_.workspace?.source==="registry"?null:_.workspace??null,B,X),N={..._,route:V,workspace:L},H={...G,resolver:IX({...Y,route_source:V?.source??Y.route_source,route_kind:V?.route??Y.route_kind,route_target_kind:V?.targetKind??Y.route_target_kind,route_confidence:V?.confidence??Y.route_confidence,route_cacheable:V?.cacheability?.cacheable??Y.route_cacheable,route_stale:V?.cacheability?.stale??Y.route_stale,route_expires_at:V?.cacheability?.expires_at??Y.route_expires_at,route_observed_at:V?.cacheability?.observed_at??Y.route_observed_at,route_source_authority:V?.cacheability?.source_authority??Y.route_source_authority,workspace_source:L?.source??Y.workspace_source,project_root_source:L?.project_root_source??Y.project_root_source,workspace_root_source:L?.workspace_root_source??Y.workspace_root_source,open_files_root_source:L?.open_files_root_source??Y.open_files_root_source,trust_status:L?.trust_status??Y.trust_status,auth_status:L?.auth_status??Y.auth_status,workspace_cacheable:L?.cacheability?.cacheable??Y.workspace_cacheable,workspace_stale:L?.cacheability?.stale??Y.workspace_stale,workspace_expires_at:L?.cacheability?.expires_at??Y.workspace_expires_at,workspace_observed_at:L?.cacheability?.observed_at??Y.workspace_observed_at,workspace_source_authority:L?.cacheability?.source_authority??Y.workspace_source_authority}),route_fallback:Boolean(V?.target??J?.ssh_target),workspace_fallback:Boolean(L?.project_root??J?.workspace_home)},R=CC(N,Q,X);if(J){let A=j;if(J.workspace_home===(L?.project_root??J.workspace_home??null)&&J.tailscale_dns===_3(J,V)&&J.ssh_target===(V?.target??J.ssh_target??null)&&K2(XQ(J.capabilities_json))===K2(H)&&K2(eB(A))===K2(eB(R)))return J}let b={machine_id:W,hostname:J?.hostname??null,platform:J?.platform??null,user_label:J?.user_label??null,workspace_home:L?.project_root??J?.workspace_home??null,tailscale_dns:_3(J,V),tailscale_ips_json:JSON.stringify(EC(J?.tailscale_ips_json)),ssh_target:V?.target??J?.ssh_target??null,last_seen_at:X,capabilities_json:JSON.stringify(H),metadata_json:JSON.stringify({...Q,source:"knowledge",sources:PC(N,Q),resolver_evidence:R}),created_at:J?.created_at??X,updated_at:X};return H3(U,b),b}finally{U.close()}}function H3($,_){$.query(` + ORDER BY artifact_uri ASC`).all()}function FC($,_){return{machine_id:$.machine_id,hostname:$.hostname,platform:$.platform,user_label:$.user,workspace_home:$.workspace_path,tailscale_dns:$.tailscale.dns_name,tailscale_ips_json:JSON.stringify($.tailscale.ips),ssh_target:$.ssh.command_target,last_seen_at:$.local||$.tailscale.online===!0||$.heartbeat_status==="online"?_:$.last_heartbeat_at,capabilities_json:JSON.stringify({route_hints:$.route_hints,heartbeat_status:$.heartbeat_status,manifest_declared:$.manifest_declared}),metadata_json:JSON.stringify({...$.metadata,source:$.source,tags:$.tags,tailscale:$.tailscale,ssh:$.ssh}),created_at:_,updated_at:_}}function GQ($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function KC($){if(!$)return[];try{let _=JSON.parse($);return Array.isArray(_)?_:[]}catch{return[]}}function y4($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function wX($){return Object.fromEntries(Object.entries($).filter(([,_])=>_!==void 0))}function b2($){if(Array.isArray($))return`[${$.map(b2).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).filter(([,_])=>_!==void 0).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${b2(U)}`).join(",")}}`;return JSON.stringify($)}function eB($){let{recorded_at:_,...U}=$;return U}function $_($){return typeof $==="string"&&$.length>0?$:null}function bC($){return typeof $==="number"&&Number.isFinite($)?$:null}function $H($){return typeof $==="boolean"?$:null}function MC($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function LH($){let _=y4($),U=$_(_.observed_at),W=$_(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:$_(_.verified_at),expires_at:$_(_.expires_at),ttl_ms:bC(_.ttl_ms),source_authority:W,confidence:$_(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:MC(_.reasons)}}function NH($,_){if(!$||$.stale)return!1;if(!$.expires_at)return!0;let U=Date.parse($.expires_at),W=Date.parse(_);return Number.isNaN(U)||Number.isNaN(W)||U>W}function IC($,_){return $_(_.source)===$.source&&$_(_.target)===$.target&&$_(_.route)===$.route&&$_(_.target_kind)===$.targetKind&&$_(_.confidence)===$.confidence}function gC($,_){return $_(_.source)===$.source&&$_(_.requested_machine_id)===$.requested_machine_id&&$_(_.machine_id)===$.machine_id&&$_(_.project_id)===$.project_id&&$_(_.repo_name)===$.repo_name&&$_(_.project_root)===$.project_root&&$_(_.project_root_source)===$.project_root_source&&$_(_.workspace_root)===$.workspace_root&&$_(_.workspace_root_source)===$.workspace_root_source&&$_(_.open_files_root)===$.open_files_root&&$_(_.open_files_root_source)===$.open_files_root_source&&$_(_.trust_status)===$.trust_status&&$_(_.auth_status)===$.auth_status&&$H(_.current)===$.current&&$H(_.primary)===$.primary}function wC($,_,U){if(!$)return null;let W=LH(_.cacheability);if(W&&NH(W,U)&&IC($,_))return{...$,cacheability:W};return $}function kC($,_,U){if(!$)return null;let W=LH(_.cacheability);if(W&&NH(W,U)&&gC($,_))return{...$,cacheability:W};return $}function PC($){return $.workspace?.machine_id??$.workspace?.requested_machine_id??$.machineId??$.route?.target??JH()}function fC($,_){let U=new Set,W=Array.isArray(_.sources)?_.sources:[];for(let J of W)if(typeof J==="string")U.add(J);if(typeof _.source==="string")U.add(_.source);if($.route?.source)U.add($.route.source);if($.workspace?.source)U.add($.workspace.source);return U.add("knowledge"),[...U].sort()}function _H($,_){if(_?.target&&(_.route==="tailscale"||_.targetKind==="tailscale"))return _.target;return $?.tailscale_dns??null}function CC($,_,U){let W=y4(_.resolver_evidence),J=$.route?wX({source:$.route.source,target:$.route.target,route:$.route.route,target_kind:$.route.targetKind,confidence:$.route.confidence,adapter:$.route.adapter,evidence:$.route.evidence,cacheability:$.route.cacheability,warnings:$.route.warnings}):y4(W.route),X=$.workspace?wX({source:$.workspace.source,requested_machine_id:$.workspace.requested_machine_id,machine_id:$.workspace.machine_id,project_id:$.workspace.project_id,repo_name:$.workspace.repo_name,project_root:$.workspace.project_root,project_root_source:$.workspace.project_root_source,workspace_root:$.workspace.workspace_root,workspace_root_source:$.workspace.workspace_root_source,open_files_root:$.workspace.open_files_root,open_files_root_source:$.workspace.open_files_root_source,trust_status:$.workspace.trust_status,auth_status:$.workspace.auth_status,current:$.workspace.current,primary:$.workspace.primary,diagnostics:$.workspace.diagnostics,repair_hints:$.workspace.repair_hints,evidence:$.workspace.evidence,cacheability:$.workspace.cacheability,warnings:$.workspace.warnings}):y4(W.workspace);return wX({...W,recorded_at:U,route:J,workspace:X})}function BH($,_){$$($);let U=d($);try{let W=PC(_),J=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(W)??null,X=v6(_.now),G=GQ(J?.capabilities_json),Q=GQ(J?.metadata_json),Y=y4(G.resolver),j=y4(Q.resolver_evidence),O=y4(j.route),B=y4(j.workspace),V=wC(_.route?.source==="registry"?null:_.route??null,O,X),L=kC(_.workspace?.source==="registry"?null:_.workspace??null,B,X),N={..._,route:V,workspace:L},H={...G,resolver:wX({...Y,route_source:V?.source??Y.route_source,route_kind:V?.route??Y.route_kind,route_target_kind:V?.targetKind??Y.route_target_kind,route_confidence:V?.confidence??Y.route_confidence,route_cacheable:V?.cacheability?.cacheable??Y.route_cacheable,route_stale:V?.cacheability?.stale??Y.route_stale,route_expires_at:V?.cacheability?.expires_at??Y.route_expires_at,route_observed_at:V?.cacheability?.observed_at??Y.route_observed_at,route_source_authority:V?.cacheability?.source_authority??Y.route_source_authority,workspace_source:L?.source??Y.workspace_source,project_root_source:L?.project_root_source??Y.project_root_source,workspace_root_source:L?.workspace_root_source??Y.workspace_root_source,open_files_root_source:L?.open_files_root_source??Y.open_files_root_source,trust_status:L?.trust_status??Y.trust_status,auth_status:L?.auth_status??Y.auth_status,workspace_cacheable:L?.cacheability?.cacheable??Y.workspace_cacheable,workspace_stale:L?.cacheability?.stale??Y.workspace_stale,workspace_expires_at:L?.cacheability?.expires_at??Y.workspace_expires_at,workspace_observed_at:L?.cacheability?.observed_at??Y.workspace_observed_at,workspace_source_authority:L?.cacheability?.source_authority??Y.workspace_source_authority}),route_fallback:Boolean(V?.target??J?.ssh_target),workspace_fallback:Boolean(L?.project_root??J?.workspace_home)},R=CC(N,Q,X);if(J){let A=j;if(J.workspace_home===(L?.project_root??J.workspace_home??null)&&J.tailscale_dns===_H(J,V)&&J.ssh_target===(V?.target??J.ssh_target??null)&&b2(GQ(J.capabilities_json))===b2(H)&&b2(eB(A))===b2(eB(R)))return J}let E={machine_id:W,hostname:J?.hostname??null,platform:J?.platform??null,user_label:J?.user_label??null,workspace_home:L?.project_root??J?.workspace_home??null,tailscale_dns:_H(J,V),tailscale_ips_json:JSON.stringify(KC(J?.tailscale_ips_json)),ssh_target:V?.target??J?.ssh_target??null,last_seen_at:X,capabilities_json:JSON.stringify(H),metadata_json:JSON.stringify({...Q,source:"knowledge",sources:fC(N,Q),resolver_evidence:R}),created_at:J?.created_at??X,updated_at:X};return HH(U,E),E}finally{U.close()}}function HH($,_){$.query(` INSERT INTO knowledge_machines ( machine_id, hostname, platform, user_label, workspace_home, tailscale_dns, tailscale_ips_json, ssh_target, last_seen_at, capabilities_json, @@ -806,15 +806,15 @@ ${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:_.config, capabilities_json = excluded.capabilities_json, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `).run(_.machine_id,_.hostname,_.platform,_.user_label,_.workspace_home,_.tailscale_dns,_.tailscale_ips_json,_.ssh_target,_.last_seen_at,_.capabilities_json,_.metadata_json,_.created_at,_.updated_at)}function TC($,_,U=v6()){for(let W of _.machines)H3($,FC(W,U));return _.machines.length}function qQ($){$$($);let _=d($);try{return _.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{_.close()}}function WJ($){$$($.dbPath);let _=d($.dbPath),U=[],W=v6($.now),J=G3($.machineId),X=$.recordClocks!==!1;try{let G=Q3(_,Y3($.tables)),Y=_.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json + `).run(_.machine_id,_.hostname,_.platform,_.user_label,_.workspace_home,_.tailscale_dns,_.tailscale_ips_json,_.ssh_target,_.last_seen_at,_.capabilities_json,_.metadata_json,_.created_at,_.updated_at)}function TC($,_,U=v6()){for(let W of _.machines)HH($,FC(W,U));return _.machines.length}function OQ($){$$($);let _=d($);try{return _.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{_.close()}}function WJ($){$$($.dbPath);let _=d($.dbPath),U=[],W=v6($.now),J=GH($.machineId),X=$.recordClocks!==!1;try{let G=QH(_,YH($.tables)),Y=_.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all().map((N)=>{let H=HC(N,$.storage.local_layout.directories.artifacts),R={...N,key:H};if($.includeArtifactContent!==!1&&H&&N.artifact_uri.startsWith("file://"))try{let b=W3(N.artifact_uri);if(aP(b))if(!RC(N.content_type,H))U.push(`artifact_content_not_embedded_binary:${N.id}`);else{let A=sP(b,"utf8"),M=o$(A);if(M!==A)U.push(`artifact_content_redacted:${N.id}`);R.content_base64=Buffer.from(M,"utf8").toString("base64"),R.hash=eU(M),R.size_bytes=Buffer.byteLength(M)}else U.push(`artifact_missing:${N.artifact_uri}`)}catch(b){U.push(`artifact_read_failed:${N.artifact_uri}:${b instanceof Error?b.message:String(b)}`)}else if($.includeArtifactContent!==!1&&N.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${N.artifact_uri}`);return R=o$(R),R}),j=Z0(Y),O=G.filter((N)=>!JJ.has(N)).map((N)=>({table:N,primary_keys:UJ[N],rows:j3(_,N).map((H)=>o$(H))})),B=O.map((N)=>QC(_,{table:N.table,machineId:J,highWaterHash:kX(N.table,N.rows,j),rowCount:N.rows.length,record:X,now:W})),V=eU(M2({source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},tables:O.map((N)=>({table:N.table,primary_keys:N.primary_keys,rows:N.rows.map((H)=>({key:S0(N.table,H),hash:T0(H,j)})).sort((H,R)=>H.key.localeCompare(R.key))})),table_clocks:B.map((N)=>({table:N.table,machine_id:N.machine_id,logical_clock:N.logical_clock,high_water_hash:N.high_water_hash,row_count:N.row_count})),artifacts:Y.map((N)=>({identity:CX(N),fingerprint:v4(N)})).sort((N,H)=>N.identity.localeCompare(H.identity))})),L=`syncbundle_${V.replace("sha256:","").slice(0,32)}`;for(let N of B)YC(_,N,L,X,W);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:h4,min_protocol_version:x4,bundle_id:L,content_hash:V,generated_at:W,source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},table_clocks:B,tables:O,artifacts:Y,warnings:o$(U),message:`${O.reduce((N,H)=>N+H.rows.length,0)} row(s), ${Y.length} artifact(s) exported`}}finally{_.close()}}function SC($,_){let U=typeof $.protocol_version==="number"?$.protocol_version:null,W=typeof $.min_protocol_version==="number"?$.min_protocol_version:null;if(U===null||W===null||U<x4||W>h4)throw Error(`Unsupported ${_} protocol. Expected knowledge sync protocol v${h4} with min v${x4}.`)}function ZC($){if(!$||$.format!=="knowledge-sync-bundle"||$.version!==1)throw Error("Invalid knowledge sync bundle.");SC($,"knowledge sync bundle")}function OQ($,_){return $.tables.find((U)=>U.table===_)??null}function V3($){if(typeof $.content_hash==="string"&&$.content_hash.length>0)return $.content_hash;return eU(M2({source:$.source,tables:$.tables.map((_)=>({table:_.table,rows:_.rows.map((U)=>({key:S0(_.table,U),hash:T0(U,Z0($.artifacts))})).sort((U,W)=>U.key.localeCompare(W.key))})),artifacts:$.artifacts.map((_)=>({identity:CX(_),fingerprint:v4(_)})).sort((_,U)=>_.identity.localeCompare(U.identity))}))}function vC($){if(typeof $.bundle_id==="string"&&$.bundle_id.length>0)return $.bundle_id;return`syncbundle_${V3($).replace("sha256:","").slice(0,32)}`}function yC($,_){return new Map(_.map((U)=>[S0($,U),U]))}function hC($){return new Map($.artifacts.map((_)=>[CX(_),_]))}async function xC($){let _=hC($.targetBundle),U=new Map,W=[],J={source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let X of $.bundle.artifacts){let G=CX(X),Q=_.get(G);if(Q&&v4(Q)===v4(X)){if(Q.artifact_uri)U.set(X.artifact_uri,Q.artifact_uri);J.skipped+=1;continue}if(Q&&v4(Q)!==v4(X)){let N={entityKind:"storage_object",entityId:G,localMachineId:$.localMachineId,remoteMachineId:$.bundle.source.machine_id??"unknown",localHash:v4(Q),remoteHash:v4(X),metadata:{direction:$.direction,target_artifact_uri:Q.artifact_uri,source_artifact_uri:X.artifact_uri,local_artifact:$J(Q),remote_artifact:$J(X)}};if(YQ($.db,N)){J.skipped+=1;continue}J.conflicts+=1,W.push(N);continue}let Y=Boolean(X.key&&X.content_base64),j=AC(X,$.targetStorage);if(!Y&&!j){J.missing_content+=1,$.warnings.push(`artifact_content_missing:${X.artifact_uri}`);continue}if($.dryRun){J.copied+=1;continue}let O=X.artifact_uri;if(Y&&X.key&&X.content_base64)O=(await $.targetStore.put({key:X.key,body:Buffer.from(X.content_base64,"base64"),content_type:X.content_type??void 0})).uri,U.set(X.artifact_uri,O);else if(j)U.set(X.artifact_uri,O);let B=fX(X.metadata_json,{}),V=typeof B.artifact_modified_at==="string"?B.artifact_modified_at:void 0,L={uri:O,key:X.key??B.key??X.artifact_uri,kind:X.kind,content_type:X.content_type??void 0,hash:X.hash??void 0,size_bytes:X.size_bytes??void 0,modified_at:V,metadata:{...B,synced_from_artifact_uri:X.artifact_uri,synced_from_machine_id:$.bundle.source.machine_id??void 0}};W4($.db,[L]),J.copied+=1}return{result:J,uriMap:U,conflicts:W}}function GQ($,_){let U={...$};if(typeof U.artifact_uri==="string"&&_.has(U.artifact_uri))U.artifact_uri=_.get(U.artifact_uri);return U}function mC($,_){let U=v6();$.query(` + ORDER BY artifact_uri ASC`).all().map((N)=>{let H=HC(N,$.storage.local_layout.directories.artifacts),R={...N,key:H};if($.includeArtifactContent!==!1&&H&&N.artifact_uri.startsWith("file://"))try{let E=WH(N.artifact_uri);if(af(E))if(!RC(N.content_type,H))U.push(`artifact_content_not_embedded_binary:${N.id}`);else{let A=sf(E,"utf8"),M=o$(A);if(M!==A)U.push(`artifact_content_redacted:${N.id}`);R.content_base64=Buffer.from(M,"utf8").toString("base64"),R.hash=eU(M),R.size_bytes=Buffer.byteLength(M)}else U.push(`artifact_missing:${N.artifact_uri}`)}catch(E){U.push(`artifact_read_failed:${N.artifact_uri}:${E instanceof Error?E.message:String(E)}`)}else if($.includeArtifactContent!==!1&&N.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${N.artifact_uri}`);return R=o$(R),R}),j=Z0(Y),O=G.filter((N)=>!JJ.has(N)).map((N)=>({table:N,primary_keys:UJ[N],rows:jH(_,N).map((H)=>o$(H))})),B=O.map((N)=>QC(_,{table:N.table,machineId:J,highWaterHash:PX(N.table,N.rows,j),rowCount:N.rows.length,record:X,now:W})),V=eU(M2({source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},tables:O.map((N)=>({table:N.table,primary_keys:N.primary_keys,rows:N.rows.map((H)=>({key:S0(N.table,H),hash:T0(H,j)})).sort((H,R)=>H.key.localeCompare(R.key))})),table_clocks:B.map((N)=>({table:N.table,machine_id:N.machine_id,logical_clock:N.logical_clock,high_water_hash:N.high_water_hash,row_count:N.row_count})),artifacts:Y.map((N)=>({identity:TX(N),fingerprint:v4(N)})).sort((N,H)=>N.identity.localeCompare(H.identity))})),L=`syncbundle_${V.replace("sha256:","").slice(0,32)}`;for(let N of B)YC(_,N,L,X,W);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:h4,min_protocol_version:x4,bundle_id:L,content_hash:V,generated_at:W,source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},table_clocks:B,tables:O,artifacts:Y,warnings:o$(U),message:`${O.reduce((N,H)=>N+H.rows.length,0)} row(s), ${Y.length} artifact(s) exported`}}finally{_.close()}}function SC($,_){let U=typeof $.protocol_version==="number"?$.protocol_version:null,W=typeof $.min_protocol_version==="number"?$.min_protocol_version:null;if(U===null||W===null||U<x4||W>h4)throw Error(`Unsupported ${_} protocol. Expected knowledge sync protocol v${h4} with min v${x4}.`)}function ZC($){if(!$||$.format!=="knowledge-sync-bundle"||$.version!==1)throw Error("Invalid knowledge sync bundle.");SC($,"knowledge sync bundle")}function LQ($,_){return $.tables.find((U)=>U.table===_)??null}function VH($){if(typeof $.content_hash==="string"&&$.content_hash.length>0)return $.content_hash;return eU(M2({source:$.source,tables:$.tables.map((_)=>({table:_.table,rows:_.rows.map((U)=>({key:S0(_.table,U),hash:T0(U,Z0($.artifacts))})).sort((U,W)=>U.key.localeCompare(W.key))})),artifacts:$.artifacts.map((_)=>({identity:TX(_),fingerprint:v4(_)})).sort((_,U)=>_.identity.localeCompare(U.identity))}))}function vC($){if(typeof $.bundle_id==="string"&&$.bundle_id.length>0)return $.bundle_id;return`syncbundle_${VH($).replace("sha256:","").slice(0,32)}`}function yC($,_){return new Map(_.map((U)=>[S0($,U),U]))}function hC($){return new Map($.artifacts.map((_)=>[TX(_),_]))}async function xC($){let _=hC($.targetBundle),U=new Map,W=[],J={source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let X of $.bundle.artifacts){let G=TX(X),Q=_.get(G);if(Q&&v4(Q)===v4(X)){if(Q.artifact_uri)U.set(X.artifact_uri,Q.artifact_uri);J.skipped+=1;continue}if(Q&&v4(Q)!==v4(X)){let N={entityKind:"storage_object",entityId:G,localMachineId:$.localMachineId,remoteMachineId:$.bundle.source.machine_id??"unknown",localHash:v4(Q),remoteHash:v4(X),metadata:{direction:$.direction,target_artifact_uri:Q.artifact_uri,source_artifact_uri:X.artifact_uri,local_artifact:$J(Q),remote_artifact:$J(X)}};if(jQ($.db,N)){J.skipped+=1;continue}J.conflicts+=1,W.push(N);continue}let Y=Boolean(X.key&&X.content_base64),j=AC(X,$.targetStorage);if(!Y&&!j){J.missing_content+=1,$.warnings.push(`artifact_content_missing:${X.artifact_uri}`);continue}if($.dryRun){J.copied+=1;continue}let O=X.artifact_uri;if(Y&&X.key&&X.content_base64)O=(await $.targetStore.put({key:X.key,body:Buffer.from(X.content_base64,"base64"),content_type:X.content_type??void 0})).uri,U.set(X.artifact_uri,O);else if(j)U.set(X.artifact_uri,O);let B=fX(X.metadata_json,{}),V=typeof B.artifact_modified_at==="string"?B.artifact_modified_at:void 0,L={uri:O,key:X.key??B.key??X.artifact_uri,kind:X.kind,content_type:X.content_type??void 0,hash:X.hash??void 0,size_bytes:X.size_bytes??void 0,modified_at:V,metadata:{...B,synced_from_artifact_uri:X.artifact_uri,synced_from_machine_id:$.bundle.source.machine_id??void 0}};W4($.db,[L]),J.copied+=1}return{result:J,uriMap:U,conflicts:W}}function QQ($,_){let U={...$};if(typeof U.artifact_uri==="string"&&_.has(U.artifact_uri))U.artifact_uri=_.get(U.artifact_uri);return U}function mC($,_){let U=v6();$.query(` INSERT INTO knowledge_sync_changes ( id, origin_machine_id, updated_by_machine_id, entity_kind, entity_id, operation, base_hash, next_hash, source_ref, source_revision_id, artifact_uri, logical_clock, bundle_id, metadata_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(DQ("syncchg"),_.sourceMachineId,_.localMachineId,_.entityKind,_.entityId,_.direction,null,_.nextHash,typeof _.row?.source_ref==="string"?_.row.source_ref:typeof _.row?.source_uri==="string"?_.row.source_uri:null,typeof _.row?.source_revision_id==="string"?_.row.source_revision_id:null,typeof _.row?.artifact_uri==="string"?_.row.artifact_uri:null,_.logicalClock,_.bundleId,JSON.stringify({source_machine_id:_.sourceMachineId,bundle_id:_.bundleId}),U)}function YQ($,_){let U=_.localHash??"",W=_.remoteHash??"";if($.query(` + `).run(zQ("syncchg"),_.sourceMachineId,_.localMachineId,_.entityKind,_.entityId,_.direction,null,_.nextHash,typeof _.row?.source_ref==="string"?_.row.source_ref:typeof _.row?.source_uri==="string"?_.row.source_uri:null,typeof _.row?.source_revision_id==="string"?_.row.source_revision_id:null,typeof _.row?.artifact_uri==="string"?_.row.artifact_uri:null,_.logicalClock,_.bundleId,JSON.stringify({source_machine_id:_.sourceMachineId,bundle_id:_.bundleId}),U)}function jQ($,_){let U=_.localHash??"",W=_.remoteHash??"";if($.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -836,7 +836,7 @@ ${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:_.config, AND status IN ('resolved', 'ignored') AND resolved_at IS NOT NULL LIMIT 1 - `).get(_.entityKind,_.entityId,_.remoteMachineId,_.localMachineId,W,U);return Boolean(X)}function QQ($,_){if($.query(` + `).get(_.entityKind,_.entityId,_.remoteMachineId,_.localMachineId,W,U);return Boolean(X)}function YQ($,_){if($.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -853,7 +853,7 @@ ${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:_.config, local_hash, remote_hash, base_hash, status, resolution_strategy, proposed_patch_uri, approved_by, resolved_at, metadata_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(DQ("syncconf"),_.entityKind,_.entityId,_.localMachineId,_.remoteMachineId,_.localHash??null,_.remoteHash??null,_.baseHash??null,_.status??"open",_.resolutionStrategy??null,_.proposedPatchUri??null,_.approvedBy??null,_.resolvedAt??null,JSON.stringify(_.metadata??{}),W),!0}function uC($,_){return $.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get(_)??null}function dC($,_){let U=_.now??v6();$.query(` + `).run(zQ("syncconf"),_.entityKind,_.entityId,_.localMachineId,_.remoteMachineId,_.localHash??null,_.remoteHash??null,_.baseHash??null,_.status??"open",_.resolutionStrategy??null,_.proposedPatchUri??null,_.approvedBy??null,_.resolvedAt??null,JSON.stringify(_.metadata??{}),W),!0}function uC($,_){return $.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get(_)??null}function dC($,_){let U=_.now??v6();$.query(` INSERT INTO knowledge_sync_imports ( bundle_id, source_machine_id, target_machine_id, direction, status, content_hash, table_clocks_json, tables_json, generated_at, applied_at, @@ -863,13 +863,13 @@ ${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:_.config, status = excluded.status, applied_at = excluded.applied_at, metadata_json = excluded.metadata_json - `).run(_.bundleId,_.sourceMachineId,_.targetMachineId,_.direction,_.status,_.contentHash,JSON.stringify(_.bundle.table_clocks??[]),JSON.stringify(_.tableResults),_.bundle.generated_at,U,JSON.stringify({conflicts:_.conflicts,artifacts:_.artifacts,source_workspace_home:_.bundle.source.workspace_home}))}function nC($){return{ok:!0,protocol_version:h4,min_protocol_version:x4,dry_run:!1,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:$.targetBundle.source.sqlite_schema_version,artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:$.bundle.tables.filter((_)=>!JJ.has(_.table)).map((_)=>({table:_.table,source_rows:_.rows.length,target_rows:OQ($.targetBundle,_.table)?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:_.rows.length,conflicts:0,stale_skipped:0})),artifacts:{source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:$.bundle.artifacts.length,conflicts:0,missing_content:0},conflicts_created:0,bundle_id:$.bundleId,replayed:!0,clocks:{advanced:0,stale_tables:0},warnings:[...$.warnings,`bundle_replay_skipped:${$.bundleId}`],message:`Skipped already-applied bundle ${$.bundleId}`}}function cC($,_){let U=Z0($.artifacts),W=Z0(_.artifacts);for(let J of $.tables){if(JJ.has(J.table))continue;let X=OQ(_,J.table),Q=D3($,J.table)?.high_water_hash??kX(J.table,J.rows,U);if(kX(J.table,X?.rows??[],W)!==Q)return!1}return!0}async function TX($){ZC($.bundle),$$($.targetDbPath);let _=[...$.bundle.warnings],U=$.dryRun===!0,W=G3($.localMachineId),J=$.bundle.source.machine_id??"unknown",X=vC($.bundle),G=V3($.bundle),Q=$.targetBundle??WJ({dbPath:$.targetDbPath,scope:$.targetScope,workspaceHome:$.targetWorkspaceHome,storage:$.targetStorage,machineId:W,includeArtifactContent:!1,recordClocks:!U}),Y=d($.targetDbPath);try{if(!U&&uC(Y,X)&&cC($.bundle,Q))return nC({bundle:$.bundle,targetBundle:Q,targetScope:$.targetScope,targetWorkspaceHome:$.targetWorkspaceHome,targetStorage:$.targetStorage,direction:$.direction,warnings:_,bundleId:X});let j=await xC({db:Y,bundle:$.bundle,targetBundle:Q,targetStorage:$.targetStorage,targetStore:$.targetStore,dryRun:U,direction:$.direction,localMachineId:W,warnings:_}),O=Z0($.bundle.artifacts),B=Z0(Q.artifacts),V=[],L=0,N=0,H=0;for(let A of $.bundle.tables){if(A.table==="storage_objects"||JJ.has(A.table))continue;if(!o_(Y,A.table))continue;let M=D3($.bundle,A.table),E=_J(Y,A.table,J),g=OQ(Q,A.table),Z=yC(A.table,g?.rows??[]),k=new Set(A.rows.map((p$)=>S0(A.table,p$))),r=zC(Y,A.table,J),i$=[],P$={table:A.table,source_rows:A.rows.length,target_rows:g?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!M)_.push(`legacy_clock_missing:${A.table}`);else if(jC(E,M)){H+=1,P$.skipped+=A.rows.length,P$.stale_skipped=A.rows.length,_.push(`stale_table_skipped:${A.table}:${J}:${M.logical_clock}`),V.push(P$);continue}for(let p$ of A.rows){let J_=S0(A.table,p$),O$=Z.get(J_),Y_=T0(p$,O);if(!O$){P$.inserted+=1,i$.push(GQ(p$,j.uriMap));continue}let t$=T0(O$,B);if(t$===Y_){P$.skipped+=1;continue}let d$=r.get(J_);if(r.has(J_)&&d$===t$){P$.updated+=1,i$.push(GQ(p$,j.uriMap));continue}let W_={entityKind:A.table,entityId:J_,localMachineId:W,remoteMachineId:J,localHash:t$,remoteHash:Y_,baseHash:E?.high_water_hash??null,metadata:{direction:$.direction,bundle_id:X,incoming_logical_clock:M?.logical_clock??null,current_logical_clock:E?.logical_clock??null,source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:sU(p$)}};if(YQ(Y,W_)){P$.skipped+=1;continue}if(P$.conflicts+=1,!U&&QQ(Y,W_))L+=1}if(!U&&i$.length>0){let p$=i$.map((J_)=>GQ(J_,j.uriMap));DC(Y,A.table,p$),NC(Y,A.table,p$);for(let J_ of p$)mC(Y,{direction:$.direction,sourceMachineId:$.bundle.source.machine_id??"unknown",localMachineId:W,entityKind:A.table,entityId:S0(A.table,J_),nextHash:T0(J_,Z0($.bundle.artifacts)),logicalClock:M?.logical_clock??0,bundleId:X,row:J_})}for(let[p$,J_]of r){if(k.has(p$))continue;let O$=Z.get(p$);if(!O$)continue;let Y_=T0(O$,B);if(J_&&Y_!==J_){let t$={entityKind:A.table,entityId:p$,localMachineId:W,remoteMachineId:J,localHash:Y_,remoteHash:null,baseHash:J_,metadata:{direction:$.direction,bundle_id:X,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:null}};if(YQ(Y,t$)){P$.skipped+=1;continue}if(P$.conflicts+=1,!U&&QQ(Y,t$))L+=1;continue}if(P$.deleted+=1,!U)OC(Y,A.table,p$)}if(!U&&M)PX(Y,{table:A.table,machineId:J,logicalClock:M.logical_clock,highWaterHash:M.high_water_hash,highWaterBundleId:X,originMachineId:J,updatedByMachineId:W,lastAppliedAt:v6(),metadata:{source:"import",direction:$.direction,row_count:A.rows.length,inserted:P$.inserted,updated:P$.updated,deleted:P$.deleted,skipped:P$.skipped,conflicts:P$.conflicts}}),N+=1;V.push(P$)}for(let A of j.conflicts)if(!U){if(QQ(Y,{...A,baseHash:A.baseHash??null,metadata:{...A.metadata,bundle_id:X}}))L+=1}let R=V.reduce((A,M)=>A+M.inserted,0),b=V.reduce((A,M)=>A+M.conflicts,0)+j.result.conflicts;if(!U)dC(Y,{bundle:$.bundle,bundleId:X,contentHash:G,sourceMachineId:J,targetMachineId:W,direction:$.direction,status:b===0?"applied":"conflicted",tableResults:V,conflicts:b,artifacts:j.result});return{ok:b===0,protocol_version:h4,min_protocol_version:x4,dry_run:U,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:z_(Y),artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:V,artifacts:j.result,conflicts_created:L,bundle_id:X,replayed:!1,clocks:{advanced:N,stale_tables:H},warnings:_,message:`${$.dryRun?"Would import":"Imported"} ${R} row(s), copied ${j.result.copied} artifact(s), ${b} conflict(s)`}}finally{Y.close()}}function R3($){$$($.dbPath);let _=d($.dbPath),U=v6($.now);try{let W=$.topology?TC(_,$.topology,U):0,J=O3(_),X=o$(bC(_)),G=$.machineId??$.topology?.local_machine_id??"unknown",Q=o$($.storage.artifact_store.uri_prefix),Y=o$($.workspaceHome),j=eU(M2({machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,tables:J,artifacts:X})),O={id:DQ("syncsnap"),machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,content_hash:j,tables_json:JSON.stringify(J),artifact_hashes_json:JSON.stringify(X),created_at:U};_.query(` + `).run(_.bundleId,_.sourceMachineId,_.targetMachineId,_.direction,_.status,_.contentHash,JSON.stringify(_.bundle.table_clocks??[]),JSON.stringify(_.tableResults),_.bundle.generated_at,U,JSON.stringify({conflicts:_.conflicts,artifacts:_.artifacts,source_workspace_home:_.bundle.source.workspace_home}))}function cC($){return{ok:!0,protocol_version:h4,min_protocol_version:x4,dry_run:!1,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:$.targetBundle.source.sqlite_schema_version,artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:$.bundle.tables.filter((_)=>!JJ.has(_.table)).map((_)=>({table:_.table,source_rows:_.rows.length,target_rows:LQ($.targetBundle,_.table)?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:_.rows.length,conflicts:0,stale_skipped:0})),artifacts:{source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:$.bundle.artifacts.length,conflicts:0,missing_content:0},conflicts_created:0,bundle_id:$.bundleId,replayed:!0,clocks:{advanced:0,stale_tables:0},warnings:[...$.warnings,`bundle_replay_skipped:${$.bundleId}`],message:`Skipped already-applied bundle ${$.bundleId}`}}function nC($,_){let U=Z0($.artifacts),W=Z0(_.artifacts);for(let J of $.tables){if(JJ.has(J.table))continue;let X=LQ(_,J.table),Q=DH($,J.table)?.high_water_hash??PX(J.table,J.rows,U);if(PX(J.table,X?.rows??[],W)!==Q)return!1}return!0}async function SX($){ZC($.bundle),$$($.targetDbPath);let _=[...$.bundle.warnings],U=$.dryRun===!0,W=GH($.localMachineId),J=$.bundle.source.machine_id??"unknown",X=vC($.bundle),G=VH($.bundle),Q=$.targetBundle??WJ({dbPath:$.targetDbPath,scope:$.targetScope,workspaceHome:$.targetWorkspaceHome,storage:$.targetStorage,machineId:W,includeArtifactContent:!1,recordClocks:!U}),Y=d($.targetDbPath);try{if(!U&&uC(Y,X)&&nC($.bundle,Q))return cC({bundle:$.bundle,targetBundle:Q,targetScope:$.targetScope,targetWorkspaceHome:$.targetWorkspaceHome,targetStorage:$.targetStorage,direction:$.direction,warnings:_,bundleId:X});let j=await xC({db:Y,bundle:$.bundle,targetBundle:Q,targetStorage:$.targetStorage,targetStore:$.targetStore,dryRun:U,direction:$.direction,localMachineId:W,warnings:_}),O=Z0($.bundle.artifacts),B=Z0(Q.artifacts),V=[],L=0,N=0,H=0;for(let A of $.bundle.tables){if(A.table==="storage_objects"||JJ.has(A.table))continue;if(!o_(Y,A.table))continue;let M=DH($.bundle,A.table),K=_J(Y,A.table,J),I=LQ(Q,A.table),Z=yC(A.table,I?.rows??[]),k=new Set(A.rows.map((p$)=>S0(A.table,p$))),i=zC(Y,A.table,J),r$=[],f$={table:A.table,source_rows:A.rows.length,target_rows:I?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!M)_.push(`legacy_clock_missing:${A.table}`);else if(jC(K,M)){H+=1,f$.skipped+=A.rows.length,f$.stale_skipped=A.rows.length,_.push(`stale_table_skipped:${A.table}:${J}:${M.logical_clock}`),V.push(f$);continue}for(let p$ of A.rows){let J_=S0(A.table,p$),O$=Z.get(J_),Y_=T0(p$,O);if(!O$){f$.inserted+=1,r$.push(QQ(p$,j.uriMap));continue}let t$=T0(O$,B);if(t$===Y_){f$.skipped+=1;continue}let d$=i.get(J_);if(i.has(J_)&&d$===t$){f$.updated+=1,r$.push(QQ(p$,j.uriMap));continue}let W_={entityKind:A.table,entityId:J_,localMachineId:W,remoteMachineId:J,localHash:t$,remoteHash:Y_,baseHash:K?.high_water_hash??null,metadata:{direction:$.direction,bundle_id:X,incoming_logical_clock:M?.logical_clock??null,current_logical_clock:K?.logical_clock??null,source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:sU(p$)}};if(jQ(Y,W_)){f$.skipped+=1;continue}if(f$.conflicts+=1,!U&&YQ(Y,W_))L+=1}if(!U&&r$.length>0){let p$=r$.map((J_)=>QQ(J_,j.uriMap));DC(Y,A.table,p$),NC(Y,A.table,p$);for(let J_ of p$)mC(Y,{direction:$.direction,sourceMachineId:$.bundle.source.machine_id??"unknown",localMachineId:W,entityKind:A.table,entityId:S0(A.table,J_),nextHash:T0(J_,Z0($.bundle.artifacts)),logicalClock:M?.logical_clock??0,bundleId:X,row:J_})}for(let[p$,J_]of i){if(k.has(p$))continue;let O$=Z.get(p$);if(!O$)continue;let Y_=T0(O$,B);if(J_&&Y_!==J_){let t$={entityKind:A.table,entityId:p$,localMachineId:W,remoteMachineId:J,localHash:Y_,remoteHash:null,baseHash:J_,metadata:{direction:$.direction,bundle_id:X,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:null}};if(jQ(Y,t$)){f$.skipped+=1;continue}if(f$.conflicts+=1,!U&&YQ(Y,t$))L+=1;continue}if(f$.deleted+=1,!U)OC(Y,A.table,p$)}if(!U&&M)CX(Y,{table:A.table,machineId:J,logicalClock:M.logical_clock,highWaterHash:M.high_water_hash,highWaterBundleId:X,originMachineId:J,updatedByMachineId:W,lastAppliedAt:v6(),metadata:{source:"import",direction:$.direction,row_count:A.rows.length,inserted:f$.inserted,updated:f$.updated,deleted:f$.deleted,skipped:f$.skipped,conflicts:f$.conflicts}}),N+=1;V.push(f$)}for(let A of j.conflicts)if(!U){if(YQ(Y,{...A,baseHash:A.baseHash??null,metadata:{...A.metadata,bundle_id:X}}))L+=1}let R=V.reduce((A,M)=>A+M.inserted,0),E=V.reduce((A,M)=>A+M.conflicts,0)+j.result.conflicts;if(!U)dC(Y,{bundle:$.bundle,bundleId:X,contentHash:G,sourceMachineId:J,targetMachineId:W,direction:$.direction,status:E===0?"applied":"conflicted",tableResults:V,conflicts:E,artifacts:j.result});return{ok:E===0,protocol_version:h4,min_protocol_version:x4,dry_run:U,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:z_(Y),artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:V,artifacts:j.result,conflicts_created:L,bundle_id:X,replayed:!1,clocks:{advanced:N,stale_tables:H},warnings:_,message:`${$.dryRun?"Would import":"Imported"} ${R} row(s), copied ${j.result.copied} artifact(s), ${E} conflict(s)`}}finally{Y.close()}}function RH($){$$($.dbPath);let _=d($.dbPath),U=v6($.now);try{let W=$.topology?TC(_,$.topology,U):0,J=OH(_),X=o$(EC(_)),G=$.machineId??$.topology?.local_machine_id??"unknown",Q=o$($.storage.artifact_store.uri_prefix),Y=o$($.workspaceHome),j=eU(M2({machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,tables:J,artifacts:X})),O={id:zQ("syncsnap"),machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,content_hash:j,tables_json:JSON.stringify(J),artifact_hashes_json:JSON.stringify(X),created_at:U};_.query(` INSERT INTO knowledge_sync_snapshots ( id, machine_id, scope, workspace_home, sqlite_schema_version, artifact_root_uri, content_hash, tables_json, artifact_hashes_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(O.id,O.machine_id,O.scope,O.workspace_home,O.sqlite_schema_version,O.artifact_root_uri,O.content_hash,O.tables_json,O.artifact_hashes_json,O.created_at);let B=new Map;for(let V of Q3(_,Y3()).filter((L)=>!JJ.has(L))){let L=j3(_,V).map((b)=>o$(b)),N=kX(V,L,B),H=_J(_,V,G),R=H?.high_water_hash===N?H.logical_clock:(H?.logical_clock??0)+1;PX(_,{table:V,machineId:G,logicalClock:R,highWaterHash:N,highWaterBundleId:O.id,originMachineId:H?.origin_machine_id??G,updatedByMachineId:G,lastAppliedAt:U,metadata:{source:"snapshot",row_count:L.length},now:U})}return{ok:!0,snapshot:{...O,tables:J,artifact_hashes:X},machines_upserted:W,message:`Recorded sync snapshot ${O.id}`}}finally{_.close()}}function A3($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),W=_.query("SELECT * FROM knowledge_sync_snapshots ORDER BY created_at DESC LIMIT 1").get()??null,J=_.query("SELECT status, COUNT(*) AS count FROM knowledge_sync_conflicts GROUP BY status ORDER BY status").all(),X=_.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),G=GC(_),Q=_.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,Y=J.reduce((O,B)=>O+B.count,0),j=J.filter((O)=>O.status!=="resolved"&&O.status!=="ignored").reduce((O,B)=>O+B.count,0);return{ok:!0,scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),local_machine_id:$.localMachineId??null,machines:{total:U.length,rows:o$(U)},snapshots:{total:gX(_,"knowledge_sync_snapshots"),latest:o$(W)},changes:{total:gX(_,"knowledge_sync_changes"),by_operation:X},clocks:{total:G.length,rows:G},imports:{total:gX(_,"knowledge_sync_imports"),latest:o$(Q)},conflicts:{total:Y,by_status:J,open:j},table_counts:O3(_),message:`${U.length} machine(s), ${j} open sync conflict(s)`}}finally{_.close()}}function LQ($){return{...$,metadata:fX($.metadata_json,{})}}function SX($,_){$$($);let U=d($);try{let W=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_);return W?LQ(W):null}finally{U.close()}}function b3($,_={}){$$($);let U=d($),W=Math.max(1,Math.min(_.limit??50,200));try{return(_.status?U.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all(_.status,W):U.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(W)).map(LQ)}finally{U.close()}}function lC($){return wX.includes($)?$:null}function rC($,_){let U=lC(_.entity_kind);if(!U||!o_($,U))return null;let W=z3(U,_.entity_id);if(!W)return null;let J=q3(U);return $.query(`SELECT * FROM ${x_(U)} WHERE ${J} LIMIT 1`).get(...W)}function iC($,_){for(let U of _){let W=$[U];if(W&&typeof W==="object"&&!Array.isArray(W))return sU(W)}return null}function U3($,_){if(typeof _!=="string")return;let U=_.trim();if(!U)return;if(U.startsWith("open-files://")||U.startsWith("s3://")||U.startsWith("file://")||U.startsWith("https://")||U.startsWith("http://"))$.add(U)}function jQ($,_=new Set,U=0){if(U>8||$===null||$===void 0)return _;if(typeof $==="string")return U3(_,$),_;if(Array.isArray($)){for(let W of $)jQ(W,_,U+1);return _}if(typeof $==="object")for(let[W,J]of Object.entries($)){if(W==="source_ref"||W==="source_uri"||W==="artifact_uri"||W.endsWith("_uri"))U3(_,J);jQ(J,_,U+1)}return _}function F3($){let _=[{id:"conflict",kind:"metadata",ref:`knowledge-sync-conflict://${$.conflict.id}`,hash:$.conflict.base_hash,quote:`Conflict on ${$.conflict.entity_kind}:${$.conflict.entity_id}`}];if($.localRow)_.push({id:"local-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:local`,hash:$.conflict.local_hash,quote:JSON.stringify($.localRow).slice(0,300)});if($.remoteRow)_.push({id:"remote-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:remote`,hash:$.conflict.remote_hash,quote:JSON.stringify($.remoteRow).slice(0,300)});return $.sourceRefs.slice(0,10).forEach((U,W)=>{_.push({id:`source-${W+1}`,kind:U.startsWith("file://")||U.startsWith("s3://")?"artifact":"source_ref",ref:U,hash:null,quote:null})}),_}function E3($,_){let U=SX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);$$($);let W=d($);try{let J=sU(rC(W,U)),X=iC(U.metadata,["remote_row","source_row","incoming_row"]),Q=[...jQ({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:J,remote_row:X})].slice(0,25),Y=[{name:"knowledge_sync_conflict_get",input:{id:_},output_summary:`${U.entity_kind}:${U.entity_id} status=${U.status}`},{name:"knowledge_catalog_row_get",input:{table:U.entity_kind,key:U.entity_id},output_summary:J?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:_},output_summary:`${Q.length} source/artifact ref(s) found`}];return{conflict:U,local_row:J,remote_row:X,source_refs:Q,citations:F3({conflict:U,localRow:J,remoteRow:X,sourceRefs:Q}),read_only_tools:Y}}finally{W.close()}}function XJ($,_){let U=SX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);let W=U.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",J=[`Conflict ${U.id} affects ${U.entity_kind}:${U.entity_id}.`,`Local machine ${U.local_machine_id} has ${U.local_hash??"unknown hash"}.`,`Remote machine ${U.remote_machine_id} has ${U.remote_hash??"unknown hash"}.`].join(" "),X=["Review this knowledge sync conflict before any durable write.",`Entity: ${U.entity_kind}:${U.entity_id}`,`Local machine/hash: ${U.local_machine_id} / ${U.local_hash??"unknown"}`,`Remote machine/hash: ${U.remote_machine_id} / ${U.remote_hash??"unknown"}`,`Base hash: ${U.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(U.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` -`);return{ok:!0,conflict:U,requires_approval:!0,mode:"deterministic",proposed_strategy:W,summary:J,merge_prompt:X,proposed_patch:null,citations:F3({conflict:U,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:U.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${U.id}`}}function K3($,_){$$($);let U=d($),W=v6();try{let J=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!J)throw Error(`Sync conflict not found: ${_.id}`);U.query(` + `).run(O.id,O.machine_id,O.scope,O.workspace_home,O.sqlite_schema_version,O.artifact_root_uri,O.content_hash,O.tables_json,O.artifact_hashes_json,O.created_at);let B=new Map;for(let V of QH(_,YH()).filter((L)=>!JJ.has(L))){let L=jH(_,V).map((E)=>o$(E)),N=PX(V,L,B),H=_J(_,V,G),R=H?.high_water_hash===N?H.logical_clock:(H?.logical_clock??0)+1;CX(_,{table:V,machineId:G,logicalClock:R,highWaterHash:N,highWaterBundleId:O.id,originMachineId:H?.origin_machine_id??G,updatedByMachineId:G,lastAppliedAt:U,metadata:{source:"snapshot",row_count:L.length},now:U})}return{ok:!0,snapshot:{...O,tables:J,artifact_hashes:X},machines_upserted:W,message:`Recorded sync snapshot ${O.id}`}}finally{_.close()}}function AH($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),W=_.query("SELECT * FROM knowledge_sync_snapshots ORDER BY created_at DESC LIMIT 1").get()??null,J=_.query("SELECT status, COUNT(*) AS count FROM knowledge_sync_conflicts GROUP BY status ORDER BY status").all(),X=_.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),G=GC(_),Q=_.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,Y=J.reduce((O,B)=>O+B.count,0),j=J.filter((O)=>O.status!=="resolved"&&O.status!=="ignored").reduce((O,B)=>O+B.count,0);return{ok:!0,scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),local_machine_id:$.localMachineId??null,machines:{total:U.length,rows:o$(U)},snapshots:{total:gX(_,"knowledge_sync_snapshots"),latest:o$(W)},changes:{total:gX(_,"knowledge_sync_changes"),by_operation:X},clocks:{total:G.length,rows:G},imports:{total:gX(_,"knowledge_sync_imports"),latest:o$(Q)},conflicts:{total:Y,by_status:J,open:j},table_counts:OH(_),message:`${U.length} machine(s), ${j} open sync conflict(s)`}}finally{_.close()}}function NQ($){return{...$,metadata:fX($.metadata_json,{})}}function ZX($,_){$$($);let U=d($);try{let W=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_);return W?NQ(W):null}finally{U.close()}}function EH($,_={}){$$($);let U=d($),W=Math.max(1,Math.min(_.limit??50,200));try{return(_.status?U.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all(_.status,W):U.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(W)).map(NQ)}finally{U.close()}}function lC($){return kX.includes($)?$:null}function iC($,_){let U=lC(_.entity_kind);if(!U||!o_($,U))return null;let W=zH(U,_.entity_id);if(!W)return null;let J=qH(U);return $.query(`SELECT * FROM ${x_(U)} WHERE ${J} LIMIT 1`).get(...W)}function rC($,_){for(let U of _){let W=$[U];if(W&&typeof W==="object"&&!Array.isArray(W))return sU(W)}return null}function UH($,_){if(typeof _!=="string")return;let U=_.trim();if(!U)return;if(U.startsWith("open-files://")||U.startsWith("s3://")||U.startsWith("file://")||U.startsWith("https://")||U.startsWith("http://"))$.add(U)}function DQ($,_=new Set,U=0){if(U>8||$===null||$===void 0)return _;if(typeof $==="string")return UH(_,$),_;if(Array.isArray($)){for(let W of $)DQ(W,_,U+1);return _}if(typeof $==="object")for(let[W,J]of Object.entries($)){if(W==="source_ref"||W==="source_uri"||W==="artifact_uri"||W.endsWith("_uri"))UH(_,J);DQ(J,_,U+1)}return _}function FH($){let _=[{id:"conflict",kind:"metadata",ref:`knowledge-sync-conflict://${$.conflict.id}`,hash:$.conflict.base_hash,quote:`Conflict on ${$.conflict.entity_kind}:${$.conflict.entity_id}`}];if($.localRow)_.push({id:"local-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:local`,hash:$.conflict.local_hash,quote:JSON.stringify($.localRow).slice(0,300)});if($.remoteRow)_.push({id:"remote-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:remote`,hash:$.conflict.remote_hash,quote:JSON.stringify($.remoteRow).slice(0,300)});return $.sourceRefs.slice(0,10).forEach((U,W)=>{_.push({id:`source-${W+1}`,kind:U.startsWith("file://")||U.startsWith("s3://")?"artifact":"source_ref",ref:U,hash:null,quote:null})}),_}function KH($,_){let U=ZX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);$$($);let W=d($);try{let J=sU(iC(W,U)),X=rC(U.metadata,["remote_row","source_row","incoming_row"]),Q=[...DQ({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:J,remote_row:X})].slice(0,25),Y=[{name:"knowledge_sync_conflict_get",input:{id:_},output_summary:`${U.entity_kind}:${U.entity_id} status=${U.status}`},{name:"knowledge_catalog_row_get",input:{table:U.entity_kind,key:U.entity_id},output_summary:J?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:_},output_summary:`${Q.length} source/artifact ref(s) found`}];return{conflict:U,local_row:J,remote_row:X,source_refs:Q,citations:FH({conflict:U,localRow:J,remoteRow:X,sourceRefs:Q}),read_only_tools:Y}}finally{W.close()}}function XJ($,_){let U=ZX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);let W=U.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",J=[`Conflict ${U.id} affects ${U.entity_kind}:${U.entity_id}.`,`Local machine ${U.local_machine_id} has ${U.local_hash??"unknown hash"}.`,`Remote machine ${U.remote_machine_id} has ${U.remote_hash??"unknown hash"}.`].join(" "),X=["Review this knowledge sync conflict before any durable write.",`Entity: ${U.entity_kind}:${U.entity_id}`,`Local machine/hash: ${U.local_machine_id} / ${U.local_hash??"unknown"}`,`Remote machine/hash: ${U.remote_machine_id} / ${U.remote_hash??"unknown"}`,`Base hash: ${U.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(U.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` +`);return{ok:!0,conflict:U,requires_approval:!0,mode:"deterministic",proposed_strategy:W,summary:J,merge_prompt:X,proposed_patch:null,citations:FH({conflict:U,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:U.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${U.id}`}}function bH($,_){$$($);let U=d($),W=v6();try{let J=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!J)throw Error(`Sync conflict not found: ${_.id}`);U.query(` UPDATE knowledge_sync_conflicts SET status = 'resolved', resolution_strategy = ?, @@ -877,35 +877,35 @@ ${V}`;else{let{generateText:E}=await import("ai"),g=await tU(J,{config:_.config, approved_by = ?, resolved_at = ? WHERE id = ? - `).run(_.strategy,_.proposedPatchUri??J.proposed_patch_uri,_.approvedBy,W,_.id);let X=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!X)throw Error(`Sync conflict not found after resolve: ${_.id}`);return LQ(X)}finally{U.close()}}function Iq($){let U=(typeof $==="string"?$:JSON.stringify($)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function ZZ($){let _=d($.dbPath);try{_.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + `).run(_.strategy,_.proposedPatchUri??J.proposed_patch_uri,_.approvedBy,W,_.id);let X=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!X)throw Error(`Sync conflict not found after resolve: ${_.id}`);return NQ(X)}finally{U.close()}}function wq($){let U=(typeof $==="string"?$:JSON.stringify($)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function ZZ($){let _=d($.dbPath);try{_.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[$.runId,"sync-conflict-proposal",$.prompt,$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.now])}finally{_.close()}}function AV($){let _=d($.dbPath);try{_.run(`UPDATE runs SET status = ?, provider = ?, model = ?, cost_tokens = ?, cost_usd = ?, metadata_json = ?, updated_at = ? - WHERE id = ?`,[$.status,$.provider,$.model,$.usage.input_tokens+$.usage.output_tokens,$.usage.cost_usd,JSON.stringify($.metadata),$.now,$.runId])}finally{_.close()}}function wq($){let _=d($.dbPath);try{_.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`event_${bV()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{_.close()}}function vZ($,_,U,W){let J=d($);try{B2(J,{...U,run_id:_,created_at:W})}finally{J.close()}}function yZ($){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: + WHERE id = ?`,[$.status,$.provider,$.model,$.usage.input_tokens+$.usage.output_tokens,$.usage.cost_usd,JSON.stringify($.metadata),$.now,$.runId])}finally{_.close()}}function kq($){let _=d($.dbPath);try{_.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`event_${EV()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{_.close()}}function vZ($,_,U,W){let J=d($);try{B2(J,{...U,run_id:_,created_at:W})}finally{J.close()}}function yZ($){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: ${JSON.stringify({proposed_strategy:$.deterministic.proposed_strategy,summary:$.deterministic.summary,warnings:$.deterministic.warnings},null,2)}`,"",`Conflict evidence: ${JSON.stringify($.evidence,null,2)}`].join(` `)}function hZ($){let _=typeof $==="number"&&Number.isFinite($)?$:0.5;return Math.max(0,Math.min(1,_))}function xZ($,_){let U=$.kind==="choose_local"||$.kind==="choose_remote"||$.kind==="no_op"||$.kind==="custom"||$.kind==="manual_merge"?$.kind:"manual_merge";return{kind:U,target:typeof $.target==="string"&&$.target?$.target:_,strategy:typeof $.strategy==="string"&&$.strategy?$.strategy:U.replace("_","-"),summary:typeof $.summary==="string"&&$.summary?$.summary:"Review both sides before applying a merge.",diff:typeof $.diff==="string"&&$.diff?$.diff:null,metadata:$.metadata&&typeof $.metadata==="object"&&!Array.isArray($.metadata)?$.metadata:{}}}function mZ($){let _=`${$.conflict.entity_kind}:${$.conflict.entity_id}`,U=Boolean($.local_row&&$.remote_row);return{kind:U?"manual_merge":"custom",target:_,strategy:U?"manual-merge":"review-and-select",summary:U?`Fake AI proposal: compare local and remote ${_} row snapshots, then apply a reviewed manual merge.`:`Fake AI proposal: inspect ${_} with available conflict metadata before selecting a side.`,diff:U?[`--- ${_} local`,`+++ ${_} remote`,"@@ review-required @@",JSON.stringify({local:$.local_row,remote:$.remote_row},null,2).slice(0,1200)].join(` -`):null,metadata:{fake:!0,local_hash:$.conflict.local_hash,remote_hash:$.conflict.remote_hash,source_refs:$.source_refs}}}async function FV($){let _=($.now??new Date).toISOString();$$($.dbPath);let U=XJ($.dbPath,$.id),W=E3($.dbPath,$.id),J=z6($.modelRef??"default",$.config),X=j_(J),G=`run_${bV()}`,Q=yZ({deterministic:U,evidence:W});ZZ({dbPath:$.dbPath,runId:G,prompt:Q,provider:X.provider,model:X.model,status:$.fake?"dry_run":"running",metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,read_only_tools:W.read_only_tools.map((V)=>V.name)},now:_}),wq({dbPath:$.dbPath,runId:G,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:W.citations.length,source_refs:W.source_refs.length,read_only_tools:W.read_only_tools},now:_});let Y,j,O=0.5,B={input_tokens:Iq(Q),output_tokens:0,cost_usd:0};if($.fake)Y=mZ(W),j=Y.summary,B.output_tokens=Iq(j)+Iq(Y.diff??"");else try{let{generateObject:V}=await import("ai"),{z:L}=await Promise.resolve().then(() => (RV(),VV)),N=await tU(J,{config:$.config,env:$.env}),H=L.object({summary:L.string(),confidence:L.number().min(0).max(1),proposed_patch:L.object({kind:L.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:L.string(),strategy:L.string(),summary:L.string(),diff:L.string().nullable(),metadata:L.record(L.string(),L.unknown()).default({})})}),R=await V({model:N,schema:H,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:Q});j=R.object.summary,O=hZ(R.object.confidence),Y=xZ(R.object.proposed_patch,`${W.conflict.entity_kind}:${W.conflict.entity_id}`);let b=f0({provider:X.provider,model:X.model,usage:R.usage,providerMetadata:R.providerMetadata});B={input_tokens:b.input_tokens,output_tokens:b.output_tokens,cost_usd:b.cost_usd},vZ($.dbPath,G,b,_)}catch(V){throw wq({dbPath:$.dbPath,runId:G,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:V instanceof Error?V.message:String(V)},now:_}),AV({dbPath:$.dbPath,runId:G,status:"failed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",error:V instanceof Error?V.message:String(V)},now:_}),V}return AV({dbPath:$.dbPath,runId:G,status:$.fake?"dry_run":"completed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,confidence:O,proposed_strategy:Y.strategy,citation_count:W.citations.length},now:_}),wq({dbPath:$.dbPath,runId:G,level:"info",event:$.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:Y.strategy,confidence:O,patch_kind:Y.kind},now:_}),{...U,mode:"ai",proposed_strategy:Y.strategy,summary:j,proposed_patch:Y,citations:W.citations,confidence:O,agent:{generated:!0,provider:X.provider,model:X.model,run_id:G,read_only_tools:W.read_only_tools,usage:B},warnings:[...U.warnings,...W.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${$.id}`}}import{createHash as uZ,randomUUID as dZ}from"crypto";import{existsSync as nZ,readFileSync as cZ}from"fs";import{basename as lZ}from"path";function i8($,_){return`${$}_${uZ("sha256").update(_).digest("hex").slice(0,20)}`}function s2($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function h$($){return typeof $==="string"&&$.length>0?$:void 0}function rZ($){let _=h$($.source_ref)??h$($.source_uri)??h$($.uri);if(_)return _;let U=h$($.file_id);if(U){let X=h$($.revision_id)??h$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=h$($.source_id),J=h$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function iZ($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function pZ($){return h$($.hash)??h$($.checksum)??h$($.sha256)??null}function oZ($,_,U){return h$($.revision_id)??h$($.revision)??h$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??null}function tZ($){return h$($.previous_revision_id)??h$($.previous_revision)??h$($.previous_version_id)??null}function aZ($){return(h$($.event_type)??h$($.event)??h$($.type)??h$($.action)??h$($.change_type)??"changed").toLowerCase()}function sZ($){let _=h$($.path);return h$($.title)??h$($.name)??(_?lZ(_):null)}function eZ($,_){let U=rZ($),W=i_(U),J=pZ($);return{raw:$,eventType:aZ($),sourceRef:U,sourceUri:iZ(U,W),kind:W.kind,title:sZ($),revision:oZ($,W,J),previousRevision:tZ($),hash:J,status:h$($.status)?.toLowerCase()??null,updatedAt:h$($.updated_at)??_,acl:$.permissions??$.acl??void 0}}function $v($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Outbox array parse failed.");return U.map((W)=>{let J=s2(W);if(!J)throw Error("Outbox array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=s2(U);if(!W)throw Error("Outbox object parse failed.");if(Array.isArray(W.events))return W.events.map((J)=>{let X=s2(J);if(!X)throw Error("Outbox events entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=s2(JSON.parse(J));if(!X)throw Error("Outbox JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=s2(JSON.parse(U));if(!W)throw Error("Outbox JSONL entries must be objects.");return W})}async function _v($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 outbox URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Uv($,_,U){if($.startsWith("s3://"))return _v($,_,U);if(!nZ($))throw Error(`Outbox not found: ${$}`);return cZ($,"utf8")}function EV($,_){let U={};if($)try{U=s2(JSON.parse($))??{}}catch{U={}}return JSON.stringify({...U,..._})}function Jv($,_,U){let W=i8("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`):null,metadata:{fake:!0,local_hash:$.conflict.local_hash,remote_hash:$.conflict.remote_hash,source_refs:$.source_refs}}}async function FV($){let _=($.now??new Date).toISOString();$$($.dbPath);let U=XJ($.dbPath,$.id),W=KH($.dbPath,$.id),J=z6($.modelRef??"default",$.config),X=j_(J),G=`run_${EV()}`,Q=yZ({deterministic:U,evidence:W});ZZ({dbPath:$.dbPath,runId:G,prompt:Q,provider:X.provider,model:X.model,status:$.fake?"dry_run":"running",metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,read_only_tools:W.read_only_tools.map((V)=>V.name)},now:_}),kq({dbPath:$.dbPath,runId:G,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:W.citations.length,source_refs:W.source_refs.length,read_only_tools:W.read_only_tools},now:_});let Y,j,O=0.5,B={input_tokens:wq(Q),output_tokens:0,cost_usd:0};if($.fake)Y=mZ(W),j=Y.summary,B.output_tokens=wq(j)+wq(Y.diff??"");else try{let{generateObject:V}=await import("ai"),{z:L}=await Promise.resolve().then(() => (RV(),VV)),N=await tU(J,{config:$.config,env:$.env}),H=L.object({summary:L.string(),confidence:L.number().min(0).max(1),proposed_patch:L.object({kind:L.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:L.string(),strategy:L.string(),summary:L.string(),diff:L.string().nullable(),metadata:L.record(L.string(),L.unknown()).default({})})}),R=await V({model:N,schema:H,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:Q});j=R.object.summary,O=hZ(R.object.confidence),Y=xZ(R.object.proposed_patch,`${W.conflict.entity_kind}:${W.conflict.entity_id}`);let E=P0({provider:X.provider,model:X.model,usage:R.usage,providerMetadata:R.providerMetadata});B={input_tokens:E.input_tokens,output_tokens:E.output_tokens,cost_usd:E.cost_usd},vZ($.dbPath,G,E,_)}catch(V){throw kq({dbPath:$.dbPath,runId:G,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:V instanceof Error?V.message:String(V)},now:_}),AV({dbPath:$.dbPath,runId:G,status:"failed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",error:V instanceof Error?V.message:String(V)},now:_}),V}return AV({dbPath:$.dbPath,runId:G,status:$.fake?"dry_run":"completed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,confidence:O,proposed_strategy:Y.strategy,citation_count:W.citations.length},now:_}),kq({dbPath:$.dbPath,runId:G,level:"info",event:$.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:Y.strategy,confidence:O,patch_kind:Y.kind},now:_}),{...U,mode:"ai",proposed_strategy:Y.strategy,summary:j,proposed_patch:Y,citations:W.citations,confidence:O,agent:{generated:!0,provider:X.provider,model:X.model,run_id:G,read_only_tools:W.read_only_tools,usage:B},warnings:[...U.warnings,...W.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${$.id}`}}import{createHash as uZ,randomUUID as dZ}from"crypto";import{existsSync as cZ,readFileSync as nZ}from"fs";import{basename as lZ}from"path";function p8($,_){return`${$}_${uZ("sha256").update(_).digest("hex").slice(0,20)}`}function s2($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function h$($){return typeof $==="string"&&$.length>0?$:void 0}function iZ($){let _=h$($.source_ref)??h$($.source_uri)??h$($.uri);if(_)return _;let U=h$($.file_id);if(U){let X=h$($.revision_id)??h$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=h$($.source_id),J=h$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function rZ($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function pZ($){return h$($.hash)??h$($.checksum)??h$($.sha256)??null}function oZ($,_,U){return h$($.revision_id)??h$($.revision)??h$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??null}function tZ($){return h$($.previous_revision_id)??h$($.previous_revision)??h$($.previous_version_id)??null}function aZ($){return(h$($.event_type)??h$($.event)??h$($.type)??h$($.action)??h$($.change_type)??"changed").toLowerCase()}function sZ($){let _=h$($.path);return h$($.title)??h$($.name)??(_?lZ(_):null)}function eZ($,_){let U=iZ($),W=r_(U),J=pZ($);return{raw:$,eventType:aZ($),sourceRef:U,sourceUri:rZ(U,W),kind:W.kind,title:sZ($),revision:oZ($,W,J),previousRevision:tZ($),hash:J,status:h$($.status)?.toLowerCase()??null,updatedAt:h$($.updated_at)??_,acl:$.permissions??$.acl??void 0}}function $v($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Outbox array parse failed.");return U.map((W)=>{let J=s2(W);if(!J)throw Error("Outbox array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=s2(U);if(!W)throw Error("Outbox object parse failed.");if(Array.isArray(W.events))return W.events.map((J)=>{let X=s2(J);if(!X)throw Error("Outbox events entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=s2(JSON.parse(J));if(!X)throw Error("Outbox JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=s2(JSON.parse(U));if(!W)throw Error("Outbox JSONL entries must be objects.");return W})}async function _v($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 outbox URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Uv($,_,U){if($.startsWith("s3://"))return _v($,_,U);if(!cZ($))throw Error(`Outbox not found: ${$}`);return nZ($,"utf8")}function KV($,_){let U={};if($)try{U=s2(JSON.parse($))??{}}catch{U={}}return JSON.stringify({...U,..._})}function Jv($,_,U){let W=p8("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(uri) DO UPDATE SET kind = excluded.kind, title = COALESCE(excluded.title, sources.title), - updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify({source_ref:_.sourceRef,source_uri:_.sourceUri,status:_.status,last_outbox_event:_.eventType}),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id, metadata_json, acl_json FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source for outbox event: ${_.sourceUri}`);let X={source_ref:_.sourceRef,source_uri:_.sourceUri,last_outbox_event:_.eventType,last_outbox_at:_.updatedAt};if(_.status)X.status=_.status;if(h$(_.raw.path))X.path=_.raw.path;return $.run("UPDATE sources SET metadata_json = ?, acl_json = CASE WHEN ? IS NULL THEN acl_json ELSE ? END, updated_at = ? WHERE id = ?",[EV(J.metadata_json,X),_.acl===void 0?null:JSON.stringify(_.acl),_.acl===void 0?null:JSON.stringify(_.acl),_.updatedAt,J.id]),J.id}function Wv($,_,U,W){if(!U.revision)return null;let J=i8("rev",`${_}\x00${U.revision}`),X={source_ref:U.sourceRef,source_uri:U.sourceUri,status:U.status,last_outbox_event:U.eventType,reindex_required:!0};return $.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) + updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify({source_ref:_.sourceRef,source_uri:_.sourceUri,status:_.status,last_outbox_event:_.eventType}),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id, metadata_json, acl_json FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source for outbox event: ${_.sourceUri}`);let X={source_ref:_.sourceRef,source_uri:_.sourceUri,last_outbox_event:_.eventType,last_outbox_at:_.updatedAt};if(_.status)X.status=_.status;if(h$(_.raw.path))X.path=_.raw.path;return $.run("UPDATE sources SET metadata_json = ?, acl_json = CASE WHEN ? IS NULL THEN acl_json ELSE ? END, updated_at = ? WHERE id = ?",[KV(J.metadata_json,X),_.acl===void 0?null:JSON.stringify(_.acl),_.acl===void 0?null:JSON.stringify(_.acl),_.updatedAt,J.id]),J.id}function Wv($,_,U,W){if(!U.revision)return null;let J=p8("rev",`${_}\x00${U.revision}`),X={source_ref:U.sourceRef,source_uri:U.sourceUri,status:U.status,last_outbox_event:U.eventType,reindex_required:!0};return $.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(source_id, revision) DO UPDATE SET hash = COALESCE(excluded.hash, source_revisions.hash), - metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,h$(U.raw.extracted_text_ref)??null,JSON.stringify(X),W]),$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision)?.id??null}function Xv($,_,U){if(U.previousRevision){let W=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.previousRevision).map((J)=>J.id);if(W.length>0)return W}if(U.revision)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.revision).map((W)=>W.id);if(U.hash)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all(_,U.hash).map((W)=>W.id);return $.query("SELECT id FROM source_revisions WHERE source_id = ?").all(_).map((W)=>W.id)}function Gv($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_),W=0,J=0;for(let G of U){let Q=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(G.id);W+=Q?.n??0;let Y=$.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(G.id);J+=Y?.n??0,$.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[G.id])}$.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]);let X=$.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get(_);return $.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[EV(X?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),_]),{chunksDeleted:U.length,embeddingsDeleted:W,vectorEntriesDeleted:J}}function Qv($,_){return _==="deleted"||["delete","deleted","remove","removed"].includes($)}function Yv($){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes($)}function jv($){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes($)}async function KV($){let _=($.now??new Date).toISOString();if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await Uv($.input,$.config,$.safetyPolicy),W=$v(U),J=d($.dbPath),X=`run_${dZ()}`;try{return J.transaction(()=>{J.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[X,"open-files-outbox",$.input,"completed","local","open-files-outbox",JSON.stringify({path:$.input,events:W.length}),_,_]);let G=new Set,Q=new Set,Y=0,j=0,O=0,B=0,V=0,L=0,N=0;return a$(J,{event_type:"source_read",action:$.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:$.input,decision:"allow",metadata:{events:W.length,read_only:!0},created_at:_}),W.forEach((H,R)=>{let b=eZ(H,_),A=Jv(J,b,_);G.add(A);let M=Wv(J,A,b,_);if(M)Q.add(M);let E=Xv(J,A,b);for(let g of E){Q.add(g);let Z=Gv(J,g);Y+=Z.chunksDeleted,j+=Z.embeddingsDeleted,O+=Z.vectorEntriesDeleted,B+=1}if(Qv(b.eventType,b.status))V+=1;if(Yv(b.eventType))L+=1;if(jv(b.eventType)||b.acl!==void 0)N+=1;J.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[i8("evt",`${X}\x00${R}\x00${b.sourceRef}\x00${b.eventType}`),X,"info",b.eventType,JSON.stringify({source_ref:b.sourceRef,source_uri:b.sourceUri,revision:b.revision,hash:b.hash,status:b.status,affected_revisions:E.length}),b.updatedAt])}),J.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[i8("usage",X),X,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),_]),a$(J,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:$.dbPath,decision:"allow",metadata:{run_id:X,events:W.length,sources:G.size,revisions:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O},created_at:_}),{path:$.input,db_path:$.dbPath,run_id:X,events_seen:W.length,sources_touched:G.size,revisions_touched:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O,stale_revisions:B,deleted_sources:V,moved_sources:L,permission_updates:N}})()}finally{J.close()}}import{spawnSync as IV}from"child_process";import{hostname as D1,platform as wV,userInfo as Dv}from"os";var zv=1,qv="@hasna/machines",Ov="@hasna/machines/consumer";function _$($){return typeof $==="string"&&$.length>0?$:null}function s4($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function V_($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function e8($){return typeof $==="boolean"?$:null}function Lv($){return typeof $==="number"&&Number.isFinite($)?$:null}function $5($=wV()){let _=$.toLowerCase();if(_==="darwin"||_==="macos")return"macos";if(_==="win32"||_==="windows")return"windows";if(_==="linux")return"linux";return $}function NW($){let _=IV("bash",["-c",$],{encoding:"utf8",env:process.env});return{stdout:_.stdout||"",stderr:_.stderr||"",exitCode:_.status??1}}async function e2($,_){return await $(_)}async function BW($,_){return(await e2(_,`command -v ${$} >/dev/null 2>&1`)).exitCode===0}function Nv($){try{let _=JSON.parse($);if(!_||typeof _!=="object")return null;return _}catch{return null}}function MV($){if(!$)return null;return $.HostName??$.DNSName?.split(".")[0]??null}async function Bv($,_){let U=new Map;if(!await BW("tailscale",$))return _.push("tailscale_not_available"),{peers:U,selfKey:null};let W=await e2($,"tailscale status --json");if(W.exitCode!==0)return _.push(`tailscale_status_failed:${W.stderr.trim()||W.exitCode}`),{peers:U,selfKey:null};let J=Nv(W.stdout);if(!J)return _.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let X=(G)=>{let Q=MV(G);if(Q&&G)U.set(Q,G)};X(J.Self);for(let G of Object.values(J.Peer??{}))X(G);return{peers:U,selfKey:MV(J.Self)}}function Hv($){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??$??D1()}function Vv($){let _=$.machineId===$.localMachineId||$.machineId===D1(),U=$.peer?.DNSName?.replace(/\.$/,"")??null,W=U??$.peer?.TailscaleIPs?.[0]??null,J=[];if(_)J.push({kind:"local",target:"localhost",reachable:!0});if(W)J.push({kind:"tailscale",target:W,reachable:$.peer?.Online??null});let X=J.find((G)=>G.kind==="local")??J.find((G)=>G.kind==="tailscale")??null;return{machine_id:$.machineId,hostname:$.peer?.HostName??(_?D1():$.machineId),local:_,platform:$.peer?.OS?$5($.peer.OS):_?$5():null,os:$.peer?.OS??(_?wV():null),user:_?Dv().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:U,ips:$.peer?.TailscaleIPs??[],online:$.peer?.Online??null,active:$.peer?.Active??null,last_seen:$.peer?.LastSeen??null},ssh:{address:null,route:X?.kind==="local"?"local":X?.kind==="tailscale"?"tailscale":"unknown",command_target:X?.target??null},route_hints:J,tags:[],metadata:{},source:"local"}}function Rv($){if(!Array.isArray($))return[];return $.map((_)=>{let U=V_(_),W=_$(U.kind)??"unknown";return{kind:W==="local"||W==="lan"||W==="tailscale"||W==="ssh"?W:"unknown",target:_$(U.target)??"",reachable:e8(U.reachable)}}).filter((_)=>_.target.length>0)}function Av($,_){let U=_$($.machine_id)??_$($.hostname)??"unknown",W=V_($.tailscale),J=V_($.ssh),X=_$($.heartbeat_status),G=_$(J.route);return{machine_id:U,hostname:_$($.hostname),local:U===_,platform:_$($.platform),os:_$($.os),user:_$($.user),workspace_path:_$($.workspace_path),manifest_declared:$.manifest_declared===!0,heartbeat_status:X==="online"||X==="offline"?X:"unknown",last_heartbeat_at:_$($.last_heartbeat_at),tailscale:{dns_name:_$(W.dns_name),ips:s4(W.ips),online:e8(W.online),active:e8(W.active),last_seen:_$(W.last_seen)},ssh:{address:_$(J.address),route:G==="local"||G==="lan"||G==="tailscale"?G:"unknown",command_target:_$(J.command_target)},route_hints:Rv($.route_hints),tags:s4($.tags),metadata:V_($.metadata),source:"open-machines"}}function bv($,_){return`${_} machine${_===1?"":"s"} discovered via ${$}`}function u_($){let _=$ instanceof Error?$.message:String($);return _.includes("Cannot find module '@hasna/machines'")||_.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":_}function HW($){return $.adapterMode??"auto"}function kV($){let _=$?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof _==="number")return _;let U=$?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function _5($){return typeof $.schema_version==="number"?$.schema_version:null}function VW($){return typeof $==="number"&&$>zv?$:null}function U5($){return{package:qv,entrypoint:Ov,mode:$.mode,implementation:$.implementation,contract_version:$.contractVersion??null,available:$.available,error:$.error??null}}function w$($,_="adapter_disabled"){return U5({mode:$,implementation:"disabled",available:!1,error:_})}function J5($,_){let U=VW(kV(_));if(!U)return null;return U5({mode:$,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function W5($){return U5({mode:$,implementation:"cli",available:!0})}function X5($,_){return U5({mode:$,implementation:"sdk",available:!0,contractVersion:kV(_)})}function G5($){try{return JSON.parse($)}catch{return null}}function z1($){return`'${$.replace(/'/g,"'\\''")}'`}function Q5($){return["machines",...$].map(z1).join(" ")}function Y5($){return $==="local"||$==="localhost"||$===D1()||$===process.env.HASNA_MACHINE_ID||$===process.env.OPEN_MACHINES_MACHINE_ID||$===process.env.MACHINE_ID}function Fv($,_){let U=Y5($),W=U?_:`ssh ${z1($)} ${z1(_)}`,J=IV("bash",["-c",W],{encoding:"utf8",env:process.env});return{stdout:J.stdout||"",stderr:J.stderr||"",exitCode:J.status??1,source:U?"local":"ssh"}}async function fV($,_,U){return await $(_,U)}function Y1($,_){if(_)return"ok";return $===!1?"warn":"fail"}function j1($){return $.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function Ev($){if($==="@hasna/knowledge")return"knowledge";if($==="@hasna/machines")return"machines";return $.split("/").pop()??$}function Kv($){return $.trim().split(/\r?\n/).find(Boolean)??""}function PV($){return $.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function CV($){let _={};for(let U of $.split(/\r?\n/)){let W=U.indexOf("=");if(W<=0)continue;_[U.slice(0,W)]=U.slice(W+1)}return _}function N4($){return{id:$.id,kind:$.kind,status:$.status,target:$.target,expected:$.expected??null,actual:$.actual??null,detail:$.detail,source:$.source}}async function TV($,_,U){let W=[`cmd=${z1(_.command)}`,'path="$(command -v "$cmd" 2>/dev/null || true)"','printf "path=%s\\n" "$path"',`if [ -n "$path" ]; then version="$("$cmd" ${_.versionArgs??"--version"} 2>/dev/null || true)"; printf "version=%s\\n" "$version"; fi`].join("; "),J=await fV(U,$,W),X=CV(J.stdout);return{path:X.path||null,version:X.version?Kv(X.version):null,stderr:J.stderr,source:J.source??(Y5($)?"local":"ssh")}}function gV($){let _=$==="name"?String.raw`s/.*"name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`:String.raw`s/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`;return[`if command -v bun >/dev/null 2>&1; then bun -e "const p=JSON.parse(await Bun.file(process.argv[1]).text()); console.log(p.${$} ?? '')" "$pkg" 2>/dev/null`,`elif command -v node >/dev/null 2>&1; then node -e "const fs=require('fs'); const p=JSON.parse(fs.readFileSync(process.argv[1], 'utf8')); console.log(p.${$} || '')" "$pkg" 2>/dev/null`,`else sed -n '${_}' "$pkg" | head -n 1`,"fi"].join("; ")}async function Mv($,_,U){let W=[`path=${z1(_.path)}`,'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"','pkg="$path/package.json"','printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',`if [ -f "$pkg" ]; then printf "package_name=%s\\n" "$(${gV("name")})"; printf "version=%s\\n" "$(${gV("version")})"; fi`].join("; "),J=await fV(U,$,W),X=CV(J.stdout);return{exists:X.exists==="yes",packageJson:X.package_json==="yes",packageName:X.package_name||null,version:X.version||null,stderr:J.stderr,source:J.source??(Y5($)?"local":"ssh")}}async function gv($,_,U){let W=await TV($,_,U),J=Boolean(W.path),X=[N4({id:`command:${j1(_.command)}:path`,kind:"command",status:Y1(_.required,J),target:_.command,expected:"available",actual:W.path??"missing",detail:J?`found at ${W.path}`:W.stderr||"command missing",source:W.source})];if(_.expectedVersion){let G=PV(W.version??"");X.push(N4({id:`command:${j1(_.command)}:version`,kind:"command",status:G===_.expectedVersion?"ok":Y1(_.required,!1),target:_.command,expected:_.expectedVersion,actual:G??W.version??"missing",detail:G?`version output: ${W.version}`:"version unavailable",source:W.source}))}return X}async function Iv($,_,U){let W=_.command??Ev(_.name),J=await TV($,{command:W,expectedVersion:_.expectedVersion,required:_.required},U),X=Boolean(J.path),G=[N4({id:`package:${j1(_.name)}:command`,kind:"package",status:Y1(_.required,X),target:_.name,expected:W,actual:J.path??"missing",detail:X?`${W} found at ${J.path}`:`${W} command missing`,source:J.source})];if(_.expectedVersion){let Q=PV(J.version??"");G.push(N4({id:`package:${j1(_.name)}:version`,kind:"package",status:Q===_.expectedVersion?"ok":Y1(_.required,!1),target:_.name,expected:_.expectedVersion,actual:Q??J.version??"missing",detail:Q?`version output: ${J.version}`:"version unavailable",source:J.source}))}return G}async function wv($,_,U){let W=await Mv($,_,U),J=_.label??_.path,X=[N4({id:`workspace:${j1(J)}:path`,kind:"workspace",status:Y1(_.required,W.exists),target:J,expected:_.path,actual:W.exists?"exists":"missing",detail:W.exists?`workspace exists at ${_.path}`:W.stderr||`workspace missing at ${_.path}`,source:W.source})];if(_.expectedPackageName)X.push(N4({id:`workspace:${j1(J)}:package-name`,kind:"workspace",status:W.packageName===_.expectedPackageName?"ok":Y1(_.required,!1),target:J,expected:_.expectedPackageName,actual:W.packageName??(W.packageJson?"missing-name":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));if(_.expectedVersion)X.push(N4({id:`workspace:${j1(J)}:version`,kind:"workspace",status:W.version===_.expectedVersion?"ok":Y1(_.required,!1),target:J,expected:_.expectedVersion,actual:W.version??(W.packageJson?"missing-version":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));return X}function SV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:c6,workspace_home:_.knowledge?.workspace_home??null},message:bv($.source,$.machines.length)}}async function j5(){try{return await import("@hasna/machines/consumer")}catch($){if(u_($)!=="module_not_found")throw $;return await import("@hasna/machines")}}function ZV($,_,U){let W=V_($);if(VW(_5(W)))return null;let J=Array.isArray(W.machines)?W.machines:null,X=_$(W.local_machine_id);if(!J||!X)return null;let G={ok:!0,source:"open-machines",generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),local_machine_id:X,local_hostname:_$(W.local_hostname)??D1(),current_platform:_$(W.current_platform)??$5(),machines:J.map((Q)=>Av(Q,X)),warnings:s4(W.warnings),adapter:U};return SV(G,_)}function p8($){return $==="local"||$==="lan"||$==="tailscale"||$==="ssh"||$==="unknown"?$:null}function vV($){let _=V_($),U=_$(_.observed_at),W=_$(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:_$(_.verified_at),expires_at:_$(_.expires_at),ttl_ms:Lv(_.ttl_ms),source_authority:W,confidence:_$(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:s4(_.reasons)}}function yV($,_){let U=V_($);if(VW(_5(U)))return null;let W=_$(U.target)??_$(U.command_target);if(U.ok!==!0||!W)return null;let J=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,X=typeof J?.selected_hint==="object"&&J.selected_hint!==null?J.selected_hint:null;return{target:W,route:p8(U.route),targetKind:p8(X?.kind)??p8(U.source)??p8(U.route),confidence:_$(U.confidence),source:"open-machines",adapter:_,evidence:J,cacheability:vV(U.cacheability),warnings:s4(U.warnings)}}function kq($){let _=V_($);return{path:_$(_.path),source:_$(_.source)??"unresolved"}}function kv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.status),X=_$(U.severity),G=_$(U.message);if(!W||!J||!X||!G)return[];return[{id:W,status:J,severity:X,message:G,path:_$(U.path),source:_$(U.source)??"unknown",path_exists:e8(U.path_exists)}]})}function fv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.reason),X=s4(U.command),G=_$(U.shell_command),Q=s4(U.apply_command),Y=_$(U.apply_shell_command);if(!W||!J||!X.length||!G||!Q.length||!Y)return[];return[{id:W,reason:J,command:X,shell_command:G,apply_command:Q,apply_shell_command:Y}]})}function Pv($){if(!($.projectRootSource==="inferred"||$.openFilesRootSource==="inferred"||$.trustStatus==="untrusted"||$.authStatus==="unknown"||$.warnings.some((J)=>J.includes("inferred")||J.includes("untrusted")||J.includes("unknown_auth")||J.includes("missing"))))return[];let U=["machines","workspace","repair","--machine",$.requestedMachineId,"--project",$.projectId,"--repo",$.repoName,"--open-files-repo",$.openFilesRepoName??"open-files","--json"],W=[...U,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:U,shell_command:U.map(z1).join(" "),apply_command:W,apply_shell_command:W.map(z1).join(" ")}]}function hV($,_,U){let W=V_($);if(VW(_5(W)))return null;let J=V_(W.paths),X=V_(W.project),G=V_(W.machine),Q=kq(J.project_root),Y=kq(J.workspace_root),j=kq(J.open_files_root);if(W.ok!==!0||!Q.path)return null;let O=typeof W.evidence==="object"&&W.evidence!==null?W.evidence:null,B=_$(W.requested_machine_id)??_.machineId,V=_$(X.project_id)??_.projectId??"open-knowledge",L=_$(X.repo_name)??_.repoName??_.projectId??"open-knowledge",N=_$(G.trust_status)??"unknown",H=_$(G.auth_status)??"unknown",R=s4(W.warnings),b=kv(W.diagnostics),A=fv(W.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:B,machine_id:_$(W.machine_id),project_id:V,repo_name:L,project_root:Q.path,project_root_source:Q.source,workspace_root:Y.path,workspace_root_source:Y.source,open_files_root:j.path,open_files_root_source:j.source,trust_status:N,auth_status:H,current:G.current===!0,primary:G.primary===!0,diagnostics:b,repair_hints:A.length?A:Pv({requestedMachineId:B,projectId:V,repoName:L,openFilesRepoName:_.openFilesRepoName,warnings:R,projectRootSource:Q.source,openFilesRootSource:j.source,trustStatus:N,authStatus:H}),evidence:O,cacheability:vV(W.cacheability),warnings:R}}async function o8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["topology","--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await e2(U,Q5(W));if(J.exitCode!==0)return null;return ZV(G5(J.stdout),$,_)}async function z4($,_){let U=[];if(_.error)U.push(`open_machines_unavailable:${_.error}`);let W=$.runner??NW,J=$.includeTailscale===!1?{peers:new Map,selfKey:null}:await Bv(W,U),X=Hv(J.selfKey),Q=[...new Set([X,...J.peers.keys()])].sort().map((Y)=>Vv({machineId:Y,localMachineId:X,peer:J.peers.get(Y)}));return SV({ok:!0,source:"local",generated_at:($.now??new Date).toISOString(),local_machine_id:X,local_hostname:D1(),current_platform:$5(),machines:Q,warnings:U,adapter:_},$)}async function xV($={}){let _=HW($);if(_==="disabled")return await z4($,w$(_));let U=W5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??j5)(),X=J5(_,J);if(X)return await z4($,X);let G=X5(_,J);if(J?.discoverMachineTopology){let Q=J.discoverMachineTopology({includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),Y=ZV(Q,$,G);if(Y)return Y;if(_==="sdk")return await z4($,w$(_,"invalid_topology_shape"));return await o8($,U)??await z4($,w$(_,"invalid_topology_shape"))}if(_==="sdk")return await z4($,w$(_,"missing_discoverMachineTopology"));return await o8($,U)??await z4($,w$(_,"missing_discoverMachineTopology"))}return await o8($,U)??await z4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await z4($,w$(_,u_(W)));return await o8($,U)??await z4($,w$(_,u_(W)))}}async function t8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["route","--machine",$.machineId,"--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await e2(U,Q5(W));if(J.exitCode!==0)return null;return yV(G5(J.stdout),_)}function q4($,_){return{target:$,route:null,targetKind:null,confidence:null,source:"raw",adapter:_,evidence:null,cacheability:null,warnings:[]}}async function fq($){let _=HW($);if(_==="disabled")return q4($.machineId,w$(_));let U=W5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??j5)(),X=J5(_,J);if(X)return q4($.machineId,X);let G=X5(_,J);if(J?.resolveMachineRoute){let Q=yV(J.resolveMachineRoute($.machineId,{includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),G);if(Q)return Q;if(_==="sdk")return q4($.machineId,w$(_,"invalid_route_shape"));return await t8($,U)??q4($.machineId,w$(_,"invalid_route_shape"))}if(_==="sdk")return q4($.machineId,w$(_,"missing_resolveMachineRoute"));return await t8($,U)??q4($.machineId,w$(_,"missing_resolveMachineRoute"))}return await t8($,U)??q4($.machineId,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]};return await t8($,U)??{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]}}}async function a8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=$.projectId??"open-knowledge",J=$.repoName??"open-knowledge",X=["workspace","resolve","--machine",$.machineId,"--project",W,"--repo",J,"--open-files-repo",$.openFilesRepoName??"open-files","--json"];if($.includeTailscale===!1)X.push("--no-tailscale");let G=await e2(U,Q5(X));if(G.exitCode!==0)return null;return hV(G5(G.stdout),$,_)}function Cv($){let _=$.peerWorkspace?.trim();if(!_)return null;return{ok:!0,source:"argument",adapter:w$(HW($),"argument_override"),requested_machine_id:$.machineId,machine_id:$.machineId,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:_,project_root_source:"argument",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:[]}}function O4($,_,U){return{ok:!1,source:"raw",adapter:U,requested_machine_id:$.machineId,machine_id:null,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:null,project_root_source:"unresolved",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:_}}async function D5($){let _=Cv($);if(_)return _;let U=HW($);if(U==="disabled")return O4($,["adapter_disabled"],w$(U));let W=W5(U);try{if(U!=="cli"){let X=await($.loadOpenMachines??j5)(),G=J5(U,X);if(G)return O4($,[`unsupported_contract_version:${G.contract_version}`],G);let Q=X5(U,X);if(X?.resolveMachineWorkspace){let Y=hV(X.resolveMachineWorkspace({machineId:$.machineId,projectId:$.projectId??"open-knowledge",repoName:$.repoName??"open-knowledge",openFilesRepoName:$.openFilesRepoName??"open-files",includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),$,Q);if(Y)return Y;if(U==="sdk")return O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"));return await a8($,W)??O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"))}if(U==="sdk")return O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"));return await a8($,W)??O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"))}return await a8($,W)??O4($,["machines_cli_unavailable"],w$(U,"machines_cli_unavailable"))}catch(J){if(U==="sdk")return O4($,[u_(J)],w$(U,u_(J)));return await a8($,W)??O4($,[u_(J)],w$(U,u_(J)))}}function mV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:c6,workspace_home:_.knowledge?.workspace_home??null},message:$.ok?`Machine ${$.machine_id} passed knowledge preflight`:`Machine ${$.machine_id} failed knowledge preflight: ${$.summary.fail} failing check(s)`}}function uV($,_,U){let W=V_($);if(VW(_5(W)))return null;let J=Array.isArray(W.checks)?W.checks:null,X=_$(W.machine_id)??_$(W.machineId);if(!J||!X)return null;let G=J.map((Y)=>{let j=V_(Y),O=_$(j.status),B=_$(j.kind),V=_$(j.source);return N4({id:_$(j.id)??"unknown",kind:B==="command"||B==="package"||B==="workspace"?B:"command",status:O==="ok"||O==="warn"||O==="fail"?O:"fail",target:_$(j.target)??"unknown",expected:_$(j.expected),actual:_$(j.actual),detail:_$(j.detail)??"",source:V==="local"||V==="ssh"||V==="open-machines"?V:"open-machines"})}),Q={ok:G.filter((Y)=>Y.status==="ok").length,warn:G.filter((Y)=>Y.status==="warn").length,fail:G.filter((Y)=>Y.status==="fail").length};return mV({ok:Q.fail===0,source:"open-machines",machine_id:X,generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),checks:G,summary:Q,adapter:U},_)}function Tv($){if(!$.runner)return NW;return async(_)=>{let U=await $.runner?.("local",_);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function Sv($){return[$.name,$.command,$.expectedVersion].filter((_)=>Boolean(_)).join(":")}function Zv($){let _=[$.expectedPackageName,$.expectedVersion].filter((W)=>Boolean(W)).join(":"),U=_?`${$.path}:${_}`:$.path;return $.label?`${$.label}=${U}`:U}async function s8($,_){let U=Tv($);if(!await BW("machines",U))return null;let W=["compatibility","--json","--machine",$.machineId??"local"];for(let X of $.commands??[])W.push("--command",X.expectedVersion?`${X.command}:${X.expectedVersion}`:X.command);for(let X of $.packages??[])W.push("--package",Sv(X));for(let X of $.workspaces??[])W.push("--workspace",Zv(X));let J=await e2(U,Q5(W));if(J.exitCode!==0)return null;return uV(G5(J.stdout),$,_)}async function L4($,_){let U=$.machineId??D1(),W=$.runner??Fv,J=$.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],X=$.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],G=$.workspaces??[],Q=[];for(let j of J)Q.push(...await gv(U,j,W));for(let j of X)Q.push(...await Iv(U,j,W));for(let j of G)Q.push(...await wv(U,j,W));if(_.error)Q.push(N4({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:_.error,detail:"Using knowledge local/ssh compatibility fallback",source:Y5(U)?"local":"ssh"}));let Y={ok:Q.filter((j)=>j.status==="ok").length,warn:Q.filter((j)=>j.status==="warn").length,fail:Q.filter((j)=>j.status==="fail").length};return mV({ok:Y.fail===0,source:"local",machine_id:U,generated_at:($.now??new Date).toISOString(),checks:Q,summary:Y,adapter:_},$)}async function dV($={}){let _=HW($);if(_==="disabled")return await L4($,w$(_));let U=W5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??j5)(),X=J5(_,J);if(X)return await L4($,X);let G=X5(_,J);if(J?.checkMachineCompatibility){let Q=J.checkMachineCompatibility({machineId:$.machineId,commands:$.commands,packages:$.packages,workspaces:$.workspaces,runner:$.runner,now:$.now}),Y=uV(Q,$,G);if(Y)return Y;if(_==="sdk")return await L4($,w$(_,"invalid_compatibility_shape"));return await s8($,U)??await L4($,w$(_,"invalid_compatibility_shape"))}if(_==="sdk")return await L4($,w$(_,"missing_checkMachineCompatibility"));return await s8($,U)??await L4($,w$(_,"missing_checkMachineCompatibility"))}return await s8($,U)??await L4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await L4($,w$(_,u_(W)));return await s8($,U)??await L4($,w$(_,u_(W)))}}import{createHash as vv,randomUUID as nV}from"crypto";function yv($,_){return`${$}_${vv("sha256").update(_).digest("hex").slice(0,20)}`}function hv($){let _=d($);try{let U=_.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(U.map((W)=>[W.status,W.n]))}finally{_.close()}}function cV($,_){let U=P0(_.modelRef,_.config),W=j_(U),J=d($);try{return J.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri + metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,h$(U.raw.extracted_text_ref)??null,JSON.stringify(X),W]),$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision)?.id??null}function Xv($,_,U){if(U.previousRevision){let W=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.previousRevision).map((J)=>J.id);if(W.length>0)return W}if(U.revision)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.revision).map((W)=>W.id);if(U.hash)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all(_,U.hash).map((W)=>W.id);return $.query("SELECT id FROM source_revisions WHERE source_id = ?").all(_).map((W)=>W.id)}function Gv($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_),W=0,J=0;for(let G of U){let Q=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(G.id);W+=Q?.n??0;let Y=$.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(G.id);J+=Y?.n??0,$.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[G.id])}$.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]);let X=$.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get(_);return $.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[KV(X?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),_]),{chunksDeleted:U.length,embeddingsDeleted:W,vectorEntriesDeleted:J}}function Qv($,_){return _==="deleted"||["delete","deleted","remove","removed"].includes($)}function Yv($){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes($)}function jv($){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes($)}async function bV($){let _=($.now??new Date).toISOString();if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await Uv($.input,$.config,$.safetyPolicy),W=$v(U),J=d($.dbPath),X=`run_${dZ()}`;try{return J.transaction(()=>{J.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[X,"open-files-outbox",$.input,"completed","local","open-files-outbox",JSON.stringify({path:$.input,events:W.length}),_,_]);let G=new Set,Q=new Set,Y=0,j=0,O=0,B=0,V=0,L=0,N=0;return a$(J,{event_type:"source_read",action:$.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:$.input,decision:"allow",metadata:{events:W.length,read_only:!0},created_at:_}),W.forEach((H,R)=>{let E=eZ(H,_),A=Jv(J,E,_);G.add(A);let M=Wv(J,A,E,_);if(M)Q.add(M);let K=Xv(J,A,E);for(let I of K){Q.add(I);let Z=Gv(J,I);Y+=Z.chunksDeleted,j+=Z.embeddingsDeleted,O+=Z.vectorEntriesDeleted,B+=1}if(Qv(E.eventType,E.status))V+=1;if(Yv(E.eventType))L+=1;if(jv(E.eventType)||E.acl!==void 0)N+=1;J.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[p8("evt",`${X}\x00${R}\x00${E.sourceRef}\x00${E.eventType}`),X,"info",E.eventType,JSON.stringify({source_ref:E.sourceRef,source_uri:E.sourceUri,revision:E.revision,hash:E.hash,status:E.status,affected_revisions:K.length}),E.updatedAt])}),J.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) + VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[p8("usage",X),X,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),_]),a$(J,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:$.dbPath,decision:"allow",metadata:{run_id:X,events:W.length,sources:G.size,revisions:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O},created_at:_}),{path:$.input,db_path:$.dbPath,run_id:X,events_seen:W.length,sources_touched:G.size,revisions_touched:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O,stale_revisions:B,deleted_sources:V,moved_sources:L,permission_updates:N}})()}finally{J.close()}}import{spawnSync as gV}from"child_process";import{hostname as D1,platform as wV,userInfo as Dv}from"os";var zv=1,qv="@hasna/machines",Ov="@hasna/machines/consumer";function _$($){return typeof $==="string"&&$.length>0?$:null}function s4($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function V_($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function $G($){return typeof $==="boolean"?$:null}function Lv($){return typeof $==="number"&&Number.isFinite($)?$:null}function _G($=wV()){let _=$.toLowerCase();if(_==="darwin"||_==="macos")return"macos";if(_==="win32"||_==="windows")return"windows";if(_==="linux")return"linux";return $}function NW($){let _=gV("bash",["-c",$],{encoding:"utf8",env:process.env});return{stdout:_.stdout||"",stderr:_.stderr||"",exitCode:_.status??1}}async function e2($,_){return await $(_)}async function BW($,_){return(await e2(_,`command -v ${$} >/dev/null 2>&1`)).exitCode===0}function Nv($){try{let _=JSON.parse($);if(!_||typeof _!=="object")return null;return _}catch{return null}}function MV($){if(!$)return null;return $.HostName??$.DNSName?.split(".")[0]??null}async function Bv($,_){let U=new Map;if(!await BW("tailscale",$))return _.push("tailscale_not_available"),{peers:U,selfKey:null};let W=await e2($,"tailscale status --json");if(W.exitCode!==0)return _.push(`tailscale_status_failed:${W.stderr.trim()||W.exitCode}`),{peers:U,selfKey:null};let J=Nv(W.stdout);if(!J)return _.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let X=(G)=>{let Q=MV(G);if(Q&&G)U.set(Q,G)};X(J.Self);for(let G of Object.values(J.Peer??{}))X(G);return{peers:U,selfKey:MV(J.Self)}}function Hv($){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??$??D1()}function Vv($){let _=$.machineId===$.localMachineId||$.machineId===D1(),U=$.peer?.DNSName?.replace(/\.$/,"")??null,W=U??$.peer?.TailscaleIPs?.[0]??null,J=[];if(_)J.push({kind:"local",target:"localhost",reachable:!0});if(W)J.push({kind:"tailscale",target:W,reachable:$.peer?.Online??null});let X=J.find((G)=>G.kind==="local")??J.find((G)=>G.kind==="tailscale")??null;return{machine_id:$.machineId,hostname:$.peer?.HostName??(_?D1():$.machineId),local:_,platform:$.peer?.OS?_G($.peer.OS):_?_G():null,os:$.peer?.OS??(_?wV():null),user:_?Dv().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:U,ips:$.peer?.TailscaleIPs??[],online:$.peer?.Online??null,active:$.peer?.Active??null,last_seen:$.peer?.LastSeen??null},ssh:{address:null,route:X?.kind==="local"?"local":X?.kind==="tailscale"?"tailscale":"unknown",command_target:X?.target??null},route_hints:J,tags:[],metadata:{},source:"local"}}function Rv($){if(!Array.isArray($))return[];return $.map((_)=>{let U=V_(_),W=_$(U.kind)??"unknown";return{kind:W==="local"||W==="lan"||W==="tailscale"||W==="ssh"?W:"unknown",target:_$(U.target)??"",reachable:$G(U.reachable)}}).filter((_)=>_.target.length>0)}function Av($,_){let U=_$($.machine_id)??_$($.hostname)??"unknown",W=V_($.tailscale),J=V_($.ssh),X=_$($.heartbeat_status),G=_$(J.route);return{machine_id:U,hostname:_$($.hostname),local:U===_,platform:_$($.platform),os:_$($.os),user:_$($.user),workspace_path:_$($.workspace_path),manifest_declared:$.manifest_declared===!0,heartbeat_status:X==="online"||X==="offline"?X:"unknown",last_heartbeat_at:_$($.last_heartbeat_at),tailscale:{dns_name:_$(W.dns_name),ips:s4(W.ips),online:$G(W.online),active:$G(W.active),last_seen:_$(W.last_seen)},ssh:{address:_$(J.address),route:G==="local"||G==="lan"||G==="tailscale"?G:"unknown",command_target:_$(J.command_target)},route_hints:Rv($.route_hints),tags:s4($.tags),metadata:V_($.metadata),source:"open-machines"}}function Ev($,_){return`${_} machine${_===1?"":"s"} discovered via ${$}`}function u_($){let _=$ instanceof Error?$.message:String($);return _.includes("Cannot find module '@hasna/machines'")||_.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":_}function HW($){return $.adapterMode??"auto"}function kV($){let _=$?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof _==="number")return _;let U=$?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function UG($){return typeof $.schema_version==="number"?$.schema_version:null}function VW($){return typeof $==="number"&&$>zv?$:null}function JG($){return{package:qv,entrypoint:Ov,mode:$.mode,implementation:$.implementation,contract_version:$.contractVersion??null,available:$.available,error:$.error??null}}function w$($,_="adapter_disabled"){return JG({mode:$,implementation:"disabled",available:!1,error:_})}function WG($,_){let U=VW(kV(_));if(!U)return null;return JG({mode:$,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function XG($){return JG({mode:$,implementation:"cli",available:!0})}function GG($,_){return JG({mode:$,implementation:"sdk",available:!0,contractVersion:kV(_)})}function QG($){try{return JSON.parse($)}catch{return null}}function z1($){return`'${$.replace(/'/g,"'\\''")}'`}function YG($){return["machines",...$].map(z1).join(" ")}function jG($){return $==="local"||$==="localhost"||$===D1()||$===process.env.HASNA_MACHINE_ID||$===process.env.OPEN_MACHINES_MACHINE_ID||$===process.env.MACHINE_ID}function Fv($,_){let U=jG($),W=U?_:`ssh ${z1($)} ${z1(_)}`,J=gV("bash",["-c",W],{encoding:"utf8",env:process.env});return{stdout:J.stdout||"",stderr:J.stderr||"",exitCode:J.status??1,source:U?"local":"ssh"}}async function PV($,_,U){return await $(_,U)}function Y1($,_){if(_)return"ok";return $===!1?"warn":"fail"}function j1($){return $.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function Kv($){if($==="@hasna/knowledge")return"knowledge";if($==="@hasna/machines")return"machines";return $.split("/").pop()??$}function bv($){return $.trim().split(/\r?\n/).find(Boolean)??""}function fV($){return $.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function CV($){let _={};for(let U of $.split(/\r?\n/)){let W=U.indexOf("=");if(W<=0)continue;_[U.slice(0,W)]=U.slice(W+1)}return _}function N4($){return{id:$.id,kind:$.kind,status:$.status,target:$.target,expected:$.expected??null,actual:$.actual??null,detail:$.detail,source:$.source}}async function TV($,_,U){let W=[`cmd=${z1(_.command)}`,'path="$(command -v "$cmd" 2>/dev/null || true)"','printf "path=%s\\n" "$path"',`if [ -n "$path" ]; then version="$("$cmd" ${_.versionArgs??"--version"} 2>/dev/null || true)"; printf "version=%s\\n" "$version"; fi`].join("; "),J=await PV(U,$,W),X=CV(J.stdout);return{path:X.path||null,version:X.version?bv(X.version):null,stderr:J.stderr,source:J.source??(jG($)?"local":"ssh")}}function IV($){let _=$==="name"?String.raw`s/.*"name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`:String.raw`s/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`;return[`if command -v bun >/dev/null 2>&1; then bun -e "const p=JSON.parse(await Bun.file(process.argv[1]).text()); console.log(p.${$} ?? '')" "$pkg" 2>/dev/null`,`elif command -v node >/dev/null 2>&1; then node -e "const fs=require('fs'); const p=JSON.parse(fs.readFileSync(process.argv[1], 'utf8')); console.log(p.${$} || '')" "$pkg" 2>/dev/null`,`else sed -n '${_}' "$pkg" | head -n 1`,"fi"].join("; ")}async function Mv($,_,U){let W=[`path=${z1(_.path)}`,'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"','pkg="$path/package.json"','printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',`if [ -f "$pkg" ]; then printf "package_name=%s\\n" "$(${IV("name")})"; printf "version=%s\\n" "$(${IV("version")})"; fi`].join("; "),J=await PV(U,$,W),X=CV(J.stdout);return{exists:X.exists==="yes",packageJson:X.package_json==="yes",packageName:X.package_name||null,version:X.version||null,stderr:J.stderr,source:J.source??(jG($)?"local":"ssh")}}async function Iv($,_,U){let W=await TV($,_,U),J=Boolean(W.path),X=[N4({id:`command:${j1(_.command)}:path`,kind:"command",status:Y1(_.required,J),target:_.command,expected:"available",actual:W.path??"missing",detail:J?`found at ${W.path}`:W.stderr||"command missing",source:W.source})];if(_.expectedVersion){let G=fV(W.version??"");X.push(N4({id:`command:${j1(_.command)}:version`,kind:"command",status:G===_.expectedVersion?"ok":Y1(_.required,!1),target:_.command,expected:_.expectedVersion,actual:G??W.version??"missing",detail:G?`version output: ${W.version}`:"version unavailable",source:W.source}))}return X}async function gv($,_,U){let W=_.command??Kv(_.name),J=await TV($,{command:W,expectedVersion:_.expectedVersion,required:_.required},U),X=Boolean(J.path),G=[N4({id:`package:${j1(_.name)}:command`,kind:"package",status:Y1(_.required,X),target:_.name,expected:W,actual:J.path??"missing",detail:X?`${W} found at ${J.path}`:`${W} command missing`,source:J.source})];if(_.expectedVersion){let Q=fV(J.version??"");G.push(N4({id:`package:${j1(_.name)}:version`,kind:"package",status:Q===_.expectedVersion?"ok":Y1(_.required,!1),target:_.name,expected:_.expectedVersion,actual:Q??J.version??"missing",detail:Q?`version output: ${J.version}`:"version unavailable",source:J.source}))}return G}async function wv($,_,U){let W=await Mv($,_,U),J=_.label??_.path,X=[N4({id:`workspace:${j1(J)}:path`,kind:"workspace",status:Y1(_.required,W.exists),target:J,expected:_.path,actual:W.exists?"exists":"missing",detail:W.exists?`workspace exists at ${_.path}`:W.stderr||`workspace missing at ${_.path}`,source:W.source})];if(_.expectedPackageName)X.push(N4({id:`workspace:${j1(J)}:package-name`,kind:"workspace",status:W.packageName===_.expectedPackageName?"ok":Y1(_.required,!1),target:J,expected:_.expectedPackageName,actual:W.packageName??(W.packageJson?"missing-name":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));if(_.expectedVersion)X.push(N4({id:`workspace:${j1(J)}:version`,kind:"workspace",status:W.version===_.expectedVersion?"ok":Y1(_.required,!1),target:J,expected:_.expectedVersion,actual:W.version??(W.packageJson?"missing-version":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));return X}function SV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:n6,workspace_home:_.knowledge?.workspace_home??null},message:Ev($.source,$.machines.length)}}async function DG(){try{return await import("@hasna/machines/consumer")}catch($){if(u_($)!=="module_not_found")throw $;return await import("@hasna/machines")}}function ZV($,_,U){let W=V_($);if(VW(UG(W)))return null;let J=Array.isArray(W.machines)?W.machines:null,X=_$(W.local_machine_id);if(!J||!X)return null;let G={ok:!0,source:"open-machines",generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),local_machine_id:X,local_hostname:_$(W.local_hostname)??D1(),current_platform:_$(W.current_platform)??_G(),machines:J.map((Q)=>Av(Q,X)),warnings:s4(W.warnings),adapter:U};return SV(G,_)}function o8($){return $==="local"||$==="lan"||$==="tailscale"||$==="ssh"||$==="unknown"?$:null}function vV($){let _=V_($),U=_$(_.observed_at),W=_$(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:_$(_.verified_at),expires_at:_$(_.expires_at),ttl_ms:Lv(_.ttl_ms),source_authority:W,confidence:_$(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:s4(_.reasons)}}function yV($,_){let U=V_($);if(VW(UG(U)))return null;let W=_$(U.target)??_$(U.command_target);if(U.ok!==!0||!W)return null;let J=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,X=typeof J?.selected_hint==="object"&&J.selected_hint!==null?J.selected_hint:null;return{target:W,route:o8(U.route),targetKind:o8(X?.kind)??o8(U.source)??o8(U.route),confidence:_$(U.confidence),source:"open-machines",adapter:_,evidence:J,cacheability:vV(U.cacheability),warnings:s4(U.warnings)}}function Pq($){let _=V_($);return{path:_$(_.path),source:_$(_.source)??"unresolved"}}function kv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.status),X=_$(U.severity),G=_$(U.message);if(!W||!J||!X||!G)return[];return[{id:W,status:J,severity:X,message:G,path:_$(U.path),source:_$(U.source)??"unknown",path_exists:$G(U.path_exists)}]})}function Pv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.reason),X=s4(U.command),G=_$(U.shell_command),Q=s4(U.apply_command),Y=_$(U.apply_shell_command);if(!W||!J||!X.length||!G||!Q.length||!Y)return[];return[{id:W,reason:J,command:X,shell_command:G,apply_command:Q,apply_shell_command:Y}]})}function fv($){if(!($.projectRootSource==="inferred"||$.openFilesRootSource==="inferred"||$.trustStatus==="untrusted"||$.authStatus==="unknown"||$.warnings.some((J)=>J.includes("inferred")||J.includes("untrusted")||J.includes("unknown_auth")||J.includes("missing"))))return[];let U=["machines","workspace","repair","--machine",$.requestedMachineId,"--project",$.projectId,"--repo",$.repoName,"--open-files-repo",$.openFilesRepoName??"open-files","--json"],W=[...U,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:U,shell_command:U.map(z1).join(" "),apply_command:W,apply_shell_command:W.map(z1).join(" ")}]}function hV($,_,U){let W=V_($);if(VW(UG(W)))return null;let J=V_(W.paths),X=V_(W.project),G=V_(W.machine),Q=Pq(J.project_root),Y=Pq(J.workspace_root),j=Pq(J.open_files_root);if(W.ok!==!0||!Q.path)return null;let O=typeof W.evidence==="object"&&W.evidence!==null?W.evidence:null,B=_$(W.requested_machine_id)??_.machineId,V=_$(X.project_id)??_.projectId??"open-knowledge",L=_$(X.repo_name)??_.repoName??_.projectId??"open-knowledge",N=_$(G.trust_status)??"unknown",H=_$(G.auth_status)??"unknown",R=s4(W.warnings),E=kv(W.diagnostics),A=Pv(W.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:B,machine_id:_$(W.machine_id),project_id:V,repo_name:L,project_root:Q.path,project_root_source:Q.source,workspace_root:Y.path,workspace_root_source:Y.source,open_files_root:j.path,open_files_root_source:j.source,trust_status:N,auth_status:H,current:G.current===!0,primary:G.primary===!0,diagnostics:E,repair_hints:A.length?A:fv({requestedMachineId:B,projectId:V,repoName:L,openFilesRepoName:_.openFilesRepoName,warnings:R,projectRootSource:Q.source,openFilesRootSource:j.source,trustStatus:N,authStatus:H}),evidence:O,cacheability:vV(W.cacheability),warnings:R}}async function t8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["topology","--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await e2(U,YG(W));if(J.exitCode!==0)return null;return ZV(QG(J.stdout),$,_)}async function z4($,_){let U=[];if(_.error)U.push(`open_machines_unavailable:${_.error}`);let W=$.runner??NW,J=$.includeTailscale===!1?{peers:new Map,selfKey:null}:await Bv(W,U),X=Hv(J.selfKey),Q=[...new Set([X,...J.peers.keys()])].sort().map((Y)=>Vv({machineId:Y,localMachineId:X,peer:J.peers.get(Y)}));return SV({ok:!0,source:"local",generated_at:($.now??new Date).toISOString(),local_machine_id:X,local_hostname:D1(),current_platform:_G(),machines:Q,warnings:U,adapter:_},$)}async function xV($={}){let _=HW($);if(_==="disabled")return await z4($,w$(_));let U=XG(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??DG)(),X=WG(_,J);if(X)return await z4($,X);let G=GG(_,J);if(J?.discoverMachineTopology){let Q=J.discoverMachineTopology({includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),Y=ZV(Q,$,G);if(Y)return Y;if(_==="sdk")return await z4($,w$(_,"invalid_topology_shape"));return await t8($,U)??await z4($,w$(_,"invalid_topology_shape"))}if(_==="sdk")return await z4($,w$(_,"missing_discoverMachineTopology"));return await t8($,U)??await z4($,w$(_,"missing_discoverMachineTopology"))}return await t8($,U)??await z4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await z4($,w$(_,u_(W)));return await t8($,U)??await z4($,w$(_,u_(W)))}}async function a8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["route","--machine",$.machineId,"--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await e2(U,YG(W));if(J.exitCode!==0)return null;return yV(QG(J.stdout),_)}function q4($,_){return{target:$,route:null,targetKind:null,confidence:null,source:"raw",adapter:_,evidence:null,cacheability:null,warnings:[]}}async function fq($){let _=HW($);if(_==="disabled")return q4($.machineId,w$(_));let U=XG(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??DG)(),X=WG(_,J);if(X)return q4($.machineId,X);let G=GG(_,J);if(J?.resolveMachineRoute){let Q=yV(J.resolveMachineRoute($.machineId,{includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),G);if(Q)return Q;if(_==="sdk")return q4($.machineId,w$(_,"invalid_route_shape"));return await a8($,U)??q4($.machineId,w$(_,"invalid_route_shape"))}if(_==="sdk")return q4($.machineId,w$(_,"missing_resolveMachineRoute"));return await a8($,U)??q4($.machineId,w$(_,"missing_resolveMachineRoute"))}return await a8($,U)??q4($.machineId,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]};return await a8($,U)??{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]}}}async function s8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=$.projectId??"open-knowledge",J=$.repoName??"open-knowledge",X=["workspace","resolve","--machine",$.machineId,"--project",W,"--repo",J,"--open-files-repo",$.openFilesRepoName??"open-files","--json"];if($.includeTailscale===!1)X.push("--no-tailscale");let G=await e2(U,YG(X));if(G.exitCode!==0)return null;return hV(QG(G.stdout),$,_)}function Cv($){let _=$.peerWorkspace?.trim();if(!_)return null;return{ok:!0,source:"argument",adapter:w$(HW($),"argument_override"),requested_machine_id:$.machineId,machine_id:$.machineId,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:_,project_root_source:"argument",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:[]}}function O4($,_,U){return{ok:!1,source:"raw",adapter:U,requested_machine_id:$.machineId,machine_id:null,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:null,project_root_source:"unresolved",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:_}}async function zG($){let _=Cv($);if(_)return _;let U=HW($);if(U==="disabled")return O4($,["adapter_disabled"],w$(U));let W=XG(U);try{if(U!=="cli"){let X=await($.loadOpenMachines??DG)(),G=WG(U,X);if(G)return O4($,[`unsupported_contract_version:${G.contract_version}`],G);let Q=GG(U,X);if(X?.resolveMachineWorkspace){let Y=hV(X.resolveMachineWorkspace({machineId:$.machineId,projectId:$.projectId??"open-knowledge",repoName:$.repoName??"open-knowledge",openFilesRepoName:$.openFilesRepoName??"open-files",includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),$,Q);if(Y)return Y;if(U==="sdk")return O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"));return await s8($,W)??O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"))}if(U==="sdk")return O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"));return await s8($,W)??O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"))}return await s8($,W)??O4($,["machines_cli_unavailable"],w$(U,"machines_cli_unavailable"))}catch(J){if(U==="sdk")return O4($,[u_(J)],w$(U,u_(J)));return await s8($,W)??O4($,[u_(J)],w$(U,u_(J)))}}function mV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:n6,workspace_home:_.knowledge?.workspace_home??null},message:$.ok?`Machine ${$.machine_id} passed knowledge preflight`:`Machine ${$.machine_id} failed knowledge preflight: ${$.summary.fail} failing check(s)`}}function uV($,_,U){let W=V_($);if(VW(UG(W)))return null;let J=Array.isArray(W.checks)?W.checks:null,X=_$(W.machine_id)??_$(W.machineId);if(!J||!X)return null;let G=J.map((Y)=>{let j=V_(Y),O=_$(j.status),B=_$(j.kind),V=_$(j.source);return N4({id:_$(j.id)??"unknown",kind:B==="command"||B==="package"||B==="workspace"?B:"command",status:O==="ok"||O==="warn"||O==="fail"?O:"fail",target:_$(j.target)??"unknown",expected:_$(j.expected),actual:_$(j.actual),detail:_$(j.detail)??"",source:V==="local"||V==="ssh"||V==="open-machines"?V:"open-machines"})}),Q={ok:G.filter((Y)=>Y.status==="ok").length,warn:G.filter((Y)=>Y.status==="warn").length,fail:G.filter((Y)=>Y.status==="fail").length};return mV({ok:Q.fail===0,source:"open-machines",machine_id:X,generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),checks:G,summary:Q,adapter:U},_)}function Tv($){if(!$.runner)return NW;return async(_)=>{let U=await $.runner?.("local",_);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function Sv($){return[$.name,$.command,$.expectedVersion].filter((_)=>Boolean(_)).join(":")}function Zv($){let _=[$.expectedPackageName,$.expectedVersion].filter((W)=>Boolean(W)).join(":"),U=_?`${$.path}:${_}`:$.path;return $.label?`${$.label}=${U}`:U}async function e8($,_){let U=Tv($);if(!await BW("machines",U))return null;let W=["compatibility","--json","--machine",$.machineId??"local"];for(let X of $.commands??[])W.push("--command",X.expectedVersion?`${X.command}:${X.expectedVersion}`:X.command);for(let X of $.packages??[])W.push("--package",Sv(X));for(let X of $.workspaces??[])W.push("--workspace",Zv(X));let J=await e2(U,YG(W));if(J.exitCode!==0)return null;return uV(QG(J.stdout),$,_)}async function L4($,_){let U=$.machineId??D1(),W=$.runner??Fv,J=$.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],X=$.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],G=$.workspaces??[],Q=[];for(let j of J)Q.push(...await Iv(U,j,W));for(let j of X)Q.push(...await gv(U,j,W));for(let j of G)Q.push(...await wv(U,j,W));if(_.error)Q.push(N4({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:_.error,detail:"Using knowledge local/ssh compatibility fallback",source:jG(U)?"local":"ssh"}));let Y={ok:Q.filter((j)=>j.status==="ok").length,warn:Q.filter((j)=>j.status==="warn").length,fail:Q.filter((j)=>j.status==="fail").length};return mV({ok:Y.fail===0,source:"local",machine_id:U,generated_at:($.now??new Date).toISOString(),checks:Q,summary:Y,adapter:_},$)}async function dV($={}){let _=HW($);if(_==="disabled")return await L4($,w$(_));let U=XG(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??DG)(),X=WG(_,J);if(X)return await L4($,X);let G=GG(_,J);if(J?.checkMachineCompatibility){let Q=J.checkMachineCompatibility({machineId:$.machineId,commands:$.commands,packages:$.packages,workspaces:$.workspaces,runner:$.runner,now:$.now}),Y=uV(Q,$,G);if(Y)return Y;if(_==="sdk")return await L4($,w$(_,"invalid_compatibility_shape"));return await e8($,U)??await L4($,w$(_,"invalid_compatibility_shape"))}if(_==="sdk")return await L4($,w$(_,"missing_checkMachineCompatibility"));return await e8($,U)??await L4($,w$(_,"missing_checkMachineCompatibility"))}return await e8($,U)??await L4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await L4($,w$(_,u_(W)));return await e8($,U)??await L4($,w$(_,u_(W)))}}import{createHash as vv,randomUUID as cV}from"crypto";function yv($,_){return`${$}_${vv("sha256").update(_).digest("hex").slice(0,20)}`}function hv($){let _=d($);try{let U=_.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(U.map((W)=>[W.status,W.n]))}finally{_.close()}}function nV($,_){let U=f0(_.modelRef,_.config),W=j_(U),J=d($);try{return J.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri FROM chunks c LEFT JOIN source_revisions sr ON sr.id = c.source_revision_id LEFT JOIN sources s ON s.id = sr.source_id LEFT JOIN vector_index_entries v ON v.chunk_id = c.id AND v.provider = ? AND v.model = ? WHERE v.id IS NULL - ORDER BY c.created_at ASC, c.ordinal ASC`).all(W.provider,W.model)}finally{J.close()}}function lV($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,W=_.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,X=cV($.dbPath,$).length,G=_.query(`SELECT COUNT(*) AS n FROM source_revisions - WHERE metadata_json LIKE '%"reindex_required":true%' OR metadata_json LIKE '%"status":"stale"%'`).get()?.n??0;return{schema_version:U,chunks:W,vector_entries:J,missing_embeddings:X,queued:hv($.dbPath),stale_revisions:G}}finally{_.close()}}function Pq($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=$.reason??"missing_embedding",W=cV($.dbPath,$),J=d($.dbPath),X=0,G=0;try{J.transaction(()=>{for(let Y of W){let j=yv("rq",`embedding\x00${Y.chunk_id}\x00${U}`);if(J.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",Y.chunk_id,U)){G+=1;continue}J.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[j,"embedding",Y.chunk_id,Y.source_uri,U,"pending",JSON.stringify({source_revision_id:Y.source_revision_id}),_,_]),X+=1}})()}finally{J.close()}return{enqueued:X,already_queued:G,reason:U}}function xv($){let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0;return _.run("DELETE FROM vector_index_entries"),_.run("DELETE FROM chunk_embeddings"),{embeddings:U,vectorEntries:W}}finally{_.close()}}function mv($,_,U){let W=P0(_.modelRef,_.config),J=j_(W),X=d($);try{return X.run(`UPDATE reindex_queue + ORDER BY c.created_at ASC, c.ordinal ASC`).all(W.provider,W.model)}finally{J.close()}}function lV($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,W=_.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,X=nV($.dbPath,$).length,G=_.query(`SELECT COUNT(*) AS n FROM source_revisions + WHERE metadata_json LIKE '%"reindex_required":true%' OR metadata_json LIKE '%"status":"stale"%'`).get()?.n??0;return{schema_version:U,chunks:W,vector_entries:J,missing_embeddings:X,queued:hv($.dbPath),stale_revisions:G}}finally{_.close()}}function Cq($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=$.reason??"missing_embedding",W=nV($.dbPath,$),J=d($.dbPath),X=0,G=0;try{J.transaction(()=>{for(let Y of W){let j=yv("rq",`embedding\x00${Y.chunk_id}\x00${U}`);if(J.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",Y.chunk_id,U)){G+=1;continue}J.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[j,"embedding",Y.chunk_id,Y.source_uri,U,"pending",JSON.stringify({source_revision_id:Y.source_revision_id}),_,_]),X+=1}})()}finally{J.close()}return{enqueued:X,already_queued:G,reason:U}}function xv($){let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0;return _.run("DELETE FROM vector_index_entries"),_.run("DELETE FROM chunk_embeddings"),{embeddings:U,vectorEntries:W}}finally{_.close()}}function mv($,_,U){let W=f0(_.modelRef,_.config),J=j_(W),X=d($);try{return X.run(`UPDATE reindex_queue SET status = ?, updated_at = ? WHERE kind = ? AND status = ? @@ -914,13 +914,13 @@ ${JSON.stringify($.evidence,null,2)}`].join(` WHERE v.chunk_id = reindex_queue.target_id AND v.provider = ? AND v.model = ? - )`,["completed",U,"embedding","pending",J.provider,J.model]).changes}finally{X.close()}}async function rV($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=`run_${nV()}`,W=$.full?xv($.dbPath):{embeddings:0,vectorEntries:0},J=Pq({...$,reason:$.full?"full_embedding_rebuild":"missing_embedding"}),X=d($.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,"embedding-refresh",$.full?"full":"incremental","running","local",P0($.modelRef,$.config),JSON.stringify({full:$.full===!0,queued:J}),_,_])}finally{X.close()}let G=await HX({dbPath:$.dbPath,config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,limit:$.limit,now:$.now}),Q=mv($.dbPath,$,_),Y=d($.dbPath);try{Y.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:$.full===!0,queued:J,indexed:G,completed_queue_items:Q}),_,U]),Y.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${nV()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:J,indexed:G,completed_queue_items:Q}),_])}finally{Y.close()}return{run_id:U,full:$.full===!0,deleted_embeddings:W.embeddings,deleted_vector_entries:W.vectorEntries,queued:J,indexed:G,completed_queue_items:Q}}import{createHash as oV}from"crypto";import{existsSync as tV,lstatSync as uv,readdirSync as dv,readFileSync as nv,statSync as cv}from"fs";import{basename as $U,extname as lv,join as rv,relative as iv,resolve as Zq,sep as pv}from"path";import{pathToFileURL as iV}from"url";var ov=100,tv=25,av=262144,sv=5,ev=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),Cq=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),$y=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),_y=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,z5=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function Tq($){return`sha256:${oV("sha256").update($).digest("hex")}`}function Uy($){return`sha256:${oV("sha256").update($).digest("hex")}`}function RW($){return $.split(pv).join("/")}function Sq($,_){let U=iv($,_);return U?RW(U):$U(_)}function e4($){return ev.has(lv($).toLowerCase())}function pV($){return RW($).split("/").some((_)=>_y.test(_))}function aV($,_=220){let U=$.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function sV($){if(!$)return 0;return $.split(/\r\n|\n|\r/).length}function eV($){return{source_ref:$.sourceRef,source_path:$.sourcePath,line_start:$.lineCount>0?1:0,line_end:$.lineCount,content_hash:$.contentHash}}function Jy(){return[{base:".",maxDepth:0,spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:10,label:"root-rule-doc"},tags:["global-rules","rule-doc"],include:($)=>Cq.has($)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:($)=>{let _=RW($),U=$U(_);if(Cq.has(U)||_==="config.toml")return!0;if(_.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test(_)&&e4(_))return!0;return!1}}},{base:".claude",spec:{family:"claude",owner:"claude",scope:"global",precedence:{rank:30,label:"claude-rules"},tags:["global-rules","claude","agent-instructions"],include:($)=>{let _=RW($);return _==="CLAUDE.md"||/^rules\//.test(_)&&e4(_)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:($)=>{let _=RW($),U=$U(_);if(Cq.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test(_)&&e4(_)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:($)=>z5.test($)&&e4($)}},{base:".",maxDepth:0,spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode-config"},tags:["global-rules","opencode","config"],include:($)=>["opencode.json","opencode.jsonc","opencode.toml","opencode.yaml","opencode.yml"].includes($)}},{base:".hasna/prompts",spec:{family:"prompt",owner:"hasna",scope:"global",precedence:{rank:60,label:"selected-prompts"},tags:["global-rules","prompt"],include:($)=>z5.test($)&&e4($)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:($)=>z5.test($)&&e4($)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:($)=>z5.test($)&&e4($)}}]}function Wy($,_){let U=new Map;for(let W of Jy()){let J=Zq($,W.base);if(!tV(J))continue;if(cv(J).isFile()){let G=$U(J);if(W.spec.include(G))U.set(J,{...W.spec,absPath:J});continue}$R({basePath:J,depth:0,maxDepth:W.maxDepth??sv,spec:W.spec,candidates:U,skipped:_})}return[...U.values()].sort((W,J)=>{if(W.precedence.rank!==J.precedence.rank)return W.precedence.rank-J.precedence.rank;return W.absPath.localeCompare(J.absPath)})}function $R($){let _=$.rootBasePath??$.basePath;if($.depth>$.maxDepth)return;for(let U of dv($.basePath,{withFileTypes:!0})){let W=rv($.basePath,U.name),J=Sq(_,W);if(U.isSymbolicLink())continue;if(U.isDirectory()){if($y.has(U.name))continue;if(pV(J)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}$R({...$,rootBasePath:_,basePath:W,depth:$.depth+1});continue}if(!U.isFile())continue;let X=Sq(Zq(_),W);if(pV(X)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}if(!$.spec.include(X))continue;if(!e4(W))continue;$.candidates.set(W,{...$.spec,absPath:W})}}function Xy($){if(($.tags??[]).map((W)=>W.toLowerCase()).some((W)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(W)))return!0;let U=`${$.title} -${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(U)}function _R($,_){let U={source_path:$.source_path,source_path_ref:$.source_path_ref,source_ref:$.source_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,source_hash:$.source_hash,content_hash:$.content_hash,discovered_at:$.discovered_at,tags:$.tags,redaction_status:$.redaction_status,citations:$.citations};return{source_ref:$.source_ref,name:$.title,mime:"text/markdown",size:Buffer.byteLength(_),hash:$.content_hash,revision:$.content_hash,status:"active",updated_at:$.discovered_at,permissions:{mode:"read_only",allowed_purposes:["knowledge_index","knowledge_answer","agent_context"]},rule_provenance:U,source_family:$.source_family,source_path_ref:$.source_path_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,tags:$.tags,redaction_status:$.redaction_status,legacy_json_id:$.legacy_json_id??null,extracted_text:_}}function Gy($){let _=uv($.candidate.absPath),U=$.candidate.absPath,W=Sq($.root,U);if(_.size>$.maxBytesPerFile){let L=iV(U).href;return{evidence:{source_family:$.candidate.family,title:$U(U),source_path:U,source_path_ref:W,source_ref:L,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:"sha256:skipped-too-large",content_hash:"sha256:skipped-too-large",discovered_at:$.discoveredAt,tags:[...$.candidate.tags,"skipped"],redaction_status:"refused",redactions:[],citations:[],bytes:_.size,line_count:0,importable:!1,skipped_reason:"max_bytes_exceeded",preview:null},text:"",manifest:null}}let J=nv(U),X=J.toString("utf8"),G=w_(X,$.safetyPolicy),Y=G.findings.some((L)=>L.severity==="high")?"refused":G.findings.length>0?"redacted":"clean",j=Tq(G.text),O=iV(U).href,B=sV(G.text),V={source_family:$.candidate.family,title:$U(U),source_path:U,source_path_ref:W,source_ref:O,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:Uy(J),content_hash:j,discovered_at:$.discoveredAt,tags:[...$.candidate.tags],redaction_status:Y,redactions:G.findings.map((L)=>({type:L.type,severity:L.severity})),citations:[eV({sourceRef:O,sourcePath:U,lineCount:B,contentHash:j})],bytes:J.byteLength,line_count:B,importable:Y!=="refused",skipped_reason:Y==="refused"?"secret_refused":null,preview:Y==="refused"?null:aV(G.text)};return{evidence:V,text:G.text,manifest:V.importable?_R(V,G.text):null}}function Qy($){let _=w_($.item.content,$.safetyPolicy),W=_.findings.some((j)=>j.severity==="high")?"refused":_.findings.length>0?"redacted":"clean",J=`open-files://source/legacy-json/path/${encodeURIComponent($.item.id)}`,X=Tq(_.text),G=Tq($.item.content),Q=sV(_.text),Y={source_family:"legacy_json",title:$.item.title,source_path:$.legacyStorePath,source_path_ref:`legacy-json:${$.item.id}`,source_ref:J,owner:"legacy-json",scope:$.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:G,content_hash:X,discovered_at:$.discoveredAt,tags:[...new Set(["global-rules","legacy-json",...$.item.tags??[]])],redaction_status:W,redactions:_.findings.map((j)=>({type:j.type,severity:j.severity})),citations:[eV({sourceRef:J,sourcePath:$.legacyStorePath,lineCount:Q,contentHash:X})],bytes:Buffer.byteLength($.item.content),line_count:Q,importable:W!=="refused",skipped_reason:W==="refused"?"secret_refused":null,preview:W==="refused"?null:aV(_.text),legacy_json_id:$.item.id};return{evidence:Y,text:_.text,manifest:Y.importable?_R(Y,_.text):null}}function Yy($){if(!$.legacyStorePath||!tV($.legacyStorePath))return 0;let _=new Map($.records.filter((U)=>U.legacy_json_id&&U.importable).map((U)=>[U.legacy_json_id,U]));if(_.size===0)return 0;return I6($.legacyStorePath,()=>{let U=w1($.legacyStorePath);if(!U.exists)return 0;let W=0;for(let J of U.items){let X=_.get(J.id);if(!X)continue;let G=J.metadata??{};J.archived=!0,J.metadata={...G,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:$.now,source_ref:X.source_ref,source_hash:X.source_hash,content_hash:X.content_hash,data_loss:!1}},J.tags=[...new Set([...J.tags??[],"deprecated:knowledge-rules-import"])],J.updated_at=$.now,W+=1}if(W>0)l6($.legacyStorePath,{items:U.items});return W})}async function UR($={}){let _=Zq($.root??process.cwd()),U=$.scope??"global",W=$.owner??"global-agent-rules-standard",J=$.dryRun!==!1,X=($.now??new Date).toISOString(),G=Math.max(1,Math.min($.maxItems??ov,1000)),Q=Math.max(1,Math.min($.limit??tv,100)),Y=Math.max(1024,Math.min($.maxBytesPerFile??av,2097152)),j=[],B=Wy(_,j).slice(0,G).map((r)=>Gy({root:_,candidate:{...r,owner:r.owner==="repository"?W:r.owner,scope:U},discoveredAt:X,maxBytesPerFile:Y,safetyPolicy:$.safetyPolicy})),L=($.includeLegacy===!1||!$.legacyStorePath?{exists:!1,items:[]}:w1($.legacyStorePath)).items.filter((r)=>r.archived!==!0&&Xy(r)).slice(0,G),N=L.map((r)=>Qy({item:r,legacyStorePath:$.legacyStorePath,discoveredAt:X,scope:U,safetyPolicy:$.safetyPolicy})),H=[...B,...N].slice(0,G),R=H.map((r)=>r.evidence),A=H.filter((r)=>r.manifest).map((r)=>r.manifest),M=R.filter((r)=>r.redaction_status==="refused").length,E=R.slice(0,Q),g=j.slice(0,Q),Z=null,k=0;if(!J){if(!$.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(A.length>0)Z=await I0({dbPath:$.dbPath,items:A,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:$.safetyPolicy,now:$.now,maxItems:G});if($.deprecateLegacy!==!1)k=Yy({legacyStorePath:$.legacyStorePath,records:R,now:X})}return{ok:M===0||A.length>0||J,workflow:"global-rules-provenance-import",dry_run:J,writes_performed:!J,root:_,scope:U,owner:W,discovered_at:X,max_items:G,evidence_limit:Q,records_seen:R.length,records_importable:A.length,records_refused:M,records_skipped:j.length,evidence_truncated:R.length>E.length,skipped_truncated:j.length>g.length,evidence:E,skipped:g,import_result:Z,legacy:{store_path:$.legacyStorePath??null,candidates:L.length,promoted:N.filter((r)=>r.manifest).length,deprecated:k,data_loss:!1},message:J?`Discovered ${R.length} rule source(s); ${A.length} importable, ${M} refused`:`Imported ${Z?.items_seen??0} rule source(s); ${k} legacy note(s) deprecated`}}import{createHash as jy,randomUUID as JR}from"crypto";function Dy($){return`sha256:${jy("sha256").update($).digest("hex")}`}function WR($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function XR($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function $0($){return typeof $==="string"&&$.length>0?$:null}function zy($){let _=XR($),U=$0(_.url)??$0(_.uri)??$0(_.sourceUrl);if(!U)return null;return{url:U,title:$0(_.title)??$0(_.name),snippet:$0(_.snippet)??$0(_.text)??$0(_.description),provider_metadata:_}}function q5($,_){if(Array.isArray($)){for(let J of $)q5(J,_);return}let U=zy($);if(U)_.set(U.url,U);let W=XR($);for(let J of["sources","results","citations","annotations","output"])if(W[J])q5(W[J],_)}function qy($,_){return Array.from({length:Math.min(_,3)},(U,W)=>({url:`https://example.com/knowledge-web-${W+1}`,title:`Fake web source ${W+1}`,snippet:`Deterministic web-search fixture for "${$}"`,provider_metadata:{fake:!0,rank:W+1}}))}async function Oy($){let{generateText:_}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),W=G4($.config,"openai"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch;if(!X)throw Error("OpenAI provider does not expose tools.webSearch.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({externalWebAccess:!0,searchContextSize:"medium",...$.domains.length>0?{allowedDomains:$.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Ly($){let{generateText:_}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),W=G4($.config,"anthropic"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch_20250305??J.tools?.webSearch;if(!X)throw Error("Anthropic provider does not expose a web search tool.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({maxUses:$.maxUses,...$.domains.length>0?{allowedDomains:$.domains}:{}})}})}async function Ny($,_,U){if(!$.fileResults||_.length===0)return 0;let W=_.map((X)=>{let G=[X.title,X.snippet,X.url].filter(Boolean).join(` -`),Q=Dy(G);return{source_ref:X.url,name:X.title??X.url,url:X.url,mime:"text/plain",hash:Q,revision:Q,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:X.url,content_source:"provider_web_search",provider_metadata:X.provider_metadata},extracted_text:G}});return(await I0({dbPath:$.dbPath,items:W,sourceLabel:`web-search:${$.query}`,readAction:"provider_web_search_file_results",safetyPolicy:$.safetyPolicy,now:new Date(U)})).sources_upserted}async function GR($){let _=$.query.trim();if(!_)throw Error("Web search query is required.");let U=$.env??process.env,W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??5,20)),X=Math.max(1,Math.min($.maxUses??3,10)),G=$.domains??[],Q=z6($.modelRef??($.provider?`${$.provider}:${G4($.config,$.provider).default_model}`:"default"),$.config),Y=j_(Q),j=$.provider??Y.provider,O=Y.provider===j?Y.model:G4($.config,j).default_model,B=`run_${JR()}`;if(!$.fake&&$.safetyPolicy)L2($.safetyPolicy);if(!$.fake&&j!=="openai"&&j!=="anthropic")throw Error(`Provider ${j} does not expose native web search yet.`);if(!$.fake)k0(j,$.config,U);$$($.dbPath);let V=d($.dbPath);try{V.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[B,"provider-web-search",_,"running",j,O,JSON.stringify({domains:G,max_uses:X,fake:$.fake===!0}),W,W]),a$(V,{event_type:"source_read",action:$.fake?"fake_provider_web_search":"provider_web_search",target_uri:_,decision:"allow",metadata:{provider:j,model:O,domains:G,max_uses:X},created_at:W})}finally{V.close()}let L="",N=[],H={input_tokens:WR(_),output_tokens:0,cost_usd:0},R=[];if($.fake)N=qy(_,J),L=`Fake web search answer for: ${_}`,H.output_tokens=WR(L);else{let M=j==="openai"?await Oy({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G}):await Ly({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G});L=M.text;let E=new Map;q5(M.sources,E),q5(M.toolResults,E),N=Array.from(E.values()).slice(0,J);let g=f0({provider:j,model:O,usage:M.usage,providerMetadata:M.providerMetadata});H={input_tokens:g.input_tokens,output_tokens:g.output_tokens,cost_usd:g.cost_usd}}let b=await Ny($,N,W),A=d($.dbPath);try{A.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:G,max_uses:X,sources:N.length,filed_sources:b,fake:$.fake===!0}),W,B]),A.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${JR()}`,B,"info","provider_web_search_completed",JSON.stringify({sources:N.length,filed_sources:b}),W]),B2(A,{run_id:B,provider:j,model:O,input_tokens:H.input_tokens,output_tokens:H.output_tokens,cost_usd:H.cost_usd,metadata:{web_search:!0,sources:N.length,filed_sources:b},created_at:W})}finally{A.close()}if(N.length===0)R.push("no_web_sources_returned");return{run_id:B,query:_,provider:j,model:O,answer:L,sources:N,filed_sources:b,usage:H,warnings:R}}import{createHash as By,randomUUID as Hy}from"crypto";function _U($,_){return`${$}_${By("sha256").update(_).digest("hex").slice(0,20)}`}function vq($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function Vy($){return{year:String($.getUTCFullYear()),month:String($.getUTCMonth()+1).padStart(2,"0"),day:String($.getUTCDate()).padStart(2,"0")}}function Ry($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function QR($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function Ay($){return Array.from(new Set(($??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function YR($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function by($,_){let U=Math.max(1,Math.min(_.limit??10,50)),W=_.sourceRefs??[],J=Ay(_.query),X=["c.kind = 'source'"],G=[];if(W.length>0){X.push(`(${W.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let Q of W)G.push(Q,`%${YR(Q)}%`)}if(J.length>0){X.push(`(${J.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let Q of J)G.push(`%${YR(Q)}%`)}return G.push(U),$.query(`SELECT + )`,["completed",U,"embedding","pending",J.provider,J.model]).changes}finally{X.close()}}async function iV($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=`run_${cV()}`,W=$.full?xv($.dbPath):{embeddings:0,vectorEntries:0},J=Cq({...$,reason:$.full?"full_embedding_rebuild":"missing_embedding"}),X=d($.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,"embedding-refresh",$.full?"full":"incremental","running","local",f0($.modelRef,$.config),JSON.stringify({full:$.full===!0,queued:J}),_,_])}finally{X.close()}let G=await VX({dbPath:$.dbPath,config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,limit:$.limit,now:$.now}),Q=mv($.dbPath,$,_),Y=d($.dbPath);try{Y.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:$.full===!0,queued:J,indexed:G,completed_queue_items:Q}),_,U]),Y.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${cV()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:J,indexed:G,completed_queue_items:Q}),_])}finally{Y.close()}return{run_id:U,full:$.full===!0,deleted_embeddings:W.embeddings,deleted_vector_entries:W.vectorEntries,queued:J,indexed:G,completed_queue_items:Q}}import{createHash as oV}from"crypto";import{existsSync as tV,lstatSync as uv,readdirSync as dv,readFileSync as cv,statSync as nv}from"fs";import{basename as $U,extname as lv,join as iv,relative as rv,resolve as vq,sep as pv}from"path";import{pathToFileURL as rV}from"url";var ov=100,tv=25,av=262144,sv=5,ev=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),Tq=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),$y=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),_y=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,qG=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function Sq($){return`sha256:${oV("sha256").update($).digest("hex")}`}function Uy($){return`sha256:${oV("sha256").update($).digest("hex")}`}function RW($){return $.split(pv).join("/")}function Zq($,_){let U=rv($,_);return U?RW(U):$U(_)}function e4($){return ev.has(lv($).toLowerCase())}function pV($){return RW($).split("/").some((_)=>_y.test(_))}function aV($,_=220){let U=$.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function sV($){if(!$)return 0;return $.split(/\r\n|\n|\r/).length}function eV($){return{source_ref:$.sourceRef,source_path:$.sourcePath,line_start:$.lineCount>0?1:0,line_end:$.lineCount,content_hash:$.contentHash}}function Jy(){return[{base:".",maxDepth:0,spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:10,label:"root-rule-doc"},tags:["global-rules","rule-doc"],include:($)=>Tq.has($)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:($)=>{let _=RW($),U=$U(_);if(Tq.has(U)||_==="config.toml")return!0;if(_.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test(_)&&e4(_))return!0;return!1}}},{base:".claude",spec:{family:"claude",owner:"claude",scope:"global",precedence:{rank:30,label:"claude-rules"},tags:["global-rules","claude","agent-instructions"],include:($)=>{let _=RW($);return _==="CLAUDE.md"||/^rules\//.test(_)&&e4(_)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:($)=>{let _=RW($),U=$U(_);if(Tq.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test(_)&&e4(_)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:($)=>qG.test($)&&e4($)}},{base:".",maxDepth:0,spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode-config"},tags:["global-rules","opencode","config"],include:($)=>["opencode.json","opencode.jsonc","opencode.toml","opencode.yaml","opencode.yml"].includes($)}},{base:".hasna/prompts",spec:{family:"prompt",owner:"hasna",scope:"global",precedence:{rank:60,label:"selected-prompts"},tags:["global-rules","prompt"],include:($)=>qG.test($)&&e4($)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:($)=>qG.test($)&&e4($)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:($)=>qG.test($)&&e4($)}}]}function Wy($,_){let U=new Map;for(let W of Jy()){let J=vq($,W.base);if(!tV(J))continue;if(nv(J).isFile()){let G=$U(J);if(W.spec.include(G))U.set(J,{...W.spec,absPath:J});continue}$R({basePath:J,depth:0,maxDepth:W.maxDepth??sv,spec:W.spec,candidates:U,skipped:_})}return[...U.values()].sort((W,J)=>{if(W.precedence.rank!==J.precedence.rank)return W.precedence.rank-J.precedence.rank;return W.absPath.localeCompare(J.absPath)})}function $R($){let _=$.rootBasePath??$.basePath;if($.depth>$.maxDepth)return;for(let U of dv($.basePath,{withFileTypes:!0})){let W=iv($.basePath,U.name),J=Zq(_,W);if(U.isSymbolicLink())continue;if(U.isDirectory()){if($y.has(U.name))continue;if(pV(J)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}$R({...$,rootBasePath:_,basePath:W,depth:$.depth+1});continue}if(!U.isFile())continue;let X=Zq(vq(_),W);if(pV(X)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}if(!$.spec.include(X))continue;if(!e4(W))continue;$.candidates.set(W,{...$.spec,absPath:W})}}function Xy($){if(($.tags??[]).map((W)=>W.toLowerCase()).some((W)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(W)))return!0;let U=`${$.title} +${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(U)}function _R($,_){let U={source_path:$.source_path,source_path_ref:$.source_path_ref,source_ref:$.source_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,source_hash:$.source_hash,content_hash:$.content_hash,discovered_at:$.discovered_at,tags:$.tags,redaction_status:$.redaction_status,citations:$.citations};return{source_ref:$.source_ref,name:$.title,mime:"text/markdown",size:Buffer.byteLength(_),hash:$.content_hash,revision:$.content_hash,status:"active",updated_at:$.discovered_at,permissions:{mode:"read_only",allowed_purposes:["knowledge_index","knowledge_answer","agent_context"]},rule_provenance:U,source_family:$.source_family,source_path_ref:$.source_path_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,tags:$.tags,redaction_status:$.redaction_status,legacy_json_id:$.legacy_json_id??null,extracted_text:_}}function Gy($){let _=uv($.candidate.absPath),U=$.candidate.absPath,W=Zq($.root,U);if(_.size>$.maxBytesPerFile){let L=rV(U).href;return{evidence:{source_family:$.candidate.family,title:$U(U),source_path:U,source_path_ref:W,source_ref:L,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:"sha256:skipped-too-large",content_hash:"sha256:skipped-too-large",discovered_at:$.discoveredAt,tags:[...$.candidate.tags,"skipped"],redaction_status:"refused",redactions:[],citations:[],bytes:_.size,line_count:0,importable:!1,skipped_reason:"max_bytes_exceeded",preview:null},text:"",manifest:null}}let J=cv(U),X=J.toString("utf8"),G=w_(X,$.safetyPolicy),Y=G.findings.some((L)=>L.severity==="high")?"refused":G.findings.length>0?"redacted":"clean",j=Sq(G.text),O=rV(U).href,B=sV(G.text),V={source_family:$.candidate.family,title:$U(U),source_path:U,source_path_ref:W,source_ref:O,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:Uy(J),content_hash:j,discovered_at:$.discoveredAt,tags:[...$.candidate.tags],redaction_status:Y,redactions:G.findings.map((L)=>({type:L.type,severity:L.severity})),citations:[eV({sourceRef:O,sourcePath:U,lineCount:B,contentHash:j})],bytes:J.byteLength,line_count:B,importable:Y!=="refused",skipped_reason:Y==="refused"?"secret_refused":null,preview:Y==="refused"?null:aV(G.text)};return{evidence:V,text:G.text,manifest:V.importable?_R(V,G.text):null}}function Qy($){let _=w_($.item.content,$.safetyPolicy),W=_.findings.some((j)=>j.severity==="high")?"refused":_.findings.length>0?"redacted":"clean",J=`open-files://source/legacy-json/path/${encodeURIComponent($.item.id)}`,X=Sq(_.text),G=Sq($.item.content),Q=sV(_.text),Y={source_family:"legacy_json",title:$.item.title,source_path:$.legacyStorePath,source_path_ref:`legacy-json:${$.item.id}`,source_ref:J,owner:"legacy-json",scope:$.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:G,content_hash:X,discovered_at:$.discoveredAt,tags:[...new Set(["global-rules","legacy-json",...$.item.tags??[]])],redaction_status:W,redactions:_.findings.map((j)=>({type:j.type,severity:j.severity})),citations:[eV({sourceRef:J,sourcePath:$.legacyStorePath,lineCount:Q,contentHash:X})],bytes:Buffer.byteLength($.item.content),line_count:Q,importable:W!=="refused",skipped_reason:W==="refused"?"secret_refused":null,preview:W==="refused"?null:aV(_.text),legacy_json_id:$.item.id};return{evidence:Y,text:_.text,manifest:Y.importable?_R(Y,_.text):null}}function Yy($){if(!$.legacyStorePath||!tV($.legacyStorePath))return 0;let _=new Map($.records.filter((U)=>U.legacy_json_id&&U.importable).map((U)=>[U.legacy_json_id,U]));if(_.size===0)return 0;return g6($.legacyStorePath,()=>{let U=w1($.legacyStorePath);if(!U.exists)return 0;let W=0;for(let J of U.items){let X=_.get(J.id);if(!X)continue;let G=J.metadata??{};J.archived=!0,J.metadata={...G,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:$.now,source_ref:X.source_ref,source_hash:X.source_hash,content_hash:X.content_hash,data_loss:!1}},J.tags=[...new Set([...J.tags??[],"deprecated:knowledge-rules-import"])],J.updated_at=$.now,W+=1}if(W>0)l6($.legacyStorePath,{items:U.items});return W})}async function UR($={}){let _=vq($.root??process.cwd()),U=$.scope??"global",W=$.owner??"global-agent-rules-standard",J=$.dryRun!==!1,X=($.now??new Date).toISOString(),G=Math.max(1,Math.min($.maxItems??ov,1000)),Q=Math.max(1,Math.min($.limit??tv,100)),Y=Math.max(1024,Math.min($.maxBytesPerFile??av,2097152)),j=[],B=Wy(_,j).slice(0,G).map((i)=>Gy({root:_,candidate:{...i,owner:i.owner==="repository"?W:i.owner,scope:U},discoveredAt:X,maxBytesPerFile:Y,safetyPolicy:$.safetyPolicy})),L=($.includeLegacy===!1||!$.legacyStorePath?{exists:!1,items:[]}:w1($.legacyStorePath)).items.filter((i)=>i.archived!==!0&&Xy(i)).slice(0,G),N=L.map((i)=>Qy({item:i,legacyStorePath:$.legacyStorePath,discoveredAt:X,scope:U,safetyPolicy:$.safetyPolicy})),H=[...B,...N].slice(0,G),R=H.map((i)=>i.evidence),A=H.filter((i)=>i.manifest).map((i)=>i.manifest),M=R.filter((i)=>i.redaction_status==="refused").length,K=R.slice(0,Q),I=j.slice(0,Q),Z=null,k=0;if(!J){if(!$.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(A.length>0)Z=await g0({dbPath:$.dbPath,items:A,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:$.safetyPolicy,now:$.now,maxItems:G});if($.deprecateLegacy!==!1)k=Yy({legacyStorePath:$.legacyStorePath,records:R,now:X})}return{ok:M===0||A.length>0||J,workflow:"global-rules-provenance-import",dry_run:J,writes_performed:!J,root:_,scope:U,owner:W,discovered_at:X,max_items:G,evidence_limit:Q,records_seen:R.length,records_importable:A.length,records_refused:M,records_skipped:j.length,evidence_truncated:R.length>K.length,skipped_truncated:j.length>I.length,evidence:K,skipped:I,import_result:Z,legacy:{store_path:$.legacyStorePath??null,candidates:L.length,promoted:N.filter((i)=>i.manifest).length,deprecated:k,data_loss:!1},message:J?`Discovered ${R.length} rule source(s); ${A.length} importable, ${M} refused`:`Imported ${Z?.items_seen??0} rule source(s); ${k} legacy note(s) deprecated`}}import{createHash as jy,randomUUID as JR}from"crypto";function Dy($){return`sha256:${jy("sha256").update($).digest("hex")}`}function WR($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function XR($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function $0($){return typeof $==="string"&&$.length>0?$:null}function zy($){let _=XR($),U=$0(_.url)??$0(_.uri)??$0(_.sourceUrl);if(!U)return null;return{url:U,title:$0(_.title)??$0(_.name),snippet:$0(_.snippet)??$0(_.text)??$0(_.description),provider_metadata:_}}function OG($,_){if(Array.isArray($)){for(let J of $)OG(J,_);return}let U=zy($);if(U)_.set(U.url,U);let W=XR($);for(let J of["sources","results","citations","annotations","output"])if(W[J])OG(W[J],_)}function qy($,_){return Array.from({length:Math.min(_,3)},(U,W)=>({url:`https://example.com/knowledge-web-${W+1}`,title:`Fake web source ${W+1}`,snippet:`Deterministic web-search fixture for "${$}"`,provider_metadata:{fake:!0,rank:W+1}}))}async function Oy($){let{generateText:_}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),W=G4($.config,"openai"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch;if(!X)throw Error("OpenAI provider does not expose tools.webSearch.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({externalWebAccess:!0,searchContextSize:"medium",...$.domains.length>0?{allowedDomains:$.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Ly($){let{generateText:_}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),W=G4($.config,"anthropic"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch_20250305??J.tools?.webSearch;if(!X)throw Error("Anthropic provider does not expose a web search tool.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({maxUses:$.maxUses,...$.domains.length>0?{allowedDomains:$.domains}:{}})}})}async function Ny($,_,U){if(!$.fileResults||_.length===0)return 0;let W=_.map((X)=>{let G=[X.title,X.snippet,X.url].filter(Boolean).join(` +`),Q=Dy(G);return{source_ref:X.url,name:X.title??X.url,url:X.url,mime:"text/plain",hash:Q,revision:Q,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:X.url,content_source:"provider_web_search",provider_metadata:X.provider_metadata},extracted_text:G}});return(await g0({dbPath:$.dbPath,items:W,sourceLabel:`web-search:${$.query}`,readAction:"provider_web_search_file_results",safetyPolicy:$.safetyPolicy,now:new Date(U)})).sources_upserted}async function GR($){let _=$.query.trim();if(!_)throw Error("Web search query is required.");let U=$.env??process.env,W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??5,20)),X=Math.max(1,Math.min($.maxUses??3,10)),G=$.domains??[],Q=z6($.modelRef??($.provider?`${$.provider}:${G4($.config,$.provider).default_model}`:"default"),$.config),Y=j_(Q),j=$.provider??Y.provider,O=Y.provider===j?Y.model:G4($.config,j).default_model,B=`run_${JR()}`;if(!$.fake&&$.safetyPolicy)L2($.safetyPolicy);if(!$.fake&&j!=="openai"&&j!=="anthropic")throw Error(`Provider ${j} does not expose native web search yet.`);if(!$.fake)k0(j,$.config,U);$$($.dbPath);let V=d($.dbPath);try{V.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[B,"provider-web-search",_,"running",j,O,JSON.stringify({domains:G,max_uses:X,fake:$.fake===!0}),W,W]),a$(V,{event_type:"source_read",action:$.fake?"fake_provider_web_search":"provider_web_search",target_uri:_,decision:"allow",metadata:{provider:j,model:O,domains:G,max_uses:X},created_at:W})}finally{V.close()}let L="",N=[],H={input_tokens:WR(_),output_tokens:0,cost_usd:0},R=[];if($.fake)N=qy(_,J),L=`Fake web search answer for: ${_}`,H.output_tokens=WR(L);else{let M=j==="openai"?await Oy({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G}):await Ly({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G});L=M.text;let K=new Map;OG(M.sources,K),OG(M.toolResults,K),N=Array.from(K.values()).slice(0,J);let I=P0({provider:j,model:O,usage:M.usage,providerMetadata:M.providerMetadata});H={input_tokens:I.input_tokens,output_tokens:I.output_tokens,cost_usd:I.cost_usd}}let E=await Ny($,N,W),A=d($.dbPath);try{A.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:G,max_uses:X,sources:N.length,filed_sources:E,fake:$.fake===!0}),W,B]),A.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${JR()}`,B,"info","provider_web_search_completed",JSON.stringify({sources:N.length,filed_sources:E}),W]),B2(A,{run_id:B,provider:j,model:O,input_tokens:H.input_tokens,output_tokens:H.output_tokens,cost_usd:H.cost_usd,metadata:{web_search:!0,sources:N.length,filed_sources:E},created_at:W})}finally{A.close()}if(N.length===0)R.push("no_web_sources_returned");return{run_id:B,query:_,provider:j,model:O,answer:L,sources:N,filed_sources:E,usage:H,warnings:R}}import{createHash as By,randomUUID as Hy}from"crypto";function _U($,_){return`${$}_${By("sha256").update(_).digest("hex").slice(0,20)}`}function yq($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function Vy($){return{year:String($.getUTCFullYear()),month:String($.getUTCMonth()+1).padStart(2,"0"),day:String($.getUTCDate()).padStart(2,"0")}}function Ry($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function QR($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function Ay($){return Array.from(new Set(($??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function YR($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function Ey($,_){let U=Math.max(1,Math.min(_.limit??10,50)),W=_.sourceRefs??[],J=Ay(_.query),X=["c.kind = 'source'"],G=[];if(W.length>0){X.push(`(${W.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let Q of W)G.push(Q,`%${YR(Q)}%`)}if(J.length>0){X.push(`(${J.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let Q of J)G.push(`%${YR(Q)}%`)}return G.push(U),$.query(`SELECT c.id AS chunk_id, c.text, c.start_offset, @@ -936,10 +936,10 @@ ${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| JOIN sources s ON s.id = sr.source_id WHERE ${X.join(" AND ")} ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(...G)}function jR($,_=420){let U=$.replace(/\s+/g," ").trim();return U.length<=_?U:`${U.slice(0,_-1).trim()}...`}function Fy($,_){if($.title?.trim())return $.title.trim();if($.query?.trim())return $.query.trim();return _[0]?.source_title??"Compiled Knowledge"}function Ey($,_,U){let W=_.map((X,G)=>{return`- [${`S${G+1}`}] ${X.source_title??X.source_uri??"Source"} (${X.source_uri??"unknown"}, revision ${X.revision??"unknown"}, hash ${X.hash??"unknown"})`}),J=_.map((X,G)=>{let Q=`S${G+1}`;return[`## ${X.source_title??`Source ${G+1}`}`,"",jR(X.text),"",`Citation: [${Q}]`].join(` + LIMIT ?`).all(...G)}function jR($,_=420){let U=$.replace(/\s+/g," ").trim();return U.length<=_?U:`${U.slice(0,_-1).trim()}...`}function Fy($,_){if($.title?.trim())return $.title.trim();if($.query?.trim())return $.query.trim();return _[0]?.source_title??"Compiled Knowledge"}function Ky($,_,U){let W=_.map((X,G)=>{return`- [${`S${G+1}`}] ${X.source_title??X.source_uri??"Source"} (${X.source_uri??"unknown"}, revision ${X.revision??"unknown"}, hash ${X.hash??"unknown"})`}),J=_.map((X,G)=>{let Q=`S${G+1}`;return[`## ${X.source_title??`Source ${G+1}`}`,"",jR(X.text),"",`Citation: [${Q}]`].join(` `)});return[`# ${$}`,"",`Generated at: ${U}`,"","## Sources","",...W,"",...J,""].join(` -`)}async function O5($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...O2(_.body),metadata:{..._.metadata??{}}}}async function DR($,_,U){let{year:W,month:J,day:X}=Vy(U),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return O5($,{key:G,body:`${Q}${JSON.stringify(_)} -`,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"wiki_log"),artifact_key:G})}})}function yq($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) +`)}async function LG($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...O2(_.body),metadata:{..._.metadata??{}}}}async function DR($,_,U){let{year:W,month:J,day:X}=Vy(U),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return LG($,{key:G,body:`${Q}${JSON.stringify(_)} +`,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"wiki_log"),artifact_key:G})}})}function hq($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -954,10 +954,10 @@ ${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[_U("idx",`wiki-topic\x00${_.path}`),"wiki_topic",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash}),_.now,_.now]),1}function Ky($){return $.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function OR($){let _=$.now??new Date,U=_.toISOString();$$($.dbPath);let W=d($.dbPath),J;try{J=by(W,$)}finally{W.close()}if(J.length===0)throw Error("No source chunks matched wiki compile input.");let X=Fy($,J),Q=`wiki/generated/${vq(X)}.md`,Y=Ey(X,J,U),j=J.map((Z)=>{let k=QR(Z.metadata_json);return typeof k.source_ref==="string"?k.source_ref:Z.source_uri}).filter((Z)=>Boolean(Z)),O=D6({generated_from:"wiki_compile",artifact_key:Q,source_refs:j}),B=await O5($.store,{key:Q,body:Y,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),V=_U("wiki",Q),L=J.map((Z)=>({chunk_id:Z.chunk_id,source_uri:Z.source_uri??"unknown",quote:jR(Z.text,240),start_offset:Z.start_offset,end_offset:Z.end_offset,metadata:{source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,source_ref:QR(Z.metadata_json).source_ref??Z.source_uri}})),N=Ky(X),H=`wiki/concepts/${vq(N)}.md`,R=[`# ${N}`,"",`Related page: [[${Q}]]`,""].join(` -`),b=D6({generated_from:"wiki_compile_concept",artifact_key:H,source_refs:j}),A=await O5($.store,{key:H,body:R,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),M=_U("wiki",H),E=await DR($.store,{ts:U,event:"wiki_compile_completed",page_key:Q,source_refs:j,chunks_seen:J.length},_),g=d($.dbPath);try{W4(g,[B,A,E],_),yq(g,{pageId:V,path:Q,title:X,artifactUri:B.uri,contentHash:B.hash??"",body:Y,provenance:O,now:U}),yq(g,{pageId:M,path:H,title:N,artifactUri:A.uri,contentHash:A.hash??"",body:R,provenance:b,now:U}),g.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) - VALUES (?, ?, ?, ?)`,[V,M,"concept",U]);let Z=zR(g,V,L,U),k=qR(g,{title:X,path:Q,artifactUri:B.uri,contentHash:B.hash??"",now:U});return{page_id:V,path:Q,artifact_uri:B.uri,content_hash:B.hash??"",chunks_seen:J.length,citations_written:Z,concept_page_id:M,indexes_updated:k,log_key:E.key,warnings:[]}}finally{g.close()}}async function LR($){if(!$.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let _=$.now??new Date,U=_.toISOString(),W=$.prompt.length>80?`${$.prompt.slice(0,77)}...`:$.prompt,X=`wiki/answers/${vq(W)}.md`,G=$.context.citations,Q=[`# ${W}`,"",$.answer,"","## Citations","",...G.map((N,H)=>`- [C${H+1}] ${N.source_ref??N.source_uri??N.artifact_path??N.artifact_uri??"unknown"} ${N.hash?`(hash ${N.hash})`:""}`),""].join(` -`),Y=G.map((N)=>N.source_ref??N.source_uri).filter((N)=>Boolean(N)),j=D6({generated_from:"knowledge_answer",artifact_key:X,source_refs:Y}),O=await O5($.store,{key:X,body:Q,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),B=await DR($.store,{ts:U,event:"wiki_answer_filed",page_key:X,prompt:$.prompt,citations:G.length},_),V=_U("wiki",X),L=d($.dbPath);try{W4(L,[O,B],_),yq(L,{pageId:V,path:X,title:W,artifactUri:O.uri,contentHash:O.hash??"",body:Q,provenance:j,now:U});let N=zR(L,V,G.map((H)=>({chunk_id:H.chunk_id,source_uri:H.source_uri??H.artifact_uri??"unknown",quote:H.quote,start_offset:H.start_offset,end_offset:H.end_offset,metadata:{source_ref:H.source_ref,artifact_path:H.artifact_path,revision:H.revision,hash:H.hash}})),U);return qR(L,{title:W,path:X,artifactUri:O.uri,contentHash:O.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:V,path:X,artifact_uri:O.uri,citations_written:N,log_key:B.key,message:`Filed answer to ${X}`}}finally{L.close()}}function q1($,_){$.push(_)}function NR($){$$($.dbPath);let _=d($.dbPath),U=[];try{let W=_.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,X=_.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,G=_.query(`SELECT wp.id, wp.path + updated_at = excluded.updated_at`,[_U("idx",`wiki-topic\x00${_.path}`),"wiki_topic",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash}),_.now,_.now]),1}function by($){return $.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function OR($){let _=$.now??new Date,U=_.toISOString();$$($.dbPath);let W=d($.dbPath),J;try{J=Ey(W,$)}finally{W.close()}if(J.length===0)throw Error("No source chunks matched wiki compile input.");let X=Fy($,J),Q=`wiki/generated/${yq(X)}.md`,Y=Ky(X,J,U),j=J.map((Z)=>{let k=QR(Z.metadata_json);return typeof k.source_ref==="string"?k.source_ref:Z.source_uri}).filter((Z)=>Boolean(Z)),O=D6({generated_from:"wiki_compile",artifact_key:Q,source_refs:j}),B=await LG($.store,{key:Q,body:Y,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),V=_U("wiki",Q),L=J.map((Z)=>({chunk_id:Z.chunk_id,source_uri:Z.source_uri??"unknown",quote:jR(Z.text,240),start_offset:Z.start_offset,end_offset:Z.end_offset,metadata:{source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,source_ref:QR(Z.metadata_json).source_ref??Z.source_uri}})),N=by(X),H=`wiki/concepts/${yq(N)}.md`,R=[`# ${N}`,"",`Related page: [[${Q}]]`,""].join(` +`),E=D6({generated_from:"wiki_compile_concept",artifact_key:H,source_refs:j}),A=await LG($.store,{key:H,body:R,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),M=_U("wiki",H),K=await DR($.store,{ts:U,event:"wiki_compile_completed",page_key:Q,source_refs:j,chunks_seen:J.length},_),I=d($.dbPath);try{W4(I,[B,A,K],_),hq(I,{pageId:V,path:Q,title:X,artifactUri:B.uri,contentHash:B.hash??"",body:Y,provenance:O,now:U}),hq(I,{pageId:M,path:H,title:N,artifactUri:A.uri,contentHash:A.hash??"",body:R,provenance:E,now:U}),I.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) + VALUES (?, ?, ?, ?)`,[V,M,"concept",U]);let Z=zR(I,V,L,U),k=qR(I,{title:X,path:Q,artifactUri:B.uri,contentHash:B.hash??"",now:U});return{page_id:V,path:Q,artifact_uri:B.uri,content_hash:B.hash??"",chunks_seen:J.length,citations_written:Z,concept_page_id:M,indexes_updated:k,log_key:K.key,warnings:[]}}finally{I.close()}}async function LR($){if(!$.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let _=$.now??new Date,U=_.toISOString(),W=$.prompt.length>80?`${$.prompt.slice(0,77)}...`:$.prompt,X=`wiki/answers/${yq(W)}.md`,G=$.context.citations,Q=[`# ${W}`,"",$.answer,"","## Citations","",...G.map((N,H)=>`- [C${H+1}] ${N.source_ref??N.source_uri??N.artifact_path??N.artifact_uri??"unknown"} ${N.hash?`(hash ${N.hash})`:""}`),""].join(` +`),Y=G.map((N)=>N.source_ref??N.source_uri).filter((N)=>Boolean(N)),j=D6({generated_from:"knowledge_answer",artifact_key:X,source_refs:Y}),O=await LG($.store,{key:X,body:Q,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),B=await DR($.store,{ts:U,event:"wiki_answer_filed",page_key:X,prompt:$.prompt,citations:G.length},_),V=_U("wiki",X),L=d($.dbPath);try{W4(L,[O,B],_),hq(L,{pageId:V,path:X,title:W,artifactUri:O.uri,contentHash:O.hash??"",body:Q,provenance:j,now:U});let N=zR(L,V,G.map((H)=>({chunk_id:H.chunk_id,source_uri:H.source_uri??H.artifact_uri??"unknown",quote:H.quote,start_offset:H.start_offset,end_offset:H.end_offset,metadata:{source_ref:H.source_ref,artifact_path:H.artifact_path,revision:H.revision,hash:H.hash}})),U);return qR(L,{title:W,path:X,artifactUri:O.uri,contentHash:O.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:V,path:X,artifact_uri:O.uri,citations_written:N,log_key:B.key,message:`Filed answer to ${X}`}}finally{L.close()}}function q1($,_){$.push(_)}function NR($){$$($.dbPath);let _=d($.dbPath),U=[];try{let W=_.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,X=_.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,G=_.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN citations c ON c.wiki_page_id = wp.id WHERE wp.status = 'active' AND wp.path LIKE 'wiki/generated/%' @@ -989,7 +989,7 @@ ${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| WHERE c.kind = 'source' GROUP BY c.id HAVING COUNT(cit.id) = 0 - LIMIT 25`).all();for(let L of V)q1(U,{type:"new_article_candidate",severity:"info",chunk_id:L.chunk_id,source_uri:L.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((L)=>L.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:W,citations:J,backlinks:X,new_article_candidates:V.length}}}finally{_.close()}}import{createHash as My}from"crypto";function gy($){let _=String($.getUTCFullYear()),U=String($.getUTCMonth()+1).padStart(2,"0"),W=String($.getUTCDate()).padStart(2,"0");return{year:_,month:U,day:W}}function hq($,_){return`${$}_${My("sha256").update(_).digest("hex").slice(0,20)}`}function Iy($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function wy(){return`# Knowledge Agent Schema v1 + LIMIT 25`).all();for(let L of V)q1(U,{type:"new_article_candidate",severity:"info",chunk_id:L.chunk_id,source_uri:L.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((L)=>L.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:W,citations:J,backlinks:X,new_article_candidates:V.length}}}finally{_.close()}}import{createHash as My}from"crypto";function Iy($){let _=String($.getUTCFullYear()),U=String($.getUTCMonth()+1).padStart(2,"0"),W=String($.getUTCDate()).padStart(2,"0");return{year:_,month:U,day:W}}function xq($,_){return`${$}_${My("sha256").update(_).digest("hex").slice(0,20)}`}function gy($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function wy(){return`# Knowledge Agent Schema v1 ## Source Rules @@ -1034,14 +1034,14 @@ citations, chunks, generated wiki artifacts, indexes, and run records. Generated durable knowledge pages live here. Pages should be concise, cited, and organized for both humans and agents. -`}async function HR($,_=new Date){let{year:U,month:W,day:J}=gy(_),X="schemas/v1.md",G="indexes/root.md",Q="wiki/README.md",Y=`logs/${U}/${W}/${J}.jsonl`,j={ts:_.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},O=[{key:"schemas/v1.md",body:wy(),content_type:"text/markdown"},{key:"indexes/root.md",body:ky(),content_type:"text/markdown"},{key:"wiki/README.md",body:BR(),content_type:"text/markdown"},{key:Y,body:`${JSON.stringify(j)} -`,content_type:"application/x-ndjson"}],B=await Promise.all(O.map(async(V)=>{let L=await $.put(V);return{key:L.key,uri:L.uri,kind:SN(V.key),content_type:V.content_type,modified_at:L.modified_at,metadata:{provenance:D6({generated_from:"wiki_layout_init",artifact_key:V.key,citation_required:V.key.startsWith("wiki/")||V.key.startsWith("indexes/")})},...O2(V.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:Y,artifacts:B,written:["schemas/v1.md","indexes/root.md","wiki/README.md",Y]}}function xq($){let _=$.metadata?.provenance;if(_&&typeof _==="object"&&!Array.isArray(_))return _;return D6({generated_from:"wiki_layout_init",artifact_key:$.key})}function fy($,_,U,W,J,X){let G=xq(W),Q=hq("chk",`${_}\x00${W.hash??W.uri}`),Y=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_);for(let j of Y)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[j.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_]),$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[Q,_,"wiki",0,J,Iy(J),0,J.length,JSON.stringify({artifact_key:W.key,artifact_uri:W.uri,content_hash:W.hash??null,provenance:G}),X]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[Q,J,U,W.uri])}function VR($,_,U=new Date){let W=U.toISOString(),J=_.find((G)=>G.key.endsWith("indexes/root.md")),X=_.find((G)=>G.key.endsWith("wiki/README.md"));if(J)$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) +`}async function HR($,_=new Date){let{year:U,month:W,day:J}=Iy(_),X="schemas/v1.md",G="indexes/root.md",Q="wiki/README.md",Y=`logs/${U}/${W}/${J}.jsonl`,j={ts:_.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},O=[{key:"schemas/v1.md",body:wy(),content_type:"text/markdown"},{key:"indexes/root.md",body:ky(),content_type:"text/markdown"},{key:"wiki/README.md",body:BR(),content_type:"text/markdown"},{key:Y,body:`${JSON.stringify(j)} +`,content_type:"application/x-ndjson"}],B=await Promise.all(O.map(async(V)=>{let L=await $.put(V);return{key:L.key,uri:L.uri,kind:SN(V.key),content_type:V.content_type,modified_at:L.modified_at,metadata:{provenance:D6({generated_from:"wiki_layout_init",artifact_key:V.key,citation_required:V.key.startsWith("wiki/")||V.key.startsWith("indexes/")})},...O2(V.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:Y,artifacts:B,written:["schemas/v1.md","indexes/root.md","wiki/README.md",Y]}}function mq($){let _=$.metadata?.provenance;if(_&&typeof _==="object"&&!Array.isArray(_))return _;return D6({generated_from:"wiki_layout_init",artifact_key:$.key})}function Py($,_,U,W,J,X){let G=mq(W),Q=xq("chk",`${_}\x00${W.hash??W.uri}`),Y=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_);for(let j of Y)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[j.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_]),$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[Q,_,"wiki",0,J,gy(J),0,J.length,JSON.stringify({artifact_key:W.key,artifact_uri:W.uri,content_hash:W.hash??null,provenance:G}),X]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[Q,J,U,W.uri])}function VR($,_,U=new Date){let W=U.toISOString(),J=_.find((G)=>G.key.endsWith("indexes/root.md")),X=_.find((G)=>G.key.endsWith("wiki/README.md"));if(J)$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[hq("idx","root:indexes/root.md"),"root","root",J.uri,"root",JSON.stringify({artifact_key:J.key,content_hash:J.hash??null,provenance:xq(J)}),W,W]);if(X){let G=hq("wiki","wiki/README.md");$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[xq("idx","root:indexes/root.md"),"root","root",J.uri,"root",JSON.stringify({artifact_key:J.key,content_hash:J.hash??null,provenance:mq(J)}),W,W]);if(X){let G=xq("wiki","wiki/README.md");$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -1049,13 +1049,13 @@ Pages should be concise, cited, and organized for both humans and agents. content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[G,"wiki/README.md","Wiki",X.uri,X.hash??null,"active",JSON.stringify({artifact_key:X.key,provenance:xq(X)}),W,W]),fy($,G,"Wiki",X,BR(),W)}}import{createHash as RR}from"crypto";import{cpSync as rq,chmodSync as uq,existsSync as H6,lstatSync as KR,mkdirSync as L5,readdirSync as iq,readFileSync as AW,renameSync as Py,rmSync as B5,writeFileSync as AR}from"fs";import{dirname as dq,join as B4,relative as Cy}from"path";function nq($,_=$){if(!H6($))return[];let U=KR($);if(U.isFile())return[Cy(_,$)||"."];if(!U.isDirectory())return[];return iq($).flatMap((W)=>nq(B4($,W),_)).sort()}function bR($,_){if(_.length===0)return{sha256:null,bytes:0};let U=RR("sha256"),W=0;for(let J of _){let X=B4($,J),G=AW(X),Q=RR("sha256").update(G).digest("hex");W+=G.byteLength,U.update(J),U.update("\x00"),U.update(Q),U.update("\x00")}return{sha256:U.digest("hex"),bytes:W}}function Ty($){if(!H6($))return null;let _=JSON.parse(AW($,"utf8"));return Array.isArray(_.items)?_.items.length:null}function Sy($){if(!H6($))return{exists:!1,integrity_check:null,table_counts:{}};let _=RN($);try{let U=_.query("PRAGMA integrity_check").get(),W=U?Object.values(U)[0]??null:null,J=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),X={};for(let G of J){let Q=`"${G.name.replaceAll('"','""')}"`,Y=_.query(`SELECT COUNT(*) AS n FROM ${Q}`).get();X[G.name]=Y?.n??0}return{exists:!0,integrity_check:W,table_counts:X}}finally{_.close()}}function R_($,_={}){let U=nq($.home),W=bR($.home,U),J=nq($.artifactsDir),X=bR($.artifactsDir,J),G=H6($.knowledgeDbPath);return{path:$.home,exists:H6($.home),file_count:U.length,total_bytes:W.bytes,tree_sha256:W.sha256,json_items:Ty($.jsonStorePath),sqlite:_.includeSqlite===!1?{exists:G,integrity_check:null,table_counts:{}}:Sy($.knowledgeDbPath),artifacts:{exists:H6($.artifactsDir),file_count:J.length,total_bytes:X.bytes,tree_sha256:X.sha256},files:U}}function Zy($,_){if(!_.exists)return!0;if(_.files.filter((W)=>W!=="config.json").length>0)return!1;if(!_.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(AW($.configPath,"utf8")))===JSON.stringify(MU())}catch{return!1}}function cq($,_){return $.file_count===_.file_count&&$.total_bytes===_.total_bytes&&$.tree_sha256===_.tree_sha256&&$.json_items===_.json_items&&$.sqlite.integrity_check===_.sqlite.integrity_check&&JSON.stringify($.sqlite.table_counts)===JSON.stringify(_.sqlite.table_counts)&&$.artifacts.file_count===_.artifacts.file_count&&$.artifacts.total_bytes===_.artifacts.total_bytes&&$.artifacts.tree_sha256===_.artifacts.tree_sha256}function N5($){return $.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function lq($){if(Array.isArray($))return`[${$.map(lq).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${lq(U)}`).join(",")}}`;return JSON.stringify($)}function FR($){return lq($)}function mq($){return typeof $.short_id==="string"&&$.short_id.trim().length>0?$.short_id:null}function O1($){if(!H6($))return{items:[]};let _=JSON.parse(AW($,"utf8"));if(!_||!Array.isArray(_.items))throw Error(`Invalid knowledge JSON store shape at ${$}`);return{items:_.items}}function ER($,_){let U=new Map($.items.map((O)=>[O.id,O])),W=new Map;for(let O of $.items){let B=W.get(O.id);if(B&&B.item.id!==O.id);W.set(O.id,{item:O,keyKind:"id",source:"current"});let V=mq(O);if(V&&!W.has(V))W.set(V,{item:O,keyKind:"short_id",source:"current"})}let J=[],X=0,G=0,Q=0,Y=[];for(let O of _.items){let B=U.get(O.id);if(B){if(FR(B)===FR(O))X+=1;else G+=1,J.push({type:"id_conflict",id:O.id,legacy_title:O.title,current_title:B.title});continue}let V=[{key:O.id,keyKind:"id"},...mq(O)?[{key:mq(O),keyKind:"short_id"}]:[]],L=!1;for(let{key:N,keyKind:H}of V){let R=W.get(N);if(!R)continue;if(H==="id"&&R.keyKind==="id")G+=1,J.push({type:"id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});else Q+=1,J.push({type:"short_id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});L=!0}if(L)continue;Y.push(O);for(let{key:N,keyKind:H}of V)W.set(N,{item:O,keyKind:H,source:"legacy"})}let j={items:[...$.items,...Y]};return{stats:{current_items:$.items.length,legacy_items:_.items.length,duplicate_ids_identical:X,duplicate_ids_conflicting:G,short_id_conflicts:Q,stranded_items:Y.length,merged_items:J.length===0?Y.length:0,expected_total_items:$.items.length+Y.length,final_items:null},conflicts:J,mergedStore:j}}function vy($,_){let U=[...new Set($)].sort(),W=(J)=>{if(J>=U.length)return _();return I6(U[J],()=>W(J+1),{createParent:!0})};return W(0)}function MR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.legacy),J=R_($.current),X={legacy_exists:W.exists,legacy_store_exists:H6($.legacy.jsonStorePath),current_store_exists:H6($.current.jsonStorePath),approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},G=[];if(!W.exists||!X.legacy_store_exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:W,current_before:J,backup_after:null,current_after:J,merge:{current_items:O1($.current.jsonStorePath).items.length,legacy_items:0,duplicate_ids_identical:0,duplicate_ids_conflicting:0,short_id_conflicts:0,stranded_items:0,merged_items:0,expected_total_items:O1($.current.jsonStorePath).items.length,final_items:J.json_items},conflicts:[],checks:{...X,no_conflicts:!0,final_count_matches_expected:!0},warnings:G,message:`No legacy knowledge JSON store found at ${$.legacy.jsonStorePath}`};let Q=O1($.current.jsonStorePath),Y=O1($.legacy.jsonStorePath),j=ER(Q,Y);if(X.no_conflicts=j.conflicts.length===0,j.conflicts.length>0)G.push("merge_conflicts_detected");if(!X.approval_present)G.push("write_approval_required");if(U||!X.approval_present||j.conflicts.length>0)return{ok:j.conflicts.length===0,dry_run:!0,approval_required:!X.approval_present,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.merge-backup-${N5(_)}`,legacy_before:W,current_before:J,backup_after:null,current_after:null,merge:j.stats,conflicts:j.conflicts,checks:X,warnings:G,message:j.conflicts.length===0?`Dry run: would merge ${j.stats.stranded_items} legacy item(s) into ${$.current.jsonStorePath}`:`Refusing legacy merge with ${j.conflicts.length} conflict(s)`};return vy([$.current.jsonStorePath,$.legacy.jsonStorePath],()=>{let O=O1($.current.jsonStorePath),B=O1($.legacy.jsonStorePath),V=ER(O,B);if(X.no_conflicts=V.conflicts.length===0,V.conflicts.length>0)return{ok:!1,dry_run:!0,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:null,merge:V.stats,conflicts:V.conflicts,checks:X,warnings:[...G,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${V.conflicts.length} conflict(s)`};if(V.stats.stranded_items===0)return V.stats.final_items=O.items.length,X.final_count_matches_expected=O.items.length===V.stats.expected_total_items,{ok:X.no_conflicts&&X.final_count_matches_expected,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:R_($.current),merge:V.stats,conflicts:[],checks:X,warnings:G,message:`Legacy merge already up to date for ${$.current.jsonStorePath}`};let L=`${$.legacy.home}.merge-backup-${N5(_)}`;L5(dq(L),{recursive:!0}),rq($.legacy.home,L,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let N=T_(L),H=R_(N);if(X.legacy_backup_written=cq(R_($.legacy),H),!X.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${L}`);l6($.current.jsonStorePath,V.mergedStore);let R=O1($.current.jsonStorePath);V.stats.final_items=R.items.length,X.final_count_matches_expected=R.items.length===V.stats.expected_total_items;let b=R_($.current),A=X.legacy_backup_written&&X.no_conflicts&&X.final_count_matches_expected;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:L,legacy_before:W,current_before:J,backup_after:H,current_after:b,merge:V.stats,conflicts:[],checks:X,warnings:G,message:A?`Merged ${V.stats.merged_items} legacy item(s) into ${$.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${$.current.jsonStorePath}`}})}function yy($){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,$)}function pq($){return $ instanceof Error&&/\b(EBUSY|EPERM)\b/.test($.message)}function hy($){let _;for(let U=0;U<8;U+=1)try{B5($,{recursive:!0,force:!1});return}catch(W){if(_=W,!pq(W))throw W;yy(50*(U+1))}throw _}function gR($){if(!H6($))return;let _=KR($);if(uq($,_.isDirectory()?448:384),!_.isDirectory())return;for(let U of iq($))gR(B4($,U))}function xy($){return $==="TOMBSTONE.md"||$==="migration.json"||$==="knowledge.db"||$==="knowledge.db-shm"||$==="knowledge.db-wal"||$==="knowledge.db-journal"}function my($){for(let _ of iq($)){if(_==="TOMBSTONE.md"||_==="migration.json")continue;try{B5(B4($,_),{recursive:!0,force:!1})}catch(U){if(!pq(U)||!_.startsWith("knowledge.db"))throw U}}}function uy($,_){try{Py($,_);return}catch(U){rq($,_,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{hy($)}catch(W){if(pq(W)){my($);return}throw B5(_,{recursive:!0,force:!0}),W}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function dy($,_,U){if(!_.exists)return!1;if(!_.files.includes("TOMBSTONE.md")||!_.files.includes("migration.json"))return!1;if(_.files.some((W)=>!xy(W)))return!1;try{let W=JSON.parse(AW(B4($.home,"migration.json"),"utf8"));return W.new_path===U&&typeof W.backup_path==="string"}catch{return!1}}function IR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.current),J=Zy($.current,W),X=$.approveWrite===!0&&Boolean($.approvedBy)&&(!W.exists||J),G=R_($.legacy,{includeSqlite:!X}),Q={legacy_exists:G.exists,current_absent_or_default_scaffold:!W.exists||J,approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},Y=[];if(!G.exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:null,legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:`No legacy knowledge workspace found at ${$.legacy.home}`};if(Q.legacy_is_tombstone=dy($.legacy,G,$.current.home),Q.legacy_is_tombstone)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:W,checks:{...Q,tombstone_written:!0},warnings:Y,message:`Legacy knowledge workspace already migrated to ${$.current.home}`};if(!Q.current_absent_or_default_scaffold)Y.push("current_workspace_contains_data");if(!Q.approval_present)Y.push("write_approval_required");if(U||!Q.current_absent_or_default_scaffold||!Q.approval_present)return{ok:Q.current_absent_or_default_scaffold,dry_run:!0,approval_required:!0,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.backup-${N5(_)}`,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:Q.current_absent_or_default_scaffold?`Dry run: would migrate ${$.legacy.home} to ${$.current.home}`:`Cannot migrate while ${$.current.home} contains data`};let j=`${$.legacy.home}.backup-${N5(_)}`;L5(dq($.current.home),{recursive:!0}),L5(dq(j),{recursive:!0}),rq($.legacy.home,j,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),gR(j);let O=T_(j),B=R_(O,{includeSqlite:!1});if(Q.backup_matches_legacy=cq(G,B),!Q.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${j}`);if(W.exists&&J)B5($.current.home,{recursive:!0,force:!0});uy($.legacy.home,$.current.home);let V=R_($.current,{includeSqlite:!1});Q.migrated_matches_backup=cq(B,V);let L=R_(O),N=R_($.current),H={...L,path:$.legacy.home};L5($.legacy.home,{recursive:!0});let R=B4($.legacy.home,"TOMBSTONE.md");AR(R,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${_.toISOString()}`,`Approved by: ${$.approvedBy}`,`New path: ${$.current.home}`,`Backup path: ${j}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` -`),{mode:384}),uq(R,384);let b=B4($.legacy.home,"migration.json");AR(b,`${JSON.stringify({migrated_at:_.toISOString(),approved_by:$.approvedBy,new_path:$.current.home,backup_path:j,legacy_before:H,backup_after:L,current_after:N},null,2)} -`,{mode:384}),uq(b,384),Q.tombstone_written=H6(R);let A=Q.backup_matches_legacy&&Q.migrated_matches_backup&&Q.tombstone_written;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:j,tombstone_path:R,legacy_before:H,current_before:W,backup_after:L,current_after:N,checks:Q,warnings:Y,message:A?`Migrated legacy knowledge workspace to ${$.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${$.current.home}`}}function ry($){let _=dR($);if(x$(wR(_,"knowledge.db"))||x$(wR(_,"config.json")))return g1(_);return g1(T_(h5(_)).home)}function oq($){return`${ly()}:${FW("sha256").update($.home).digest("hex").slice(0,12)}`}function sq($){return`'${$.replace(/'/g,"'\\''")}'`}function iy($){return["knowledge",...$].map(sq).join(" ")}function kR($,_){return`cd ${sq($)} && knowledge ${_.map(sq).join(" ")}`}function nR($){return!$||$==="local"||$==="localhost"}function bW($,_){return{source:$.source,adapter:$.adapter,project_root:_,project_root_source:$.project_root_source,workspace_root:$.workspace_root,workspace_root_source:$.workspace_root_source,open_files_root:$.open_files_root,open_files_root_source:$.open_files_root_source,trust_status:$.trust_status,auth_status:$.auth_status,current:$.current,primary:$.primary,diagnostics:$.diagnostics,repair_hints:$.repair_hints,evidence:$.evidence,cacheability:$.cacheability,warnings:$.warnings}}function tq($){return{source:$.source,adapter:$.adapter,target:$.target,route:$.route,target_kind:$.targetKind,confidence:$.confidence,evidence:$.evidence,cacheability:$.cacheability}}function py($){try{let _=JSON.parse($);return Array.isArray(_)?_.filter((U)=>typeof U==="string"):[]}catch{return[]}}function EW($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function G_($){return typeof $==="string"&&$.length>0?$:null}function oy($){return typeof $==="number"&&Number.isFinite($)?$:null}function H5($){return typeof $==="boolean"?$:null}function ty($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function cR($,_,U){let W=EW($),J=G_(W.observed_at)??G_(_[`${U}_observed_at`]),X=G_(W.source_authority)??G_(_[`${U}_source_authority`]);if(!J||!X)return null;return{observed_at:J,verified_at:G_(W.verified_at),expires_at:G_(W.expires_at)??G_(_[`${U}_expires_at`]),ttl_ms:oy(W.ttl_ms),source_authority:X,confidence:G_(W.confidence)??(U==="route"?G_(_.route_confidence):null),cacheable:H5(W.cacheable)??H5(_[`${U}_cacheable`])??!1,stale:H5(W.stale)??H5(_[`${U}_stale`])??!1,reasons:ty(W.reasons)}}function ay($,_){return $.machine_id===_||$.hostname===_||$.ssh_target===_||$.tailscale_dns===_||py($.tailscale_ips_json).includes(_)}function fR($,_){return qQ($).find((U)=>ay(U,_))??null}function lR($){return EW(UU($.metadata_json).resolver_evidence)}function KW($){return EW(UU($.capabilities_json).resolver)}function rR($){let _=KW($),U=G_(_.route_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;if($.tailscale_dns&&$.ssh_target===$.tailscale_dns)return"tailscale";return $.ssh_target?"ssh":"unknown"}function sy($){let _=KW($),U=G_(_.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return rR($)}function ey($){return G_(KW($).route_confidence)??"medium"}function PR($,_,U){let W=lR($),J=EW(W.route),X=KW($);return{target:$.ssh_target??$.tailscale_dns??$.hostname??$.machine_id,route:rR($),targetKind:sy($),confidence:ey($),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,route:J},cacheability:cR(J.cacheability,X,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function CR($,_,U){if(!$.workspace_home)return null;let W=lR($),J=EW(W.workspace),X=KW($);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:_,machine_id:$.machine_id,project_id:G_(J.project_id)??U.project_id,repo_name:G_(J.repo_name)??U.repo_name,project_root:$.workspace_home,project_root_source:G_(X.project_root_source)??"registry",workspace_root:G_(J.workspace_root),workspace_root_source:G_(X.workspace_root_source)??"registry",open_files_root:G_(J.open_files_root),open_files_root_source:G_(X.open_files_root_source)??"registry",trust_status:G_(X.trust_status)??"unknown",auth_status:G_(X.auth_status)??"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,workspace:J},cacheability:cR(J.cacheability,X,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function TR($){if(!$)return null;let _=$.diagnostics.filter((W)=>W.severity!=="ok"),U=$.repair_hints[0];if(!_.length&&!$.warnings.length&&!U)return null;return[_.length?`workspace diagnostics: ${_.map((W)=>`${W.id}=${W.status}`).join(", ")}`:null,$.warnings.length?`warnings: ${$.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function V5($){return{id:$.id,reason:$.reason,command:["knowledge",...$.args],shell_command:iy($.args)}}function R5($,_){let U=d($);try{return Number(U.query(_).get()?.count??0)}finally{U.close()}}function $h($,_){let U=R5($,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),W=R5($,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),J=R5($,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),X=R5($,["SELECT COUNT(*) AS count FROM sources","WHERE metadata_json LIKE '%raw_bytes%'","OR metadata_json LIKE '%raw_content%'","OR metadata_json LIKE '%content_base64%'","OR metadata_json LIKE '%source_bytes%'"].join(" ")),G=X===0;return{ok:G,source_of_truth:"open-files",configured_root:_?.open_files_root??null,configured_root_source:_?.open_files_root_source??null,source_refs:{open_files:U,metadata_mentions:W},extracted_text_artifacts:J,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:X,message:G?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${X} raw source payload metadata sentinel(s) found`}}var _h=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function eq($,_=0){if(_>8)return!1;if(!$||typeof $!=="object")return!1;if(Array.isArray($))return $.some((U)=>eq(U,_+1));for(let[U,W]of Object.entries($)){if(_h.has(U.toLowerCase()))return!0;if(eq(W,_+1))return!0}return!1}function UU($){try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function SR($,_=20,U=200){if(!Number.isFinite($)||$<=0)return _;return Math.min(Math.floor($),U)}function Uh($,_=220){let U=$??"";return U.length>_?`${U.slice(0,_)}...`:U}function s_($,_=["metadata_json"]){return $.map((U)=>{let W={...U};for(let J of _){let X=W[J];if(typeof X==="string"){let G=J.endsWith("_json")?J.slice(0,-5):J;W[G]=UU(X),delete W[J]}}return W})}function d_($,_,U=[]){return $.query(_).all(...U)}function Jh($){if(!x$($))return{exists:!1,read_error:null,items:[]};try{let _=JSON.parse(cy($,"utf8"));if(!_||!Array.isArray(_.items))return{exists:!0,read_error:"invalid_store_shape",items:[]};return{exists:!0,read_error:null,items:_.items}}catch(_){return{exists:!0,read_error:_ instanceof Error?_.message:String(_),items:[]}}}function ZR($){return{id:$.id,short_id:$.short_id??null,title:$.title,content_preview:Uh($.content),url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:$.archived===!0,created_at:$.created_at,updated_at:$.updated_at}}function vR(){return{schema_version:0,sources:0,source_revisions:0,chunks:0,wiki_pages:0,citations:0,indexes:0,runs:0,run_events:0,redaction_findings:0,audit_events:0,approval_gates:0,storage_objects:0,embeddings:0,vector_entries:0,reindex_queue:0,knowledge_machines:0,sync_snapshots:0,sync_changes:0,sync_conflicts:0,sync_table_clocks:0,sync_imports:0}}function iR($,_,U=!1){return{query:$,limit:_,offset:0,mode:{keyword:!0,catalog:!0,semantic:U},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:0,catalog_results:0,semantic_results:0,merged_results:0},warnings:["knowledge_db_missing"],results:[]}}function Wh($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Xh($,_,U=!1){let W=iR($,_,U);return{query:$,normalized_query:Wh($),created_at:new Date().toISOString(),mode:W.mode,warnings:W.warnings,search_counts:W.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function aq($,_,U){let W=U??_.jsonStorePath;if(x$(W))return W;if($==="global"){let J=KU();if(x$(J))return J}return W}function Gh($){let _=JSON.stringify($);return Math.max(1,Math.ceil(_.length/4))}function $O($,_){let U=($??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function yR($,_,U){let W=w_($O($,U),_);return{text:W.text,redactions:W.findings.length}}function hR($,_,U){let W=$.now??new Date,J=$.source??"search",X=$.purpose??(J==="loops"||J==="runs"?"proposal":"agent_context"),G=($.query??$.topic??_.query).normalize("NFKC").trim().replace(/\s+/g," "),Q=Math.max(1,Math.min($.maxItems??$.limit??8,50)),Y=Math.max(500,Math.min($.maxTokens??6000,1e5)),j=0,O=_.citations.slice(0,Math.max(Q*2,Q)).map((A,M)=>{let E=yR(A.quote,U,M<3?220:140);j+=E.redactions;let g=A.source_ref??A.source_uri??A.artifact_path??A.artifact_uri??A.id;return{id:`cite_${FW("sha256").update(`${A.id}\x00${g}`).digest("hex").slice(0,12)}`,kind:A.artifact_uri||A.artifact_path?"artifact":"source",ref:g,source_ref:A.source_ref,source_uri:A.source_uri,artifact_uri:A.artifact_uri,artifact_path:A.artifact_path,run_id:null,run_event_id:null,revision:A.revision,hash:A.hash,chunk_id:A.chunk_id,offsets:{start:A.start_offset,end:A.end_offset},quote_preview:E.text}}),B=new Map(_.citations.map((A,M)=>[A.id,O[M]])),V=_.excerpts.slice(0,Math.max(Q*2,Q)).map((A)=>{let M=_.results.find((Z)=>Z.id===A.result_id),E=A.citation_id?B.get(A.citation_id):void 0,g=yR(A.text,U,520);return j+=g.redactions,{id:`ev_${FW("sha256").update(`${A.kind}\x00${A.result_id}\x00${A.citation_id??""}`).digest("hex").slice(0,14)}`,kind:A.kind,title:$O(M?.title??E?.ref??A.kind,100),text_preview:g.text,score:Number(A.score.toFixed(6)),citation_ids:E?[E.id]:[],provenance:{source:J,record_ref:`${A.kind}:${A.result_id}`,created_at:_.created_at,updated_at:null,metadata_keys:[]}}}).sort((A,M)=>M.score-A.score||A.id.localeCompare(M.id)).slice(0,Q),L=new Set(V.flatMap((A)=>A.citation_ids)),N=O.filter((A)=>L.has(A.id)),H=Array.from(new Set(_.warnings)),R=`ctx_${FW("sha256").update([J,X,G,H.join(","),V.map((A)=>A.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,b={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:W.toISOString(),source:J,purpose:X,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:R,budgets:{max_tokens:Y,estimated_tokens:0,max_items:Q,items_included:V.length,items_available:_.excerpts.length,items_truncated:Math.max(0,_.excerpts.length-V.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:j,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:N,evidence:V,duplicate_candidates:[],outline:{title:G?`Knowledge context: ${$O(G,80)}`:"Knowledge context",bullets:V.length>0?V.slice(0,5).map((A)=>`${A.id}: ${A.title}`):["No matching bounded evidence was found."],evidence_ids:V.slice(0,8).map((A)=>A.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:H,message:`${V.length} bounded evidence item(s), estimated under ${Y} token(s)`};return b.budgets.estimated_tokens=Gh(b),b.budgets.token_budget_exceeded=b.budgets.estimated_tokens>Y,b.message=`${b.evidence.length} bounded evidence item(s), estimated ${b.budgets.estimated_tokens}/${Y} token(s)`,b}function Qh(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Yh(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function jh($){return{ok:!0,scope:$.scope,workspace_home:$.workspaceHome,sqlite_schema_version:0,local_machine_id:$.localMachineId??null,machines:{total:0,rows:[]},snapshots:{total:0,latest:null},changes:{total:0,by_operation:[]},clocks:{total:0,rows:[]},imports:{total:0,latest:null},conflicts:{total:0,by_status:[],open:0},table_counts:{},message:"0 machine(s), 0 open sync conflict(s)"}}function xR($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=($.query??$.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),X=Math.max(1,Math.min($.maxItems??$.limit??8,50)),G=Math.max(500,Math.min($.maxTokens??6000,1e5)),Q=`ctx_${FW("sha256").update(["empty",U,W,J,$.topic??"",$.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:J,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:Q,budgets:{max_tokens:G,estimated_tokens:0,max_items:X,items_included:0,items_available:0,items_truncated:0,token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:0,reminders:["This pack is read-only and performs no durable writes.","No knowledge.db exists for this scope yet."]},citations:[],evidence:[],duplicate_candidates:[],outline:{title:J?`Context for ${J}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${G} token(s)`}}function _O($){let _=$.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return _?`${_}/`:null}function Dh($,_){let U=d($);try{let W=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json + updated_at = excluded.updated_at`,[G,"wiki/README.md","Wiki",X.uri,X.hash??null,"active",JSON.stringify({artifact_key:X.key,provenance:mq(X)}),W,W]),Py($,G,"Wiki",X,BR(),W)}}import{createHash as RR}from"crypto";import{cpSync as rq,chmodSync as dq,existsSync as H6,lstatSync as bR,mkdirSync as NG,readdirSync as pq,readFileSync as AW,renameSync as fy,rmSync as HG,writeFileSync as AR}from"fs";import{dirname as cq,join as B4,relative as Cy}from"path";function nq($,_=$){if(!H6($))return[];let U=bR($);if(U.isFile())return[Cy(_,$)||"."];if(!U.isDirectory())return[];return pq($).flatMap((W)=>nq(B4($,W),_)).sort()}function ER($,_){if(_.length===0)return{sha256:null,bytes:0};let U=RR("sha256"),W=0;for(let J of _){let X=B4($,J),G=AW(X),Q=RR("sha256").update(G).digest("hex");W+=G.byteLength,U.update(J),U.update("\x00"),U.update(Q),U.update("\x00")}return{sha256:U.digest("hex"),bytes:W}}function Ty($){if(!H6($))return null;let _=JSON.parse(AW($,"utf8"));return Array.isArray(_.items)?_.items.length:null}function Sy($){if(!H6($))return{exists:!1,integrity_check:null,table_counts:{}};let _=RN($);try{let U=_.query("PRAGMA integrity_check").get(),W=U?Object.values(U)[0]??null:null,J=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),X={};for(let G of J){let Q=`"${G.name.replaceAll('"','""')}"`,Y=_.query(`SELECT COUNT(*) AS n FROM ${Q}`).get();X[G.name]=Y?.n??0}return{exists:!0,integrity_check:W,table_counts:X}}finally{_.close()}}function R_($,_={}){let U=nq($.home),W=ER($.home,U),J=nq($.artifactsDir),X=ER($.artifactsDir,J),G=H6($.knowledgeDbPath);return{path:$.home,exists:H6($.home),file_count:U.length,total_bytes:W.bytes,tree_sha256:W.sha256,json_items:Ty($.jsonStorePath),sqlite:_.includeSqlite===!1?{exists:G,integrity_check:null,table_counts:{}}:Sy($.knowledgeDbPath),artifacts:{exists:H6($.artifactsDir),file_count:J.length,total_bytes:X.bytes,tree_sha256:X.sha256},files:U}}function Zy($,_){if(!_.exists)return!0;if(_.files.filter((W)=>W!=="config.json").length>0)return!1;if(!_.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(AW($.configPath,"utf8")))===JSON.stringify(MU())}catch{return!1}}function lq($,_){return $.file_count===_.file_count&&$.total_bytes===_.total_bytes&&$.tree_sha256===_.tree_sha256&&$.json_items===_.json_items&&$.sqlite.integrity_check===_.sqlite.integrity_check&&JSON.stringify($.sqlite.table_counts)===JSON.stringify(_.sqlite.table_counts)&&$.artifacts.file_count===_.artifacts.file_count&&$.artifacts.total_bytes===_.artifacts.total_bytes&&$.artifacts.tree_sha256===_.artifacts.tree_sha256}function BG($){return $.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function iq($){if(Array.isArray($))return`[${$.map(iq).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${iq(U)}`).join(",")}}`;return JSON.stringify($)}function FR($){return iq($)}function uq($){return typeof $.short_id==="string"&&$.short_id.trim().length>0?$.short_id:null}function O1($){if(!H6($))return{items:[]};let _=JSON.parse(AW($,"utf8"));if(!_||!Array.isArray(_.items))throw Error(`Invalid knowledge JSON store shape at ${$}`);return{items:_.items}}function KR($,_){let U=new Map($.items.map((O)=>[O.id,O])),W=new Map;for(let O of $.items){let B=W.get(O.id);if(B&&B.item.id!==O.id);W.set(O.id,{item:O,keyKind:"id",source:"current"});let V=uq(O);if(V&&!W.has(V))W.set(V,{item:O,keyKind:"short_id",source:"current"})}let J=[],X=0,G=0,Q=0,Y=[];for(let O of _.items){let B=U.get(O.id);if(B){if(FR(B)===FR(O))X+=1;else G+=1,J.push({type:"id_conflict",id:O.id,legacy_title:O.title,current_title:B.title});continue}let V=[{key:O.id,keyKind:"id"},...uq(O)?[{key:uq(O),keyKind:"short_id"}]:[]],L=!1;for(let{key:N,keyKind:H}of V){let R=W.get(N);if(!R)continue;if(H==="id"&&R.keyKind==="id")G+=1,J.push({type:"id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});else Q+=1,J.push({type:"short_id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});L=!0}if(L)continue;Y.push(O);for(let{key:N,keyKind:H}of V)W.set(N,{item:O,keyKind:H,source:"legacy"})}let j={items:[...$.items,...Y]};return{stats:{current_items:$.items.length,legacy_items:_.items.length,duplicate_ids_identical:X,duplicate_ids_conflicting:G,short_id_conflicts:Q,stranded_items:Y.length,merged_items:J.length===0?Y.length:0,expected_total_items:$.items.length+Y.length,final_items:null},conflicts:J,mergedStore:j}}function vy($,_){let U=[...new Set($)].sort(),W=(J)=>{if(J>=U.length)return _();return g6(U[J],()=>W(J+1),{createParent:!0})};return W(0)}function MR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.legacy),J=R_($.current),X={legacy_exists:W.exists,legacy_store_exists:H6($.legacy.jsonStorePath),current_store_exists:H6($.current.jsonStorePath),approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},G=[];if(!W.exists||!X.legacy_store_exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:W,current_before:J,backup_after:null,current_after:J,merge:{current_items:O1($.current.jsonStorePath).items.length,legacy_items:0,duplicate_ids_identical:0,duplicate_ids_conflicting:0,short_id_conflicts:0,stranded_items:0,merged_items:0,expected_total_items:O1($.current.jsonStorePath).items.length,final_items:J.json_items},conflicts:[],checks:{...X,no_conflicts:!0,final_count_matches_expected:!0},warnings:G,message:`No legacy knowledge JSON store found at ${$.legacy.jsonStorePath}`};let Q=O1($.current.jsonStorePath),Y=O1($.legacy.jsonStorePath),j=KR(Q,Y);if(X.no_conflicts=j.conflicts.length===0,j.conflicts.length>0)G.push("merge_conflicts_detected");if(!X.approval_present)G.push("write_approval_required");if(U||!X.approval_present||j.conflicts.length>0)return{ok:j.conflicts.length===0,dry_run:!0,approval_required:!X.approval_present,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.merge-backup-${BG(_)}`,legacy_before:W,current_before:J,backup_after:null,current_after:null,merge:j.stats,conflicts:j.conflicts,checks:X,warnings:G,message:j.conflicts.length===0?`Dry run: would merge ${j.stats.stranded_items} legacy item(s) into ${$.current.jsonStorePath}`:`Refusing legacy merge with ${j.conflicts.length} conflict(s)`};return vy([$.current.jsonStorePath,$.legacy.jsonStorePath],()=>{let O=O1($.current.jsonStorePath),B=O1($.legacy.jsonStorePath),V=KR(O,B);if(X.no_conflicts=V.conflicts.length===0,V.conflicts.length>0)return{ok:!1,dry_run:!0,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:null,merge:V.stats,conflicts:V.conflicts,checks:X,warnings:[...G,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${V.conflicts.length} conflict(s)`};if(V.stats.stranded_items===0)return V.stats.final_items=O.items.length,X.final_count_matches_expected=O.items.length===V.stats.expected_total_items,{ok:X.no_conflicts&&X.final_count_matches_expected,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:R_($.current),merge:V.stats,conflicts:[],checks:X,warnings:G,message:`Legacy merge already up to date for ${$.current.jsonStorePath}`};let L=`${$.legacy.home}.merge-backup-${BG(_)}`;NG(cq(L),{recursive:!0}),rq($.legacy.home,L,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let N=T_(L),H=R_(N);if(X.legacy_backup_written=lq(R_($.legacy),H),!X.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${L}`);l6($.current.jsonStorePath,V.mergedStore);let R=O1($.current.jsonStorePath);V.stats.final_items=R.items.length,X.final_count_matches_expected=R.items.length===V.stats.expected_total_items;let E=R_($.current),A=X.legacy_backup_written&&X.no_conflicts&&X.final_count_matches_expected;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:L,legacy_before:W,current_before:J,backup_after:H,current_after:E,merge:V.stats,conflicts:[],checks:X,warnings:G,message:A?`Merged ${V.stats.merged_items} legacy item(s) into ${$.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${$.current.jsonStorePath}`}})}function yy($){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,$)}function oq($){return $ instanceof Error&&/\b(EBUSY|EPERM)\b/.test($.message)}function hy($){let _;for(let U=0;U<8;U+=1)try{HG($,{recursive:!0,force:!1});return}catch(W){if(_=W,!oq(W))throw W;yy(50*(U+1))}throw _}function IR($){if(!H6($))return;let _=bR($);if(dq($,_.isDirectory()?448:384),!_.isDirectory())return;for(let U of pq($))IR(B4($,U))}function xy($){return $==="TOMBSTONE.md"||$==="migration.json"||$==="knowledge.db"||$==="knowledge.db-shm"||$==="knowledge.db-wal"||$==="knowledge.db-journal"}function my($){for(let _ of pq($)){if(_==="TOMBSTONE.md"||_==="migration.json")continue;try{HG(B4($,_),{recursive:!0,force:!1})}catch(U){if(!oq(U)||!_.startsWith("knowledge.db"))throw U}}}function uy($,_){try{fy($,_);return}catch(U){rq($,_,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{hy($)}catch(W){if(oq(W)){my($);return}throw HG(_,{recursive:!0,force:!0}),W}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function dy($,_,U){if(!_.exists)return!1;if(!_.files.includes("TOMBSTONE.md")||!_.files.includes("migration.json"))return!1;if(_.files.some((W)=>!xy(W)))return!1;try{let W=JSON.parse(AW(B4($.home,"migration.json"),"utf8"));return W.new_path===U&&typeof W.backup_path==="string"}catch{return!1}}function gR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.current),J=Zy($.current,W),X=$.approveWrite===!0&&Boolean($.approvedBy)&&(!W.exists||J),G=R_($.legacy,{includeSqlite:!X}),Q={legacy_exists:G.exists,current_absent_or_default_scaffold:!W.exists||J,approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},Y=[];if(!G.exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:null,legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:`No legacy knowledge workspace found at ${$.legacy.home}`};if(Q.legacy_is_tombstone=dy($.legacy,G,$.current.home),Q.legacy_is_tombstone)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:W,checks:{...Q,tombstone_written:!0},warnings:Y,message:`Legacy knowledge workspace already migrated to ${$.current.home}`};if(!Q.current_absent_or_default_scaffold)Y.push("current_workspace_contains_data");if(!Q.approval_present)Y.push("write_approval_required");if(U||!Q.current_absent_or_default_scaffold||!Q.approval_present)return{ok:Q.current_absent_or_default_scaffold,dry_run:!0,approval_required:!0,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.backup-${BG(_)}`,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:Q.current_absent_or_default_scaffold?`Dry run: would migrate ${$.legacy.home} to ${$.current.home}`:`Cannot migrate while ${$.current.home} contains data`};let j=`${$.legacy.home}.backup-${BG(_)}`;NG(cq($.current.home),{recursive:!0}),NG(cq(j),{recursive:!0}),rq($.legacy.home,j,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),IR(j);let O=T_(j),B=R_(O,{includeSqlite:!1});if(Q.backup_matches_legacy=lq(G,B),!Q.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${j}`);if(W.exists&&J)HG($.current.home,{recursive:!0,force:!0});uy($.legacy.home,$.current.home);let V=R_($.current,{includeSqlite:!1});Q.migrated_matches_backup=lq(B,V);let L=R_(O),N=R_($.current),H={...L,path:$.legacy.home};NG($.legacy.home,{recursive:!0});let R=B4($.legacy.home,"TOMBSTONE.md");AR(R,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${_.toISOString()}`,`Approved by: ${$.approvedBy}`,`New path: ${$.current.home}`,`Backup path: ${j}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` +`),{mode:384}),dq(R,384);let E=B4($.legacy.home,"migration.json");AR(E,`${JSON.stringify({migrated_at:_.toISOString(),approved_by:$.approvedBy,new_path:$.current.home,backup_path:j,legacy_before:H,backup_after:L,current_after:N},null,2)} +`,{mode:384}),dq(E,384),Q.tombstone_written=H6(R);let A=Q.backup_matches_legacy&&Q.migrated_matches_backup&&Q.tombstone_written;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:j,tombstone_path:R,legacy_before:H,current_before:W,backup_after:L,current_after:N,checks:Q,warnings:Y,message:A?`Migrated legacy knowledge workspace to ${$.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${$.current.home}`}}function iy($){let _=dR($);if(x$(wR(_,"knowledge.db"))||x$(wR(_,"config.json")))return I1(_);return I1(T_(xG(_)).home)}function tq($){return`${ly()}:${FW("sha256").update($.home).digest("hex").slice(0,12)}`}function eq($){return`'${$.replace(/'/g,"'\\''")}'`}function ry($){return["knowledge",...$].map(eq).join(" ")}function kR($,_){return`cd ${eq($)} && knowledge ${_.map(eq).join(" ")}`}function cR($){return!$||$==="local"||$==="localhost"}function EW($,_){return{source:$.source,adapter:$.adapter,project_root:_,project_root_source:$.project_root_source,workspace_root:$.workspace_root,workspace_root_source:$.workspace_root_source,open_files_root:$.open_files_root,open_files_root_source:$.open_files_root_source,trust_status:$.trust_status,auth_status:$.auth_status,current:$.current,primary:$.primary,diagnostics:$.diagnostics,repair_hints:$.repair_hints,evidence:$.evidence,cacheability:$.cacheability,warnings:$.warnings}}function aq($){return{source:$.source,adapter:$.adapter,target:$.target,route:$.route,target_kind:$.targetKind,confidence:$.confidence,evidence:$.evidence,cacheability:$.cacheability}}function py($){try{let _=JSON.parse($);return Array.isArray(_)?_.filter((U)=>typeof U==="string"):[]}catch{return[]}}function KW($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function G_($){return typeof $==="string"&&$.length>0?$:null}function oy($){return typeof $==="number"&&Number.isFinite($)?$:null}function VG($){return typeof $==="boolean"?$:null}function ty($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function nR($,_,U){let W=KW($),J=G_(W.observed_at)??G_(_[`${U}_observed_at`]),X=G_(W.source_authority)??G_(_[`${U}_source_authority`]);if(!J||!X)return null;return{observed_at:J,verified_at:G_(W.verified_at),expires_at:G_(W.expires_at)??G_(_[`${U}_expires_at`]),ttl_ms:oy(W.ttl_ms),source_authority:X,confidence:G_(W.confidence)??(U==="route"?G_(_.route_confidence):null),cacheable:VG(W.cacheable)??VG(_[`${U}_cacheable`])??!1,stale:VG(W.stale)??VG(_[`${U}_stale`])??!1,reasons:ty(W.reasons)}}function ay($,_){return $.machine_id===_||$.hostname===_||$.ssh_target===_||$.tailscale_dns===_||py($.tailscale_ips_json).includes(_)}function PR($,_){return OQ($).find((U)=>ay(U,_))??null}function lR($){return KW(UU($.metadata_json).resolver_evidence)}function bW($){return KW(UU($.capabilities_json).resolver)}function iR($){let _=bW($),U=G_(_.route_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;if($.tailscale_dns&&$.ssh_target===$.tailscale_dns)return"tailscale";return $.ssh_target?"ssh":"unknown"}function sy($){let _=bW($),U=G_(_.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return iR($)}function ey($){return G_(bW($).route_confidence)??"medium"}function fR($,_,U){let W=lR($),J=KW(W.route),X=bW($);return{target:$.ssh_target??$.tailscale_dns??$.hostname??$.machine_id,route:iR($),targetKind:sy($),confidence:ey($),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,route:J},cacheability:nR(J.cacheability,X,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function CR($,_,U){if(!$.workspace_home)return null;let W=lR($),J=KW(W.workspace),X=bW($);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:_,machine_id:$.machine_id,project_id:G_(J.project_id)??U.project_id,repo_name:G_(J.repo_name)??U.repo_name,project_root:$.workspace_home,project_root_source:G_(X.project_root_source)??"registry",workspace_root:G_(J.workspace_root),workspace_root_source:G_(X.workspace_root_source)??"registry",open_files_root:G_(J.open_files_root),open_files_root_source:G_(X.open_files_root_source)??"registry",trust_status:G_(X.trust_status)??"unknown",auth_status:G_(X.auth_status)??"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,workspace:J},cacheability:nR(J.cacheability,X,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function TR($){if(!$)return null;let _=$.diagnostics.filter((W)=>W.severity!=="ok"),U=$.repair_hints[0];if(!_.length&&!$.warnings.length&&!U)return null;return[_.length?`workspace diagnostics: ${_.map((W)=>`${W.id}=${W.status}`).join(", ")}`:null,$.warnings.length?`warnings: ${$.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function RG($){return{id:$.id,reason:$.reason,command:["knowledge",...$.args],shell_command:ry($.args)}}function AG($,_){let U=d($);try{return Number(U.query(_).get()?.count??0)}finally{U.close()}}function $h($,_){let U=AG($,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),W=AG($,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),J=AG($,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),X=AG($,["SELECT COUNT(*) AS count FROM sources","WHERE metadata_json LIKE '%raw_bytes%'","OR metadata_json LIKE '%raw_content%'","OR metadata_json LIKE '%content_base64%'","OR metadata_json LIKE '%source_bytes%'"].join(" ")),G=X===0;return{ok:G,source_of_truth:"open-files",configured_root:_?.open_files_root??null,configured_root_source:_?.open_files_root_source??null,source_refs:{open_files:U,metadata_mentions:W},extracted_text_artifacts:J,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:X,message:G?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${X} raw source payload metadata sentinel(s) found`}}var _h=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function $O($,_=0){if(_>8)return!1;if(!$||typeof $!=="object")return!1;if(Array.isArray($))return $.some((U)=>$O(U,_+1));for(let[U,W]of Object.entries($)){if(_h.has(U.toLowerCase()))return!0;if($O(W,_+1))return!0}return!1}function UU($){try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function SR($,_=20,U=200){if(!Number.isFinite($)||$<=0)return _;return Math.min(Math.floor($),U)}function Uh($,_=220){let U=$??"";return U.length>_?`${U.slice(0,_)}...`:U}function s_($,_=["metadata_json"]){return $.map((U)=>{let W={...U};for(let J of _){let X=W[J];if(typeof X==="string"){let G=J.endsWith("_json")?J.slice(0,-5):J;W[G]=UU(X),delete W[J]}}return W})}function d_($,_,U=[]){return $.query(_).all(...U)}function Jh($){if(!x$($))return{exists:!1,read_error:null,items:[]};try{let _=JSON.parse(ny($,"utf8"));if(!_||!Array.isArray(_.items))return{exists:!0,read_error:"invalid_store_shape",items:[]};return{exists:!0,read_error:null,items:_.items}}catch(_){return{exists:!0,read_error:_ instanceof Error?_.message:String(_),items:[]}}}function ZR($){return{id:$.id,short_id:$.short_id??null,title:$.title,content_preview:Uh($.content),url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:$.archived===!0,created_at:$.created_at,updated_at:$.updated_at}}function vR(){return{schema_version:0,sources:0,source_revisions:0,chunks:0,wiki_pages:0,citations:0,indexes:0,runs:0,run_events:0,redaction_findings:0,audit_events:0,approval_gates:0,storage_objects:0,embeddings:0,vector_entries:0,reindex_queue:0,knowledge_machines:0,sync_snapshots:0,sync_changes:0,sync_conflicts:0,sync_table_clocks:0,sync_imports:0}}function rR($,_,U=!1){return{query:$,limit:_,offset:0,mode:{keyword:!0,catalog:!0,semantic:U},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:0,catalog_results:0,semantic_results:0,merged_results:0},warnings:["knowledge_db_missing"],results:[]}}function Wh($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Xh($,_,U=!1){let W=rR($,_,U);return{query:$,normalized_query:Wh($),created_at:new Date().toISOString(),mode:W.mode,warnings:W.warnings,search_counts:W.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function sq($,_,U){let W=U??_.jsonStorePath;if(x$(W))return W;if($==="global"){let J=bU();if(x$(J))return J}return W}function Gh($){let _=JSON.stringify($);return Math.max(1,Math.ceil(_.length/4))}function _O($,_){let U=($??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function yR($,_,U){let W=w_(_O($,U),_);return{text:W.text,redactions:W.findings.length}}function hR($,_,U){let W=$.now??new Date,J=$.source??"search",X=$.purpose??(J==="loops"||J==="runs"?"proposal":"agent_context"),G=($.query??$.topic??_.query).normalize("NFKC").trim().replace(/\s+/g," "),Q=Math.max(1,Math.min($.maxItems??$.limit??8,50)),Y=Math.max(500,Math.min($.maxTokens??6000,1e5)),j=0,O=_.citations.slice(0,Math.max(Q*2,Q)).map((A,M)=>{let K=yR(A.quote,U,M<3?220:140);j+=K.redactions;let I=A.source_ref??A.source_uri??A.artifact_path??A.artifact_uri??A.id;return{id:`cite_${FW("sha256").update(`${A.id}\x00${I}`).digest("hex").slice(0,12)}`,kind:A.artifact_uri||A.artifact_path?"artifact":"source",ref:I,source_ref:A.source_ref,source_uri:A.source_uri,artifact_uri:A.artifact_uri,artifact_path:A.artifact_path,run_id:null,run_event_id:null,revision:A.revision,hash:A.hash,chunk_id:A.chunk_id,offsets:{start:A.start_offset,end:A.end_offset},quote_preview:K.text}}),B=new Map(_.citations.map((A,M)=>[A.id,O[M]])),V=_.excerpts.slice(0,Math.max(Q*2,Q)).map((A)=>{let M=_.results.find((Z)=>Z.id===A.result_id),K=A.citation_id?B.get(A.citation_id):void 0,I=yR(A.text,U,520);return j+=I.redactions,{id:`ev_${FW("sha256").update(`${A.kind}\x00${A.result_id}\x00${A.citation_id??""}`).digest("hex").slice(0,14)}`,kind:A.kind,title:_O(M?.title??K?.ref??A.kind,100),text_preview:I.text,score:Number(A.score.toFixed(6)),citation_ids:K?[K.id]:[],provenance:{source:J,record_ref:`${A.kind}:${A.result_id}`,created_at:_.created_at,updated_at:null,metadata_keys:[]}}}).sort((A,M)=>M.score-A.score||A.id.localeCompare(M.id)).slice(0,Q),L=new Set(V.flatMap((A)=>A.citation_ids)),N=O.filter((A)=>L.has(A.id)),H=Array.from(new Set(_.warnings)),R=`ctx_${FW("sha256").update([J,X,G,H.join(","),V.map((A)=>A.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,E={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:W.toISOString(),source:J,purpose:X,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:R,budgets:{max_tokens:Y,estimated_tokens:0,max_items:Q,items_included:V.length,items_available:_.excerpts.length,items_truncated:Math.max(0,_.excerpts.length-V.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:j,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:N,evidence:V,duplicate_candidates:[],outline:{title:G?`Knowledge context: ${_O(G,80)}`:"Knowledge context",bullets:V.length>0?V.slice(0,5).map((A)=>`${A.id}: ${A.title}`):["No matching bounded evidence was found."],evidence_ids:V.slice(0,8).map((A)=>A.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:H,message:`${V.length} bounded evidence item(s), estimated under ${Y} token(s)`};return E.budgets.estimated_tokens=Gh(E),E.budgets.token_budget_exceeded=E.budgets.estimated_tokens>Y,E.message=`${E.evidence.length} bounded evidence item(s), estimated ${E.budgets.estimated_tokens}/${Y} token(s)`,E}function Qh(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Yh(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function jh($){return{ok:!0,scope:$.scope,workspace_home:$.workspaceHome,sqlite_schema_version:0,local_machine_id:$.localMachineId??null,machines:{total:0,rows:[]},snapshots:{total:0,latest:null},changes:{total:0,by_operation:[]},clocks:{total:0,rows:[]},imports:{total:0,latest:null},conflicts:{total:0,by_status:[],open:0},table_counts:{},message:"0 machine(s), 0 open sync conflict(s)"}}function xR($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=($.query??$.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),X=Math.max(1,Math.min($.maxItems??$.limit??8,50)),G=Math.max(500,Math.min($.maxTokens??6000,1e5)),Q=`ctx_${FW("sha256").update(["empty",U,W,J,$.topic??"",$.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:J,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:Q,budgets:{max_tokens:G,estimated_tokens:0,max_items:X,items_included:0,items_available:0,items_truncated:0,token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:0,reminders:["This pack is read-only and performs no durable writes.","No knowledge.db exists for this scope yet."]},citations:[],evidence:[],duplicate_candidates:[],outline:{title:J?`Context for ${J}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${G} token(s)`}}function UO($){let _=$.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return _?`${_}/`:null}function Dh($,_){let U=d($);try{let W=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),J=new Map,X=0,G=0,Q=0,Y=0,j=0,O=0,B=0,V=0,L=0,N=0,H=0,R=0,b=new Map,A=[],M=[],E=[],g=[],Z=_.artifact_store.uri_prefix,k=_O(_);for(let d$ of W){if(J.set(d$.kind,(J.get(d$.kind)??0)+1),d$.hash?.startsWith("sha256:"))X+=1;if(typeof d$.size_bytes==="number"&&d$.size_bytes>=0)G+=1,Q+=d$.size_bytes;if(d$.artifact_uri.startsWith(Z))Y+=1;else if(A.length<5)A.push(d$.artifact_uri);let W_=UU(d$.metadata_json);if(eq(W_))B+=1;let M1=typeof W_.key==="string"?W_.key:null;if(!M1)j+=1;else if(k&&M1.startsWith(k)){if(O+=1,M.length<5)M.push(M1)}let kO=typeof W_.artifact_modified_at==="string"?W_.artifact_modified_at:null;if(kO)if(Number.isNaN(Date.parse(kO))){if(L+=1,E.length<5)E.push(d$.artifact_uri)}else V+=1;let EU=W_.provenance&&typeof W_.provenance==="object"&&!Array.isArray(W_.provenance)?W_.provenance:null;if(EU){N+=1;let S5=typeof EU.artifact_key==="string"?EU.artifact_key:null,fO=typeof EU.generated_from==="string"?EU.generated_from:"unknown";if(b.set(fO,(b.get(fO)??0)+1),S5){if(H+=1,M1&&S5!==M1){if(R+=1,g.length<5)g.push(`${d$.artifact_uri}:provenance.artifact_key=${S5}:key=${M1}`)}}else if(g.length<5)g.push(`${d$.artifact_uri}:missing_provenance_artifact_key`)}else if(g.length<5)g.push(`${d$.artifact_uri}:missing_provenance`)}let r=W.length-X,i$=W.length-G,P$=W.length-V-L,p$=W.length-N,J_=N-H,O$=W.length-Y,Y_=[r>0?`artifact_manifest_missing_hash:${r}`:null,i$>0?`artifact_manifest_missing_size:${i$}`:null,j>0?`artifact_manifest_missing_key:${j}`:null,O$>0?`artifact_manifest_uri_prefix_mismatch:${O$}`:null,O>0?`artifact_manifest_s3_key_contains_storage_prefix:${O}`:null,L>0?`artifact_manifest_invalid_modified_at:${L}`:null,p$>0?`artifact_manifest_missing_provenance:${p$}`:null,J_>0?`artifact_manifest_missing_provenance_artifact_key:${J_}`:null,R>0?`artifact_manifest_provenance_key_mismatch:${R}`:null,B>0?`artifact_manifest_raw_payload_sentinels:${B}`:null].filter((d$)=>Boolean(d$)),t$=Y_.length===0;return{ok:t$,read_only:!0,storage_type:_.storage_type,artifact_uri_prefix:Z,s3:_.artifact_store.s3,artifacts:{total:W.length,by_kind:[...J.entries()].map(([d$,W_])=>({kind:d$,count:W_})).sort((d$,W_)=>d$.kind.localeCompare(W_.kind)),with_hash:X,missing_hash:r,with_size:G,missing_size:i$,total_size_bytes:Q},modified_time:{with_modified_at:V,missing_modified_at:P$,invalid_modified_at:L,examples:E},provenance:{with_provenance:N,missing_provenance:p$,with_artifact_key:H,missing_artifact_key:J_,artifact_key_mismatches:R,generated_from:[...b.entries()].map(([d$,W_])=>({value:d$,count:W_})).sort((d$,W_)=>d$.value.localeCompare(W_.value)),examples:g},uri_prefix:{matching:Y,mismatched:O$,examples:A},keys:{with_key:W.length-j,missing_key:j,prefixed_with_storage_prefix:O,prefixed_examples:M},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:O===0&&j===0,tracks_modified_time:V>0&&L===0,preserves_provenance:p$===0&&J_===0&&R===0},raw_payload_sentinel_hits:B,warnings:Y_,message:t$?`${W.length} generated artifact manifest row(s) ready for ${_.storage_type} sync`:`Generated artifact manifest needs attention: ${Y_.join(", ")}`}}finally{U.close()}}function zh($,_){let U=_O(_);if(!U)return[];let W=d($);try{let J=W.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY artifact_uri ASC`).all(),J=new Map,X=0,G=0,Q=0,Y=0,j=0,O=0,B=0,V=0,L=0,N=0,H=0,R=0,E=new Map,A=[],M=[],K=[],I=[],Z=_.artifact_store.uri_prefix,k=UO(_);for(let d$ of W){if(J.set(d$.kind,(J.get(d$.kind)??0)+1),d$.hash?.startsWith("sha256:"))X+=1;if(typeof d$.size_bytes==="number"&&d$.size_bytes>=0)G+=1,Q+=d$.size_bytes;if(d$.artifact_uri.startsWith(Z))Y+=1;else if(A.length<5)A.push(d$.artifact_uri);let W_=UU(d$.metadata_json);if($O(W_))B+=1;let M1=typeof W_.key==="string"?W_.key:null;if(!M1)j+=1;else if(k&&M1.startsWith(k)){if(O+=1,M.length<5)M.push(M1)}let PO=typeof W_.artifact_modified_at==="string"?W_.artifact_modified_at:null;if(PO)if(Number.isNaN(Date.parse(PO))){if(L+=1,K.length<5)K.push(d$.artifact_uri)}else V+=1;let KU=W_.provenance&&typeof W_.provenance==="object"&&!Array.isArray(W_.provenance)?W_.provenance:null;if(KU){N+=1;let ZG=typeof KU.artifact_key==="string"?KU.artifact_key:null,fO=typeof KU.generated_from==="string"?KU.generated_from:"unknown";if(E.set(fO,(E.get(fO)??0)+1),ZG){if(H+=1,M1&&ZG!==M1){if(R+=1,I.length<5)I.push(`${d$.artifact_uri}:provenance.artifact_key=${ZG}:key=${M1}`)}}else if(I.length<5)I.push(`${d$.artifact_uri}:missing_provenance_artifact_key`)}else if(I.length<5)I.push(`${d$.artifact_uri}:missing_provenance`)}let i=W.length-X,r$=W.length-G,f$=W.length-V-L,p$=W.length-N,J_=N-H,O$=W.length-Y,Y_=[i>0?`artifact_manifest_missing_hash:${i}`:null,r$>0?`artifact_manifest_missing_size:${r$}`:null,j>0?`artifact_manifest_missing_key:${j}`:null,O$>0?`artifact_manifest_uri_prefix_mismatch:${O$}`:null,O>0?`artifact_manifest_s3_key_contains_storage_prefix:${O}`:null,L>0?`artifact_manifest_invalid_modified_at:${L}`:null,p$>0?`artifact_manifest_missing_provenance:${p$}`:null,J_>0?`artifact_manifest_missing_provenance_artifact_key:${J_}`:null,R>0?`artifact_manifest_provenance_key_mismatch:${R}`:null,B>0?`artifact_manifest_raw_payload_sentinels:${B}`:null].filter((d$)=>Boolean(d$)),t$=Y_.length===0;return{ok:t$,read_only:!0,storage_type:_.storage_type,artifact_uri_prefix:Z,s3:_.artifact_store.s3,artifacts:{total:W.length,by_kind:[...J.entries()].map(([d$,W_])=>({kind:d$,count:W_})).sort((d$,W_)=>d$.kind.localeCompare(W_.kind)),with_hash:X,missing_hash:i,with_size:G,missing_size:r$,total_size_bytes:Q},modified_time:{with_modified_at:V,missing_modified_at:f$,invalid_modified_at:L,examples:K},provenance:{with_provenance:N,missing_provenance:p$,with_artifact_key:H,missing_artifact_key:J_,artifact_key_mismatches:R,generated_from:[...E.entries()].map(([d$,W_])=>({value:d$,count:W_})).sort((d$,W_)=>d$.value.localeCompare(W_.value)),examples:I},uri_prefix:{matching:Y,mismatched:O$,examples:A},keys:{with_key:W.length-j,missing_key:j,prefixed_with_storage_prefix:O,prefixed_examples:M},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:O===0&&j===0,tracks_modified_time:V>0&&L===0,preserves_provenance:p$===0&&J_===0&&R===0},raw_payload_sentinel_hits:B,warnings:Y_,message:t$?`${W.length} generated artifact manifest row(s) ready for ${_.storage_type} sync`:`Generated artifact manifest needs attention: ${Y_.join(", ")}`}}finally{U.close()}}function zh($,_){let U=UO(_);if(!U)return[];let W=d($);try{let J=W.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),X=[];for(let G of J){let Q=UU(G.metadata_json),Y=typeof Q.key==="string"?Q.key:null;if(!Y?.startsWith(U))continue;let j=Y.slice(U.length);if(!j)continue;X.push({id:G.id,artifact_uri:G.artifact_uri,kind:G.kind,current_key:Y,repaired_key:S6(j),hash:G.hash,size_bytes:G.size_bytes})}return X}finally{W.close()}}function qh($){let _=["--scope",$.scope,"--json"],U=$.tables?.length?["--tables",$.tables.join(",")]:[],W=[V5({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",..._]})];if($.machine&&!nR($.machine))W.push(V5({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",$.machine,...$.peerWorkspace?["--peer-workspace",$.peerWorkspace]:[],...U,..._]}));else if($.peerWorkspace)W.push(V5({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",$.peerWorkspace,...U,..._]}));for(let J of $.resolvedWorkspace?.repair_hints??[])W.push({id:J.id,reason:J.reason,command:J.command,shell_command:J.shell_command});if($.openConflicts>0)W.push(V5({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",..._]}));return W}function Oh(){let $=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",_=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!_)return{command:$,argsPrefix:[]};let U;try{U=JSON.parse(_)}catch(W){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${W instanceof Error?W.message:String(W)}`)}if(!Array.isArray(U)||!U.every((W)=>typeof W==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:$,argsPrefix:U}}function mR($,_,U,W){let J=Oh(),X=ny(J.command,[...J.argsPrefix,W.target,_],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((X.status??1)!==0){let G=W.source==="open-machines"?` via ${W.route??"resolved"}:${W.target}`:"";throw Error(`ssh ${$}${G} failed: ${(X.stderr||X.stdout||String(X.status)).trim()}`)}return X.stdout||""}function uR($,_,U){try{return JSON.parse(U)}catch(W){let J=U.trim().slice(0,240);throw Error(`Remote knowledge ${_} on ${$} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${J||String(W)}`)}}function Lh($,_){if(typeof _!=="object"||_===null||!("format"in _)||_.format!=="knowledge-sync-bundle")throw Error(`Remote knowledge sync export on ${$} did not return a knowledge sync bundle. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||U<x4||W>h4)throw Error(`Remote knowledge sync export on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Nh($,_){if(typeof _!=="object"||_===null||!("ok"in _)||!("target"in _)||!("tables"in _)||!("artifacts"in _)||!("conflicts_created"in _))throw Error(`Remote knowledge sync import on ${$} did not return a sync import result. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||U<x4||W>h4)throw Error(`Remote knowledge sync import on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Bh($){if(!$)return;let _=$.trim().toLowerCase();if(_==="local"||_==="offline")return"local";if(_==="hosted"||_==="remote"||_==="knowledge.md")return"hosted";throw Error("Invalid setup mode. Use hosted or local.")}class pR{options;ensuredWorkspace;cachedConfig;constructor($={}){this.options=$}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??dW(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=g1(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let $=this.ensureWorkspace();return XX({storePath:$.jsonStorePath,storePathOverridden:!1})}async listItems(){return this.itemStore().listAll()}async getItem($){return this.itemStore().get($)}async createItem($){return this.itemStore().create($)}async updateItem($,_){return this.itemStore().update($,_)}async deleteItem($){return this.itemStore().delete($)}async deleteItems($){return this.itemStore().deleteMany($)}async resolveInventory($={}){if(this.isApiMode())return this.cloudInventory($);return this.inventory($)}config($={}){let _=$.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||$.ensure||x$(_.configPath))this.cachedConfig=x$(_.configPath)?m5(_.configPath):MU();return this.cachedConfig}safetyPolicy(){return uN(this.config(),this.workspace)}artifactStore(){return TG(this.config(),this.ensureWorkspace())}storageContract(){return YX(this.config(),this.workspace,this.scope)}validateStorage(){return vG(this.config(),this.workspace)}assertStorageValid($){let _=this.validateStorage();if(!_.ok)throw Error(`Storage contract invalid before ${$}: ${_.errors.join("; ")}`)}migrateLegacyPath($={}){let _=this.workspace,U=x5(this.options.scope,this.options.cwd),W=IR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}mergeLegacyPath($={}){let _=this.workspace,U=x5(this.options.scope,this.options.cwd),W=MR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}setup($={}){let _=this.ensureWorkspace(),U=this.config({ensure:!0}),W=Bh($.mode)??U.mode,J=$.apiUrl?J4($.apiUrl):U.hosted?.api_url?J4(U.hosted.api_url):null,X={...U,mode:W,hosted:{...U.hosted??{},...J?{api_url:J}:{}},storage:$.canonicalExample?ZO():U.storage};vO(_.configPath,X),this.cachedConfig=X;let G=YX(X,_,this.scope);return{ok:!0,mode:W,api_url:X.hosted?.api_url??null,storage_type:X.storage.type,artifact_uri_prefix:G.artifact_store.uri_prefix,canonical_example:G.canonical_example,config_path:_.configPath,next:W==="hosted"?["knowledge auth login --api-key <key>","knowledge storage status --json"]:["knowledge search <query>","knowledge <prompt>"],message:`Set knowledge mode to ${W}`}}authStatus($=process.env){return kN(this.config(),$)}saveAuth($,_=process.env){let U=$.apiUrl??this.config().hosted?.api_url;return IN({api_key:$.apiKey,email:$.email,org_id:$.orgId,org_slug:$.orgSlug,user_id:$.userId,api_url:U},_)}clearAuth($=process.env){return wN($)}paths(){let $=this.workspace;return{ok:!0,scope:this.scope,home:$.home,exists:x$($.home),config_path:$.configPath,config_exists:x$($.configPath),json_store_path:$.jsonStorePath,json_store_exists:x$($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:x$($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,runs_dir:$.runsDir,schemas_dir:$.schemasDir,wiki_dir:$.wikiDir,config:this.config(),message:$.home}}initDb(){return $$(this.ensureWorkspace().knowledgeDbPath)}dbStats(){GX("reading knowledge.db stats");let $=this.workspace;if(!x$($.knowledgeDbPath))return vR();return fG($.knowledgeDbPath)}itemOnlyInventory($){let _=this.workspace,{items:U,limit:W,includeArchived:J,storePath:X,storeExists:G,storeReadError:Q}=$,Y=U.filter((V)=>V.archived!==!0),j=J?U:Y,O=vR(),B={legacy_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,schema_version:O.schema_version,sources:O.sources,source_revisions:O.source_revisions,chunks:O.chunks,wiki_pages:O.wiki_pages,citations:O.citations,indexes:O.indexes,runs:O.runs,run_events:O.run_events,storage_objects:O.storage_objects,embeddings:O.embeddings,vector_entries:O.vector_entries,reindex_queue:O.reindex_queue,redaction_findings:O.redaction_findings,audit_events:O.audit_events,approval_gates:O.approval_gates,knowledge_machines:O.knowledge_machines,sync_snapshots:O.sync_snapshots,sync_changes:O.sync_changes,sync_conflicts:O.sync_conflicts,sync_table_clocks:O.sync_table_clocks,sync_imports:O.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:W,paths:{json_store_path:_.jsonStorePath,json_store_exists:x$(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:x$(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:B,legacy_store:{path:X,exists:G,read_error:Q,total_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,items_returned:Math.min(j.length,W)},items:j.slice(0,W).map(ZR),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory($={}){let _=SR($.limit),U=await this.fetchCloudItems(),W=pU();return this.itemOnlyInventory({items:U,limit:_,includeArchived:$.includeArchived??!1,storePath:W?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory($={}){let _=this.workspace,U=SR($.limit),W=$.storePath??_.jsonStorePath,J=Jh(W),X=J.items.filter((O)=>O.archived!==!0),G=$.includeArchived?J.items:X;if(!x$(_.knowledgeDbPath))return this.itemOnlyInventory({items:J.items,limit:U,includeArchived:$.includeArchived??!1,storePath:W,storeExists:J.exists,storeReadError:J.read_error});$$(_.knowledgeDbPath);let Y=fG(_.knowledgeDbPath),j=d(_.knowledgeDbPath);try{let O=s_(d_(j,` + ORDER BY artifact_uri ASC`).all(),X=[];for(let G of J){let Q=UU(G.metadata_json),Y=typeof Q.key==="string"?Q.key:null;if(!Y?.startsWith(U))continue;let j=Y.slice(U.length);if(!j)continue;X.push({id:G.id,artifact_uri:G.artifact_uri,kind:G.kind,current_key:Y,repaired_key:S6(j),hash:G.hash,size_bytes:G.size_bytes})}return X}finally{W.close()}}function qh($){let _=["--scope",$.scope,"--json"],U=$.tables?.length?["--tables",$.tables.join(",")]:[],W=[RG({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",..._]})];if($.machine&&!cR($.machine))W.push(RG({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",$.machine,...$.peerWorkspace?["--peer-workspace",$.peerWorkspace]:[],...U,..._]}));else if($.peerWorkspace)W.push(RG({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",$.peerWorkspace,...U,..._]}));for(let J of $.resolvedWorkspace?.repair_hints??[])W.push({id:J.id,reason:J.reason,command:J.command,shell_command:J.shell_command});if($.openConflicts>0)W.push(RG({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",..._]}));return W}function Oh(){let $=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",_=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!_)return{command:$,argsPrefix:[]};let U;try{U=JSON.parse(_)}catch(W){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${W instanceof Error?W.message:String(W)}`)}if(!Array.isArray(U)||!U.every((W)=>typeof W==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:$,argsPrefix:U}}function mR($,_,U,W){let J=Oh(),X=cy(J.command,[...J.argsPrefix,W.target,_],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((X.status??1)!==0){let G=W.source==="open-machines"?` via ${W.route??"resolved"}:${W.target}`:"";throw Error(`ssh ${$}${G} failed: ${(X.stderr||X.stdout||String(X.status)).trim()}`)}return X.stdout||""}function uR($,_,U){try{return JSON.parse(U)}catch(W){let J=U.trim().slice(0,240);throw Error(`Remote knowledge ${_} on ${$} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${J||String(W)}`)}}function Lh($,_){if(typeof _!=="object"||_===null||!("format"in _)||_.format!=="knowledge-sync-bundle")throw Error(`Remote knowledge sync export on ${$} did not return a knowledge sync bundle. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||U<x4||W>h4)throw Error(`Remote knowledge sync export on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Nh($,_){if(typeof _!=="object"||_===null||!("ok"in _)||!("target"in _)||!("tables"in _)||!("artifacts"in _)||!("conflicts_created"in _))throw Error(`Remote knowledge sync import on ${$} did not return a sync import result. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||U<x4||W>h4)throw Error(`Remote knowledge sync import on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Bh($){if(!$)return;let _=$.trim().toLowerCase();if(_==="local"||_==="offline")return"local";if(_==="hosted"||_==="remote"||_==="knowledge.md")return"hosted";throw Error("Invalid setup mode. Use hosted or local.")}class pR{options;ensuredWorkspace;cachedConfig;constructor($={}){this.options=$}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??dW(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=I1(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let $=this.ensureWorkspace();return GX({storePath:$.jsonStorePath,storePathOverridden:!1})}async listItems(){return this.itemStore().listAll()}async getItem($){return this.itemStore().get($)}async createItem($){return this.itemStore().create($)}async updateItem($,_){return this.itemStore().update($,_)}async deleteItem($){return this.itemStore().delete($)}async deleteItems($){return this.itemStore().deleteMany($)}async resolveInventory($={}){if(this.isApiMode())return this.cloudInventory($);return this.inventory($)}config($={}){let _=$.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||$.ensure||x$(_.configPath))this.cachedConfig=x$(_.configPath)?uG(_.configPath):MU();return this.cachedConfig}safetyPolicy(){return uN(this.config(),this.workspace)}artifactStore(){return S5(this.config(),this.ensureWorkspace())}storageContract(){return jX(this.config(),this.workspace,this.scope)}validateStorage(){return y5(this.config(),this.workspace)}assertStorageValid($){let _=this.validateStorage();if(!_.ok)throw Error(`Storage contract invalid before ${$}: ${_.errors.join("; ")}`)}migrateLegacyPath($={}){let _=this.workspace,U=mG(this.options.scope,this.options.cwd),W=gR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}mergeLegacyPath($={}){let _=this.workspace,U=mG(this.options.scope,this.options.cwd),W=MR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}setup($={}){let _=this.ensureWorkspace(),U=this.config({ensure:!0}),W=Bh($.mode)??U.mode,J=$.apiUrl?J4($.apiUrl):U.hosted?.api_url?J4(U.hosted.api_url):null,X={...U,mode:W,hosted:{...U.hosted??{},...J?{api_url:J}:{}},storage:$.canonicalExample?vO():U.storage};yO(_.configPath,X),this.cachedConfig=X;let G=jX(X,_,this.scope);return{ok:!0,mode:W,api_url:X.hosted?.api_url??null,storage_type:X.storage.type,artifact_uri_prefix:G.artifact_store.uri_prefix,canonical_example:G.canonical_example,config_path:_.configPath,next:W==="hosted"?["knowledge auth login --api-key <key>","knowledge storage status --json"]:["knowledge search <query>","knowledge <prompt>"],message:`Set knowledge mode to ${W}`}}authStatus($=process.env){return kN(this.config(),$)}saveAuth($,_=process.env){let U=$.apiUrl??this.config().hosted?.api_url;return gN({api_key:$.apiKey,email:$.email,org_id:$.orgId,org_slug:$.orgSlug,user_id:$.userId,api_url:U},_)}clearAuth($=process.env){return wN($)}paths(){let $=this.workspace;return{ok:!0,scope:this.scope,home:$.home,exists:x$($.home),config_path:$.configPath,config_exists:x$($.configPath),json_store_path:$.jsonStorePath,json_store_exists:x$($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:x$($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,runs_dir:$.runsDir,schemas_dir:$.schemasDir,wiki_dir:$.wikiDir,config:this.config(),message:$.home}}initDb(){return $$(this.ensureWorkspace().knowledgeDbPath)}dbStats(){QX("reading knowledge.db stats");let $=this.workspace;if(!x$($.knowledgeDbPath))return vR();return f5($.knowledgeDbPath)}itemOnlyInventory($){let _=this.workspace,{items:U,limit:W,includeArchived:J,storePath:X,storeExists:G,storeReadError:Q}=$,Y=U.filter((V)=>V.archived!==!0),j=J?U:Y,O=vR(),B={legacy_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,schema_version:O.schema_version,sources:O.sources,source_revisions:O.source_revisions,chunks:O.chunks,wiki_pages:O.wiki_pages,citations:O.citations,indexes:O.indexes,runs:O.runs,run_events:O.run_events,storage_objects:O.storage_objects,embeddings:O.embeddings,vector_entries:O.vector_entries,reindex_queue:O.reindex_queue,redaction_findings:O.redaction_findings,audit_events:O.audit_events,approval_gates:O.approval_gates,knowledge_machines:O.knowledge_machines,sync_snapshots:O.sync_snapshots,sync_changes:O.sync_changes,sync_conflicts:O.sync_conflicts,sync_table_clocks:O.sync_table_clocks,sync_imports:O.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:W,paths:{json_store_path:_.jsonStorePath,json_store_exists:x$(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:x$(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:B,legacy_store:{path:X,exists:G,read_error:Q,total_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,items_returned:Math.min(j.length,W)},items:j.slice(0,W).map(ZR),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory($={}){let _=SR($.limit),U=await this.fetchCloudItems(),W=pU();return this.itemOnlyInventory({items:U,limit:_,includeArchived:$.includeArchived??!1,storePath:W?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory($={}){let _=this.workspace,U=SR($.limit),W=$.storePath??_.jsonStorePath,J=Jh(W),X=J.items.filter((O)=>O.archived!==!0),G=$.includeArchived?J.items:X;if(!x$(_.knowledgeDbPath))return this.itemOnlyInventory({items:J.items,limit:U,includeArchived:$.includeArchived??!1,storePath:W,storeExists:J.exists,storeReadError:J.read_error});$$(_.knowledgeDbPath);let Y=f5(_.knowledgeDbPath),j=d(_.knowledgeDbPath);try{let O=s_(d_(j,` SELECT s.id, s.uri, @@ -1138,7 +1138,7 @@ Pages should be concise, cited, and organized for both humans and agents. FROM runs ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),b=d_(j,` + `,[U])),E=d_(j,` SELECT provider, model, dimensions, status, COUNT(*) AS entries FROM vector_index_entries GROUP BY provider, model, dimensions, status @@ -1167,7 +1167,7 @@ Pages should be concise, cited, and organized for both humans and agents. FROM knowledge_machines ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U]),["tailscale_ips_json","capabilities_json","metadata_json"]),E=s_(d_(j,` + `,[U]),["tailscale_ips_json","capabilities_json","metadata_json"]),K=s_(d_(j,` SELECT id, entity_kind, @@ -1184,7 +1184,7 @@ Pages should be concise, cited, and organized for both humans and agents. FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ? - `,[U])),g=s_(d_(j,` + `,[U])),I=s_(d_(j,` SELECT id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at FROM approval_gates ORDER BY updated_at DESC, created_at DESC @@ -1194,17 +1194,17 @@ Pages should be concise, cited, and organized for both humans and agents. FROM audit_events ORDER BY created_at DESC LIMIT ? - `,[U])),k={legacy_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,schema_version:Y.schema_version,sources:Y.sources,source_revisions:Y.source_revisions,chunks:Y.chunks,wiki_pages:Y.wiki_pages,citations:Y.citations,indexes:Y.indexes,runs:Y.runs,run_events:Y.run_events,storage_objects:Y.storage_objects,embeddings:Y.embeddings,vector_entries:Y.vector_entries,reindex_queue:Y.reindex_queue,redaction_findings:Y.redaction_findings,audit_events:Y.audit_events,approval_gates:Y.approval_gates,knowledge_machines:Y.knowledge_machines,sync_snapshots:Y.sync_snapshots,sync_changes:Y.sync_changes,sync_conflicts:Y.sync_conflicts,sync_table_clocks:Y.sync_table_clocks,sync_imports:Y.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:U,paths:{json_store_path:W,json_store_exists:J.exists,knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:!0,artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:k,legacy_store:{path:W,exists:J.exists,read_error:J.read_error,total_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,items_returned:Math.min(G.length,U)},items:G.slice(0,U).map(ZR),sources:O,source_revisions:B,chunks:V,wiki_pages:L,indexes:N,storage_objects:H,runs:R,vector_indexes:b,reindex_queue:A,machines:M,sync_conflicts:E,approval_gates:g,audit_events:Z,message:`${J.items.length} item(s), ${Y.sources} source(s), ${Y.chunks} chunk(s), ${Y.wiki_pages} wiki page(s), ${Y.storage_objects} artifact(s)`}}finally{j.close()}}assertAppWikiWrite($){oU({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:$})}async initAppWiki($={}){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return GB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async addAppWikiNote($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return QB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal,title:$.title,content:$.content,tags:$.tags,sourceRefs:$.sourceRefs,path:$.path,metadata:$.metadata})}listAppWikiNotes($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return YB({dbPath:_.knowledgeDbPath,limit:$.limit})}async getAppWikiNote($,_={}){let U=this.workspace;if(!x$(U.knowledgeDbPath))return null;return jB({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:$,includeContent:_.includeContent})}async addAppWikiSourceRef($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return DB({scope:this.scope,workspace:_,sourceRef:$.sourceRef,purpose:$.purpose,config:this.config(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async searchAppWiki($){return this.search($)}async queryAppWiki($){return this.retrieveContext($)}async initWiki(){let $=this.ensureWorkspace();$$($.knowledgeDbPath);let _=await HR(this.artifactStore()),U=d($.knowledgeDbPath);try{W4(U,_.artifacts),VR(U,_.artifacts)}finally{U.close()}return _}async compileWiki($={}){let _=this.ensureWorkspace();return OR({...$,dbPath:_.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer($){let _=this.ensureWorkspace(),U=await this.retrieveContext({query:$.prompt,limit:$.limit,semantic:$.semantic,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake});return LR({dbPath:_.knowledgeDbPath,store:this.artifactStore(),prompt:$.prompt,answer:$.answer,context:U,approveWrite:$.approveWrite})}lintWiki(){let $=this.ensureWorkspace();return NR({dbPath:$.knowledgeDbPath})}async ingestManifest($){let _=this.ensureWorkspace();return _B({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource($,_){let U=this.ensureWorkspace();return LX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance($={}){let _=$.dryRun!==!1,U=_?this.workspace:this.ensureWorkspace();return UR({root:$.root??this.options.cwd??process.cwd(),scope:this.scope,owner:$.owner,dryRun:_,deprecateLegacy:$.deprecateLegacy,includeLegacy:$.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:$.maxItems,limit:$.limit})}async resolveSource($,_={}){let U=this.ensureWorkspace();return zX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_.purpose,limit:_.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox($){let _=this.ensureWorkspace();return KV({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return Qh();return lV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}enqueueReindex($={}){let _=this.ensureWorkspace();return Pq({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async refreshEmbeddings($={}){let _=this.ensureWorkspace();return rV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}providerStatus($=process.env){return NB(this.config(),$)}modelRegistry(){return iG(this.config())}embeddingStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return Yh();return bB($.knowledgeDbPath)}async indexEmbeddings($={}){let _=this.ensureWorkspace();return HX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}isApiMode(){return C4()}async fetchCloudItems(){let $=pU();if(!$)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return WX($)}async semanticSearch($){let _=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems(),W=await C0(U,{...$},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:W.results}}if(!x$(_.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:[]};return VX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async search($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return C0(W,$)}let U=aq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U))return FX({...$,legacyStorePath:U,config:this.config()});return iR($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return bX({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return KX(W,$)}let U=aq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U)){let W=await FX({...$,legacyStorePath:U,config:this.config()});return R2(W,{contextChars:$.contextChars})}return Xh($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return A2({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack($){let _=this.workspace;if(this.isApiMode()){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"){let J=await this.fetchCloudItems(),X=await C0(J,{...$,query:W}),G=R2(X,{contextChars:$.contextChars});return hR($,G,this.safetyPolicy())}return xR($)}let U=aq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"&&x$(U)){let J=await FX({...$,query:W,legacyStorePath:U,config:this.config()}),X=R2(J,{contextChars:$.contextChars});return hR($,X,this.safetyPolicy())}return xR($)}return aB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt($){if(this.isApiMode()){let W=await this.fetchCloudItems();return dB(W,{...$,config:this.config()})}let _=this.ensureWorkspace(),U=$.legacyStorePath??_.jsonStorePath;if(!$.legacyStorePath)kU(U);return uB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch($){let _=this.ensureWorkspace();return GR({...$,dbPath:_.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology($={}){let _=this.workspace;return xV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}async machinePreflight($={}){let _=this.workspace;return dV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}syncStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return jh({scope:this.scope,workspaceHome:$.home});return A3({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home})}async syncDoctor($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.syncStatus(),W=this.storageContract(),J=this.validateStorage(),X=Dh(_.knowledgeDbPath,W),G=$.machine?.trim()||null,Q=$.peerWorkspace?.trim()||null,Y=[],j=null,O=null;if(G&&!nR(G)){let H=await fq({machineId:G,includeTailscale:$.includeTailscale});j=tq(H),Y.push(...H.warnings)}if(G||Q){let H=await D5({machineId:G??oq(_),peerWorkspace:Q,includeTailscale:$.includeTailscale});if(G&&!Q&&(j?.source==="raw"||!H.ok||!H.project_root)){let R=fR(_.knowledgeDbPath,G);if(R){if(j?.source==="raw"&&R.ssh_target)j=tq(PR(R,G,{target:j.target,route:j.route,targetKind:j.target_kind,confidence:j.confidence,source:j.source,adapter:j.adapter,evidence:j.evidence,cacheability:j.cacheability,warnings:[]}));if(!H.ok||!H.project_root){let b=CR(R,G,H);if(b)O=bW(b,b.project_root),Y.push(...b.warnings)}}}O=H.ok&&H.project_root?bW(H,H.project_root):O??{...bW(H,Q??""),project_root:H.project_root??Q??""},Y.push(...H.warnings)}if(!J.ok)Y.push(...J.errors.map((H)=>`storage:${H}`));let B=$h(_.knowledgeDbPath,O);if(!B.ok)Y.push("open_files_boundary_raw_payload_sentinels");if(!X.ok)Y.push(...X.warnings);let V=O?.diagnostics.filter((H)=>H.severity==="fail")??[],L=J.ok&&X.ok&&B.ok&&V.length===0&&(O?.project_root!==""||!O),N=qh({scope:this.scope,machine:G,peerWorkspace:Q,tables:$.tables,resolvedWorkspace:O,openConflicts:U.conflicts.open});return{ok:L,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:_.home,database:{sqlite_schema_version:U.sqlite_schema_version,table_counts:U.table_counts},storage:{contract:W,validation:J,artifact_manifest:X},sync:{machines:U.machines.total,snapshots:U.snapshots.total,clocks:U.clocks.total,imports:U.imports.total,open_conflicts:U.conflicts.open,table_clocks:U.clocks.rows},open_files:B,resolved_route:j,resolved_workspace:O,recommended_commands:N,warnings:[...new Set(Y)],message:L?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(Y)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.storageContract(),W=_O(U),J=zh(_.knowledgeDbPath,U),X=$.dryRun===!0||$.approveWrite!==!0;if(J.length===0)return{ok:!0,dry_run:X,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if($.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:`Would repair ${J.length} legacy S3 artifact manifest key(s)`};if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by <name>"};let G=d(_.knowledgeDbPath);try{let Q=new Date().toISOString();G.transaction((O)=>{let B=G.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),V=G.query("SELECT id, metadata_json FROM storage_objects").all(),L=new Map(V.map((N)=>[N.id,UU(N.metadata_json)]));for(let N of O){let H=L.get(N.id)??{};H.key=N.repaired_key,B.run(JSON.stringify(H),Q,N.id)}})(J);let j=a$(G,{event_type:"artifact_manifest_key_repair",action:"storage.artifact_manifest.repair_keys",target_uri:`knowledge-storage://${_.home}/storage_objects`,decision:"allow",metadata:{approved_by:$.approvedBy,repaired:J.length,storage_type:U.storage_type,storage_prefix:W,artifact_uris:J.map((O)=>O.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:J.length,audit_event_id:j,message:`Repaired ${J.length} legacy S3 artifact manifest key(s)`}}finally{G.close()}}async createSyncSnapshot($={}){let _=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:$.includeTailscale!==!1});return R3({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),topology:U,machineId:$.machineId})}syncConflicts($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return b3(_.knowledgeDbPath,$)}syncConflict($){let _=this.ensureWorkspace(),U=SX(_.knowledgeDbPath,$);if(!U)throw Error(`Sync conflict not found: ${$}`);return U}proposeSyncConflictResolution($){let _=this.ensureWorkspace();return XJ(_.knowledgeDbPath,$)}async proposeSyncConflictResolutionWithAi($){let _=this.ensureWorkspace();return FV({dbPath:_.knowledgeDbPath,id:$.id,config:this.config(),modelRef:$.modelRef,fake:$.fake,env:$.env})}resolveSyncConflict($){let _=this.ensureWorkspace(),U=XJ(_.knowledgeDbPath,$.id);if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by <name>"};let W=K3(_.knowledgeDbPath,{id:$.id,strategy:$.strategy??U.proposed_strategy,approvedBy:$.approvedBy,proposedPatchUri:$.proposedPatchUri}),J=d(_.knowledgeDbPath);try{let X=a$(J,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${$.id}`,decision:"allow",metadata:{conflict_id:$.id,entity_kind:W.entity_kind,entity_id:W.entity_id,strategy:W.resolution_strategy,approved_by:W.approved_by,proposed_patch_uri:W.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:W,audit_event_id:X,message:`Resolved sync conflict ${$.id}`}}finally{J.close()}}syncMachines(){let $=this.workspace;if(!x$($.knowledgeDbPath))return[];return qQ($.knowledgeDbPath)}exportSyncBundle($={}){let _=this.ensureWorkspace();return this.assertStorageValid("sync export"),$$(_.knowledgeDbPath),WJ({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.recordClocks!==!1})}async importSyncBundle($){let _=this.ensureWorkspace();return this.assertStorageValid("sync import"),$$(_.knowledgeDbPath),TX({targetDbPath:_.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:_.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:$.bundle,direction:$.direction??"import",dryRun:$.dryRun,localMachineId:$.machineId??null})}async syncRemotePeer($){let _=$.direction??"both",U=$.dryRun===!0,W=this.ensureWorkspace();$$(W.knowledgeDbPath);let J=$.tables?.length?["--tables",$.tables.join(",")]:[],X=$.includeArtifactContent===!1?["--no-artifact-content"]:[],G=["--scope",this.scope,"--json"],Q=await fq({machineId:$.machine,includeTailscale:$.includeTailscale}),Y=await D5({machineId:$.machine,peerWorkspace:$.peerWorkspace,includeTailscale:$.includeTailscale});if(!$.peerWorkspace&&Q.source==="raw"||!Y.ok||!Y.project_root){let L=fR(W.knowledgeDbPath,$.machine);if(L){if(!$.peerWorkspace&&Q.source==="raw"&&L.ssh_target)Q=PR(L,$.machine,Q);if(!Y.ok||!Y.project_root){let N=CR(L,$.machine,Y);if(N)Y=N}}}if(!Y.ok||!Y.project_root)throw Error([`Unable to resolve peer workspace for ${$.machine}.`,"Pass --peer-workspace <repo-or-knowledge-home> or configure workspace path mapping in machines.",Y.warnings.length?`Warnings: ${Y.warnings.join(", ")}`:null].filter(Boolean).join(" "));let j=Y.project_root,O={ok:!0,dry_run:U,direction:_,transport:"ssh",machine:$.machine,resolved_machine:Q.target,resolved_route:tq(Q),resolved_workspace:bW(Y,Y.project_root),peer_workspace:j,message:""},B=!1,V=()=>{if(U||B)return;B3(W.knowledgeDbPath,{machineId:$.machine,route:Q,workspace:Y}),B=!0};if(_==="pull"||_==="both"){let L=kR(j,["sync","export",...G,...J,...X]),N=mR($.machine,L,void 0,Q),H=uR($.machine,"sync export",N);Lh($.machine,H),O.pull=await this.importSyncBundle({bundle:H,dryRun:U,direction:"pull",machineId:$.machineId??null})}if(_==="push"||_==="both"){V();let L=this.exportSyncBundle({machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:!U}),N=kR(j,["sync","import",...G,...U?["--dry-run"]:[]]),H=uR($.machine,"sync import",mR($.machine,N,JSON.stringify(L),Q));Nh($.machine,H),O.push=H}return O.ok=(O.pull?.ok??!0)&&(O.push?.ok??!0),V(),O.message=[TR(O.resolved_workspace),O.pull?`pull: ${O.pull.message}`:null,O.push?`push: ${O.push.message}`:null].filter(Boolean).join("; "),O}async syncPeer($){let _=$.direction??"both",U=this.ensureWorkspace();$$(U.knowledgeDbPath);let W=dR($.peerWorkspace),J=ry(W);$$(J.knowledgeDbPath);let X=m5(J.configPath),G=YX(X,J,this.scope),Q=TG(X,J),Y=$.machineId??oq(U),j=oq(J),O=await D5({machineId:$.machineId??j,peerWorkspace:W,includeTailscale:!1}),B=()=>WJ({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:Y,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),V=()=>WJ({dbPath:J.knowledgeDbPath,scope:this.scope,workspaceHome:J.home,storage:G,machineId:j,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),L={ok:!0,dry_run:$.dryRun===!0,direction:_,resolved_workspace:bW(O,O.project_root??W),message:""};if(_==="pull"||_==="both")L.pull=await TX({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:V(),targetBundle:B(),direction:"pull",dryRun:$.dryRun,localMachineId:Y});if(_==="push"||_==="both")L.push=await TX({targetDbPath:J.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:J.home,targetStorage:G,targetStore:Q,bundle:B(),targetBundle:V(),direction:"push",dryRun:$.dryRun,localMachineId:j});return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),L.message=[TR(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}}function A5($={}){return new pR($)}var Hh=Object.defineProperty,Vh=($)=>$;function Rh($,_){this[$]=Vh.bind(null,_)}var Ah=($,_)=>{for(var U in _)Hh($,U,{get:_[U],enumerable:!0,configurable:!0,set:Rh.bind(_,U)})},q={};Ah(q,{void:()=>Wx,util:()=>I$,unknown:()=>Ux,union:()=>Yx,undefined:()=>eh,tuple:()=>zx,transformer:()=>aR,symbol:()=>sh,string:()=>QA,strictObject:()=>Qx,setErrorMap:()=>Eh,set:()=>Lx,record:()=>qx,quotelessJson:()=>bh,promise:()=>Ax,preprocess:()=>Ex,pipeline:()=>Kx,ostring:()=>Mx,optional:()=>bx,onumber:()=>gx,oboolean:()=>Ix,objectUtil:()=>XO,object:()=>Gx,number:()=>YA,nullable:()=>Fx,null:()=>$x,never:()=>Jx,nativeEnum:()=>Rx,nan:()=>oh,map:()=>Ox,makeIssue:()=>F5,literal:()=>Hx,lazy:()=>Bx,late:()=>ih,isValid:()=>L1,isDirty:()=>QO,isAsync:()=>MW,isAborted:()=>GO,intersection:()=>Dx,instanceof:()=>ph,getParsedType:()=>V4,getErrorMap:()=>b5,function:()=>Nx,enum:()=>Vx,effect:()=>aR,discriminatedUnion:()=>jx,defaultErrorMap:()=>GU,datetimeRegex:()=>WA,date:()=>ah,custom:()=>GA,coerce:()=>wx,boolean:()=>jA,bigint:()=>th,array:()=>Xx,any:()=>_x,addIssueToContext:()=>u,ZodVoid:()=>IW,ZodUnknown:()=>_0,ZodUnion:()=>DU,ZodUndefined:()=>YU,ZodType:()=>F$,ZodTuple:()=>u6,ZodTransformer:()=>e_,ZodSymbol:()=>gW,ZodString:()=>R6,ZodSet:()=>H1,ZodSchema:()=>F$,ZodRecord:()=>wW,ZodReadonly:()=>HU,ZodPromise:()=>V1,ZodPipeline:()=>PW,ZodParsedType:()=>l,ZodOptional:()=>b6,ZodObject:()=>U_,ZodNumber:()=>U0,ZodNullable:()=>R4,ZodNull:()=>jU,ZodNever:()=>m6,ZodNativeEnum:()=>LU,ZodNaN:()=>fW,ZodMap:()=>kW,ZodLiteral:()=>OU,ZodLazy:()=>qU,ZodIssueCode:()=>T,ZodIntersection:()=>zU,ZodFunction:()=>XU,ZodFirstPartyTypeKind:()=>Q$,ZodError:()=>n_,ZodEnum:()=>W0,ZodEffects:()=>e_,ZodDiscriminatedUnion:()=>E5,ZodDefault:()=>NU,ZodDate:()=>N1,ZodCatch:()=>BU,ZodBranded:()=>K5,ZodBoolean:()=>QU,ZodBigInt:()=>J0,ZodArray:()=>A6,ZodAny:()=>B1,Schema:()=>F$,ParseStatus:()=>A_,OK:()=>I_,NEVER:()=>kx,INVALID:()=>W$,EMPTY_PATH:()=>Kh,DIRTY:()=>WU,BRAND:()=>rh});var I$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(I$||(I$={}));var XO;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(XO||(XO={}));var l=I$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),V4=($)=>{switch(typeof $){case"undefined":return l.undefined;case"string":return l.string;case"number":return Number.isNaN($)?l.nan:l.number;case"boolean":return l.boolean;case"function":return l.function;case"bigint":return l.bigint;case"symbol":return l.symbol;case"object":if(Array.isArray($))return l.array;if($===null)return l.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return l.promise;if(typeof Map<"u"&&$ instanceof Map)return l.map;if(typeof Set<"u"&&$ instanceof Set)return l.set;if(typeof Date<"u"&&$ instanceof Date)return l.date;return l.object;default:return l.unknown}},T=I$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),bh=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class n_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof n_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,I$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}n_.create=($)=>{return new n_($)};var Fh=($,_)=>{let U;switch($.code){case T.invalid_type:if($.received===l.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case T.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,I$.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:U=`Unrecognized key(s) in object: ${I$.joinValues($.keys,", ")}`;break;case T.invalid_union:U="Invalid input";break;case T.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${I$.joinValues($.options)}`;break;case T.invalid_enum_value:U=`Invalid enum value. Expected ${I$.joinValues($.options)}, received '${$.received}'`;break;case T.invalid_arguments:U="Invalid function arguments";break;case T.invalid_return_type:U="Invalid function return type";break;case T.invalid_date:U="Invalid date";break;case T.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else I$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case T.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case T.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case T.custom:U="Invalid input";break;case T.invalid_intersection_types:U="Intersection results could not be merged";break;case T.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case T.not_finite:U="Number must be finite";break;default:U=_.defaultError,I$.assertNever($)}return{message:U}},GU=Fh,_A=GU;function Eh($){_A=$}function b5(){return _A}var F5=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},Kh=[];function u($,_){let U=b5(),W=F5({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===GU?void 0:GU].filter((J)=>!!J)});$.common.issues.push(W)}class A_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return W$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return A_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return W$;if(X.status==="aborted")return W$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var W$=Object.freeze({status:"aborted"}),WU=($)=>({status:"dirty",value:$}),I_=($)=>({status:"valid",value:$}),GO=($)=>$.status==="aborted",QO=($)=>$.status==="dirty",L1=($)=>$.status==="valid",MW=($)=>typeof Promise<"u"&&$ instanceof Promise,e;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(e||(e={}));class F6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var oR=($,_)=>{if(L1(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new n_($.common.issues);return this._error=U,this._error}}}};function B$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class F${get description(){return this._def.description}_getType($){return V4($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new A_,ctx:{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(MW(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parseSync({data:$,path:U.path,parent:U});return oR(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return L1(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>L1(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(MW(W)?W:Promise.resolve(W));return oR(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:T.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new e_({schema:this,typeName:Q$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return b6.create(this,this._def)}nullable(){return R4.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return A6.create(this)}promise(){return V1.create(this,this._def)}or($){return DU.create([this,$],this._def)}and($){return zU.create(this,$,this._def)}transform($){return new e_({...B$(this._def),schema:this,typeName:Q$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new NU({...B$(this._def),innerType:this,defaultValue:_,typeName:Q$.ZodDefault})}brand(){return new K5({typeName:Q$.ZodBranded,type:this,...B$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new BU({...B$(this._def),innerType:this,catchValue:_,typeName:Q$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return PW.create(this,$)}readonly(){return HU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Mh=/^c[^\s-]{8,}$/i,gh=/^[0-9a-z]+$/,Ih=/^[0-9A-HJKMNP-TV-Z]{26}$/i,wh=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,kh=/^[a-z0-9_-]{21}$/i,fh=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ph=/^[-+]?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)?)??$/,Ch=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Th="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",UO,Sh=/^(?:(?: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])$/,Zh=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,vh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,yh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,hh=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,xh=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,UA="((\\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])))",mh=new RegExp(`^${UA}$`);function JA($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function uh($){return new RegExp(`^${JA($)}$`)}function WA($){let _=`${UA}T${JA($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function dh($,_){if((_==="v4"||!_)&&Sh.test($))return!0;if((_==="v6"||!_)&&vh.test($))return!0;return!1}function nh($,_){if(!fh.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function ch($,_){if((_==="v4"||!_)&&Zh.test($))return!0;if((_==="v6"||!_)&&yh.test($))return!0;return!1}class R6 extends F${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==l.string){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.string,received:J.parsedType}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)u(W,{code:T.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!Ch.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"email",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!UO)UO=new RegExp(Th,"u");if(!UO.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"emoji",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!wh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"uuid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!kh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"nanoid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!Mh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"cuid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!gh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"cuid2",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!Ih.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"ulid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),u(W,{validation:"url",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"regex",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!WA(J).test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!mh.test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!uh(J).test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!Ph.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"duration",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!dh($.data,J.version))W=this._getOrReturnCtx($,W),u(W,{validation:"ip",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!nh($.data,J.alg))W=this._getOrReturnCtx($,W),u(W,{validation:"jwt",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!ch($.data,J.version))W=this._getOrReturnCtx($,W),u(W,{validation:"cidr",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!hh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"base64",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!xh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"base64url",code:T.invalid_string,message:J.message}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:T.invalid_string,...e.errToObj(U)})}_addCheck($){return new R6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...e.errToObj($)})}url($){return this._addCheck({kind:"url",...e.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...e.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...e.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...e.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...e.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...e.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...e.errToObj($)})}base64($){return this._addCheck({kind:"base64",...e.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...e.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...e.errToObj($)})}ip($){return this._addCheck({kind:"ip",...e.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...e.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...e.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...e.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...e.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...e.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...e.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...e.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...e.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...e.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...e.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...e.errToObj(_)})}nonempty($){return this.min(1,e.errToObj($))}trim(){return new R6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}R6.create=($)=>{return new R6({checks:[],typeName:Q$.ZodString,coerce:$?.coerce??!1,...B$($)})};function lh($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class U0 extends F${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==l.number){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.number,received:J.parsedType}),W$}let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="int"){if(!I$.isInteger($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(lh($.data,J.value)!==0)U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.not_finite,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new U0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new U0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:e.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}finite($){return this._addCheck({kind:"finite",message:e.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:e.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:e.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&I$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}U0.create=($)=>{return new U0({checks:[],typeName:Q$.ZodNumber,coerce:$?.coerce||!1,...B$($)})};class J0 extends F${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==l.bigint)return this._getInvalidInput($);let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.bigint,received:_.parsedType}),W$}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new J0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new J0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}J0.create=($)=>{return new J0({checks:[],typeName:Q$.ZodBigInt,coerce:$?.coerce??!1,...B$($)})};class QU extends F${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==l.boolean){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.boolean,received:U.parsedType}),W$}return I_($.data)}}QU.create=($)=>{return new QU({typeName:Q$.ZodBoolean,coerce:$?.coerce||!1,...B$($)})};class N1 extends F${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==l.date){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.date,received:J.parsedType}),W$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_date}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new N1({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:e.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:e.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}N1.create=($)=>{return new N1({checks:[],coerce:$?.coerce||!1,typeName:Q$.ZodDate,...B$($)})};class gW extends F${_parse($){if(this._getType($)!==l.symbol){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.symbol,received:U.parsedType}),W$}return I_($.data)}}gW.create=($)=>{return new gW({typeName:Q$.ZodSymbol,...B$($)})};class YU extends F${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.undefined,received:U.parsedType}),W$}return I_($.data)}}YU.create=($)=>{return new YU({typeName:Q$.ZodUndefined,...B$($)})};class jU extends F${_parse($){if(this._getType($)!==l.null){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.null,received:U.parsedType}),W$}return I_($.data)}}jU.create=($)=>{return new jU({typeName:Q$.ZodNull,...B$($)})};class B1 extends F${constructor(){super(...arguments);this._any=!0}_parse($){return I_($.data)}}B1.create=($)=>{return new B1({typeName:Q$.ZodAny,...B$($)})};class _0 extends F${constructor(){super(...arguments);this._unknown=!0}_parse($){return I_($.data)}}_0.create=($)=>{return new _0({typeName:Q$.ZodUnknown,...B$($)})};class m6 extends F${_parse($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.never,received:_.parsedType}),W$}}m6.create=($)=>{return new m6({typeName:Q$.ZodNever,...B$($)})};class IW extends F${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.void,received:U.parsedType}),W$}return I_($.data)}}IW.create=($)=>{return new IW({typeName:Q$.ZodVoid,...B$($)})};class A6 extends F${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==l.array)return u(_,{code:T.invalid_type,expected:l.array,received:_.parsedType}),W$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)u(_,{code:X?T.too_big:T.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)u(_,{code:T.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)u(_,{code:T.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new F6(_,X,_.path,G))})).then((X)=>{return A_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new F6(_,X,_.path,G))});return A_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new A6({...this._def,minLength:{value:$,message:e.toString(_)}})}max($,_){return new A6({...this._def,maxLength:{value:$,message:e.toString(_)}})}length($,_){return new A6({...this._def,exactLength:{value:$,message:e.toString(_)}})}nonempty($){return this.min(1,$)}}A6.create=($,_)=>{return new A6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:Q$.ZodArray,...B$(_)})};function JU($){if($ instanceof U_){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=b6.create(JU(W))}return new U_({...$._def,shape:()=>_})}else if($ instanceof A6)return new A6({...$._def,type:JU($.element)});else if($ instanceof b6)return b6.create(JU($.unwrap()));else if($ instanceof R4)return R4.create(JU($.unwrap()));else if($ instanceof u6)return u6.create($.items.map((_)=>JU(_)));else return $}class U_ extends F${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=I$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==l.object){let Y=this._getOrReturnCtx($);return u(Y,{code:T.invalid_type,expected:l.object,received:Y.parsedType}),W$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof m6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new F6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof m6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)u(W,{code:T.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new F6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return A_.mergeObjectSync(U,Y)});else return A_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return e.errToObj,new U_({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:e.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new U_({...this._def,unknownKeys:"strip"})}passthrough(){return new U_({...this._def,unknownKeys:"passthrough"})}extend($){return new U_({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new U_({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:Q$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new U_({...this._def,catchall:$})}pick($){let _={};for(let U of I$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}omit($){let _={};for(let U of I$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}deepPartial(){return JU(this)}partial($){let _={};for(let U of I$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new U_({...this._def,shape:()=>_})}required($){let _={};for(let U of I$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof b6)J=J._def.innerType;_[U]=J}return new U_({...this._def,shape:()=>_})}keyof(){return XA(I$.objectKeys(this.shape))}}U_.create=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.strictCreate=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strict",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.lazycreate=($,_)=>{return new U_({shape:$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};class DU extends F${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new n_(G.ctx.common.issues));return u(_,{code:T.invalid_union,unionErrors:X}),W$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new n_(Q));return u(_,{code:T.invalid_union,unionErrors:G}),W$}}get options(){return this._def.options}}DU.create=($,_)=>{return new DU({options:$,typeName:Q$.ZodUnion,...B$(_)})};var H4=($)=>{if($ instanceof qU)return H4($.schema);else if($ instanceof e_)return H4($.innerType());else if($ instanceof OU)return[$.value];else if($ instanceof W0)return $.options;else if($ instanceof LU)return I$.objectValues($.enum);else if($ instanceof NU)return H4($._def.innerType);else if($ instanceof YU)return[void 0];else if($ instanceof jU)return[null];else if($ instanceof b6)return[void 0,...H4($.unwrap())];else if($ instanceof R4)return[null,...H4($.unwrap())];else if($ instanceof K5)return H4($.unwrap());else if($ instanceof HU)return H4($.unwrap());else if($ instanceof BU)return H4($._def.innerType);else return[]};class E5 extends F${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.object)return u(_,{code:T.invalid_type,expected:l.object,received:_.parsedType}),W$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return u(_,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),W$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=H4(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new E5({typeName:Q$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...B$(U)})}}function YO($,_){let U=V4($),W=V4(_);if($===_)return{valid:!0,data:$};else if(U===l.object&&W===l.object){let J=I$.objectKeys(_),X=I$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=YO($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===l.array&&W===l.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=YO(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===l.date&&W===l.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class zU extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(GO(J)||GO(X))return W$;let G=YO(J.value,X.value);if(!G.valid)return u(U,{code:T.invalid_intersection_types}),W$;if(QO(J)||QO(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}zU.create=($,_,U)=>{return new zU({left:$,right:_,typeName:Q$.ZodIntersection,...B$(U)})};class u6 extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.array)return u(U,{code:T.invalid_type,expected:l.array,received:U.parsedType}),W$;if(U.data.length<this._def.items.length)return u(U,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W$;if(!this._def.rest&&U.data.length>this._def.items.length)u(U,{code:T.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new F6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return A_.mergeArray(_,X)});else return A_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new u6({...this._def,rest:$})}}u6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new u6({items:$,typeName:Q$.ZodTuple,rest:null,...B$(_)})};class wW extends F${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.object)return u(U,{code:T.invalid_type,expected:l.object,received:U.parsedType}),W$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new F6(U,G,U.path,G)),value:X._parse(new F6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return A_.mergeObjectAsync(_,W);else return A_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof F$)return new wW({keyType:$,valueType:_,typeName:Q$.ZodRecord,...B$(U)});return new wW({keyType:R6.create(),valueType:$,typeName:Q$.ZodRecord,...B$(_)})}}class kW extends F${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.map)return u(U,{code:T.invalid_type,expected:l.map,received:U.parsedType}),W$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new F6(U,G,U.path,[Y,"key"])),value:J._parse(new F6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}kW.create=($,_,U)=>{return new kW({valueType:_,keyType:$,typeName:Q$.ZodMap,...B$(U)})};class H1 extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.set)return u(U,{code:T.invalid_type,expected:l.set,received:U.parsedType}),W$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)u(U,{code:T.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)u(U,{code:T.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return W$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new F6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new H1({...this._def,minSize:{value:$,message:e.toString(_)}})}max($,_){return new H1({...this._def,maxSize:{value:$,message:e.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}H1.create=($,_)=>{return new H1({valueType:$,minSize:null,maxSize:null,typeName:Q$.ZodSet,...B$(_)})};class XU extends F${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.function)return u(_,{code:T.invalid_type,expected:l.function,received:_.parsedType}),W$;function U(G,Q){return F5({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,b5(),GU].filter((Y)=>!!Y),issueData:{code:T.invalid_arguments,argumentsError:Q}})}function W(G,Q){return F5({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,b5(),GU].filter((Y)=>!!Y),issueData:{code:T.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof V1){let G=this;return I_(async function(...Q){let Y=new n_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return I_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new n_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new n_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new XU({...this._def,args:u6.create($).rest(_0.create())})}returns($){return new XU({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new XU({args:$?$:u6.create([]).rest(_0.create()),returns:_||_0.create(),typeName:Q$.ZodFunction,...B$(U)})}}class qU extends F${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}qU.create=($,_)=>{return new qU({getter:$,typeName:Q$.ZodLazy,...B$(_)})};class OU extends F${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return u(_,{received:_.data,code:T.invalid_literal,expected:this._def.value}),W$}return{status:"valid",value:$.data}}get value(){return this._def.value}}OU.create=($,_)=>{return new OU({value:$,typeName:Q$.ZodLiteral,...B$(_)})};function XA($,_){return new W0({values:$,typeName:Q$.ZodEnum,...B$(_)})}class W0 extends F${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{expected:I$.joinValues(U),received:_.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{received:_.data,code:T.invalid_enum_value,options:U}),W$}return I_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return W0.create($,{...this._def,..._})}exclude($,_=this._def){return W0.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}W0.create=XA;class LU extends F${_parse($){let _=I$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==l.string&&U.parsedType!==l.number){let W=I$.objectValues(_);return u(U,{expected:I$.joinValues(W),received:U.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(I$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=I$.objectValues(_);return u(U,{received:U.data,code:T.invalid_enum_value,options:W}),W$}return I_($.data)}get enum(){return this._def.values}}LU.create=($,_)=>{return new LU({values:$,typeName:Q$.ZodNativeEnum,...B$(_)})};class V1 extends F${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.promise&&_.common.async===!1)return u(_,{code:T.invalid_type,expected:l.promise,received:_.parsedType}),W$;let U=_.parsedType===l.promise?_.data:Promise.resolve(_.data);return I_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}V1.create=($,_)=>{return new V1({type:$,typeName:Q$.ZodPromise,...B$(_)})};class e_ extends F${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(u(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return W$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return W$;if(Q.status==="dirty")return WU(Q.value);if(_.value==="dirty")return WU(Q.value);return Q});else{if(_.value==="aborted")return W$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")return WU(G.value);if(_.value==="dirty")return WU(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!L1(X))return W$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!L1(X))return W$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});I$.assertNever(W)}}e_.create=($,_,U)=>{return new e_({schema:$,typeName:Q$.ZodEffects,effect:_,...B$(U)})};e_.createWithPreprocess=($,_,U)=>{return new e_({schema:_,effect:{type:"preprocess",transform:$},typeName:Q$.ZodEffects,...B$(U)})};class b6 extends F${_parse($){if(this._getType($)===l.undefined)return I_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}b6.create=($,_)=>{return new b6({innerType:$,typeName:Q$.ZodOptional,...B$(_)})};class R4 extends F${_parse($){if(this._getType($)===l.null)return I_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}R4.create=($,_)=>{return new R4({innerType:$,typeName:Q$.ZodNullable,...B$(_)})};class NU extends F${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===l.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}NU.create=($,_)=>{return new NU({innerType:$,typeName:Q$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...B$(_)})};class BU extends F${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(MW(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new n_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new n_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}BU.create=($,_)=>{return new BU({innerType:$,typeName:Q$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...B$(_)})};class fW extends F${_parse($){if(this._getType($)!==l.nan){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.nan,received:U.parsedType}),W$}return{status:"valid",value:$.data}}}fW.create=($)=>{return new fW({typeName:Q$.ZodNaN,...B$($)})};var rh=Symbol("zod_brand");class K5 extends F${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class PW extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return W$;if(J.status==="dirty")return _.dirty(),WU(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return W$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new PW({in:$,out:_,typeName:Q$.ZodPipeline})}}class HU extends F${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(L1(W))W.value=Object.freeze(W.value);return W};return MW(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}HU.create=($,_)=>{return new HU({innerType:$,typeName:Q$.ZodReadonly,...B$(_)})};function tR($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function GA($,_={},U){if($)return B1.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=tR(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=tR(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return B1.create()}var ih={object:U_.lazycreate},Q$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(Q$||(Q$={}));var ph=($,_={message:`Input not instance of ${$.name}`})=>GA((U)=>U instanceof $,_),QA=R6.create,YA=U0.create,oh=fW.create,th=J0.create,jA=QU.create,ah=N1.create,sh=gW.create,eh=YU.create,$x=jU.create,_x=B1.create,Ux=_0.create,Jx=m6.create,Wx=IW.create,Xx=A6.create,Gx=U_.create,Qx=U_.strictCreate,Yx=DU.create,jx=E5.create,Dx=zU.create,zx=u6.create,qx=wW.create,Ox=kW.create,Lx=H1.create,Nx=XU.create,Bx=qU.create,Hx=OU.create,Vx=W0.create,Rx=LU.create,Ax=V1.create,aR=e_.create,bx=b6.create,Fx=R4.create,Ex=e_.createWithPreprocess,Kx=PW.create,Mx=()=>QA().optional(),gx=()=>YA().optional(),Ix=()=>jA().optional(),wx={string:($)=>R6.create({...$,coerce:!0}),number:($)=>U0.create({...$,coerce:!0}),boolean:($)=>QU.create({...$,coerce:!0}),bigint:($)=>J0.create({...$,coerce:!0}),date:($)=>N1.create({...$,coerce:!0})},kx=W$;var i={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},DA=q.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),c_=q.string().datetime(),z$=q.string().trim().min(1),E6=z$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),zA=q.string().regex(/^[a-fA-F0-9]{64}$/),qA=q.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),A4=q.record(q.unknown()),AU=q.array(q.string().min(1)).default([]),R1=c_.nullable().optional(),fx=new Set(["succeeded","failed","cancelled","blocked","skipped"]),b1=q.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function m$($){return q.object({schema:q.literal($),id:q.string().min(1),createdAt:c_,updatedAt:R1,metadata:A4.optional()}).strict()}var Ga=q.object({schema:DA,id:q.string().min(1),createdAt:c_,updatedAt:R1,metadata:A4.optional()}).strict(),OA=q.enum(["agent","human","service","model","workflow","system"]),Px=m$(i.actorRef).extend({kind:OA,name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional(),capabilities:q.array(q.string().min(1)).default([])}).strict(),d6=q.object({kind:OA,id:q.string().min(1),name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional()}).strict(),LA=q.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),Cx=m$(i.resourceRef).extend({kind:LA,name:q.string().min(1).optional(),uri:E6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:AU}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),b$=q.object({kind:LA,id:q.string().min(1),name:q.string().min(1).optional(),uri:E6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:AU}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),jO=q.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),Tx=q.enum(["none","partial","full","unknown"]),Sx=m$(i.evidenceRef).extend({kind:jO,uri:E6,sha256:zA.optional(),summary:q.string().min(1).optional(),contentType:q.string().min(1).optional(),sizeBytes:q.number().int().nonnegative().optional(),redaction:Tx.default("unknown"),producer:d6.optional(),resourceRefs:q.array(b$).default([]),tags:AU}).strict(),r$=q.object({id:q.string().min(1),kind:jO.optional(),uri:E6.optional(),sha256:zA.optional(),summary:q.string().min(1).optional()}).strict(),CW=m$(i.costEstimate).extend({currency:q.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:q.number().int().nonnegative(),provider:q.string().min(1).optional(),model:q.string().min(1).optional(),accountId:q.string().min(1).optional(),promptTokens:q.number().int().nonnegative().optional(),completionTokens:q.number().int().nonnegative().optional(),totalTokens:q.number().int().nonnegative().optional(),basis:q.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:q.array(b$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:q.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),Zx=q.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),NA=m$(i.decisionEnvelope).extend({decisionType:q.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:Zx,actor:d6.optional(),traceId:q.string().min(1).optional(),inputHash:qA.optional(),policyBundleId:q.string().min(1).optional(),selected:q.array(b$).default([]),skipped:q.array(b$).default([]),reason:q.string().min(1),obligations:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),costEstimate:CW.optional(),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),vx=m$(i.capabilityCard).extend({kind:q.enum(["model","tool","machine","agent","lane","connector","service"]),name:q.string().min(1),version:q.string().min(1).optional(),status:q.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:q.array(q.string().min(1)).default([]),limitations:q.array(q.string().min(1)).default([]),riskLevel:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:CW.optional(),evidenceRefs:q.array(r$).default([])}).strict(),VU=q.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),yx=q.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),hx=q.object({refName:z$,requiredForModes:q.array(VU).min(1),allowedSecretInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:z$,revocationCheck:q.boolean().default(!0)}).strict(),xx=q.object({operation:z$,supportedModes:q.array(VU).min(1),sideEffectClass:yx,requiresApproval:q.boolean().default(!1),requiresIdempotencyKey:q.boolean().default(!1),requiresSandboxEvidence:q.boolean().default(!1),requiresRollbackOrRevocation:q.boolean().default(!1),rollbackOrRevocation:z$.optional(),noSideEffectSmoke:z$.optional(),reconciliation:z$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),mx=q.object({providerId:z$,appId:z$,adapterId:z$,ownerPackage:z$,modes:q.array(VU).min(1),defaultMode:VU,credentialRequirements:q.array(hx).default([]),operations:q.array(xx).min(1),rateLimitPosture:z$,costPosture:z$.optional(),auditEvents:q.array(z$).default([]),redactionRules:q.array(z$).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:q.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),ux=q.object({appId:z$,repo:z$,priority:q.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:q.array(z$).min(1),firstOperations:q.array(z$).min(1),blockedUntil:q.array(z$).default([])}).strict(),dx=m$(i.providerLiveModeStandard).extend({name:z$,version:z$,modes:q.array(VU).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:q.array(z$).min(1),liveMutationGate:q.object({requiredMode:q.literal("live_mutating"),requiredChecks:q.array(z$).min(1),forbiddenBypassSignals:q.array(z$).min(1),disabledLiveSmoke:z$}).strict(),noSideEffectSmoke:q.object({requiredForModes:q.array(VU).min(1),commandEvidence:q.array(z$).min(1),secretOutputScan:q.boolean().default(!0)}).strict(),credentialPolicy:q.object({acceptedInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:q.literal(!1),missingCredentialBehavior:q.literal("fail_closed"),revocationCheckRequired:q.boolean().default(!0)}).strict(),operationCards:q.array(mx).min(1),firstAdoptionTargets:q.array(ux).min(1),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),nx=q.object({id:q.string().min(1),title:q.string().min(1).optional(),summary:q.string().min(1),text:q.string().optional(),tokens:q.number().int().nonnegative().optional(),source:r$,resourceRefs:q.array(b$).default([])}).strict(),BA=m$(i.contextPack).extend({objective:q.string().min(1),budget:q.object({maxTokens:q.number().int().positive().optional(),maxBytes:q.number().int().positive().optional()}).strict().optional(),items:q.array(nx).default([]),citations:q.array(r$).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),permissions:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),conflicts:q.array(q.string().min(1)).default([]),uncertainty:q.string().min(1).optional()}).strict(),V6=z$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),A1=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),cx=q.enum(["public","internal","private","sensitive"]),lx=q.enum(["draft","active","paused","archived"]),DO=q.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),HA=m$(i.integrationRef).extend({kind:DO,name:q.string().min(1),projectId:A1.optional(),sourcePackage:z$.optional(),externalId:z$.optional(),uri:E6.optional(),enabled:q.boolean().default(!0),readOnly:q.boolean().default(!0),capabilities:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:b$.optional(),evidenceRefs:q.array(r$).default([]),config:A4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),rx=q.object({schemaRoot:V6.default(".hasna/project"),dashboardManifest:V6.default(".hasna/project/dashboard.render.json"),snapshotsDir:V6.default(".hasna/project/snapshots"),documentsDir:V6.default("documents"),reportsDir:V6.default("reports"),evidenceDir:V6.default(".hasna/project/evidence"),privateDir:V6.default(".hasna/project/private")}).strict(),ix=m$(i.projectManifest).extend({projectId:A1,slug:A1,name:q.string().min(1),summary:q.string().min(1).optional(),status:lx.default("active"),classification:cx.default("private"),owner:d6.optional(),layout:rx.default({}),integrations:q.array(HA).default([]),renderManifests:q.array(b$).default([]),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),tags:AU}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:q.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),px=q.enum(["local","package","provider","url"]),zO=q.object({id:q.string().min(1),kind:px,specifier:q.string().min(1),path:V6.optional(),packageName:q.string().min(1).optional(),uri:E6.optional(),provider:DO.optional(),schemaId:DA.optional(),integrity:qA.optional(),resourceRef:b$.optional(),optional:q.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:q.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:q.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:q.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ox=q.enum(["dashboard","canvas","panel","report","document","custom"]),tx=q.object({id:q.string().min(1),title:q.string().min(1),kind:ox,default:q.boolean().default(!1),entry:V6.optional(),imports:q.array(zO).default([]),panelRefs:q.array(b$).default([]),dataRefs:q.array(b$).default([]),layout:A4.optional()}).strict(),ax=m$(i.renderManifest).extend({projectId:A1,name:q.string().min(1),version:q.string().min(1),manifestPath:V6.default(".hasna/project/dashboard.render.json"),renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:q.array(tx).min(1),imports:q.array(zO).default([]),theme:A4.optional(),compatibility:q.object({minProjectsVersion:q.string().min(1).optional(),minContractsVersion:q.string().min(1).optional()}).strict().optional(),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:q.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),sx=q.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),ex=q.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),$m=q.object({id:q.string().min(1),label:q.string().min(1),value:q.union([q.string(),q.number(),q.boolean()]),unit:q.string().min(1).optional(),status:q.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:q.array(b$).default([])}).strict(),_m=q.object({id:q.string().min(1),title:q.string().min(1),summary:q.string().min(1).optional(),status:q.string().min(1).optional(),priority:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:c_.optional(),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),metadata:A4.optional()}).strict(),Um=q.object({renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:q.string().min(1).optional(),entry:V6.optional(),imports:q.array(zO).default([]),spec:A4.default({})}).strict(),VA=m$(i.projectPanel).extend({projectId:A1,provider:q.object({kind:DO,id:q.string().min(1),name:q.string().min(1).optional(),sourcePackage:z$.optional(),externalId:z$.optional()}).strict(),kind:ex,title:q.string().min(1),summary:q.string().min(1).optional(),state:sx.default("ready"),stateReason:q.string().min(1).optional(),generatedAt:c_,freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),metrics:q.array($m).default([]),items:q.array(_m).default([]),actions:q.array(b$).default([]),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),renderFragment:Um.optional(),warnings:q.array(q.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:q.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),Jm=m$(i.projectSnapshot).extend({projectId:A1,generatedAt:c_,status:b1.default("unknown"),manifestRef:b$,renderManifestRef:b$.optional(),panels:q.array(VA).default([]),contextPacks:q.array(BA).default([]),proofBundleRefs:q.array(b$).default([]),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),warnings:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),RA=q.object({id:q.string().min(1),kind:q.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),expected:q.string().min(1).optional(),timeoutMs:q.number().int().positive().optional(),resourceRefs:q.array(b$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:q.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Wm=m$(i.validationPlan).extend({objective:q.string().min(1),subject:b$.optional(),checks:q.array(RA).min(1),verifier:d6.optional(),requiredEvidenceKinds:q.array(jO).default([])}).strict(),Xm=q.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Gm=q.enum(["draft","active","deprecated","archived"]),Qm=q.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Ym=q.object({key:q.string().regex(/^[A-Z][A-Z0-9_]*$/),description:q.string().min(1),required:q.boolean().default(!1),["secret"]:q.boolean().default(!1),group:q.string().min(1).optional(),default:q.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),jm=q.object({name:q.string().min(1),command:q.string().min(1),description:q.string().min(1).optional(),required:q.boolean().default(!1)}).strict(),Dm=q.object({packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:q.array(q.string().min(1)).default([]),requiredFiles:q.array(q.string().min(1)).default([]),requiredDirectories:q.array(q.string().min(1)).default([]),optionalDirectories:q.array(q.string().min(1)).default([])}).strict(),zm=m$(i.scaffoldManifest).extend({name:q.string().min(1),version:q.string().min(1),summary:q.string().min(1),type:Xm,status:Gm.default("draft"),capabilities:q.array(Qm).default([]),techStack:q.array(q.string().min(1)).default([]),tags:AU,source:b$.optional(),output:Dm,env:q.array(Ym).default([]),scripts:q.array(jm).default([]),validationChecks:q.array(RA).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:q.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),qm=q.enum(["installed","failed","cancelled","partial","unknown"]),Om=m$(i.scaffoldInstallRecord).extend({scaffoldId:q.string().min(1),scaffoldVersion:q.string().min(1).optional(),manifestRef:b$.optional(),target:b$,status:qm,installedAt:c_.optional(),installer:d6.optional(),packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:A4.optional(),generatedFiles:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),proofBundleRefs:q.array(b$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),RU=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),qO=q.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),AA=q.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Lm=q.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Nm=z$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Bm=q.enum(["active","stub","deprecated","archived"]),Hm=q.enum(["stable","beta","canary","internal"]),Vm=q.object({transport:q.enum(["http","stdio"]).default("http"),bin:q.string().min(1).optional(),url:E6.optional()}).strict(),Rm=q.object({healthPath:q.string().min(1).default("/health"),port:q.number().int().positive().optional(),baseUrl:E6.optional()}).strict(),Am=q.object({bins:q.array(q.string().min(1)).default([]),mcp:Vm.optional(),http:Rm.optional()}).strict(),bm=m$(i.app).extend({appId:RU,npmName:qO,repoFolder:RU,githubUrl:Nm,projectSlug:A1,surfaces:Am.default({}),lifecycle:Bm,releaseChannel:Hm.default("stable"),summary:q.string().min(1).optional(),tags:AU}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),Fm=q.enum(["skill","ci","backfilled"]),Em=m$(i.release).extend({appId:RU,package:qO,version:AA,gitSha:Lm,publishedAt:c_,publishPath:Fm,changelogRef:b$.optional(),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Km=q.enum(["install","update","rollback","freeze-blocked"]),Mm=q.object({cliVersion:q.string().min(1).optional(),mcpHealth:q.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),gm=m$(i.rolloutRecord).extend({appId:RU,package:qO,version:AA,machine:z$,action:Km,result:b1,verifiedBy:Mm.optional(),at:c_,evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:q.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Im=q.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),wm=q.enum(["pending","queued","sent","failed","skipped","suppressed"]),km=q.object({channel:Im,status:wm,deliveredAt:c_.optional(),detail:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),fm=m$(i.announcement).extend({campaignId:z$,appId:RU.optional(),releaseRef:b$.optional(),channels:q.array(km).min(1),audienceRef:b$,sentAt:c_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Pm=q.enum(["tag","attribute","group"]),Cm=q.enum(["eq","neq","in","not_in","exists","not_exists"]),sR=q.union([q.string(),q.number(),q.boolean()]),Tm=q.object({kind:Pm,key:q.string().min(1).optional(),op:Cm.default("eq"),value:sR.optional(),values:q.array(sR).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:q.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),Sm=q.object({match:q.enum(["all","any"]).default("all"),predicates:q.array(Tm).min(1)}).strict(),Zm=q.enum(["opt_in","opt_out","transactional","none"]),vm=m$(i.audience).extend({audienceId:RU,name:z$,definition:Sm,consentPolicy:Zm,suppressionSyncedAt:R1}).strict(),JO=["@hasna/cloud","open-cloud"],ym=q.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),hm=q.object({id:q.string().min(1),provider:ym,kind:q.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:q.string().min(1),region:q.string().min(1).optional(),accountId:q.string().min(1).optional(),uri:E6.optional(),machineScoped:q.boolean().default(!1)}).strict(),bA=m$(i.appCloudManifest).extend({packageName:q.string().min(1),packageVersion:q.string().min(1).optional(),appId:q.string().min(1),repository:b$.optional(),storageMode:q.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:q.enum(["none","app_owned","external_service","local_cache"]),cloudResources:q.array(hm).default([]),localCache:q.object({path:q.string().min(1).optional(),pullMode:q.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:q.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:q.array(q.string().min(1)).default([...JO]),dependencies:q.array(q.string().min(1)).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...JO,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:q.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of JO)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:q.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:q.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),FA=q.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),xm=q.enum(["low","medium","high","critical"]),EA=q.object({id:q.string().min(1),kind:FA,severity:xm,path:q.string().min(1).optional(),packageName:q.string().min(1).optional(),pattern:q.string().min(1),message:q.string().min(1),evidenceRefs:q.array(r$).default([])}).strict(),mm=q.object({id:q.string().min(1),kind:FA,status:b1,target:q.string().min(1),command:q.string().min(1).optional(),evidenceRefs:q.array(r$).default([]),findings:q.array(EA).default([])}).strict(),um=m$(i.noCloudEvidencePack).extend({subject:b$,packageName:q.string().min(1).optional(),packageVersion:q.string().min(1).optional(),generatedBy:d6.optional(),scanMode:q.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:b1,verdict:q.enum(["passed","failed","warning","not_run"]),appCloudManifest:bA.optional(),checks:q.array(mm).min(1),findings:q.array(EA).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),dm=q.object({checkId:q.string().min(1),status:b1,summary:q.string().min(1).optional(),startedAt:R1,finishedAt:R1,evidenceRefs:q.array(r$).default([])}).strict(),nm=m$(i.proofBundle).extend({subject:b$,validationPlanRef:b$.optional(),status:b1,verdict:q.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:q.array(dm).default([]),verifier:d6.optional(),evidenceRefs:q.array(r$).default([]),residualRisks:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),cm=m$(i.workRun).extend({objective:q.string().min(1),status:b1,actor:d6,traceId:q.string().min(1).optional(),startedAt:R1,finishedAt:R1,constraints:q.array(q.string().min(1)).default([]),resourceRefs:q.array(b$).default([]),decisions:q.array(NA).default([]),costEstimates:q.array(CW).default([]),evidenceRefs:q.array(r$).default([]),validationPlanRefs:q.array(b$).default([]),proofBundleRefs:q.array(b$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:q.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(fx.has($.status)&&!$.finishedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),lm=q.object({id:q.string().min(1),at:c_,kind:q.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:q.string().min(1),resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([]),costEstimate:CW.optional()}).strict(),rm=m$(i.agentTrajectory).extend({actor:d6,workRunRef:b$.optional(),events:q.array(lm).default([]),outcome:q.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:b$.optional()}).strict(),im="v1",pm=q.enum(["library","cli-with-store","service","saas"]),om=["local","self-hosted","cloud"],KA=q.enum(om),tm=q.enum(["supported","deferred","unsupported"]),am=q.enum(["none","local-only","api-key","session","service-token","custom"]),WO=q.object({method:q.enum(["GET","POST","PUT","PATCH","DELETE"]),path:q.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:q.boolean().default(!1),description:q.string().min(1).optional()}).strict(),sm=q.object({id:q.string().min(1),kind:q.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),evidenceRef:r$.optional(),status:q.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),em=q.object({name:q.string().min(1),status:tm,bin:q.string().min(1).optional(),mcpBin:q.string().min(1).optional(),authMode:am,deploymentModes:q.array(KA).min(1),health:WO.optional(),readiness:WO.optional(),version:WO.optional(),apiBasePath:q.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:q.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:q.string().min(1).optional(),readinessGates:q.array(sm).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:q.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:q.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:q.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),$u=["local","cloud"],MA=q.enum($u);var _u=q.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Uu=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Ju($){return Uu.map((_)=>`${$}${_}`)}function eR($){return`hasna/oss/${$}/database-url`}var Wu=q.object({mode:MA,envPrefix:q.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:q.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:q.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:q.string().min(1).optional()}).strict(),Xu=q.object({$schema:q.string().min(1).optional(),schema:q.literal(i.serviceContract),name:_u,class:pm,contractVersion:q.literal(im),kitVersion:q.string().min(1),description:q.string().min(1).optional(),bins:q.array(q.string().min(1)).default([]),storage:Wu.optional(),deploymentModes:q.array(KA).default(["local"]),serviceSurfaces:q.array(em).default([]),metadata:A4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Ju($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:q.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==eR($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${eR($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:q.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:q.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),Qa=q.object({status:q.enum(["ok","degraded","unavailable"]),version:q.string().min(1),mode:MA}).strict(),Ya=q.object({ready:q.boolean(),reason:q.string().min(1).optional()}).strict(),ja=q.object({version:q.string().min(1)}).strict(),Gu=q.enum(["info","notice","breaking","critical"]),Qu=q.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),Yu=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],ju=q.enum(Yu);var Du=q.enum(["fleet","package","machine"]),gA=m$(i.commsEventEnvelope).extend({type:Qu,severity:Gu,scope:Du,summary:q.string().min(1).optional(),source:d6.optional(),affected_packages:q.array(z$).default([]),affected_machines:q.array(z$).default([]),action_required:q.boolean().default(!1),ack_by:c_.optional(),dedupe_key:z$,resourceRefs:q.array(b$).default([]),evidenceRefs:q.array(r$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),zu=q.enum(["fleet","package","product","loop-lane","initiative","personal"]),qu=q.enum(["quiet","work","firehose"]),Ou=z$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),Lu=m$(i.commsChannelMetadata).extend({class:zu,noise:qu.optional(),owner:z$.optional(),until:Ou.optional(),successor:z$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),$A={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Nu=m$(i.commsMessageMetadata).extend({tag:ju,envelope:gA}).strict().superRefine(($,_)=>{let U=$A[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries($A))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Bu={[i.actorRef]:Px,[i.resourceRef]:Cx,[i.evidenceRef]:Sx,[i.workRun]:cm,[i.decisionEnvelope]:NA,[i.costEstimate]:CW,[i.capabilityCard]:vx,[i.providerLiveModeStandard]:dx,[i.contextPack]:BA,[i.integrationRef]:HA,[i.projectManifest]:ix,[i.projectPanel]:VA,[i.projectSnapshot]:Jm,[i.renderManifest]:ax,[i.agentTrajectory]:rm,[i.validationPlan]:Wm,[i.proofBundle]:nm,[i.scaffoldManifest]:zm,[i.scaffoldInstallRecord]:Om,[i.appCloudManifest]:bA,[i.noCloudEvidencePack]:um,[i.serviceContract]:Xu,[i.commsEventEnvelope]:gA,[i.commsChannelMetadata]:Lu,[i.commsMessageMetadata]:Nu,[i.app]:bm,[i.release]:Em,[i.rolloutRecord]:gm,[i.announcement]:fm,[i.audience]:vm};class IA extends Error{schemaId;issues;constructor($,_){super(`Contract validation failed for ${$}`);this.name="ContractValidationError",this.schemaId=$,this.issues=_}}function wA($,_){let W=Bu[$].safeParse(_);if(!W.success)throw new IA($,W.error.issues);return W.data}var Da={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",title:"Hasna Service Contract v1",description:"Repo self-description (hasna.contract.json) for the Hasna Service Contract v1. Storage runtime enum is local|cloud ONLY per Amendment A1 (PURE REMOTE).",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:i.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: <name>, <name>-cli, <name>-mcp, <name>-serve, <name>-worker, <name>-runner, <name>-daemon, <name>-migrate, <name>-doctor."},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},description:"Supported deployment modes. local = this machine, self-hosted = Hasna-owned AWS, cloud = multi-tenant SaaS for outside users."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode","deploymentModes"],properties:{name:{type:"string",minLength:1},status:{enum:["supported","deferred","unsupported"]},bin:{type:"string",minLength:1},mcpBin:{type:"string",minLength:1},authMode:{enum:["none","local-only","api-key","session","service-token","custom"]},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},minItems:1},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},readiness:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},version:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},apiBasePath:{type:"string",pattern:"^/v[0-9]+$"},openApiPath:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$"},deferReason:{type:"string",minLength:1},readinessGates:{type:"array",items:{type:"object",additionalProperties:!1,required:["id","kind"],properties:{id:{type:"string",minLength:1},kind:{enum:["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]},required:{type:"boolean"},command:{type:"string",minLength:1},evidenceRef:{type:"object"},status:{enum:["pending","passed","failed","blocked","deferred"]},summary:{type:"string",minLength:1}}}}}},description:"Declared HTTP/MCP service surfaces. Supported surfaces name lifecycle endpoints; unsafe or unfinished surfaces use deferred/unsupported with a reason."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["local","cloud"],description:"Runtime storage enum. local|cloud ONLY (Amendment A1: PURE REMOTE)."},envPrefix:{type:"string",pattern:"^HASNA_[A-Z][A-Z0-9]*_$",description:"Primary env prefix, e.g. HASNA_TODOS_."},aliasEnvPrefix:{type:"string",pattern:"^[A-Z][A-Z0-9]*_$",description:"Optional short alias env prefix, e.g. TODOS_."},databaseUrlSecretRef:{type:"string",pattern:"^hasna/oss/[a-z0-9-]+/database-url$",description:"Secret Manager ref for the cloud database URL."},sqlitePath:{type:"string",minLength:1,description:"Local sqlite path (~/.hasna/<name>/<name>.db)."}}},metadata:{type:"object"}}};var kA="@hasna/knowledge";function Hu($){if(!Number.isFinite($??0))return 20;return Math.max(1,Math.min(100,Math.trunc($??20)))}function Vu($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function TW($,_=180){let U=String($??"").replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Q_($,_=""){return typeof $==="string"&&$.length>0?$:_}function SW($){return typeof $==="number"&&Number.isFinite($)?$:0}function bU($){if(typeof $!=="string"||$.length===0)return;let _=$.includes("T")?$:`${$.replace(" ","T")}Z`,U=new Date(_);return Number.isNaN(U.valueOf())?void 0:U.toISOString()}function M5($){return E6.safeParse($).success}function K6($,_,U,W,J=[]){return{kind:$,id:_,name:U,uri:W&&M5(W)?W:void 0,externalId:_,sourcePackage:kA,tags:J}}function Ru($){return[...$.items.flatMap((U)=>[U.updated_at,U.created_at]),...$.sources.flatMap((U)=>[U.updated_at,U.created_at]),...$.chunks.map((U)=>U.created_at),...$.wiki_pages.flatMap((U)=>[U.updated_at,U.created_at]),...$.storage_objects.flatMap((U)=>[U.updated_at,U.created_at]),...$.runs.flatMap((U)=>[U.updated_at,U.created_at]),...$.reindex_queue.flatMap((U)=>[U.updated_at,U.created_at]),...$.sync_conflicts.map((U)=>U.created_at),...$.approval_gates.flatMap((U)=>[U.updated_at,U.created_at])].map(bU).filter(Boolean).sort((U,W)=>W.localeCompare(U))[0]}function Au($){if(!$)return"unknown";let _=Date.now()-new Date($).valueOf();if(!Number.isFinite(_))return"unknown";return _>2592000000?"stale":"fresh"}function bu($){let _=(U)=>{let W=String(U??"").toLowerCase();return W!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(W)};return $.reindex_queue.filter((U)=>_(U.status)).length+$.sync_conflicts.filter((U)=>_(U.status)).length+$.approval_gates.filter((U)=>_(U.status)).length}function Fu($,_){let U=[];for(let W of $.items.slice(0,_))U.push({id:`item_${W.id}`,title:W.title,summary:TW(W.content_preview),status:W.archived?"archived":"active",priority:"medium",timestamp:bU(W.updated_at??W.created_at),resourceRefs:[K6("knowledge",W.id,W.title,`knowledge://item/${encodeURIComponent(W.id)}`,W.tags)],evidenceRefs:W.url&&M5(W.url)?[{id:`url_${W.id}`,kind:"url",uri:W.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:W.archived,tags:W.tags,url:W.url||void 0}});for(let W of $.sources.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,Q_(W.uri,"source")),X=Q_(W.title,Q_(W.uri,J)),G=Q_(W.uri,`knowledge://source/${encodeURIComponent(J)}`);U.push({id:`source_${J}`,title:X,summary:TW(`${SW(W.chunks)} chunk(s), ${SW(W.revisions)} revision(s)`),status:SW(W.chunks)>0?"indexed":"source",priority:"medium",timestamp:bU(W.updated_at??W.created_at),resourceRefs:[K6("document",J,X,G)],evidenceRefs:M5(G)?[{id:`source_${J}`,kind:"url",uri:G,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:W.kind,chunks:SW(W.chunks),revisions:SW(W.revisions)}})}for(let W of $.chunks.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"chunk"),X=Q_(W.source_uri);U.push({id:`chunk_${J}`,title:Q_(W.wiki_title,X?`Chunk from ${X}`:`Knowledge chunk ${J}`),summary:TW(W.text_preview),status:"chunk",priority:"low",timestamp:bU(W.created_at),resourceRefs:[K6("context_pack",J,Q_(W.wiki_title,J),`knowledge://chunk/${encodeURIComponent(J)}`)],evidenceRefs:X&&M5(X)?[{id:`chunk_source_${J}`,kind:"url",uri:X,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:X||void 0,token_count:W.token_count,ordinal:W.ordinal}})}for(let W of $.sync_conflicts.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"sync_conflict");U.push({id:`sync_conflict_${J}`,title:`Sync conflict: ${Q_(W.entity_kind,"entity")}/${Q_(W.entity_id,J)}`,summary:TW(`Status ${Q_(W.status,"unknown")}; strategy ${Q_(W.resolution_strategy,"none")}.`),status:Q_(W.status,"unknown"),priority:"critical",timestamp:bU(W.created_at),resourceRefs:[K6("finding",J,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:W.local_machine_id,remote_machine_id:W.remote_machine_id}})}for(let W of $.reindex_queue.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"reindex");U.push({id:`reindex_${J}`,title:`Reindex ${Q_(W.kind,"item")}: ${Q_(W.target_id,J)}`,summary:TW(W.reason),status:Q_(W.status,"unknown"),priority:Q_(W.status).toLowerCase()==="failed"?"high":"medium",timestamp:bU(W.updated_at??W.created_at),resourceRefs:[K6("action",J,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:W.attempts,source_uri:W.source_uri}})}return U.slice(0,_)}async function fA($,_={}){let U=Hu(_.limit),W=new Date().toISOString(),J=Vu($),G=await(_.service??A5({scope:_.scope??"project",cwd:_.cwd})).resolveInventory({limit:U,storePath:_.storePath,includeArchived:_.includeArchived}),Q=Ru(G),Y=Au(Q),j=G.summary.active_items+G.summary.sources+G.summary.chunks+G.summary.wiki_pages+G.summary.storage_objects,O=bu(G),B=j===0?"empty":Y==="stale"?"stale":"ready",V=Fu(G,U),L={schema:i.projectPanel,id:`knowledge_panel_${J}`,createdAt:W,projectId:J,provider:{kind:"knowledge",id:`knowledge_${J}`,name:"Knowledge",sourcePackage:kA,externalId:G.home},kind:"knowledge",title:"Knowledge",summary:B==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${G.summary.active_items} active note(s), ${G.summary.sources} source(s), ${G.summary.chunks} chunk(s), and ${G.summary.wiki_pages} wiki page(s).`,state:B,stateReason:B==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:W,freshness:Y,metrics:[{id:"active_items",label:"Active notes",value:G.summary.active_items,status:G.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:G.summary.sources,status:G.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:G.summary.chunks,status:G.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:G.summary.wiki_pages,status:G.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:G.summary.storage_objects,status:G.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:G.summary.vector_entries,status:G.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:O,status:O>0?"warning":"good"}],items:V,actions:[K6("action","knowledge:inventory","Inspect knowledge inventory"),K6("action","knowledge:context-pack","Build cited context pack"),K6("action","knowledge:ingest","Ingest project source")],resourceRefs:[K6("project",J,$,`project://${J}`),K6("knowledge",`home_${J}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(J)}`),K6("artifact",`db_${J}`,"Knowledge database",`knowledge://db/${encodeURIComponent(J)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:U}},metadata:{scope:G.scope,home:G.home,json_store_exists:G.paths.json_store_exists,latest_activity_at:Q}};return wA(i.projectPanel,L)}function PA($){let _=[`${$.title}: ${$.state}`,$.summary??"",...$.metrics.map((U)=>`${U.label}: ${U.value}`)].filter(Boolean);if($.items.length>0){_.push("Items:");for(let U of $.items.slice(0,10))if(_.push(`- ${U.title}${U.status?` [${U.status}]`:""}`),U.summary)_.push(` ${U.summary}`)}return _.join(` -`)}var SA=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"];var Eu=["remote","hybrid","self_hosted"],ZA="HASNA_KNOWLEDGE_STORAGE_MODE",vA="KNOWLEDGE_STORAGE_MODE";function CA($){return process.env[$]?.trim()||void 0}function TA($){let _=$?.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return"local";if(_==="cloud")return"cloud";if(_&&Eu.includes(_))return"cloud";return}function Ku($={}){let _=g1(dW($.scope,$.cwd).home);return $$(_.knowledgeDbPath),{db:d(_.knowledgeDbPath),path:_.knowledgeDbPath,scope:$.scope??"global"}}function yA(){let $=TA(CA(ZA))??TA(CA(vA));if($)return $;return"local"}function OO($={}){let _=Ku($);try{Mu(_.db);let U=_.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:yA(),service:"knowledge",scope:_.scope,databasePath:_.path,tables:SA,sync:U}}finally{_.db.close()}}function Mu($){$.exec(` + `,[U])),k={legacy_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,schema_version:Y.schema_version,sources:Y.sources,source_revisions:Y.source_revisions,chunks:Y.chunks,wiki_pages:Y.wiki_pages,citations:Y.citations,indexes:Y.indexes,runs:Y.runs,run_events:Y.run_events,storage_objects:Y.storage_objects,embeddings:Y.embeddings,vector_entries:Y.vector_entries,reindex_queue:Y.reindex_queue,redaction_findings:Y.redaction_findings,audit_events:Y.audit_events,approval_gates:Y.approval_gates,knowledge_machines:Y.knowledge_machines,sync_snapshots:Y.sync_snapshots,sync_changes:Y.sync_changes,sync_conflicts:Y.sync_conflicts,sync_table_clocks:Y.sync_table_clocks,sync_imports:Y.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:U,paths:{json_store_path:W,json_store_exists:J.exists,knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:!0,artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:k,legacy_store:{path:W,exists:J.exists,read_error:J.read_error,total_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,items_returned:Math.min(G.length,U)},items:G.slice(0,U).map(ZR),sources:O,source_revisions:B,chunks:V,wiki_pages:L,indexes:N,storage_objects:H,runs:R,vector_indexes:E,reindex_queue:A,machines:M,sync_conflicts:K,approval_gates:I,audit_events:Z,message:`${J.items.length} item(s), ${Y.sources} source(s), ${Y.chunks} chunk(s), ${Y.wiki_pages} wiki page(s), ${Y.storage_objects} artifact(s)`}}finally{j.close()}}assertAppWikiWrite($){oU({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:$})}async initAppWiki($={}){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return GB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async addAppWikiNote($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return QB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal,title:$.title,content:$.content,tags:$.tags,sourceRefs:$.sourceRefs,path:$.path,metadata:$.metadata})}listAppWikiNotes($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return YB({dbPath:_.knowledgeDbPath,limit:$.limit})}async getAppWikiNote($,_={}){let U=this.workspace;if(!x$(U.knowledgeDbPath))return null;return jB({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:$,includeContent:_.includeContent})}async addAppWikiSourceRef($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return DB({scope:this.scope,workspace:_,sourceRef:$.sourceRef,purpose:$.purpose,config:this.config(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async searchAppWiki($){return this.search($)}async queryAppWiki($){return this.retrieveContext($)}async initWiki(){let $=this.ensureWorkspace();$$($.knowledgeDbPath);let _=await HR(this.artifactStore()),U=d($.knowledgeDbPath);try{W4(U,_.artifacts),VR(U,_.artifacts)}finally{U.close()}return _}async compileWiki($={}){let _=this.ensureWorkspace();return OR({...$,dbPath:_.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer($){let _=this.ensureWorkspace(),U=await this.retrieveContext({query:$.prompt,limit:$.limit,semantic:$.semantic,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake});return LR({dbPath:_.knowledgeDbPath,store:this.artifactStore(),prompt:$.prompt,answer:$.answer,context:U,approveWrite:$.approveWrite})}lintWiki(){let $=this.ensureWorkspace();return NR({dbPath:$.knowledgeDbPath})}async ingestManifest($){let _=this.ensureWorkspace();return _B({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource($,_){let U=this.ensureWorkspace();return NX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance($={}){let _=$.dryRun!==!1,U=_?this.workspace:this.ensureWorkspace();return UR({root:$.root??this.options.cwd??process.cwd(),scope:this.scope,owner:$.owner,dryRun:_,deprecateLegacy:$.deprecateLegacy,includeLegacy:$.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:$.maxItems,limit:$.limit})}async resolveSource($,_={}){let U=this.ensureWorkspace();return qX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_.purpose,limit:_.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox($){let _=this.ensureWorkspace();return bV({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return Qh();return lV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}enqueueReindex($={}){let _=this.ensureWorkspace();return Cq({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async refreshEmbeddings($={}){let _=this.ensureWorkspace();return iV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}providerStatus($=process.env){return NB(this.config(),$)}modelRegistry(){return p5(this.config())}embeddingStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return Yh();return EB($.knowledgeDbPath)}async indexEmbeddings($={}){let _=this.ensureWorkspace();return VX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}isApiMode(){return C4()}async fetchCloudItems(){let $=pU();if(!$)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return XX($)}async semanticSearch($){let _=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems(),W=await C0(U,{...$},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:W.results}}if(!x$(_.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:[]};return RX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async search($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return C0(W,$)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U))return KX({...$,legacyStorePath:U,config:this.config()});return rR($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return FX({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return MX(W,$)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U)){let W=await KX({...$,legacyStorePath:U,config:this.config()});return R2(W,{contextChars:$.contextChars})}return Xh($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return A2({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack($){let _=this.workspace;if(this.isApiMode()){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"){let J=await this.fetchCloudItems(),X=await C0(J,{...$,query:W}),G=R2(X,{contextChars:$.contextChars});return hR($,G,this.safetyPolicy())}return xR($)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"&&x$(U)){let J=await KX({...$,query:W,legacyStorePath:U,config:this.config()}),X=R2(J,{contextChars:$.contextChars});return hR($,X,this.safetyPolicy())}return xR($)}return aB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt($){if(this.isApiMode()){let W=await this.fetchCloudItems();return dB(W,{...$,config:this.config()})}let _=this.ensureWorkspace(),U=$.legacyStorePath??_.jsonStorePath;if(!$.legacyStorePath)kU(U);return uB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch($){let _=this.ensureWorkspace();return GR({...$,dbPath:_.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology($={}){let _=this.workspace;return xV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}async machinePreflight($={}){let _=this.workspace;return dV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}syncStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return jh({scope:this.scope,workspaceHome:$.home});return AH({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home})}async syncDoctor($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.syncStatus(),W=this.storageContract(),J=this.validateStorage(),X=Dh(_.knowledgeDbPath,W),G=$.machine?.trim()||null,Q=$.peerWorkspace?.trim()||null,Y=[],j=null,O=null;if(G&&!cR(G)){let H=await fq({machineId:G,includeTailscale:$.includeTailscale});j=aq(H),Y.push(...H.warnings)}if(G||Q){let H=await zG({machineId:G??tq(_),peerWorkspace:Q,includeTailscale:$.includeTailscale});if(G&&!Q&&(j?.source==="raw"||!H.ok||!H.project_root)){let R=PR(_.knowledgeDbPath,G);if(R){if(j?.source==="raw"&&R.ssh_target)j=aq(fR(R,G,{target:j.target,route:j.route,targetKind:j.target_kind,confidence:j.confidence,source:j.source,adapter:j.adapter,evidence:j.evidence,cacheability:j.cacheability,warnings:[]}));if(!H.ok||!H.project_root){let E=CR(R,G,H);if(E)O=EW(E,E.project_root),Y.push(...E.warnings)}}}O=H.ok&&H.project_root?EW(H,H.project_root):O??{...EW(H,Q??""),project_root:H.project_root??Q??""},Y.push(...H.warnings)}if(!J.ok)Y.push(...J.errors.map((H)=>`storage:${H}`));let B=$h(_.knowledgeDbPath,O);if(!B.ok)Y.push("open_files_boundary_raw_payload_sentinels");if(!X.ok)Y.push(...X.warnings);let V=O?.diagnostics.filter((H)=>H.severity==="fail")??[],L=J.ok&&X.ok&&B.ok&&V.length===0&&(O?.project_root!==""||!O),N=qh({scope:this.scope,machine:G,peerWorkspace:Q,tables:$.tables,resolvedWorkspace:O,openConflicts:U.conflicts.open});return{ok:L,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:_.home,database:{sqlite_schema_version:U.sqlite_schema_version,table_counts:U.table_counts},storage:{contract:W,validation:J,artifact_manifest:X},sync:{machines:U.machines.total,snapshots:U.snapshots.total,clocks:U.clocks.total,imports:U.imports.total,open_conflicts:U.conflicts.open,table_clocks:U.clocks.rows},open_files:B,resolved_route:j,resolved_workspace:O,recommended_commands:N,warnings:[...new Set(Y)],message:L?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(Y)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.storageContract(),W=UO(U),J=zh(_.knowledgeDbPath,U),X=$.dryRun===!0||$.approveWrite!==!0;if(J.length===0)return{ok:!0,dry_run:X,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if($.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:`Would repair ${J.length} legacy S3 artifact manifest key(s)`};if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by <name>"};let G=d(_.knowledgeDbPath);try{let Q=new Date().toISOString();G.transaction((O)=>{let B=G.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),V=G.query("SELECT id, metadata_json FROM storage_objects").all(),L=new Map(V.map((N)=>[N.id,UU(N.metadata_json)]));for(let N of O){let H=L.get(N.id)??{};H.key=N.repaired_key,B.run(JSON.stringify(H),Q,N.id)}})(J);let j=a$(G,{event_type:"artifact_manifest_key_repair",action:"storage.artifact_manifest.repair_keys",target_uri:`knowledge-storage://${_.home}/storage_objects`,decision:"allow",metadata:{approved_by:$.approvedBy,repaired:J.length,storage_type:U.storage_type,storage_prefix:W,artifact_uris:J.map((O)=>O.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:J.length,audit_event_id:j,message:`Repaired ${J.length} legacy S3 artifact manifest key(s)`}}finally{G.close()}}async createSyncSnapshot($={}){let _=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:$.includeTailscale!==!1});return RH({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),topology:U,machineId:$.machineId})}syncConflicts($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return EH(_.knowledgeDbPath,$)}syncConflict($){let _=this.ensureWorkspace(),U=ZX(_.knowledgeDbPath,$);if(!U)throw Error(`Sync conflict not found: ${$}`);return U}proposeSyncConflictResolution($){let _=this.ensureWorkspace();return XJ(_.knowledgeDbPath,$)}async proposeSyncConflictResolutionWithAi($){let _=this.ensureWorkspace();return FV({dbPath:_.knowledgeDbPath,id:$.id,config:this.config(),modelRef:$.modelRef,fake:$.fake,env:$.env})}resolveSyncConflict($){let _=this.ensureWorkspace(),U=XJ(_.knowledgeDbPath,$.id);if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by <name>"};let W=bH(_.knowledgeDbPath,{id:$.id,strategy:$.strategy??U.proposed_strategy,approvedBy:$.approvedBy,proposedPatchUri:$.proposedPatchUri}),J=d(_.knowledgeDbPath);try{let X=a$(J,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${$.id}`,decision:"allow",metadata:{conflict_id:$.id,entity_kind:W.entity_kind,entity_id:W.entity_id,strategy:W.resolution_strategy,approved_by:W.approved_by,proposed_patch_uri:W.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:W,audit_event_id:X,message:`Resolved sync conflict ${$.id}`}}finally{J.close()}}syncMachines(){let $=this.workspace;if(!x$($.knowledgeDbPath))return[];return OQ($.knowledgeDbPath)}exportSyncBundle($={}){let _=this.ensureWorkspace();return this.assertStorageValid("sync export"),$$(_.knowledgeDbPath),WJ({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.recordClocks!==!1})}async importSyncBundle($){let _=this.ensureWorkspace();return this.assertStorageValid("sync import"),$$(_.knowledgeDbPath),SX({targetDbPath:_.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:_.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:$.bundle,direction:$.direction??"import",dryRun:$.dryRun,localMachineId:$.machineId??null})}async syncRemotePeer($){let _=$.direction??"both",U=$.dryRun===!0,W=this.ensureWorkspace();$$(W.knowledgeDbPath);let J=$.tables?.length?["--tables",$.tables.join(",")]:[],X=$.includeArtifactContent===!1?["--no-artifact-content"]:[],G=["--scope",this.scope,"--json"],Q=await fq({machineId:$.machine,includeTailscale:$.includeTailscale}),Y=await zG({machineId:$.machine,peerWorkspace:$.peerWorkspace,includeTailscale:$.includeTailscale});if(!$.peerWorkspace&&Q.source==="raw"||!Y.ok||!Y.project_root){let L=PR(W.knowledgeDbPath,$.machine);if(L){if(!$.peerWorkspace&&Q.source==="raw"&&L.ssh_target)Q=fR(L,$.machine,Q);if(!Y.ok||!Y.project_root){let N=CR(L,$.machine,Y);if(N)Y=N}}}if(!Y.ok||!Y.project_root)throw Error([`Unable to resolve peer workspace for ${$.machine}.`,"Pass --peer-workspace <repo-or-knowledge-home> or configure workspace path mapping in machines.",Y.warnings.length?`Warnings: ${Y.warnings.join(", ")}`:null].filter(Boolean).join(" "));let j=Y.project_root,O={ok:!0,dry_run:U,direction:_,transport:"ssh",machine:$.machine,resolved_machine:Q.target,resolved_route:aq(Q),resolved_workspace:EW(Y,Y.project_root),peer_workspace:j,message:""},B=!1,V=()=>{if(U||B)return;BH(W.knowledgeDbPath,{machineId:$.machine,route:Q,workspace:Y}),B=!0};if(_==="pull"||_==="both"){let L=kR(j,["sync","export",...G,...J,...X]),N=mR($.machine,L,void 0,Q),H=uR($.machine,"sync export",N);Lh($.machine,H),O.pull=await this.importSyncBundle({bundle:H,dryRun:U,direction:"pull",machineId:$.machineId??null})}if(_==="push"||_==="both"){V();let L=this.exportSyncBundle({machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:!U}),N=kR(j,["sync","import",...G,...U?["--dry-run"]:[]]),H=uR($.machine,"sync import",mR($.machine,N,JSON.stringify(L),Q));Nh($.machine,H),O.push=H}return O.ok=(O.pull?.ok??!0)&&(O.push?.ok??!0),V(),O.message=[TR(O.resolved_workspace),O.pull?`pull: ${O.pull.message}`:null,O.push?`push: ${O.push.message}`:null].filter(Boolean).join("; "),O}async syncPeer($){let _=$.direction??"both",U=this.ensureWorkspace();$$(U.knowledgeDbPath);let W=dR($.peerWorkspace),J=iy(W);$$(J.knowledgeDbPath);let X=uG(J.configPath),G=jX(X,J,this.scope),Q=S5(X,J),Y=$.machineId??tq(U),j=tq(J),O=await zG({machineId:$.machineId??j,peerWorkspace:W,includeTailscale:!1}),B=()=>WJ({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:Y,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),V=()=>WJ({dbPath:J.knowledgeDbPath,scope:this.scope,workspaceHome:J.home,storage:G,machineId:j,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),L={ok:!0,dry_run:$.dryRun===!0,direction:_,resolved_workspace:EW(O,O.project_root??W),message:""};if(_==="pull"||_==="both")L.pull=await SX({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:V(),targetBundle:B(),direction:"pull",dryRun:$.dryRun,localMachineId:Y});if(_==="push"||_==="both")L.push=await SX({targetDbPath:J.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:J.home,targetStorage:G,targetStore:Q,bundle:B(),targetBundle:V(),direction:"push",dryRun:$.dryRun,localMachineId:j});return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),L.message=[TR(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}}function EG($={}){return new pR($)}var Hh=Object.defineProperty,Vh=($)=>$;function Rh($,_){this[$]=Vh.bind(null,_)}var Ah=($,_)=>{for(var U in _)Hh($,U,{get:_[U],enumerable:!0,configurable:!0,set:Rh.bind(_,U)})},q={};Ah(q,{void:()=>Wx,util:()=>g$,unknown:()=>Ux,union:()=>Yx,undefined:()=>eh,tuple:()=>zx,transformer:()=>aR,symbol:()=>sh,string:()=>QA,strictObject:()=>Qx,setErrorMap:()=>Kh,set:()=>Lx,record:()=>qx,quotelessJson:()=>Eh,promise:()=>Ax,preprocess:()=>Kx,pipeline:()=>bx,ostring:()=>Mx,optional:()=>Ex,onumber:()=>Ix,oboolean:()=>gx,objectUtil:()=>GO,object:()=>Gx,number:()=>YA,nullable:()=>Fx,null:()=>$x,never:()=>Jx,nativeEnum:()=>Rx,nan:()=>oh,map:()=>Ox,makeIssue:()=>KG,literal:()=>Hx,lazy:()=>Bx,late:()=>rh,isValid:()=>L1,isDirty:()=>YO,isAsync:()=>MW,isAborted:()=>QO,intersection:()=>Dx,instanceof:()=>ph,getParsedType:()=>V4,getErrorMap:()=>FG,function:()=>Nx,enum:()=>Vx,effect:()=>aR,discriminatedUnion:()=>jx,defaultErrorMap:()=>GU,datetimeRegex:()=>WA,date:()=>ah,custom:()=>GA,coerce:()=>wx,boolean:()=>jA,bigint:()=>th,array:()=>Xx,any:()=>_x,addIssueToContext:()=>u,ZodVoid:()=>gW,ZodUnknown:()=>_0,ZodUnion:()=>DU,ZodUndefined:()=>YU,ZodType:()=>F$,ZodTuple:()=>u6,ZodTransformer:()=>e_,ZodSymbol:()=>IW,ZodString:()=>R6,ZodSet:()=>H1,ZodSchema:()=>F$,ZodRecord:()=>wW,ZodReadonly:()=>HU,ZodPromise:()=>V1,ZodPipeline:()=>fW,ZodParsedType:()=>l,ZodOptional:()=>E6,ZodObject:()=>U_,ZodNumber:()=>U0,ZodNullable:()=>R4,ZodNull:()=>jU,ZodNever:()=>m6,ZodNativeEnum:()=>LU,ZodNaN:()=>PW,ZodMap:()=>kW,ZodLiteral:()=>OU,ZodLazy:()=>qU,ZodIssueCode:()=>T,ZodIntersection:()=>zU,ZodFunction:()=>XU,ZodFirstPartyTypeKind:()=>Q$,ZodError:()=>c_,ZodEnum:()=>W0,ZodEffects:()=>e_,ZodDiscriminatedUnion:()=>bG,ZodDefault:()=>NU,ZodDate:()=>N1,ZodCatch:()=>BU,ZodBranded:()=>MG,ZodBoolean:()=>QU,ZodBigInt:()=>J0,ZodArray:()=>A6,ZodAny:()=>B1,Schema:()=>F$,ParseStatus:()=>A_,OK:()=>g_,NEVER:()=>kx,INVALID:()=>W$,EMPTY_PATH:()=>bh,DIRTY:()=>WU,BRAND:()=>ih});var g$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(g$||(g$={}));var GO;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(GO||(GO={}));var l=g$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),V4=($)=>{switch(typeof $){case"undefined":return l.undefined;case"string":return l.string;case"number":return Number.isNaN($)?l.nan:l.number;case"boolean":return l.boolean;case"function":return l.function;case"bigint":return l.bigint;case"symbol":return l.symbol;case"object":if(Array.isArray($))return l.array;if($===null)return l.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return l.promise;if(typeof Map<"u"&&$ instanceof Map)return l.map;if(typeof Set<"u"&&$ instanceof Set)return l.set;if(typeof Date<"u"&&$ instanceof Date)return l.date;return l.object;default:return l.unknown}},T=g$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Eh=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class c_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof c_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,g$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}c_.create=($)=>{return new c_($)};var Fh=($,_)=>{let U;switch($.code){case T.invalid_type:if($.received===l.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case T.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,g$.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:U=`Unrecognized key(s) in object: ${g$.joinValues($.keys,", ")}`;break;case T.invalid_union:U="Invalid input";break;case T.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${g$.joinValues($.options)}`;break;case T.invalid_enum_value:U=`Invalid enum value. Expected ${g$.joinValues($.options)}, received '${$.received}'`;break;case T.invalid_arguments:U="Invalid function arguments";break;case T.invalid_return_type:U="Invalid function return type";break;case T.invalid_date:U="Invalid date";break;case T.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else g$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case T.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case T.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case T.custom:U="Invalid input";break;case T.invalid_intersection_types:U="Intersection results could not be merged";break;case T.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case T.not_finite:U="Number must be finite";break;default:U=_.defaultError,g$.assertNever($)}return{message:U}},GU=Fh,_A=GU;function Kh($){_A=$}function FG(){return _A}var KG=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},bh=[];function u($,_){let U=FG(),W=KG({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===GU?void 0:GU].filter((J)=>!!J)});$.common.issues.push(W)}class A_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return W$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return A_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return W$;if(X.status==="aborted")return W$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var W$=Object.freeze({status:"aborted"}),WU=($)=>({status:"dirty",value:$}),g_=($)=>({status:"valid",value:$}),QO=($)=>$.status==="aborted",YO=($)=>$.status==="dirty",L1=($)=>$.status==="valid",MW=($)=>typeof Promise<"u"&&$ instanceof Promise,e;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(e||(e={}));class F6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var oR=($,_)=>{if(L1(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new c_($.common.issues);return this._error=U,this._error}}}};function B$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class F${get description(){return this._def.description}_getType($){return V4($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new A_,ctx:{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(MW(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parseSync({data:$,path:U.path,parent:U});return oR(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return L1(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>L1(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(MW(W)?W:Promise.resolve(W));return oR(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:T.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new e_({schema:this,typeName:Q$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return E6.create(this,this._def)}nullable(){return R4.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return A6.create(this)}promise(){return V1.create(this,this._def)}or($){return DU.create([this,$],this._def)}and($){return zU.create(this,$,this._def)}transform($){return new e_({...B$(this._def),schema:this,typeName:Q$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new NU({...B$(this._def),innerType:this,defaultValue:_,typeName:Q$.ZodDefault})}brand(){return new MG({typeName:Q$.ZodBranded,type:this,...B$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new BU({...B$(this._def),innerType:this,catchValue:_,typeName:Q$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return fW.create(this,$)}readonly(){return HU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Mh=/^c[^\s-]{8,}$/i,Ih=/^[0-9a-z]+$/,gh=/^[0-9A-HJKMNP-TV-Z]{26}$/i,wh=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,kh=/^[a-z0-9_-]{21}$/i,Ph=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,fh=/^[-+]?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)?)??$/,Ch=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Th="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",JO,Sh=/^(?:(?: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])$/,Zh=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,vh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,yh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,hh=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,xh=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,UA="((\\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])))",mh=new RegExp(`^${UA}$`);function JA($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function uh($){return new RegExp(`^${JA($)}$`)}function WA($){let _=`${UA}T${JA($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function dh($,_){if((_==="v4"||!_)&&Sh.test($))return!0;if((_==="v6"||!_)&&vh.test($))return!0;return!1}function ch($,_){if(!Ph.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function nh($,_){if((_==="v4"||!_)&&Zh.test($))return!0;if((_==="v6"||!_)&&yh.test($))return!0;return!1}class R6 extends F${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==l.string){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.string,received:J.parsedType}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)u(W,{code:T.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!Ch.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"email",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!JO)JO=new RegExp(Th,"u");if(!JO.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"emoji",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!wh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"uuid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!kh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"nanoid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!Mh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"cuid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!Ih.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"cuid2",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!gh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"ulid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),u(W,{validation:"url",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"regex",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!WA(J).test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!mh.test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!uh(J).test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!fh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"duration",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!dh($.data,J.version))W=this._getOrReturnCtx($,W),u(W,{validation:"ip",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!ch($.data,J.alg))W=this._getOrReturnCtx($,W),u(W,{validation:"jwt",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!nh($.data,J.version))W=this._getOrReturnCtx($,W),u(W,{validation:"cidr",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!hh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"base64",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!xh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"base64url",code:T.invalid_string,message:J.message}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:T.invalid_string,...e.errToObj(U)})}_addCheck($){return new R6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...e.errToObj($)})}url($){return this._addCheck({kind:"url",...e.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...e.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...e.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...e.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...e.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...e.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...e.errToObj($)})}base64($){return this._addCheck({kind:"base64",...e.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...e.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...e.errToObj($)})}ip($){return this._addCheck({kind:"ip",...e.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...e.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...e.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...e.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...e.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...e.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...e.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...e.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...e.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...e.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...e.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...e.errToObj(_)})}nonempty($){return this.min(1,e.errToObj($))}trim(){return new R6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}R6.create=($)=>{return new R6({checks:[],typeName:Q$.ZodString,coerce:$?.coerce??!1,...B$($)})};function lh($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class U0 extends F${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==l.number){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.number,received:J.parsedType}),W$}let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="int"){if(!g$.isInteger($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(lh($.data,J.value)!==0)U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.not_finite,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new U0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new U0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:e.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}finite($){return this._addCheck({kind:"finite",message:e.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:e.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:e.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&g$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}U0.create=($)=>{return new U0({checks:[],typeName:Q$.ZodNumber,coerce:$?.coerce||!1,...B$($)})};class J0 extends F${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==l.bigint)return this._getInvalidInput($);let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.bigint,received:_.parsedType}),W$}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new J0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new J0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}J0.create=($)=>{return new J0({checks:[],typeName:Q$.ZodBigInt,coerce:$?.coerce??!1,...B$($)})};class QU extends F${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==l.boolean){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.boolean,received:U.parsedType}),W$}return g_($.data)}}QU.create=($)=>{return new QU({typeName:Q$.ZodBoolean,coerce:$?.coerce||!1,...B$($)})};class N1 extends F${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==l.date){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.date,received:J.parsedType}),W$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_date}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new N1({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:e.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:e.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}N1.create=($)=>{return new N1({checks:[],coerce:$?.coerce||!1,typeName:Q$.ZodDate,...B$($)})};class IW extends F${_parse($){if(this._getType($)!==l.symbol){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.symbol,received:U.parsedType}),W$}return g_($.data)}}IW.create=($)=>{return new IW({typeName:Q$.ZodSymbol,...B$($)})};class YU extends F${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.undefined,received:U.parsedType}),W$}return g_($.data)}}YU.create=($)=>{return new YU({typeName:Q$.ZodUndefined,...B$($)})};class jU extends F${_parse($){if(this._getType($)!==l.null){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.null,received:U.parsedType}),W$}return g_($.data)}}jU.create=($)=>{return new jU({typeName:Q$.ZodNull,...B$($)})};class B1 extends F${constructor(){super(...arguments);this._any=!0}_parse($){return g_($.data)}}B1.create=($)=>{return new B1({typeName:Q$.ZodAny,...B$($)})};class _0 extends F${constructor(){super(...arguments);this._unknown=!0}_parse($){return g_($.data)}}_0.create=($)=>{return new _0({typeName:Q$.ZodUnknown,...B$($)})};class m6 extends F${_parse($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.never,received:_.parsedType}),W$}}m6.create=($)=>{return new m6({typeName:Q$.ZodNever,...B$($)})};class gW extends F${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.void,received:U.parsedType}),W$}return g_($.data)}}gW.create=($)=>{return new gW({typeName:Q$.ZodVoid,...B$($)})};class A6 extends F${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==l.array)return u(_,{code:T.invalid_type,expected:l.array,received:_.parsedType}),W$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)u(_,{code:X?T.too_big:T.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)u(_,{code:T.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)u(_,{code:T.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new F6(_,X,_.path,G))})).then((X)=>{return A_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new F6(_,X,_.path,G))});return A_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new A6({...this._def,minLength:{value:$,message:e.toString(_)}})}max($,_){return new A6({...this._def,maxLength:{value:$,message:e.toString(_)}})}length($,_){return new A6({...this._def,exactLength:{value:$,message:e.toString(_)}})}nonempty($){return this.min(1,$)}}A6.create=($,_)=>{return new A6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:Q$.ZodArray,...B$(_)})};function JU($){if($ instanceof U_){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=E6.create(JU(W))}return new U_({...$._def,shape:()=>_})}else if($ instanceof A6)return new A6({...$._def,type:JU($.element)});else if($ instanceof E6)return E6.create(JU($.unwrap()));else if($ instanceof R4)return R4.create(JU($.unwrap()));else if($ instanceof u6)return u6.create($.items.map((_)=>JU(_)));else return $}class U_ extends F${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=g$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==l.object){let Y=this._getOrReturnCtx($);return u(Y,{code:T.invalid_type,expected:l.object,received:Y.parsedType}),W$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof m6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new F6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof m6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)u(W,{code:T.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new F6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return A_.mergeObjectSync(U,Y)});else return A_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return e.errToObj,new U_({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:e.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new U_({...this._def,unknownKeys:"strip"})}passthrough(){return new U_({...this._def,unknownKeys:"passthrough"})}extend($){return new U_({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new U_({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:Q$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new U_({...this._def,catchall:$})}pick($){let _={};for(let U of g$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}omit($){let _={};for(let U of g$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}deepPartial(){return JU(this)}partial($){let _={};for(let U of g$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new U_({...this._def,shape:()=>_})}required($){let _={};for(let U of g$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof E6)J=J._def.innerType;_[U]=J}return new U_({...this._def,shape:()=>_})}keyof(){return XA(g$.objectKeys(this.shape))}}U_.create=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.strictCreate=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strict",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.lazycreate=($,_)=>{return new U_({shape:$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};class DU extends F${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new c_(G.ctx.common.issues));return u(_,{code:T.invalid_union,unionErrors:X}),W$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new c_(Q));return u(_,{code:T.invalid_union,unionErrors:G}),W$}}get options(){return this._def.options}}DU.create=($,_)=>{return new DU({options:$,typeName:Q$.ZodUnion,...B$(_)})};var H4=($)=>{if($ instanceof qU)return H4($.schema);else if($ instanceof e_)return H4($.innerType());else if($ instanceof OU)return[$.value];else if($ instanceof W0)return $.options;else if($ instanceof LU)return g$.objectValues($.enum);else if($ instanceof NU)return H4($._def.innerType);else if($ instanceof YU)return[void 0];else if($ instanceof jU)return[null];else if($ instanceof E6)return[void 0,...H4($.unwrap())];else if($ instanceof R4)return[null,...H4($.unwrap())];else if($ instanceof MG)return H4($.unwrap());else if($ instanceof HU)return H4($.unwrap());else if($ instanceof BU)return H4($._def.innerType);else return[]};class bG extends F${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.object)return u(_,{code:T.invalid_type,expected:l.object,received:_.parsedType}),W$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return u(_,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),W$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=H4(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new bG({typeName:Q$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...B$(U)})}}function jO($,_){let U=V4($),W=V4(_);if($===_)return{valid:!0,data:$};else if(U===l.object&&W===l.object){let J=g$.objectKeys(_),X=g$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=jO($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===l.array&&W===l.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=jO(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===l.date&&W===l.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class zU extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(QO(J)||QO(X))return W$;let G=jO(J.value,X.value);if(!G.valid)return u(U,{code:T.invalid_intersection_types}),W$;if(YO(J)||YO(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}zU.create=($,_,U)=>{return new zU({left:$,right:_,typeName:Q$.ZodIntersection,...B$(U)})};class u6 extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.array)return u(U,{code:T.invalid_type,expected:l.array,received:U.parsedType}),W$;if(U.data.length<this._def.items.length)return u(U,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W$;if(!this._def.rest&&U.data.length>this._def.items.length)u(U,{code:T.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new F6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return A_.mergeArray(_,X)});else return A_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new u6({...this._def,rest:$})}}u6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new u6({items:$,typeName:Q$.ZodTuple,rest:null,...B$(_)})};class wW extends F${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.object)return u(U,{code:T.invalid_type,expected:l.object,received:U.parsedType}),W$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new F6(U,G,U.path,G)),value:X._parse(new F6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return A_.mergeObjectAsync(_,W);else return A_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof F$)return new wW({keyType:$,valueType:_,typeName:Q$.ZodRecord,...B$(U)});return new wW({keyType:R6.create(),valueType:$,typeName:Q$.ZodRecord,...B$(_)})}}class kW extends F${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.map)return u(U,{code:T.invalid_type,expected:l.map,received:U.parsedType}),W$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new F6(U,G,U.path,[Y,"key"])),value:J._parse(new F6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}kW.create=($,_,U)=>{return new kW({valueType:_,keyType:$,typeName:Q$.ZodMap,...B$(U)})};class H1 extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.set)return u(U,{code:T.invalid_type,expected:l.set,received:U.parsedType}),W$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)u(U,{code:T.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)u(U,{code:T.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return W$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new F6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new H1({...this._def,minSize:{value:$,message:e.toString(_)}})}max($,_){return new H1({...this._def,maxSize:{value:$,message:e.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}H1.create=($,_)=>{return new H1({valueType:$,minSize:null,maxSize:null,typeName:Q$.ZodSet,...B$(_)})};class XU extends F${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.function)return u(_,{code:T.invalid_type,expected:l.function,received:_.parsedType}),W$;function U(G,Q){return KG({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,FG(),GU].filter((Y)=>!!Y),issueData:{code:T.invalid_arguments,argumentsError:Q}})}function W(G,Q){return KG({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,FG(),GU].filter((Y)=>!!Y),issueData:{code:T.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof V1){let G=this;return g_(async function(...Q){let Y=new c_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return g_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new c_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new c_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new XU({...this._def,args:u6.create($).rest(_0.create())})}returns($){return new XU({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new XU({args:$?$:u6.create([]).rest(_0.create()),returns:_||_0.create(),typeName:Q$.ZodFunction,...B$(U)})}}class qU extends F${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}qU.create=($,_)=>{return new qU({getter:$,typeName:Q$.ZodLazy,...B$(_)})};class OU extends F${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return u(_,{received:_.data,code:T.invalid_literal,expected:this._def.value}),W$}return{status:"valid",value:$.data}}get value(){return this._def.value}}OU.create=($,_)=>{return new OU({value:$,typeName:Q$.ZodLiteral,...B$(_)})};function XA($,_){return new W0({values:$,typeName:Q$.ZodEnum,...B$(_)})}class W0 extends F${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{expected:g$.joinValues(U),received:_.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{received:_.data,code:T.invalid_enum_value,options:U}),W$}return g_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return W0.create($,{...this._def,..._})}exclude($,_=this._def){return W0.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}W0.create=XA;class LU extends F${_parse($){let _=g$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==l.string&&U.parsedType!==l.number){let W=g$.objectValues(_);return u(U,{expected:g$.joinValues(W),received:U.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(g$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=g$.objectValues(_);return u(U,{received:U.data,code:T.invalid_enum_value,options:W}),W$}return g_($.data)}get enum(){return this._def.values}}LU.create=($,_)=>{return new LU({values:$,typeName:Q$.ZodNativeEnum,...B$(_)})};class V1 extends F${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.promise&&_.common.async===!1)return u(_,{code:T.invalid_type,expected:l.promise,received:_.parsedType}),W$;let U=_.parsedType===l.promise?_.data:Promise.resolve(_.data);return g_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}V1.create=($,_)=>{return new V1({type:$,typeName:Q$.ZodPromise,...B$(_)})};class e_ extends F${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(u(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return W$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return W$;if(Q.status==="dirty")return WU(Q.value);if(_.value==="dirty")return WU(Q.value);return Q});else{if(_.value==="aborted")return W$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")return WU(G.value);if(_.value==="dirty")return WU(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!L1(X))return W$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!L1(X))return W$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});g$.assertNever(W)}}e_.create=($,_,U)=>{return new e_({schema:$,typeName:Q$.ZodEffects,effect:_,...B$(U)})};e_.createWithPreprocess=($,_,U)=>{return new e_({schema:_,effect:{type:"preprocess",transform:$},typeName:Q$.ZodEffects,...B$(U)})};class E6 extends F${_parse($){if(this._getType($)===l.undefined)return g_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}E6.create=($,_)=>{return new E6({innerType:$,typeName:Q$.ZodOptional,...B$(_)})};class R4 extends F${_parse($){if(this._getType($)===l.null)return g_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}R4.create=($,_)=>{return new R4({innerType:$,typeName:Q$.ZodNullable,...B$(_)})};class NU extends F${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===l.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}NU.create=($,_)=>{return new NU({innerType:$,typeName:Q$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...B$(_)})};class BU extends F${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(MW(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new c_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new c_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}BU.create=($,_)=>{return new BU({innerType:$,typeName:Q$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...B$(_)})};class PW extends F${_parse($){if(this._getType($)!==l.nan){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.nan,received:U.parsedType}),W$}return{status:"valid",value:$.data}}}PW.create=($)=>{return new PW({typeName:Q$.ZodNaN,...B$($)})};var ih=Symbol("zod_brand");class MG extends F${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class fW extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return W$;if(J.status==="dirty")return _.dirty(),WU(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return W$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new fW({in:$,out:_,typeName:Q$.ZodPipeline})}}class HU extends F${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(L1(W))W.value=Object.freeze(W.value);return W};return MW(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}HU.create=($,_)=>{return new HU({innerType:$,typeName:Q$.ZodReadonly,...B$(_)})};function tR($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function GA($,_={},U){if($)return B1.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=tR(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=tR(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return B1.create()}var rh={object:U_.lazycreate},Q$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(Q$||(Q$={}));var ph=($,_={message:`Input not instance of ${$.name}`})=>GA((U)=>U instanceof $,_),QA=R6.create,YA=U0.create,oh=PW.create,th=J0.create,jA=QU.create,ah=N1.create,sh=IW.create,eh=YU.create,$x=jU.create,_x=B1.create,Ux=_0.create,Jx=m6.create,Wx=gW.create,Xx=A6.create,Gx=U_.create,Qx=U_.strictCreate,Yx=DU.create,jx=bG.create,Dx=zU.create,zx=u6.create,qx=wW.create,Ox=kW.create,Lx=H1.create,Nx=XU.create,Bx=qU.create,Hx=OU.create,Vx=W0.create,Rx=LU.create,Ax=V1.create,aR=e_.create,Ex=E6.create,Fx=R4.create,Kx=e_.createWithPreprocess,bx=fW.create,Mx=()=>QA().optional(),Ix=()=>YA().optional(),gx=()=>jA().optional(),wx={string:($)=>R6.create({...$,coerce:!0}),number:($)=>U0.create({...$,coerce:!0}),boolean:($)=>QU.create({...$,coerce:!0}),bigint:($)=>J0.create({...$,coerce:!0}),date:($)=>N1.create({...$,coerce:!0})},kx=W$;var r={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},DA=q.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),n_=q.string().datetime(),z$=q.string().trim().min(1),K6=z$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),zA=q.string().regex(/^[a-fA-F0-9]{64}$/),qA=q.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),A4=q.record(q.unknown()),AU=q.array(q.string().min(1)).default([]),R1=n_.nullable().optional(),Px=new Set(["succeeded","failed","cancelled","blocked","skipped"]),E1=q.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function m$($){return q.object({schema:q.literal($),id:q.string().min(1),createdAt:n_,updatedAt:R1,metadata:A4.optional()}).strict()}var Qa=q.object({schema:DA,id:q.string().min(1),createdAt:n_,updatedAt:R1,metadata:A4.optional()}).strict(),OA=q.enum(["agent","human","service","model","workflow","system"]),fx=m$(r.actorRef).extend({kind:OA,name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional(),capabilities:q.array(q.string().min(1)).default([])}).strict(),d6=q.object({kind:OA,id:q.string().min(1),name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional()}).strict(),LA=q.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),Cx=m$(r.resourceRef).extend({kind:LA,name:q.string().min(1).optional(),uri:K6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:AU}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),E$=q.object({kind:LA,id:q.string().min(1),name:q.string().min(1).optional(),uri:K6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:AU}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),DO=q.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),Tx=q.enum(["none","partial","full","unknown"]),Sx=m$(r.evidenceRef).extend({kind:DO,uri:K6,sha256:zA.optional(),summary:q.string().min(1).optional(),contentType:q.string().min(1).optional(),sizeBytes:q.number().int().nonnegative().optional(),redaction:Tx.default("unknown"),producer:d6.optional(),resourceRefs:q.array(E$).default([]),tags:AU}).strict(),i$=q.object({id:q.string().min(1),kind:DO.optional(),uri:K6.optional(),sha256:zA.optional(),summary:q.string().min(1).optional()}).strict(),CW=m$(r.costEstimate).extend({currency:q.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:q.number().int().nonnegative(),provider:q.string().min(1).optional(),model:q.string().min(1).optional(),accountId:q.string().min(1).optional(),promptTokens:q.number().int().nonnegative().optional(),completionTokens:q.number().int().nonnegative().optional(),totalTokens:q.number().int().nonnegative().optional(),basis:q.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:q.array(E$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:q.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),Zx=q.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),NA=m$(r.decisionEnvelope).extend({decisionType:q.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:Zx,actor:d6.optional(),traceId:q.string().min(1).optional(),inputHash:qA.optional(),policyBundleId:q.string().min(1).optional(),selected:q.array(E$).default([]),skipped:q.array(E$).default([]),reason:q.string().min(1),obligations:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),costEstimate:CW.optional(),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),vx=m$(r.capabilityCard).extend({kind:q.enum(["model","tool","machine","agent","lane","connector","service"]),name:q.string().min(1),version:q.string().min(1).optional(),status:q.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:q.array(q.string().min(1)).default([]),limitations:q.array(q.string().min(1)).default([]),riskLevel:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:CW.optional(),evidenceRefs:q.array(i$).default([])}).strict(),VU=q.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),yx=q.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),hx=q.object({refName:z$,requiredForModes:q.array(VU).min(1),allowedSecretInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:z$,revocationCheck:q.boolean().default(!0)}).strict(),xx=q.object({operation:z$,supportedModes:q.array(VU).min(1),sideEffectClass:yx,requiresApproval:q.boolean().default(!1),requiresIdempotencyKey:q.boolean().default(!1),requiresSandboxEvidence:q.boolean().default(!1),requiresRollbackOrRevocation:q.boolean().default(!1),rollbackOrRevocation:z$.optional(),noSideEffectSmoke:z$.optional(),reconciliation:z$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),mx=q.object({providerId:z$,appId:z$,adapterId:z$,ownerPackage:z$,modes:q.array(VU).min(1),defaultMode:VU,credentialRequirements:q.array(hx).default([]),operations:q.array(xx).min(1),rateLimitPosture:z$,costPosture:z$.optional(),auditEvents:q.array(z$).default([]),redactionRules:q.array(z$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:q.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),ux=q.object({appId:z$,repo:z$,priority:q.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:q.array(z$).min(1),firstOperations:q.array(z$).min(1),blockedUntil:q.array(z$).default([])}).strict(),dx=m$(r.providerLiveModeStandard).extend({name:z$,version:z$,modes:q.array(VU).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:q.array(z$).min(1),liveMutationGate:q.object({requiredMode:q.literal("live_mutating"),requiredChecks:q.array(z$).min(1),forbiddenBypassSignals:q.array(z$).min(1),disabledLiveSmoke:z$}).strict(),noSideEffectSmoke:q.object({requiredForModes:q.array(VU).min(1),commandEvidence:q.array(z$).min(1),secretOutputScan:q.boolean().default(!0)}).strict(),credentialPolicy:q.object({acceptedInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:q.literal(!1),missingCredentialBehavior:q.literal("fail_closed"),revocationCheckRequired:q.boolean().default(!0)}).strict(),operationCards:q.array(mx).min(1),firstAdoptionTargets:q.array(ux).min(1),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),cx=q.object({id:q.string().min(1),title:q.string().min(1).optional(),summary:q.string().min(1),text:q.string().optional(),tokens:q.number().int().nonnegative().optional(),source:i$,resourceRefs:q.array(E$).default([])}).strict(),BA=m$(r.contextPack).extend({objective:q.string().min(1),budget:q.object({maxTokens:q.number().int().positive().optional(),maxBytes:q.number().int().positive().optional()}).strict().optional(),items:q.array(cx).default([]),citations:q.array(i$).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),permissions:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),conflicts:q.array(q.string().min(1)).default([]),uncertainty:q.string().min(1).optional()}).strict(),V6=z$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),A1=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),nx=q.enum(["public","internal","private","sensitive"]),lx=q.enum(["draft","active","paused","archived"]),zO=q.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),HA=m$(r.integrationRef).extend({kind:zO,name:q.string().min(1),projectId:A1.optional(),sourcePackage:z$.optional(),externalId:z$.optional(),uri:K6.optional(),enabled:q.boolean().default(!0),readOnly:q.boolean().default(!0),capabilities:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:E$.optional(),evidenceRefs:q.array(i$).default([]),config:A4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),ix=q.object({schemaRoot:V6.default(".hasna/project"),dashboardManifest:V6.default(".hasna/project/dashboard.render.json"),snapshotsDir:V6.default(".hasna/project/snapshots"),documentsDir:V6.default("documents"),reportsDir:V6.default("reports"),evidenceDir:V6.default(".hasna/project/evidence"),privateDir:V6.default(".hasna/project/private")}).strict(),rx=m$(r.projectManifest).extend({projectId:A1,slug:A1,name:q.string().min(1),summary:q.string().min(1).optional(),status:lx.default("active"),classification:nx.default("private"),owner:d6.optional(),layout:ix.default({}),integrations:q.array(HA).default([]),renderManifests:q.array(E$).default([]),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),tags:AU}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:q.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),px=q.enum(["local","package","provider","url"]),qO=q.object({id:q.string().min(1),kind:px,specifier:q.string().min(1),path:V6.optional(),packageName:q.string().min(1).optional(),uri:K6.optional(),provider:zO.optional(),schemaId:DA.optional(),integrity:qA.optional(),resourceRef:E$.optional(),optional:q.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:q.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:q.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:q.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ox=q.enum(["dashboard","canvas","panel","report","document","custom"]),tx=q.object({id:q.string().min(1),title:q.string().min(1),kind:ox,default:q.boolean().default(!1),entry:V6.optional(),imports:q.array(qO).default([]),panelRefs:q.array(E$).default([]),dataRefs:q.array(E$).default([]),layout:A4.optional()}).strict(),ax=m$(r.renderManifest).extend({projectId:A1,name:q.string().min(1),version:q.string().min(1),manifestPath:V6.default(".hasna/project/dashboard.render.json"),renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:q.array(tx).min(1),imports:q.array(qO).default([]),theme:A4.optional(),compatibility:q.object({minProjectsVersion:q.string().min(1).optional(),minContractsVersion:q.string().min(1).optional()}).strict().optional(),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:q.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),sx=q.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),ex=q.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),$m=q.object({id:q.string().min(1),label:q.string().min(1),value:q.union([q.string(),q.number(),q.boolean()]),unit:q.string().min(1).optional(),status:q.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:q.array(E$).default([])}).strict(),_m=q.object({id:q.string().min(1),title:q.string().min(1),summary:q.string().min(1).optional(),status:q.string().min(1).optional(),priority:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:n_.optional(),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),metadata:A4.optional()}).strict(),Um=q.object({renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:q.string().min(1).optional(),entry:V6.optional(),imports:q.array(qO).default([]),spec:A4.default({})}).strict(),VA=m$(r.projectPanel).extend({projectId:A1,provider:q.object({kind:zO,id:q.string().min(1),name:q.string().min(1).optional(),sourcePackage:z$.optional(),externalId:z$.optional()}).strict(),kind:ex,title:q.string().min(1),summary:q.string().min(1).optional(),state:sx.default("ready"),stateReason:q.string().min(1).optional(),generatedAt:n_,freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),metrics:q.array($m).default([]),items:q.array(_m).default([]),actions:q.array(E$).default([]),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),renderFragment:Um.optional(),warnings:q.array(q.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:q.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),Jm=m$(r.projectSnapshot).extend({projectId:A1,generatedAt:n_,status:E1.default("unknown"),manifestRef:E$,renderManifestRef:E$.optional(),panels:q.array(VA).default([]),contextPacks:q.array(BA).default([]),proofBundleRefs:q.array(E$).default([]),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),warnings:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),RA=q.object({id:q.string().min(1),kind:q.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),expected:q.string().min(1).optional(),timeoutMs:q.number().int().positive().optional(),resourceRefs:q.array(E$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:q.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Wm=m$(r.validationPlan).extend({objective:q.string().min(1),subject:E$.optional(),checks:q.array(RA).min(1),verifier:d6.optional(),requiredEvidenceKinds:q.array(DO).default([])}).strict(),Xm=q.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Gm=q.enum(["draft","active","deprecated","archived"]),Qm=q.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Ym=q.object({key:q.string().regex(/^[A-Z][A-Z0-9_]*$/),description:q.string().min(1),required:q.boolean().default(!1),["secret"]:q.boolean().default(!1),group:q.string().min(1).optional(),default:q.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),jm=q.object({name:q.string().min(1),command:q.string().min(1),description:q.string().min(1).optional(),required:q.boolean().default(!1)}).strict(),Dm=q.object({packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:q.array(q.string().min(1)).default([]),requiredFiles:q.array(q.string().min(1)).default([]),requiredDirectories:q.array(q.string().min(1)).default([]),optionalDirectories:q.array(q.string().min(1)).default([])}).strict(),zm=m$(r.scaffoldManifest).extend({name:q.string().min(1),version:q.string().min(1),summary:q.string().min(1),type:Xm,status:Gm.default("draft"),capabilities:q.array(Qm).default([]),techStack:q.array(q.string().min(1)).default([]),tags:AU,source:E$.optional(),output:Dm,env:q.array(Ym).default([]),scripts:q.array(jm).default([]),validationChecks:q.array(RA).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:q.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),qm=q.enum(["installed","failed","cancelled","partial","unknown"]),Om=m$(r.scaffoldInstallRecord).extend({scaffoldId:q.string().min(1),scaffoldVersion:q.string().min(1).optional(),manifestRef:E$.optional(),target:E$,status:qm,installedAt:n_.optional(),installer:d6.optional(),packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:A4.optional(),generatedFiles:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),proofBundleRefs:q.array(E$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),RU=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),OO=q.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),AA=q.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Lm=q.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Nm=z$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Bm=q.enum(["active","stub","deprecated","archived"]),Hm=q.enum(["stable","beta","canary","internal"]),Vm=q.object({transport:q.enum(["http","stdio"]).default("http"),bin:q.string().min(1).optional(),url:K6.optional()}).strict(),Rm=q.object({healthPath:q.string().min(1).default("/health"),port:q.number().int().positive().optional(),baseUrl:K6.optional()}).strict(),Am=q.object({bins:q.array(q.string().min(1)).default([]),mcp:Vm.optional(),http:Rm.optional()}).strict(),Em=m$(r.app).extend({appId:RU,npmName:OO,repoFolder:RU,githubUrl:Nm,projectSlug:A1,surfaces:Am.default({}),lifecycle:Bm,releaseChannel:Hm.default("stable"),summary:q.string().min(1).optional(),tags:AU}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),Fm=q.enum(["skill","ci","backfilled"]),Km=m$(r.release).extend({appId:RU,package:OO,version:AA,gitSha:Lm,publishedAt:n_,publishPath:Fm,changelogRef:E$.optional(),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),bm=q.enum(["install","update","rollback","freeze-blocked"]),Mm=q.object({cliVersion:q.string().min(1).optional(),mcpHealth:q.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),Im=m$(r.rolloutRecord).extend({appId:RU,package:OO,version:AA,machine:z$,action:bm,result:E1,verifiedBy:Mm.optional(),at:n_,evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:q.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),gm=q.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),wm=q.enum(["pending","queued","sent","failed","skipped","suppressed"]),km=q.object({channel:gm,status:wm,deliveredAt:n_.optional(),detail:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Pm=m$(r.announcement).extend({campaignId:z$,appId:RU.optional(),releaseRef:E$.optional(),channels:q.array(km).min(1),audienceRef:E$,sentAt:n_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),fm=q.enum(["tag","attribute","group"]),Cm=q.enum(["eq","neq","in","not_in","exists","not_exists"]),sR=q.union([q.string(),q.number(),q.boolean()]),Tm=q.object({kind:fm,key:q.string().min(1).optional(),op:Cm.default("eq"),value:sR.optional(),values:q.array(sR).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:q.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),Sm=q.object({match:q.enum(["all","any"]).default("all"),predicates:q.array(Tm).min(1)}).strict(),Zm=q.enum(["opt_in","opt_out","transactional","none"]),vm=m$(r.audience).extend({audienceId:RU,name:z$,definition:Sm,consentPolicy:Zm,suppressionSyncedAt:R1}).strict(),WO=["@hasna/cloud","open-cloud"],ym=q.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),hm=q.object({id:q.string().min(1),provider:ym,kind:q.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:q.string().min(1),region:q.string().min(1).optional(),accountId:q.string().min(1).optional(),uri:K6.optional(),machineScoped:q.boolean().default(!1)}).strict(),EA=m$(r.appCloudManifest).extend({packageName:q.string().min(1),packageVersion:q.string().min(1).optional(),appId:q.string().min(1),repository:E$.optional(),storageMode:q.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:q.enum(["none","app_owned","external_service","local_cache"]),cloudResources:q.array(hm).default([]),localCache:q.object({path:q.string().min(1).optional(),pullMode:q.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:q.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:q.array(q.string().min(1)).default([...WO]),dependencies:q.array(q.string().min(1)).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...WO,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:q.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of WO)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:q.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:q.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),FA=q.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),xm=q.enum(["low","medium","high","critical"]),KA=q.object({id:q.string().min(1),kind:FA,severity:xm,path:q.string().min(1).optional(),packageName:q.string().min(1).optional(),pattern:q.string().min(1),message:q.string().min(1),evidenceRefs:q.array(i$).default([])}).strict(),mm=q.object({id:q.string().min(1),kind:FA,status:E1,target:q.string().min(1),command:q.string().min(1).optional(),evidenceRefs:q.array(i$).default([]),findings:q.array(KA).default([])}).strict(),um=m$(r.noCloudEvidencePack).extend({subject:E$,packageName:q.string().min(1).optional(),packageVersion:q.string().min(1).optional(),generatedBy:d6.optional(),scanMode:q.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:E1,verdict:q.enum(["passed","failed","warning","not_run"]),appCloudManifest:EA.optional(),checks:q.array(mm).min(1),findings:q.array(KA).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),dm=q.object({checkId:q.string().min(1),status:E1,summary:q.string().min(1).optional(),startedAt:R1,finishedAt:R1,evidenceRefs:q.array(i$).default([])}).strict(),cm=m$(r.proofBundle).extend({subject:E$,validationPlanRef:E$.optional(),status:E1,verdict:q.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:q.array(dm).default([]),verifier:d6.optional(),evidenceRefs:q.array(i$).default([]),residualRisks:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),nm=m$(r.workRun).extend({objective:q.string().min(1),status:E1,actor:d6,traceId:q.string().min(1).optional(),startedAt:R1,finishedAt:R1,constraints:q.array(q.string().min(1)).default([]),resourceRefs:q.array(E$).default([]),decisions:q.array(NA).default([]),costEstimates:q.array(CW).default([]),evidenceRefs:q.array(i$).default([]),validationPlanRefs:q.array(E$).default([]),proofBundleRefs:q.array(E$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:q.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(Px.has($.status)&&!$.finishedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),lm=q.object({id:q.string().min(1),at:n_,kind:q.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:q.string().min(1),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),costEstimate:CW.optional()}).strict(),im=m$(r.agentTrajectory).extend({actor:d6,workRunRef:E$.optional(),events:q.array(lm).default([]),outcome:q.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:E$.optional()}).strict(),rm="v1",pm=q.enum(["library","cli-with-store","service","saas"]),om=["local","self-hosted","cloud"],bA=q.enum(om),tm=q.enum(["supported","deferred","unsupported"]),am=q.enum(["none","local-only","api-key","session","service-token","custom"]),XO=q.object({method:q.enum(["GET","POST","PUT","PATCH","DELETE"]),path:q.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:q.boolean().default(!1),description:q.string().min(1).optional()}).strict(),sm=q.object({id:q.string().min(1),kind:q.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),evidenceRef:i$.optional(),status:q.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),em=q.object({name:q.string().min(1),status:tm,bin:q.string().min(1).optional(),mcpBin:q.string().min(1).optional(),authMode:am,deploymentModes:q.array(bA).min(1),health:XO.optional(),readiness:XO.optional(),version:XO.optional(),apiBasePath:q.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:q.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:q.string().min(1).optional(),readinessGates:q.array(sm).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:q.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:q.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:q.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),$u=["local","cloud"],MA=q.enum($u);var _u=q.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Uu=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Ju($){return Uu.map((_)=>`${$}${_}`)}function eR($){return`hasna/oss/${$}/database-url`}var Wu=q.object({mode:MA,envPrefix:q.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:q.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:q.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:q.string().min(1).optional()}).strict(),Xu=q.object({$schema:q.string().min(1).optional(),schema:q.literal(r.serviceContract),name:_u,class:pm,contractVersion:q.literal(rm),kitVersion:q.string().min(1),description:q.string().min(1).optional(),bins:q.array(q.string().min(1)).default([]),storage:Wu.optional(),deploymentModes:q.array(bA).default(["local"]),serviceSurfaces:q.array(em).default([]),metadata:A4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Ju($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:q.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==eR($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${eR($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:q.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:q.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),Ya=q.object({status:q.enum(["ok","degraded","unavailable"]),version:q.string().min(1),mode:MA}).strict(),ja=q.object({ready:q.boolean(),reason:q.string().min(1).optional()}).strict(),Da=q.object({version:q.string().min(1)}).strict(),Gu=q.enum(["info","notice","breaking","critical"]),Qu=q.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),Yu=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],ju=q.enum(Yu);var Du=q.enum(["fleet","package","machine"]),IA=m$(r.commsEventEnvelope).extend({type:Qu,severity:Gu,scope:Du,summary:q.string().min(1).optional(),source:d6.optional(),affected_packages:q.array(z$).default([]),affected_machines:q.array(z$).default([]),action_required:q.boolean().default(!1),ack_by:n_.optional(),dedupe_key:z$,resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),zu=q.enum(["fleet","package","product","loop-lane","initiative","personal"]),qu=q.enum(["quiet","work","firehose"]),Ou=z$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),Lu=m$(r.commsChannelMetadata).extend({class:zu,noise:qu.optional(),owner:z$.optional(),until:Ou.optional(),successor:z$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),$A={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Nu=m$(r.commsMessageMetadata).extend({tag:ju,envelope:IA}).strict().superRefine(($,_)=>{let U=$A[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries($A))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Bu={[r.actorRef]:fx,[r.resourceRef]:Cx,[r.evidenceRef]:Sx,[r.workRun]:nm,[r.decisionEnvelope]:NA,[r.costEstimate]:CW,[r.capabilityCard]:vx,[r.providerLiveModeStandard]:dx,[r.contextPack]:BA,[r.integrationRef]:HA,[r.projectManifest]:rx,[r.projectPanel]:VA,[r.projectSnapshot]:Jm,[r.renderManifest]:ax,[r.agentTrajectory]:im,[r.validationPlan]:Wm,[r.proofBundle]:cm,[r.scaffoldManifest]:zm,[r.scaffoldInstallRecord]:Om,[r.appCloudManifest]:EA,[r.noCloudEvidencePack]:um,[r.serviceContract]:Xu,[r.commsEventEnvelope]:IA,[r.commsChannelMetadata]:Lu,[r.commsMessageMetadata]:Nu,[r.app]:Em,[r.release]:Km,[r.rolloutRecord]:Im,[r.announcement]:Pm,[r.audience]:vm};class gA extends Error{schemaId;issues;constructor($,_){super(`Contract validation failed for ${$}`);this.name="ContractValidationError",this.schemaId=$,this.issues=_}}function wA($,_){let W=Bu[$].safeParse(_);if(!W.success)throw new gA($,W.error.issues);return W.data}var za={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",title:"Hasna Service Contract v1",description:"Repo self-description (hasna.contract.json) for the Hasna Service Contract v1. Storage runtime enum is local|cloud ONLY per Amendment A1 (PURE REMOTE).",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:r.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: <name>, <name>-cli, <name>-mcp, <name>-serve, <name>-worker, <name>-runner, <name>-daemon, <name>-migrate, <name>-doctor."},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},description:"Supported deployment modes. local = this machine, self-hosted = Hasna-owned AWS, cloud = multi-tenant SaaS for outside users."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode","deploymentModes"],properties:{name:{type:"string",minLength:1},status:{enum:["supported","deferred","unsupported"]},bin:{type:"string",minLength:1},mcpBin:{type:"string",minLength:1},authMode:{enum:["none","local-only","api-key","session","service-token","custom"]},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},minItems:1},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},readiness:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},version:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},apiBasePath:{type:"string",pattern:"^/v[0-9]+$"},openApiPath:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$"},deferReason:{type:"string",minLength:1},readinessGates:{type:"array",items:{type:"object",additionalProperties:!1,required:["id","kind"],properties:{id:{type:"string",minLength:1},kind:{enum:["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]},required:{type:"boolean"},command:{type:"string",minLength:1},evidenceRef:{type:"object"},status:{enum:["pending","passed","failed","blocked","deferred"]},summary:{type:"string",minLength:1}}}}}},description:"Declared HTTP/MCP service surfaces. Supported surfaces name lifecycle endpoints; unsafe or unfinished surfaces use deferred/unsupported with a reason."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["local","cloud"],description:"Runtime storage enum. local|cloud ONLY (Amendment A1: PURE REMOTE)."},envPrefix:{type:"string",pattern:"^HASNA_[A-Z][A-Z0-9]*_$",description:"Primary env prefix, e.g. HASNA_TODOS_."},aliasEnvPrefix:{type:"string",pattern:"^[A-Z][A-Z0-9]*_$",description:"Optional short alias env prefix, e.g. TODOS_."},databaseUrlSecretRef:{type:"string",pattern:"^hasna/oss/[a-z0-9-]+/database-url$",description:"Secret Manager ref for the cloud database URL."},sqlitePath:{type:"string",minLength:1,description:"Local sqlite path (~/.hasna/<name>/<name>.db)."}}},metadata:{type:"object"}}};var kA="@hasna/knowledge";function Hu($){if(!Number.isFinite($??0))return 20;return Math.max(1,Math.min(100,Math.trunc($??20)))}function Vu($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function TW($,_=180){let U=String($??"").replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Q_($,_=""){return typeof $==="string"&&$.length>0?$:_}function SW($){return typeof $==="number"&&Number.isFinite($)?$:0}function EU($){if(typeof $!=="string"||$.length===0)return;let _=$.includes("T")?$:`${$.replace(" ","T")}Z`,U=new Date(_);return Number.isNaN(U.valueOf())?void 0:U.toISOString()}function IG($){return K6.safeParse($).success}function b6($,_,U,W,J=[]){return{kind:$,id:_,name:U,uri:W&&IG(W)?W:void 0,externalId:_,sourcePackage:kA,tags:J}}function Ru($){return[...$.items.flatMap((U)=>[U.updated_at,U.created_at]),...$.sources.flatMap((U)=>[U.updated_at,U.created_at]),...$.chunks.map((U)=>U.created_at),...$.wiki_pages.flatMap((U)=>[U.updated_at,U.created_at]),...$.storage_objects.flatMap((U)=>[U.updated_at,U.created_at]),...$.runs.flatMap((U)=>[U.updated_at,U.created_at]),...$.reindex_queue.flatMap((U)=>[U.updated_at,U.created_at]),...$.sync_conflicts.map((U)=>U.created_at),...$.approval_gates.flatMap((U)=>[U.updated_at,U.created_at])].map(EU).filter(Boolean).sort((U,W)=>W.localeCompare(U))[0]}function Au($){if(!$)return"unknown";let _=Date.now()-new Date($).valueOf();if(!Number.isFinite(_))return"unknown";return _>2592000000?"stale":"fresh"}function Eu($){let _=(U)=>{let W=String(U??"").toLowerCase();return W!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(W)};return $.reindex_queue.filter((U)=>_(U.status)).length+$.sync_conflicts.filter((U)=>_(U.status)).length+$.approval_gates.filter((U)=>_(U.status)).length}function Fu($,_){let U=[];for(let W of $.items.slice(0,_))U.push({id:`item_${W.id}`,title:W.title,summary:TW(W.content_preview),status:W.archived?"archived":"active",priority:"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("knowledge",W.id,W.title,`knowledge://item/${encodeURIComponent(W.id)}`,W.tags)],evidenceRefs:W.url&&IG(W.url)?[{id:`url_${W.id}`,kind:"url",uri:W.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:W.archived,tags:W.tags,url:W.url||void 0}});for(let W of $.sources.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,Q_(W.uri,"source")),X=Q_(W.title,Q_(W.uri,J)),G=Q_(W.uri,`knowledge://source/${encodeURIComponent(J)}`);U.push({id:`source_${J}`,title:X,summary:TW(`${SW(W.chunks)} chunk(s), ${SW(W.revisions)} revision(s)`),status:SW(W.chunks)>0?"indexed":"source",priority:"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("document",J,X,G)],evidenceRefs:IG(G)?[{id:`source_${J}`,kind:"url",uri:G,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:W.kind,chunks:SW(W.chunks),revisions:SW(W.revisions)}})}for(let W of $.chunks.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"chunk"),X=Q_(W.source_uri);U.push({id:`chunk_${J}`,title:Q_(W.wiki_title,X?`Chunk from ${X}`:`Knowledge chunk ${J}`),summary:TW(W.text_preview),status:"chunk",priority:"low",timestamp:EU(W.created_at),resourceRefs:[b6("context_pack",J,Q_(W.wiki_title,J),`knowledge://chunk/${encodeURIComponent(J)}`)],evidenceRefs:X&&IG(X)?[{id:`chunk_source_${J}`,kind:"url",uri:X,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:X||void 0,token_count:W.token_count,ordinal:W.ordinal}})}for(let W of $.sync_conflicts.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"sync_conflict");U.push({id:`sync_conflict_${J}`,title:`Sync conflict: ${Q_(W.entity_kind,"entity")}/${Q_(W.entity_id,J)}`,summary:TW(`Status ${Q_(W.status,"unknown")}; strategy ${Q_(W.resolution_strategy,"none")}.`),status:Q_(W.status,"unknown"),priority:"critical",timestamp:EU(W.created_at),resourceRefs:[b6("finding",J,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:W.local_machine_id,remote_machine_id:W.remote_machine_id}})}for(let W of $.reindex_queue.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"reindex");U.push({id:`reindex_${J}`,title:`Reindex ${Q_(W.kind,"item")}: ${Q_(W.target_id,J)}`,summary:TW(W.reason),status:Q_(W.status,"unknown"),priority:Q_(W.status).toLowerCase()==="failed"?"high":"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("action",J,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:W.attempts,source_uri:W.source_uri}})}return U.slice(0,_)}async function PA($,_={}){let U=Hu(_.limit),W=new Date().toISOString(),J=Vu($),G=await(_.service??EG({scope:_.scope??"project",cwd:_.cwd})).resolveInventory({limit:U,storePath:_.storePath,includeArchived:_.includeArchived}),Q=Ru(G),Y=Au(Q),j=G.summary.active_items+G.summary.sources+G.summary.chunks+G.summary.wiki_pages+G.summary.storage_objects,O=Eu(G),B=j===0?"empty":Y==="stale"?"stale":"ready",V=Fu(G,U),L={schema:r.projectPanel,id:`knowledge_panel_${J}`,createdAt:W,projectId:J,provider:{kind:"knowledge",id:`knowledge_${J}`,name:"Knowledge",sourcePackage:kA,externalId:G.home},kind:"knowledge",title:"Knowledge",summary:B==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${G.summary.active_items} active note(s), ${G.summary.sources} source(s), ${G.summary.chunks} chunk(s), and ${G.summary.wiki_pages} wiki page(s).`,state:B,stateReason:B==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:W,freshness:Y,metrics:[{id:"active_items",label:"Active notes",value:G.summary.active_items,status:G.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:G.summary.sources,status:G.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:G.summary.chunks,status:G.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:G.summary.wiki_pages,status:G.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:G.summary.storage_objects,status:G.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:G.summary.vector_entries,status:G.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:O,status:O>0?"warning":"good"}],items:V,actions:[b6("action","knowledge:inventory","Inspect knowledge inventory"),b6("action","knowledge:context-pack","Build cited context pack"),b6("action","knowledge:ingest","Ingest project source")],resourceRefs:[b6("project",J,$,`project://${J}`),b6("knowledge",`home_${J}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(J)}`),b6("artifact",`db_${J}`,"Knowledge database",`knowledge://db/${encodeURIComponent(J)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:U}},metadata:{scope:G.scope,home:G.home,json_store_exists:G.paths.json_store_exists,latest_activity_at:Q}};return wA(r.projectPanel,L)}function fA($){let _=[`${$.title}: ${$.state}`,$.summary??"",...$.metrics.map((U)=>`${U.label}: ${U.value}`)].filter(Boolean);if($.items.length>0){_.push("Items:");for(let U of $.items.slice(0,10))if(_.push(`- ${U.title}${U.status?` [${U.status}]`:""}`),U.summary)_.push(` ${U.summary}`)}return _.join(` +`)}var SA=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"];var Ku=["remote","hybrid","self_hosted"],ZA="HASNA_KNOWLEDGE_STORAGE_MODE",vA="KNOWLEDGE_STORAGE_MODE";function CA($){return process.env[$]?.trim()||void 0}function TA($){let _=$?.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return"local";if(_==="cloud")return"cloud";if(_&&Ku.includes(_))return"cloud";return}function bu($={}){let _=I1(dW($.scope,$.cwd).home);return $$(_.knowledgeDbPath),{db:d(_.knowledgeDbPath),path:_.knowledgeDbPath,scope:$.scope??"global"}}function yA(){let $=TA(CA(ZA))??TA(CA(vA));if($)return $;return"local"}function LO($={}){let _=bu($);try{Mu(_.db);let U=_.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:yA(),service:"knowledge",scope:_.scope,databasePath:_.path,tables:SA,sync:U}}finally{_.db.close()}}function Mu($){$.exec(` CREATE TABLE IF NOT EXISTS _knowledge_sync_meta ( table_name TEXT NOT NULL, last_synced_at TEXT, direction TEXT NOT NULL CHECK(direction IN ('push', 'pull')), PRIMARY KEY (table_name, direction) ) - `)}var $b=hb(eA(),1),{program:ta,createCommand:aa,createArgument:sa,createOption:ea,CommanderError:$s,InvalidArgumentError:_s,InvalidOptionArgumentError:Us,Command:_b,Argument:Js,Option:Ws,Help:Xs}=$b.default;import{chmod as FO,mkdir as Kd,readFile as Md,rename as gd,writeFile as Xb}from"fs/promises";import{Buffer as Ob}from"buffer";import{existsSync as Lb}from"fs";import{homedir as Id}from"os";import{join as hW}from"path";import{createHmac as Td,timingSafeEqual as Os}from"crypto";import{randomUUID as vd}from"crypto";import{spawn as yd}from"child_process";import{randomUUID as nd}from"crypto";function Bd($,_){return _.split(".").reduce((U,W)=>{if(U&&typeof U==="object"&&W in U)return U[W];return},$)}function Hd($,_){let U=[],W=(X)=>{if(!U.some((G)=>Object.is(G,X)))U.push(X)};if(_.includes(".")&&_ in $)W($[_]);let J=Bd($,_);if(J!==void 0||!_.includes("."))W(J);return U}function Vd($,_={}){let U="";for(let W=0;W<$.length;W+=1){let J=$[W];if(J==="*")if($[W+1]==="*")U+=".*",W+=1;else U+=_.segmentSafe?"[^/]*":".*";else U+=J.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function vW($,_,U={}){if(_===void 0)return!0;if($===void 0)return!1;return(Array.isArray(_)?_:[_]).some((J)=>Vd(J,U).test($))}function Ub($,_){if(!_)return!0;return Object.entries(_).every(([U,W])=>{let J=Hd($,U);return Rd(J,W,U)})}function Rd($,_,U){if(Fd(_))return!$.some((W)=>Jb(W,_.not,U));return $.some((W)=>Jb(W,_,U))}function Jb($,_,U){if(typeof _==="string"||Array.isArray(_))return Ad($).some((W)=>vW(W,_,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray($))return $.some((W)=>W===_);return $===_}function Ad($){if($===void 0)return[];if(Array.isArray($))return $.flatMap((_)=>bd(_)?[String(_)]:[]);return[String($)]}function bd($){return $===null||typeof $==="string"||typeof $==="number"||typeof $==="boolean"}function Fd($){return Boolean($&&typeof $==="object"&&!Array.isArray($)&&"not"in $)}function Ed($,_){return vW($.source,_.source)&&vW($.type,_.type)&&vW($.subject,_.subject)&&vW($.severity,_.severity)&&Ub($.data,_.data)&&Ub($.metadata,_.metadata)}function Wb($,_){if(!$.enabled)return!1;if(!$.filters||$.filters.length===0)return!0;return $.filters.some((U)=>Ed(_,U))}var k5="HASNA_EVENTS_DIR",f5="HASNA_EVENTS_HOME",gO="local-json-v1:",wd=100,kd=1000;function Nb($){return $||process.env[k5]||process.env[f5]||hW(Id(),".hasna","events")}function fd(){if(process.env[k5])return k5;if(process.env[f5])return f5;return null}class P5{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor($=Nb()){this.dataDir=$,this.runtime=Pd($),this.channelsPath=hW($,"channels.json"),this.eventsPath=hW($,"events.json"),this.deliveriesPath=hW($,"deliveries.json")}async init(){await Kd(this.dataDir,{recursive:!0,mode:448}),await FO(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.findIndex((W)=>W.id===$.id);if(U>=0)_[U]={...$,createdAt:_[U].createdAt,updatedAt:new Date().toISOString()};else _.push($);return await this.writeJson(this.channelsPath,_),U>=0?_[U]:$}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel($){return(await this.listChannels()).find((U)=>U.id===$)}async removeChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.filter((W)=>W.id!==$);return await this.writeJson(this.channelsPath,U),U.length!==_.length}async appendEvent($){await this.init();let _=await this.readJson(this.eventsPath,[]);return _.push($),await this.writeJson(this.eventsPath,_),$}async appendEventOnce($,_={}){await this.init();let U=await this.readJson(this.eventsPath,[]);if(_.dedupe!==!1){let J=Qb(U,{id:$.id,dedupeKey:$.dedupeKey});if(J)return{event:J,stored:!1,deduped:!0,identity:{id:J.id,dedupeKey:J.dedupeKey}}}return U.push($),await this.writeJson(this.eventsPath,U),{event:$,stored:!0,deduped:!1,identity:{id:$.id,dedupeKey:$.dedupeKey}}}async listEvents($={}){await this.init();let _=await this.readJson(this.eventsPath,[]);return Gb(_,$)}async listEventsPage($={}){await this.init();let _=await this.readJson(this.eventsPath,[]),U=Gb(_,{eventId:$.eventId,source:$.source,type:$.type}),W=C5($.cursor,$),J=T5($.limit),X=U.slice(W,W+J),G=W+X.length,Q=G<U.length;return{events:X,cursor:$.cursor,nextCursor:Q?Bb(G,$):void 0,hasMore:Q}}async findEventByIdentity($){let _=await this.listEvents();return Qb(_,$)}async appendDelivery($){await this.init();let _=await this.readJson(this.deliveriesPath,[]);return _.push($),await this.writeJson(this.deliveriesPath,_),$}async listDeliveries(){return await this.init(),this.readJson(this.deliveriesPath,[])}async exportData(){return{channels:await this.listChannels(),events:await this.listEvents(),deliveries:await this.listDeliveries()}}async ensureArrayFile($){if(!Lb($))await Xb($,`[] -`,{encoding:"utf-8",mode:384});await FO($,384).catch(()=>{return})}async readJson($,_){try{let U=await Md($,"utf-8");if(!U.trim())return _;return JSON.parse(U)}catch(U){if(U.code==="ENOENT")return _;throw U}}async writeJson($,_){let U=`${$}.${process.pid}.${Date.now()}.tmp`;await Xb(U,`${JSON.stringify(_,null,2)} -`,{encoding:"utf-8",mode:384}),await gd(U,$),await FO($,384).catch(()=>{return})}}function Pd($=Nb()){return{mode:"local-files",name:"json-events-store",remote:!1,localFiles:!0,localSqlite:!1,postgres:!1,s3:!1,aws:!1,durable:!0,idempotency:"best-effort-local",replayCursors:!0,description:`Local JSON files in ${$}; no SQLite, Postgres, S3, or AWS runtime is configured by this store.`}}function Bb($,_={}){if(!Number.isInteger($)||$<0)throw Error(`Invalid event cursor offset: ${$}`);let U={offset:$,eventId:_.eventId,source:_.source,type:_.type};return`${gO}${Ob.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function C5($,_={}){if(!$)return 0;if(!$.startsWith(gO))throw Error(`Invalid local JSON event cursor: ${$}`);let U=$.slice(gO.length),W;try{W=JSON.parse(Ob.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${$}`)}let J=W.offset;if(!Number.isInteger(J)||J<0)throw Error(`Invalid local JSON event cursor: ${$}`);return EO("eventId",W.eventId,_.eventId),EO("source",W.source,_.source),EO("type",W.type,_.type),J}function T5($){if($===void 0)return wd;if(!Number.isInteger($)||$<1)throw Error(`Event page limit must be a positive integer, got ${$}`);return Math.min($,kd)}function Gb($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor){let W=C5(_.cursor,_);U=U.slice(W)}if(_.limit!==void 0)U=U.slice(0,T5(_.limit));return U}function EO($,_,U){if(_!==U)throw Error(`Local JSON event cursor ${$} filter mismatch`)}function Qb($,_){return $.find((U)=>_.id!==void 0&&U.id===_.id||_.dedupeKey!==void 0&&U.dedupeKey===_.dedupeKey)}async function Cd($){let _=new P5($);await _.init();let[U,W,J]=await Promise.all([_.listChannels(),_.listEvents(),_.listDeliveries()]),X=U.reduce((G,Q)=>{return G[Q.transport]=(G[Q.transport]??0)+1,G},{});return{service:"events",schemaVersion:"1.0",dataDir:_.dataDir,storage:_.runtime,env:{primary:k5,fallback:f5,active:fd()},files:{channels:KO(_.dataDir,"channels.json",U.length),events:KO(_.dataDir,"events.json",W.length),deliveries:KO(_.dataDir,"deliveries.json",J.length)},counts:{channels:U.length,enabledChannels:U.filter((G)=>G.enabled).length,disabledChannels:U.filter((G)=>!G.enabled).length,events:W.length,deliveries:J.length},transports:X,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function KO($,_,U){let W=hW($,_);return{path:W,exists:Lb(W),records:U}}function Sd($,_){return`${$}.${_}`}function Zd($,_,U){return`sha256=${Td("sha256",$).update(Sd(_,U)).digest("hex")}`}function n6(){return new Date().toISOString()}function yW($,_=4096){return $.length>_?`${$.slice(0,_)}...`:$}function hd($,_){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let U=JSON.stringify($),W=$.time,J={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":$.id,"X-Hasna-Event-Type":$.type,"X-Hasna-Timestamp":W,..._.webhook.headers};if(_.webhook.secret)J["X-Hasna-Signature"]=Zd(_.webhook.secret,W,U);return{body:U,headers:J}}async function xd($,_,U={}){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let W=n6(),{body:J,headers:X}=hd($,_),G=new AbortController,Q=setTimeout(()=>G.abort(),_.webhook.timeoutMs??15000);try{let Y=await(U.fetchImpl??fetch)(_.webhook.url,{method:"POST",headers:X,body:J,signal:G.signal}),j=yW(await Y.text());return{attempt:1,status:Y.ok?"success":"failed",startedAt:W,completedAt:n6(),responseStatus:Y.status,responseBody:j,error:Y.ok?void 0:`Webhook returned HTTP ${Y.status}`}}catch(Y){return{attempt:1,status:"failed",startedAt:W,completedAt:n6(),error:Y instanceof Error?Y.message:String(Y)}}finally{clearTimeout(Q)}}async function md($,_){if(!_.command)throw Error(`Channel ${_.id} has no command config`);let U=n6(),W=JSON.stringify($),J={...process.env,..._.command.env,HASNA_CHANNEL_ID:_.id,HASNA_EVENT_ID:$.id,HASNA_EVENT_TYPE:$.type,HASNA_EVENT_SOURCE:$.source,HASNA_EVENT_SUBJECT:$.subject??"",HASNA_EVENT_SEVERITY:$.severity,HASNA_EVENT_TIME:$.time,HASNA_EVENT_DEDUPE_KEY:$.dedupeKey??"",HASNA_EVENT_SCHEMA_VERSION:$.schemaVersion,HASNA_EVENT_JSON:W};return new Promise((X)=>{let G=yd(_.command.command,_.command.args??[],{cwd:_.command.cwd,env:J,stdio:["pipe","pipe","pipe"]}),Q="",Y="",j=setTimeout(()=>G.kill("SIGTERM"),_.command.timeoutMs??15000);G.stdin.end(W),G.stdout.on("data",(O)=>{Q+=O.toString()}),G.stderr.on("data",(O)=>{Y+=O.toString()}),G.on("error",(O)=>{clearTimeout(j),X({attempt:1,status:"failed",startedAt:U,completedAt:n6(),stdout:yW(Q),stderr:yW(Y),error:O.message})}),G.on("close",(O,B)=>{clearTimeout(j);let V=O===0;X({attempt:1,status:V?"success":"failed",startedAt:U,completedAt:n6(),stdout:yW(Q),stderr:yW(Y),error:V?void 0:`Command exited with ${B?`signal ${B}`:`code ${O}`}`})})})}async function ud($,_,U={}){if(_.transport==="webhook")return xd($,_,U);if(_.transport==="command")return md($,_);return{attempt:1,status:"skipped",startedAt:n6(),completedAt:n6(),error:`Unsupported transport: ${_.transport}`}}function Yb($,_,U){let W=U.some((J)=>J.status==="success")?"success":U.every((J)=>J.status==="skipped")?"skipped":"failed";return{id:vd(),eventId:$.id,channelId:_.id,transport:_.transport,status:W,attempts:U,createdAt:U[0]?.startedAt??n6(),completedAt:U.at(-1)?.completedAt??n6()}}class Hb extends Error{eventType;issues;constructor($,_){let U=_.map((W)=>`${W.path||"<root>"}: ${W.message}`).join("; ");super(`Event validation failed for type "${$}": ${U}`);this.name="EventValidationError",this.eventType=$,this.issues=_}}class Vb{definitions=new Map;register($){return this.definitions.set($.type,$),this}unregister($){return this.definitions.delete($)}has($){return this.definitions.has($)}get($){return this.definitions.get($)}list(){return[...this.definitions.values()]}validateEvent($){let _=this.definitions.get($.type);if(!_)return{ok:!0};return _.validate($.data,$)}assertEventValid($){let _=this.validateEvent($);if(!_.ok)throw new Hb($.type,_.issues)}}var dd=new Vb;function MO($){return{id:$.id??nd(),source:$.source,type:$.type,time:pd($.time),subject:$.subject,severity:$.severity??"info",data:$.data??{},message:$.message,dedupeKey:$.dedupeKey,schemaVersion:$.schemaVersion??"1.0",metadata:$.metadata??{}}}class Rb{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor($={}){this.store=$.store??new P5($.dataDir),this.redactors=$.redactors??[],this.transportOptions={fetchImpl:$.fetchImpl},this.catalog=$.catalog??dd,this.validateCatalogTypes=$.validateCatalogTypes??!1}async addChannel($){let _=new Date().toISOString();return this.store.addChannel({...$,createdAt:$.createdAt??_,updatedAt:$.updatedAt??_})}async listChannels(){return this.store.listChannels()}async removeChannel($){return this.store.removeChannel($)}async emit($,_={}){let U=_.redactSensitiveData===!1?MO($):rd(MO($));if(_.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let W=await this.appendEvent(U,{dedupe:_.dedupe!==!1});if(W.deduped)return{event:W.event,deliveries:[],deduped:!0};let J=_.deliver===!1?[]:await this.deliver(W.event);return{event:W.event,deliveries:J,deduped:!1}}async listEvents($={}){if(Object.keys($).length===0)return this.store.listEvents();return jb(await this.store.listEvents(),$)}async listEventsPage($={}){if(this.store.listEventsPage)return this.store.listEventsPage($);let _=jb(await this.store.listEvents(),{eventId:$.eventId,source:$.source,type:$.type}),U=C5($.cursor,$),W=T5($.limit),J=_.slice(U,U+W),X=U+J.length,G=X<_.length;return{events:J,cursor:$.cursor,nextCursor:G?Bb(X,$):void 0,hasMore:G}}async listDeliveries(){return this.store.listDeliveries()}async deliver($){let U=(await this.store.listChannels()).filter((J)=>Wb(J,$)),W=[];for(let J of U){let X=await this.applyRedaction($,J),G=await this.deliverWithRetry(X,J);await this.store.appendDelivery(G),W.push(G)}return W}async matchChannel($,_={}){let U=await this.store.getChannel($);if(!U)throw Error(`Channel not found: ${$}`);let W=MO({source:_.source??"hasna.events",type:_.type??"events.test",subject:_.subject??$,severity:_.severity??"info",data:_.data??{test:!0},message:_.message??"Hasna events test delivery",dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion,metadata:_.metadata,time:_.time,id:_.id}),J=Wb(U,W);return{channelId:U.id,matched:J,event:W,filters:U.filters,reason:J?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel($,_={},U={}){let W=await this.store.getChannel($);if(!W)throw Error(`Channel not found: ${$}`);let J=await this.matchChannel($,_),X=J.event;if(U.honorFilters&&!J.matched){let Y=new Date().toISOString(),j=Yb(X,W,[{attempt:1,status:"skipped",startedAt:Y,completedAt:Y,error:J.reason}]);return j.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(j),j}let G=await this.applyRedaction(X,W),Q=await this.deliverWithRetry(G,W);return await this.store.appendDelivery(Q),Q}async replay($={}){let _=$.cursor||$.limit!==void 0?await this.listEventsPage($):{events:await this.listEvents($),hasMore:!1};if($.dryRun)return{events:_.events,deliveries:[],cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore};let U=[];for(let W of _.events)U.push(...await this.deliver(W));return{events:_.events,deliveries:U,cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore}}async appendEvent($,_){if(this.store.appendEventOnce)return this.store.appendEventOnce($,{dedupe:_.dedupe});if(_.dedupe){let W=await this.store.findEventByIdentity({id:$.id,dedupeKey:$.dedupeKey});if(W)return{event:W,stored:!1,deduped:!0,identity:{id:W.id,dedupeKey:W.dedupeKey}}}let U=await this.store.appendEvent($);return{event:U,stored:!0,deduped:!1,identity:{id:U.id,dedupeKey:U.dedupeKey}}}async applyRedaction($,_){let U=cd($,_.redact?.paths??[],_.redact?.replacement??"[REDACTED]");for(let W of this.redactors)U=await W(U,_);return U}async deliverWithRetry($,_){let U=od(_.retry),W=[];for(let J=0;J<U.maxAttempts;J+=1){let X=await ud($,_,this.transportOptions);if(X.attempt=J+1,X.status==="failed"&&J+1<U.maxAttempts)X.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**J);if(W.push(X),X.status!=="failed")break;if(X.nextBackoffMs)await Bun.sleep(X.nextBackoffMs)}return Yb($,_,W)}}function cd($,_,U="[REDACTED]"){if(_.length===0)return $;let W=structuredClone($);for(let J of _)id(W,J,U);return W}function Ab($){let _=structuredClone($);if(_.webhook?.secret)_.webhook.secret="[REDACTED]";if(_.command?.env)_.command.env=Object.fromEntries(Object.entries(_.command.env).map(([U,W])=>[U,bb(U)?"[REDACTED]":W]));return _}function ld($){return $.map(Ab)}function rd($,_="[REDACTED]"){return IO($,_)}function bb($){return/secret|token|password|api[_-]?key|authorization/i.test($)}function IO($,_){if(Array.isArray($))return $.map((U)=>IO(U,_));if(!$||typeof $!=="object")return $;return Object.fromEntries(Object.entries($).map(([U,W])=>[U,bb(U)?_:IO(W,_)]))}function id($,_,U){let W=_.split("."),J=$;for(let G of W.slice(0,-1)){let Q=J[G];if(!Q||typeof Q!=="object")return;J=Q}let X=W.at(-1);if(X&&X in J)J[X]=U}function jb($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor)U=U.slice(C5(_.cursor,_));if(_.limit!==void 0)U=U.slice(0,T5(_.limit));return U}function pd($){if(!$)return new Date().toISOString();return $ instanceof Date?$.toISOString():$}function od($){return{maxAttempts:Math.max(1,$?.maxAttempts??1),backoffMs:Math.max(0,$?.backoffMs??250),multiplier:Math.max(1,$?.multiplier??2)}}function w5($,_,U=!1){if(!$?.length)return;let W={};for(let J of $){let X=sd(J,_),G=X.path;if(G in W)throw Error(`Duplicate ${_} filter path: ${G}`);let Q=U?ad(X.rawValue,_):X.rawValue;W[G]=X.negated?{not:Q}:Q}return W}function td($){let _={};if($.source)_.source=$.source;if($.type)_.type=$.type;if($.subject)_.subject=$.subject;if($.severity)_.severity=$.severity;let U=Db(w5($.data,"data"),w5($.dataJson,"data-json",!0)),W=Db(w5($.metadata,"metadata"),w5($.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)_.data=U;if(Object.keys(W).length>0)_.metadata=W;return Object.keys(_).length>0?[_]:void 0}function Db(...$){let _={};for(let U of $){if(!U)continue;for(let[W,J]of Object.entries(U)){if(W in _)throw Error(`Duplicate filter path: ${W}`);_[W]=J}}return _}function ad($,_){let U=JSON.parse($);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((W)=>typeof W==="string"))return U;throw Error(`${_} filter JSON values must be string, string[], number, boolean, or null`)}function sd($,_){let U=$.indexOf("!=");if(U>0)return{path:$.slice(0,U),rawValue:$.slice(U+2),negated:!0};let W=$.indexOf("=");if(W<=0)throw Error(`Invalid ${_} filter, expected path=value or path!=value: ${$}`);return{path:$.slice(0,W),rawValue:$.slice(W+1),negated:!1}}var ed=100;function FU($,_){if(!$)return _;let U=JSON.parse($);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function $n($){if(!$?.length)return;let _={};for(let U of $){let W=U.indexOf("=");if(W===-1)throw Error(`Invalid header, expected name=value: ${U}`);_[U.slice(0,W)]=U.slice(W+1)}return _}function X0($){if($.createClient)return $.createClient();return new Rb({store:new P5($.dataDir)})}function E1($,_,U){if(_)console.log(JSON.stringify($,null,2));else console.log(U)}function zb($,_){let U=$ instanceof Error?$.message:String($);if(_)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function qb($){return Boolean($?.json||$?.opts?.().json||$?.optsWithGlobals?.().json||$?.parent?.opts?.().json||$?.parent?.optsWithGlobals?.().json)}function F4($,_){return qb($)||qb(_)}function _n($,_){let U=$.command(_.channelsCommandName??"channels").description("Manage Hasna event channels");return U.command("add").description("Add or replace a channel").argument("<target>","Webhook URL or command binary").requiredOption("--id <id>","Channel identifier").option("--transport <kind>","Transport kind: webhook or command","webhook").option("--name <name>","Display name").option("--type <pattern>","Event type filter, e.g. todos.task.*").option("--source <pattern>","Event source filter").option("--subject <pattern>","Event subject filter").option("--severity <pattern>","Event severity filter").option("--data <path=value...>","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",F1,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",F1,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",F1,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",F1,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",F1,[]).option("--arg <arg...>","Command argument",F1,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",xW).option("--retry-attempts <n>","Maximum delivery attempts",xW).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",xW).option("--redact <path...>","Event field path to redact before delivery",F1,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=new Date().toISOString(),Q={id:J.id,name:J.name,enabled:!J.disabled,transport:J.transport,filters:td(J),retry:J.retryAttempts||J.retryBackoffMs?{maxAttempts:J.retryAttempts,backoffMs:J.retryBackoffMs}:void 0,redact:J.redact?.length?{paths:J.redact}:void 0,createdAt:G,updatedAt:G};if(J.transport==="webhook")Q.webhook={url:W,secret:J.secret,headers:$n(J.header),timeoutMs:J.timeoutMs};else if(J.transport==="command")Q.command={command:W,args:J.arg??[],timeoutMs:J.timeoutMs};else throw Error(`Transport ${J.transport} is reserved for future use and cannot be added yet`);let Y=await X0(_).addChannel(Q);E1(Ab(Y),F4(J,X),`Added ${Y.transport} channel ${Y.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await X0(_).listChannels();if(F4(W,J)){console.log(JSON.stringify(ld(X),null,2));return}if(!X.length){console.log("No channels configured.");return}for(let G of X)console.log(`${G.id} ${G.enabled?"enabled":"disabled"} ${G.transport} ${G.webhook?.url??G.command?.command??G.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await Cd(_.dataDir);E1(X,F4(W,J),`events dataDir: ${X.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=await X0(_).removeChannel(W);E1({removed:G},F4(J,X),G?`Removed ${W}`:`Channel not found: ${W}`)}),U.command("test").description("Send a test event to one channel").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events test delivery").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=F4(J,X);try{let Q=await X0(_).testChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:FU(J.data,{test:!0}),metadata:FU(J.metadata,{})},{honorFilters:J.honorFilters});E1(Q,G,`${Q.status}: ${Q.channelId}`)}catch(Q){zb(Q,G)}}),U.command("match").description("Check whether a sample event matches one channel without delivering").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events match preview").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=F4(J,X);try{let Q=await X0(_).matchChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:FU(J.data,{test:!0}),metadata:FU(J.metadata,{})});E1(Q,G,`${Q.matched?"matched":"skipped"}: ${Q.channelId}`)}catch(Q){zb(Q,G)}}),U}function Un($,_){let U=$.command(_.eventsCommandName??"events").description("Emit, list, and replay Hasna events");U.command("emit").description("Emit an event from this app").argument("<type>","Event type").option("--source <source>","Event source override").option("--subject <subject>","Event subject").option("--severity <severity>","Event severity","info").option("--message <message>","Event message").option("--dedupe-key <key>","Dedupe key").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(J,X,G)=>{let Q=await X0(_).emit({source:X.source??_.source,type:J,subject:X.subject,severity:X.severity,message:X.message,dedupeKey:X.dedupeKey,data:FU(X.data,{}),metadata:FU(X.metadata,{})},{deliver:X.deliver,dedupe:X.dedupe});E1(Q,F4(X,G),`${Q.deduped?"Deduped":"Emitted"} ${Q.event.id} to ${Q.deliveries.length} channel(s)`)});let W=_.defaultEventListLimit??ed;return U.command("list").description("List recorded events").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--limit <n>",`Limit to the most recent <n> events (default ${W}; use 0 for all)`,xW,W).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await X0(_).listEvents();if(J.source)G=G.filter((Q)=>Q.source===J.source);if(J.type)G=G.filter((Q)=>Q.type===J.type);if(J.limit)G=G.slice(-J.limit);if(F4(J,X)){console.log(JSON.stringify(G,null,2));return}if(!G.length){console.log("No events recorded.");return}for(let Q of G)console.log(`${Q.time} ${Q.id} ${Q.source} ${Q.type} ${Q.severity}`)}),U.command("replay").description("Replay recorded events").option("--id <id>","Replay one event id").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--cursor <cursor>","Opaque replay cursor from a previous page").option("--limit <n>","Maximum events to replay",xW).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await X0(_).replay({eventId:J.id,source:J.source,type:J.type,cursor:J.cursor,limit:J.limit,dryRun:J.dryRun});E1(G,F4(J,X),Jn(G.events.length,G.deliveries.length,G.nextCursor))}),U}function Fb($,_){_n($,_),Un($,_)}function xW($){let _=Number($);if(!Number.isFinite(_))throw Error(`Expected a number, got ${$}`);return _}function F1($,_){return _.push($),_}function Jn($,_,U){let W=U?`, next cursor: ${U}`:"";return`Replayed ${$} event(s), ${_} delivery result(s)${W}`}import{basename as Xn}from"path";var M6={name:"@hasna/knowledge",version:"0.2.91",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs",build:"rm -rf dist && bun build --target=bun --outfile=bin/knowledge.js --minify --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/cli.ts && bun build --target=bun --outfile=bin/knowledge-mcp.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @modelcontextprotocol/sdk --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/mcp.js && bun build --target=bun --outfile=bin/knowledge-serve.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/serve-entry.ts && bun build ./src/index.ts ./src/storage.ts ./src/serve.ts --outdir ./dist --target bun --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek && bun scripts/strip-generated-trailing-whitespace.mjs && bunx tsc -p tsconfig.build.json",prepublishOnly:"bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. <hasna@example.com>",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.5.2","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};var Eb={debug:0,info:1,warn:2,error:3},Gn=()=>{if(process.env.DEBUG)return"debug";if(process.env.LOG_LEVEL==="debug")return"debug";if(process.env.LOG_LEVEL==="warn")return"warn";if(process.env.LOG_LEVEL==="error")return"error";return"info"};function K1($,_,U){if(Eb[$]<Eb[Gn()])return;let W={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[$],J=U?`${W} ${_} ${JSON.stringify(U)}`:`${W} ${_}`;if($==="error")console.error(J);else console.error(J)}var wb=["events","webhooks"],kb=["add","list","get","delete","update","archive","restore","upsert","untag","export","prune","dedupe","stats","inventory","project-panel","paths","mode","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...wb],fb={ls:"list",rm:"delete",edit:"update",unarchive:"restore"};function Qn($){let _=new Set,U=[];for(let W of $){let J=W.toLowerCase();if(_.has(J))continue;_.add(J),U.push(W)}return U}function Kb($,_){let U=new Set(($??[]).map((W)=>W.toLowerCase()));return _.filter((W)=>!U.has(W.toLowerCase()))}function wO($,_,U){if(U===void 0)return{...$,message:_};return{...$,added:U.length,message:`${_} (added ${U.length} tag${U.length===1?"":"s"})`}}function Yn($,_){if(_===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>");let U=_.split(",").map((W)=>W.trim()).filter((W)=>W.length>0);if(U.length===0)throw Error(`Invalid --tag value ${JSON.stringify(_)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return Qn([...$??[],...U])}function jn($){let _=[],U={};for(let W=0;W<$.length;W+=1){let J=$[W];if(!J.startsWith("-")){_.push(J);continue}switch(J){case"--json":U.json=!0;break;case"--verbose":U.verbose=!0;break;case"--yes":case"-y":U.yes=!0;break;case"--help":case"-h":U.help=!0;break;case"--version":case"-v":U.version=!0;break;case"--desc":U.desc=!0;break;case"--page":case"-p":U.page=Number($[W+1]),W+=1;break;case"--limit":case"-l":U.limit=Number($[W+1]),W+=1;break;case"--search":case"-s":U.search=$[W+1],W+=1;break;case"--sort":U.sort=$[W+1],W+=1;break;case"--id":U.id=$[W+1],W+=1;break;case"--store":U.store=$[W+1],W+=1;break;case"--title":U.title=$[W+1],W+=1;break;case"--content":U.content=$[W+1],W+=1;break;case"--url":U.url=$[W+1],W+=1;break;case"--tag":case"-t":U.tag=Yn(U.tag,$[W+1]),U.tagRaw=[...U.tagRaw??[],$[W+1]],W+=1;break;case"--format":U.format=$[W+1],W+=1;break;case"--completions":U.completions=$[W+1],W+=1;break;case"--purpose":U.purpose=$[W+1],W+=1;break;case"--model":U.model=$[W+1],W+=1;break;case"--strategy":U.strategy=$[W+1],W+=1;break;case"--dimensions":U.dimensions=Number($[W+1]),W+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number($[W+1]),W+=1;break;case"--max-items":U.maxItems=Number($[W+1]),W+=1;break;case"--from":U.from=$[W+1],W+=1;break;case"--since":U.since=$[W+1],W+=1;break;case"--topic":U.topic=$[W+1],W+=1;break;case"--dedupe":U.dedupe=!0;break;case"--generate":U.generate=!0;break;case"--approve-write":U.approveWrite=!0;break;case"--provider":U.provider=$[W+1],W+=1;break;case"--mode":U.mode=$[W+1],W+=1;break;case"--machine":U.machine=$[W+1],W+=1;break;case"--workspace":U.workspace=$[W+1],W+=1;break;case"--api-url":U.apiUrl=$[W+1],W+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=$[W+1],W+=1;break;case"--email":U.email=$[W+1],W+=1;break;case"--org":U.org=$[W+1],W+=1;break;case"--org-id":U.orgId=$[W+1],W+=1;break;case"--user-id":U.userId=$[W+1],W+=1;break;case"--owner":U.owner=$[W+1],W+=1;break;case"--approved-by":U.approvedBy=$[W+1],W+=1;break;case"--patch-uri":U.patchUri=$[W+1],W+=1;break;case"--domain":U.domain=[...U.domain??[],$[W+1]],W+=1;break;case"--file-results":U.fileResults=!0;break;case"--full":U.full=!0;break;case"--dry-run":U.dryRun=!0;break;case"--fake":U.fake=!0;break;case"--no-tailscale":U.tailscale=!1;break;case"--no-artifact-content":U.artifactContent=!1;break;case"--no-color":U.noColor=!0;break;case"--scope":U.scope=$[W+1],W+=1;break;case"--tables":U.tables=$[W+1],W+=1;break;case"--peer-workspace":U.peerWorkspace=$[W+1],W+=1;break;case"--older-than":U.olderThan=Number($[W+1]),W+=1;break;case"--empty":U.empty=!0;break;case"--archived":U.archived=!0;break;case"--include-archived":U.includeArchived=!0;break;case"--project":U.project=$[W+1],W+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],$[W+1]],W+=1;break;case"--allow-global":U.allowGlobal=!0;break;default:throw Error(`Unknown flag: ${J}. Run 'knowledge --help' for valid options.`)}}return{positional:_,flags:U}}function Dn($){if(!$)return"";return fb[$]??$}function zn($,_){let U=Array.from({length:$.length+1},()=>Array(_.length+1).fill(0));for(let W=0;W<=$.length;W+=1)U[W][0]=W;for(let W=0;W<=_.length;W+=1)U[0][W]=W;for(let W=1;W<=$.length;W+=1)for(let J=1;J<=_.length;J+=1){let X=$[W-1]===_[J-1]?0:1;U[W][J]=Math.min(U[W-1][J]+1,U[W][J-1]+1,U[W-1][J-1]+X)}return U[$.length][_.length]}function qn($){if(!$)return"";let _=[...kb,...Object.keys(fb)],U="",W=Number.POSITIVE_INFINITY;for(let J of _){let X=zn($,J);if(X<W)W=X,U=J}return W<=3?U:""}function On(){return Xn(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Ln($){if(!wb.includes($[0]??""))return!1;let _=new _b;return _.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),Fb(_,{source:"knowledge"}),await _.parseAsync($,{from:"user"}),!0}function Nn(){console.log(`knowledge - local agent knowledge store + `)}var $E=hE(eA(),1),{program:aa,createCommand:sa,createArgument:ea,createOption:$s,CommanderError:_s,InvalidArgumentError:Us,InvalidOptionArgumentError:Js,Command:_E,Argument:Ws,Option:Xs,Help:Gs}=$E.default;import{chmod as KO,mkdir as bd,readFile as Md,rename as Id,writeFile as XE}from"fs/promises";import{Buffer as OE}from"buffer";import{existsSync as LE}from"fs";import{homedir as gd}from"os";import{join as hW}from"path";import{createHmac as Td,timingSafeEqual as Ls}from"crypto";import{randomUUID as vd}from"crypto";import{spawn as yd}from"child_process";import{randomUUID as cd}from"crypto";function Bd($,_){return _.split(".").reduce((U,W)=>{if(U&&typeof U==="object"&&W in U)return U[W];return},$)}function Hd($,_){let U=[],W=(X)=>{if(!U.some((G)=>Object.is(G,X)))U.push(X)};if(_.includes(".")&&_ in $)W($[_]);let J=Bd($,_);if(J!==void 0||!_.includes("."))W(J);return U}function Vd($,_={}){let U="";for(let W=0;W<$.length;W+=1){let J=$[W];if(J==="*")if($[W+1]==="*")U+=".*",W+=1;else U+=_.segmentSafe?"[^/]*":".*";else U+=J.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function vW($,_,U={}){if(_===void 0)return!0;if($===void 0)return!1;return(Array.isArray(_)?_:[_]).some((J)=>Vd(J,U).test($))}function UE($,_){if(!_)return!0;return Object.entries(_).every(([U,W])=>{let J=Hd($,U);return Rd(J,W,U)})}function Rd($,_,U){if(Fd(_))return!$.some((W)=>JE(W,_.not,U));return $.some((W)=>JE(W,_,U))}function JE($,_,U){if(typeof _==="string"||Array.isArray(_))return Ad($).some((W)=>vW(W,_,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray($))return $.some((W)=>W===_);return $===_}function Ad($){if($===void 0)return[];if(Array.isArray($))return $.flatMap((_)=>Ed(_)?[String(_)]:[]);return[String($)]}function Ed($){return $===null||typeof $==="string"||typeof $==="number"||typeof $==="boolean"}function Fd($){return Boolean($&&typeof $==="object"&&!Array.isArray($)&&"not"in $)}function Kd($,_){return vW($.source,_.source)&&vW($.type,_.type)&&vW($.subject,_.subject)&&vW($.severity,_.severity)&&UE($.data,_.data)&&UE($.metadata,_.metadata)}function WE($,_){if(!$.enabled)return!1;if(!$.filters||$.filters.length===0)return!0;return $.filters.some((U)=>Kd(_,U))}var PG="HASNA_EVENTS_DIR",fG="HASNA_EVENTS_HOME",gO="local-json-v1:",wd=100,kd=1000;function NE($){return $||process.env[PG]||process.env[fG]||hW(gd(),".hasna","events")}function Pd(){if(process.env[PG])return PG;if(process.env[fG])return fG;return null}class CG{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor($=NE()){this.dataDir=$,this.runtime=fd($),this.channelsPath=hW($,"channels.json"),this.eventsPath=hW($,"events.json"),this.deliveriesPath=hW($,"deliveries.json")}async init(){await bd(this.dataDir,{recursive:!0,mode:448}),await KO(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.findIndex((W)=>W.id===$.id);if(U>=0)_[U]={...$,createdAt:_[U].createdAt,updatedAt:new Date().toISOString()};else _.push($);return await this.writeJson(this.channelsPath,_),U>=0?_[U]:$}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel($){return(await this.listChannels()).find((U)=>U.id===$)}async removeChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.filter((W)=>W.id!==$);return await this.writeJson(this.channelsPath,U),U.length!==_.length}async appendEvent($){await this.init();let _=await this.readJson(this.eventsPath,[]);return _.push($),await this.writeJson(this.eventsPath,_),$}async appendEventOnce($,_={}){await this.init();let U=await this.readJson(this.eventsPath,[]);if(_.dedupe!==!1){let J=QE(U,{id:$.id,dedupeKey:$.dedupeKey});if(J)return{event:J,stored:!1,deduped:!0,identity:{id:J.id,dedupeKey:J.dedupeKey}}}return U.push($),await this.writeJson(this.eventsPath,U),{event:$,stored:!0,deduped:!1,identity:{id:$.id,dedupeKey:$.dedupeKey}}}async listEvents($={}){await this.init();let _=await this.readJson(this.eventsPath,[]);return GE(_,$)}async listEventsPage($={}){await this.init();let _=await this.readJson(this.eventsPath,[]),U=GE(_,{eventId:$.eventId,source:$.source,type:$.type}),W=TG($.cursor,$),J=SG($.limit),X=U.slice(W,W+J),G=W+X.length,Q=G<U.length;return{events:X,cursor:$.cursor,nextCursor:Q?BE(G,$):void 0,hasMore:Q}}async findEventByIdentity($){let _=await this.listEvents();return QE(_,$)}async appendDelivery($){await this.init();let _=await this.readJson(this.deliveriesPath,[]);return _.push($),await this.writeJson(this.deliveriesPath,_),$}async listDeliveries(){return await this.init(),this.readJson(this.deliveriesPath,[])}async exportData(){return{channels:await this.listChannels(),events:await this.listEvents(),deliveries:await this.listDeliveries()}}async ensureArrayFile($){if(!LE($))await XE($,`[] +`,{encoding:"utf-8",mode:384});await KO($,384).catch(()=>{return})}async readJson($,_){try{let U=await Md($,"utf-8");if(!U.trim())return _;return JSON.parse(U)}catch(U){if(U.code==="ENOENT")return _;throw U}}async writeJson($,_){let U=`${$}.${process.pid}.${Date.now()}.tmp`;await XE(U,`${JSON.stringify(_,null,2)} +`,{encoding:"utf-8",mode:384}),await Id(U,$),await KO($,384).catch(()=>{return})}}function fd($=NE()){return{mode:"local-files",name:"json-events-store",remote:!1,localFiles:!0,localSqlite:!1,postgres:!1,s3:!1,aws:!1,durable:!0,idempotency:"best-effort-local",replayCursors:!0,description:`Local JSON files in ${$}; no SQLite, Postgres, S3, or AWS runtime is configured by this store.`}}function BE($,_={}){if(!Number.isInteger($)||$<0)throw Error(`Invalid event cursor offset: ${$}`);let U={offset:$,eventId:_.eventId,source:_.source,type:_.type};return`${gO}${OE.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function TG($,_={}){if(!$)return 0;if(!$.startsWith(gO))throw Error(`Invalid local JSON event cursor: ${$}`);let U=$.slice(gO.length),W;try{W=JSON.parse(OE.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${$}`)}let J=W.offset;if(!Number.isInteger(J)||J<0)throw Error(`Invalid local JSON event cursor: ${$}`);return bO("eventId",W.eventId,_.eventId),bO("source",W.source,_.source),bO("type",W.type,_.type),J}function SG($){if($===void 0)return wd;if(!Number.isInteger($)||$<1)throw Error(`Event page limit must be a positive integer, got ${$}`);return Math.min($,kd)}function GE($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor){let W=TG(_.cursor,_);U=U.slice(W)}if(_.limit!==void 0)U=U.slice(0,SG(_.limit));return U}function bO($,_,U){if(_!==U)throw Error(`Local JSON event cursor ${$} filter mismatch`)}function QE($,_){return $.find((U)=>_.id!==void 0&&U.id===_.id||_.dedupeKey!==void 0&&U.dedupeKey===_.dedupeKey)}async function Cd($){let _=new CG($);await _.init();let[U,W,J]=await Promise.all([_.listChannels(),_.listEvents(),_.listDeliveries()]),X=U.reduce((G,Q)=>{return G[Q.transport]=(G[Q.transport]??0)+1,G},{});return{service:"events",schemaVersion:"1.0",dataDir:_.dataDir,storage:_.runtime,env:{primary:PG,fallback:fG,active:Pd()},files:{channels:MO(_.dataDir,"channels.json",U.length),events:MO(_.dataDir,"events.json",W.length),deliveries:MO(_.dataDir,"deliveries.json",J.length)},counts:{channels:U.length,enabledChannels:U.filter((G)=>G.enabled).length,disabledChannels:U.filter((G)=>!G.enabled).length,events:W.length,deliveries:J.length},transports:X,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function MO($,_,U){let W=hW($,_);return{path:W,exists:LE(W),records:U}}function Sd($,_){return`${$}.${_}`}function Zd($,_,U){return`sha256=${Td("sha256",$).update(Sd(_,U)).digest("hex")}`}function c6(){return new Date().toISOString()}function yW($,_=4096){return $.length>_?`${$.slice(0,_)}...`:$}function hd($,_){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let U=JSON.stringify($),W=$.time,J={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":$.id,"X-Hasna-Event-Type":$.type,"X-Hasna-Timestamp":W,..._.webhook.headers};if(_.webhook.secret)J["X-Hasna-Signature"]=Zd(_.webhook.secret,W,U);return{body:U,headers:J}}async function xd($,_,U={}){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let W=c6(),{body:J,headers:X}=hd($,_),G=new AbortController,Q=setTimeout(()=>G.abort(),_.webhook.timeoutMs??15000);try{let Y=await(U.fetchImpl??fetch)(_.webhook.url,{method:"POST",headers:X,body:J,signal:G.signal}),j=yW(await Y.text());return{attempt:1,status:Y.ok?"success":"failed",startedAt:W,completedAt:c6(),responseStatus:Y.status,responseBody:j,error:Y.ok?void 0:`Webhook returned HTTP ${Y.status}`}}catch(Y){return{attempt:1,status:"failed",startedAt:W,completedAt:c6(),error:Y instanceof Error?Y.message:String(Y)}}finally{clearTimeout(Q)}}async function md($,_){if(!_.command)throw Error(`Channel ${_.id} has no command config`);let U=c6(),W=JSON.stringify($),J={...process.env,..._.command.env,HASNA_CHANNEL_ID:_.id,HASNA_EVENT_ID:$.id,HASNA_EVENT_TYPE:$.type,HASNA_EVENT_SOURCE:$.source,HASNA_EVENT_SUBJECT:$.subject??"",HASNA_EVENT_SEVERITY:$.severity,HASNA_EVENT_TIME:$.time,HASNA_EVENT_DEDUPE_KEY:$.dedupeKey??"",HASNA_EVENT_SCHEMA_VERSION:$.schemaVersion,HASNA_EVENT_JSON:W};return new Promise((X)=>{let G=yd(_.command.command,_.command.args??[],{cwd:_.command.cwd,env:J,stdio:["pipe","pipe","pipe"]}),Q="",Y="",j=setTimeout(()=>G.kill("SIGTERM"),_.command.timeoutMs??15000);G.stdin.end(W),G.stdout.on("data",(O)=>{Q+=O.toString()}),G.stderr.on("data",(O)=>{Y+=O.toString()}),G.on("error",(O)=>{clearTimeout(j),X({attempt:1,status:"failed",startedAt:U,completedAt:c6(),stdout:yW(Q),stderr:yW(Y),error:O.message})}),G.on("close",(O,B)=>{clearTimeout(j);let V=O===0;X({attempt:1,status:V?"success":"failed",startedAt:U,completedAt:c6(),stdout:yW(Q),stderr:yW(Y),error:V?void 0:`Command exited with ${B?`signal ${B}`:`code ${O}`}`})})})}async function ud($,_,U={}){if(_.transport==="webhook")return xd($,_,U);if(_.transport==="command")return md($,_);return{attempt:1,status:"skipped",startedAt:c6(),completedAt:c6(),error:`Unsupported transport: ${_.transport}`}}function YE($,_,U){let W=U.some((J)=>J.status==="success")?"success":U.every((J)=>J.status==="skipped")?"skipped":"failed";return{id:vd(),eventId:$.id,channelId:_.id,transport:_.transport,status:W,attempts:U,createdAt:U[0]?.startedAt??c6(),completedAt:U.at(-1)?.completedAt??c6()}}class HE extends Error{eventType;issues;constructor($,_){let U=_.map((W)=>`${W.path||"<root>"}: ${W.message}`).join("; ");super(`Event validation failed for type "${$}": ${U}`);this.name="EventValidationError",this.eventType=$,this.issues=_}}class VE{definitions=new Map;register($){return this.definitions.set($.type,$),this}unregister($){return this.definitions.delete($)}has($){return this.definitions.has($)}get($){return this.definitions.get($)}list(){return[...this.definitions.values()]}validateEvent($){let _=this.definitions.get($.type);if(!_)return{ok:!0};return _.validate($.data,$)}assertEventValid($){let _=this.validateEvent($);if(!_.ok)throw new HE($.type,_.issues)}}var dd=new VE;function IO($){return{id:$.id??cd(),source:$.source,type:$.type,time:pd($.time),subject:$.subject,severity:$.severity??"info",data:$.data??{},message:$.message,dedupeKey:$.dedupeKey,schemaVersion:$.schemaVersion??"1.0",metadata:$.metadata??{}}}class RE{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor($={}){this.store=$.store??new CG($.dataDir),this.redactors=$.redactors??[],this.transportOptions={fetchImpl:$.fetchImpl},this.catalog=$.catalog??dd,this.validateCatalogTypes=$.validateCatalogTypes??!1}async addChannel($){let _=new Date().toISOString();return this.store.addChannel({...$,createdAt:$.createdAt??_,updatedAt:$.updatedAt??_})}async listChannels(){return this.store.listChannels()}async removeChannel($){return this.store.removeChannel($)}async emit($,_={}){let U=_.redactSensitiveData===!1?IO($):id(IO($));if(_.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let W=await this.appendEvent(U,{dedupe:_.dedupe!==!1});if(W.deduped)return{event:W.event,deliveries:[],deduped:!0};let J=_.deliver===!1?[]:await this.deliver(W.event);return{event:W.event,deliveries:J,deduped:!1}}async listEvents($={}){if(Object.keys($).length===0)return this.store.listEvents();return jE(await this.store.listEvents(),$)}async listEventsPage($={}){if(this.store.listEventsPage)return this.store.listEventsPage($);let _=jE(await this.store.listEvents(),{eventId:$.eventId,source:$.source,type:$.type}),U=TG($.cursor,$),W=SG($.limit),J=_.slice(U,U+W),X=U+J.length,G=X<_.length;return{events:J,cursor:$.cursor,nextCursor:G?BE(X,$):void 0,hasMore:G}}async listDeliveries(){return this.store.listDeliveries()}async deliver($){let U=(await this.store.listChannels()).filter((J)=>WE(J,$)),W=[];for(let J of U){let X=await this.applyRedaction($,J),G=await this.deliverWithRetry(X,J);await this.store.appendDelivery(G),W.push(G)}return W}async matchChannel($,_={}){let U=await this.store.getChannel($);if(!U)throw Error(`Channel not found: ${$}`);let W=IO({source:_.source??"hasna.events",type:_.type??"events.test",subject:_.subject??$,severity:_.severity??"info",data:_.data??{test:!0},message:_.message??"Hasna events test delivery",dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion,metadata:_.metadata,time:_.time,id:_.id}),J=WE(U,W);return{channelId:U.id,matched:J,event:W,filters:U.filters,reason:J?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel($,_={},U={}){let W=await this.store.getChannel($);if(!W)throw Error(`Channel not found: ${$}`);let J=await this.matchChannel($,_),X=J.event;if(U.honorFilters&&!J.matched){let Y=new Date().toISOString(),j=YE(X,W,[{attempt:1,status:"skipped",startedAt:Y,completedAt:Y,error:J.reason}]);return j.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(j),j}let G=await this.applyRedaction(X,W),Q=await this.deliverWithRetry(G,W);return await this.store.appendDelivery(Q),Q}async replay($={}){let _=$.cursor||$.limit!==void 0?await this.listEventsPage($):{events:await this.listEvents($),hasMore:!1};if($.dryRun)return{events:_.events,deliveries:[],cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore};let U=[];for(let W of _.events)U.push(...await this.deliver(W));return{events:_.events,deliveries:U,cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore}}async appendEvent($,_){if(this.store.appendEventOnce)return this.store.appendEventOnce($,{dedupe:_.dedupe});if(_.dedupe){let W=await this.store.findEventByIdentity({id:$.id,dedupeKey:$.dedupeKey});if(W)return{event:W,stored:!1,deduped:!0,identity:{id:W.id,dedupeKey:W.dedupeKey}}}let U=await this.store.appendEvent($);return{event:U,stored:!0,deduped:!1,identity:{id:U.id,dedupeKey:U.dedupeKey}}}async applyRedaction($,_){let U=nd($,_.redact?.paths??[],_.redact?.replacement??"[REDACTED]");for(let W of this.redactors)U=await W(U,_);return U}async deliverWithRetry($,_){let U=od(_.retry),W=[];for(let J=0;J<U.maxAttempts;J+=1){let X=await ud($,_,this.transportOptions);if(X.attempt=J+1,X.status==="failed"&&J+1<U.maxAttempts)X.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**J);if(W.push(X),X.status!=="failed")break;if(X.nextBackoffMs)await Bun.sleep(X.nextBackoffMs)}return YE($,_,W)}}function nd($,_,U="[REDACTED]"){if(_.length===0)return $;let W=structuredClone($);for(let J of _)rd(W,J,U);return W}function AE($){let _=structuredClone($);if(_.webhook?.secret)_.webhook.secret="[REDACTED]";if(_.command?.env)_.command.env=Object.fromEntries(Object.entries(_.command.env).map(([U,W])=>[U,EE(U)?"[REDACTED]":W]));return _}function ld($){return $.map(AE)}function id($,_="[REDACTED]"){return wO($,_)}function EE($){return/secret|token|password|api[_-]?key|authorization/i.test($)}function wO($,_){if(Array.isArray($))return $.map((U)=>wO(U,_));if(!$||typeof $!=="object")return $;return Object.fromEntries(Object.entries($).map(([U,W])=>[U,EE(U)?_:wO(W,_)]))}function rd($,_,U){let W=_.split("."),J=$;for(let G of W.slice(0,-1)){let Q=J[G];if(!Q||typeof Q!=="object")return;J=Q}let X=W.at(-1);if(X&&X in J)J[X]=U}function jE($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor)U=U.slice(TG(_.cursor,_));if(_.limit!==void 0)U=U.slice(0,SG(_.limit));return U}function pd($){if(!$)return new Date().toISOString();return $ instanceof Date?$.toISOString():$}function od($){return{maxAttempts:Math.max(1,$?.maxAttempts??1),backoffMs:Math.max(0,$?.backoffMs??250),multiplier:Math.max(1,$?.multiplier??2)}}function kG($,_,U=!1){if(!$?.length)return;let W={};for(let J of $){let X=sd(J,_),G=X.path;if(G in W)throw Error(`Duplicate ${_} filter path: ${G}`);let Q=U?ad(X.rawValue,_):X.rawValue;W[G]=X.negated?{not:Q}:Q}return W}function td($){let _={};if($.source)_.source=$.source;if($.type)_.type=$.type;if($.subject)_.subject=$.subject;if($.severity)_.severity=$.severity;let U=DE(kG($.data,"data"),kG($.dataJson,"data-json",!0)),W=DE(kG($.metadata,"metadata"),kG($.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)_.data=U;if(Object.keys(W).length>0)_.metadata=W;return Object.keys(_).length>0?[_]:void 0}function DE(...$){let _={};for(let U of $){if(!U)continue;for(let[W,J]of Object.entries(U)){if(W in _)throw Error(`Duplicate filter path: ${W}`);_[W]=J}}return _}function ad($,_){let U=JSON.parse($);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((W)=>typeof W==="string"))return U;throw Error(`${_} filter JSON values must be string, string[], number, boolean, or null`)}function sd($,_){let U=$.indexOf("!=");if(U>0)return{path:$.slice(0,U),rawValue:$.slice(U+2),negated:!0};let W=$.indexOf("=");if(W<=0)throw Error(`Invalid ${_} filter, expected path=value or path!=value: ${$}`);return{path:$.slice(0,W),rawValue:$.slice(W+1),negated:!1}}var ed=100;function FU($,_){if(!$)return _;let U=JSON.parse($);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function $c($){if(!$?.length)return;let _={};for(let U of $){let W=U.indexOf("=");if(W===-1)throw Error(`Invalid header, expected name=value: ${U}`);_[U.slice(0,W)]=U.slice(W+1)}return _}function X0($){if($.createClient)return $.createClient();return new RE({store:new CG($.dataDir)})}function K1($,_,U){if(_)console.log(JSON.stringify($,null,2));else console.log(U)}function zE($,_){let U=$ instanceof Error?$.message:String($);if(_)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function qE($){return Boolean($?.json||$?.opts?.().json||$?.optsWithGlobals?.().json||$?.parent?.opts?.().json||$?.parent?.optsWithGlobals?.().json)}function F4($,_){return qE($)||qE(_)}function _c($,_){let U=$.command(_.channelsCommandName??"channels").description("Manage Hasna event channels");return U.command("add").description("Add or replace a channel").argument("<target>","Webhook URL or command binary").requiredOption("--id <id>","Channel identifier").option("--transport <kind>","Transport kind: webhook or command","webhook").option("--name <name>","Display name").option("--type <pattern>","Event type filter, e.g. todos.task.*").option("--source <pattern>","Event source filter").option("--subject <pattern>","Event subject filter").option("--severity <pattern>","Event severity filter").option("--data <path=value...>","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",F1,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",F1,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",F1,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",F1,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",F1,[]).option("--arg <arg...>","Command argument",F1,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",xW).option("--retry-attempts <n>","Maximum delivery attempts",xW).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",xW).option("--redact <path...>","Event field path to redact before delivery",F1,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=new Date().toISOString(),Q={id:J.id,name:J.name,enabled:!J.disabled,transport:J.transport,filters:td(J),retry:J.retryAttempts||J.retryBackoffMs?{maxAttempts:J.retryAttempts,backoffMs:J.retryBackoffMs}:void 0,redact:J.redact?.length?{paths:J.redact}:void 0,createdAt:G,updatedAt:G};if(J.transport==="webhook")Q.webhook={url:W,secret:J.secret,headers:$c(J.header),timeoutMs:J.timeoutMs};else if(J.transport==="command")Q.command={command:W,args:J.arg??[],timeoutMs:J.timeoutMs};else throw Error(`Transport ${J.transport} is reserved for future use and cannot be added yet`);let Y=await X0(_).addChannel(Q);K1(AE(Y),F4(J,X),`Added ${Y.transport} channel ${Y.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await X0(_).listChannels();if(F4(W,J)){console.log(JSON.stringify(ld(X),null,2));return}if(!X.length){console.log("No channels configured.");return}for(let G of X)console.log(`${G.id} ${G.enabled?"enabled":"disabled"} ${G.transport} ${G.webhook?.url??G.command?.command??G.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await Cd(_.dataDir);K1(X,F4(W,J),`events dataDir: ${X.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=await X0(_).removeChannel(W);K1({removed:G},F4(J,X),G?`Removed ${W}`:`Channel not found: ${W}`)}),U.command("test").description("Send a test event to one channel").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events test delivery").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=F4(J,X);try{let Q=await X0(_).testChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:FU(J.data,{test:!0}),metadata:FU(J.metadata,{})},{honorFilters:J.honorFilters});K1(Q,G,`${Q.status}: ${Q.channelId}`)}catch(Q){zE(Q,G)}}),U.command("match").description("Check whether a sample event matches one channel without delivering").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events match preview").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=F4(J,X);try{let Q=await X0(_).matchChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:FU(J.data,{test:!0}),metadata:FU(J.metadata,{})});K1(Q,G,`${Q.matched?"matched":"skipped"}: ${Q.channelId}`)}catch(Q){zE(Q,G)}}),U}function Uc($,_){let U=$.command(_.eventsCommandName??"events").description("Emit, list, and replay Hasna events");U.command("emit").description("Emit an event from this app").argument("<type>","Event type").option("--source <source>","Event source override").option("--subject <subject>","Event subject").option("--severity <severity>","Event severity","info").option("--message <message>","Event message").option("--dedupe-key <key>","Dedupe key").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(J,X,G)=>{let Q=await X0(_).emit({source:X.source??_.source,type:J,subject:X.subject,severity:X.severity,message:X.message,dedupeKey:X.dedupeKey,data:FU(X.data,{}),metadata:FU(X.metadata,{})},{deliver:X.deliver,dedupe:X.dedupe});K1(Q,F4(X,G),`${Q.deduped?"Deduped":"Emitted"} ${Q.event.id} to ${Q.deliveries.length} channel(s)`)});let W=_.defaultEventListLimit??ed;return U.command("list").description("List recorded events").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--limit <n>",`Limit to the most recent <n> events (default ${W}; use 0 for all)`,xW,W).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await X0(_).listEvents();if(J.source)G=G.filter((Q)=>Q.source===J.source);if(J.type)G=G.filter((Q)=>Q.type===J.type);if(J.limit)G=G.slice(-J.limit);if(F4(J,X)){console.log(JSON.stringify(G,null,2));return}if(!G.length){console.log("No events recorded.");return}for(let Q of G)console.log(`${Q.time} ${Q.id} ${Q.source} ${Q.type} ${Q.severity}`)}),U.command("replay").description("Replay recorded events").option("--id <id>","Replay one event id").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--cursor <cursor>","Opaque replay cursor from a previous page").option("--limit <n>","Maximum events to replay",xW).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await X0(_).replay({eventId:J.id,source:J.source,type:J.type,cursor:J.cursor,limit:J.limit,dryRun:J.dryRun});K1(G,F4(J,X),Jc(G.events.length,G.deliveries.length,G.nextCursor))}),U}function FE($,_){_c($,_),Uc($,_)}function xW($){let _=Number($);if(!Number.isFinite(_))throw Error(`Expected a number, got ${$}`);return _}function F1($,_){return _.push($),_}function Jc($,_,U){let W=U?`, next cursor: ${U}`:"";return`Replayed ${$} event(s), ${_} delivery result(s)${W}`}import{basename as Xc}from"path";var M6={name:"@hasna/knowledge",version:"0.2.91",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs",build:"rm -rf dist && bun build --target=bun --outfile=bin/knowledge.js --minify --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/cli.ts && bun build --target=bun --outfile=bin/knowledge-mcp.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @modelcontextprotocol/sdk --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/mcp.js && bun build --target=bun --outfile=bin/knowledge-serve.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/serve-entry.ts && bun build ./src/index.ts ./src/storage.ts ./src/serve.ts --outdir ./dist --target bun --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek && bun scripts/strip-generated-trailing-whitespace.mjs && bunx tsc -p tsconfig.build.json",prepublishOnly:"bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. <hasna@example.com>",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.5.2","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};var KE={debug:0,info:1,warn:2,error:3},Gc=()=>{if(process.env.DEBUG)return"debug";if(process.env.LOG_LEVEL==="debug")return"debug";if(process.env.LOG_LEVEL==="warn")return"warn";if(process.env.LOG_LEVEL==="error")return"error";return"info"};function b1($,_,U){if(KE[$]<KE[Gc()])return;let W={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[$],J=U?`${W} ${_} ${JSON.stringify(U)}`:`${W} ${_}`;if($==="error")console.error(J);else console.error(J)}var wE=["events","webhooks"],kE=["add","list","get","delete","update","archive","restore","upsert","untag","export","prune","dedupe","stats","inventory","project-panel","paths","mode","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...wE],PE={ls:"list",rm:"delete",edit:"update",unarchive:"restore"};function Qc($){let _=new Set,U=[];for(let W of $){let J=W.toLowerCase();if(_.has(J))continue;_.add(J),U.push(W)}return U}function bE($,_){let U=new Set(($??[]).map((W)=>W.toLowerCase()));return _.filter((W)=>!U.has(W.toLowerCase()))}function kO($,_,U){if(U===void 0)return{...$,message:_};return{...$,added:U.length,message:`${_} (added ${U.length} tag${U.length===1?"":"s"})`}}function Yc($,_){if(_===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>");let U=_.split(",").map((W)=>W.trim()).filter((W)=>W.length>0);if(U.length===0)throw Error(`Invalid --tag value ${JSON.stringify(_)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return Qc([...$??[],...U])}function jc($){let _=[],U={};for(let W=0;W<$.length;W+=1){let J=$[W];if(!J.startsWith("-")){_.push(J);continue}switch(J){case"--json":U.json=!0;break;case"--verbose":U.verbose=!0;break;case"--yes":case"-y":U.yes=!0;break;case"--help":case"-h":U.help=!0;break;case"--version":case"-v":U.version=!0;break;case"--desc":U.desc=!0;break;case"--page":case"-p":U.page=Number($[W+1]),W+=1;break;case"--limit":case"-l":U.limit=Number($[W+1]),W+=1;break;case"--search":case"-s":U.search=$[W+1],W+=1;break;case"--sort":U.sort=$[W+1],W+=1;break;case"--id":U.id=$[W+1],W+=1;break;case"--store":U.store=$[W+1],W+=1;break;case"--title":U.title=$[W+1],W+=1;break;case"--content":U.content=$[W+1],W+=1;break;case"--url":U.url=$[W+1],W+=1;break;case"--tag":case"-t":U.tag=Yc(U.tag,$[W+1]),U.tagRaw=[...U.tagRaw??[],$[W+1]],W+=1;break;case"--format":U.format=$[W+1],W+=1;break;case"--completions":U.completions=$[W+1],W+=1;break;case"--purpose":U.purpose=$[W+1],W+=1;break;case"--model":U.model=$[W+1],W+=1;break;case"--strategy":U.strategy=$[W+1],W+=1;break;case"--dimensions":U.dimensions=Number($[W+1]),W+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number($[W+1]),W+=1;break;case"--max-items":U.maxItems=Number($[W+1]),W+=1;break;case"--from":U.from=$[W+1],W+=1;break;case"--since":U.since=$[W+1],W+=1;break;case"--topic":U.topic=$[W+1],W+=1;break;case"--dedupe":U.dedupe=!0;break;case"--generate":U.generate=!0;break;case"--approve-write":U.approveWrite=!0;break;case"--provider":U.provider=$[W+1],W+=1;break;case"--mode":U.mode=$[W+1],W+=1;break;case"--machine":U.machine=$[W+1],W+=1;break;case"--workspace":U.workspace=$[W+1],W+=1;break;case"--api-url":U.apiUrl=$[W+1],W+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=$[W+1],W+=1;break;case"--email":U.email=$[W+1],W+=1;break;case"--org":U.org=$[W+1],W+=1;break;case"--org-id":U.orgId=$[W+1],W+=1;break;case"--user-id":U.userId=$[W+1],W+=1;break;case"--owner":U.owner=$[W+1],W+=1;break;case"--approved-by":U.approvedBy=$[W+1],W+=1;break;case"--patch-uri":U.patchUri=$[W+1],W+=1;break;case"--domain":U.domain=[...U.domain??[],$[W+1]],W+=1;break;case"--file-results":U.fileResults=!0;break;case"--full":U.full=!0;break;case"--dry-run":U.dryRun=!0;break;case"--fake":U.fake=!0;break;case"--no-tailscale":U.tailscale=!1;break;case"--no-artifact-content":U.artifactContent=!1;break;case"--no-color":U.noColor=!0;break;case"--scope":U.scope=$[W+1],W+=1;break;case"--tables":U.tables=$[W+1],W+=1;break;case"--peer-workspace":U.peerWorkspace=$[W+1],W+=1;break;case"--older-than":U.olderThan=Number($[W+1]),W+=1;break;case"--empty":U.empty=!0;break;case"--archived":U.archived=!0;break;case"--include-archived":U.includeArchived=!0;break;case"--project":U.project=$[W+1],W+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],$[W+1]],W+=1;break;case"--allow-global":U.allowGlobal=!0;break;default:throw Error(`Unknown flag: ${J}. Run 'knowledge --help' for valid options.`)}}return{positional:_,flags:U}}function Dc($){if(!$)return"";return PE[$]??$}function zc($,_){let U=Array.from({length:$.length+1},()=>Array(_.length+1).fill(0));for(let W=0;W<=$.length;W+=1)U[W][0]=W;for(let W=0;W<=_.length;W+=1)U[0][W]=W;for(let W=1;W<=$.length;W+=1)for(let J=1;J<=_.length;J+=1){let X=$[W-1]===_[J-1]?0:1;U[W][J]=Math.min(U[W-1][J]+1,U[W][J-1]+1,U[W-1][J-1]+X)}return U[$.length][_.length]}function qc($){if(!$)return"";let _=[...kE,...Object.keys(PE)],U="",W=Number.POSITIVE_INFINITY;for(let J of _){let X=zc($,J);if(X<W)W=X,U=J}return W<=3?U:""}function Oc(){return Xc(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Lc($){if(!wE.includes($[0]??""))return!1;let _=new _E;return _.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),FE(_,{source:"knowledge"}),await _.parseAsync($,{from:"user"}),!0}function Nc(){console.log(`knowledge - local agent knowledge store Usage: knowledge <command> [options] @@ -1336,7 +1336,7 @@ Export Options: Prune Options: --older-than <days> Remove items older than N days - --empty Remove items with empty content`)}function Bn($){if($==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] + --empty Remove items with empty content`)}function Bc($){if($==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] -t/--tag is repeatable and accepts comma-separated values: -t a -t b == -t "a,b"`);return}if($==="list"||$==="ls"){console.log(`Usage: knowledge list|ls [--format table|json] [-p <page>] [-l <limit>] [-s <search>] [-t <tag>]... [--sort created|title] [--desc] [--archived] [--include-archived] [--verbose] [--json] -t/--tag is repeatable and accepts comma-separated values; repeated -t narrows (an item must carry every tag). Each value matches an item carrying the whole value OR all of its comma-split names \u2014 a union, so @@ -1357,29 +1357,29 @@ Prune Options: which env var selected it. Reads the environment only: no store is opened, no config file is read, and no request is made, so it is safe on a machine with no config and no network. Selection is EXPLICIT-ONLY: set ${z2[0]}=local|cloud. Setting only - ${gG[0]} / ${UX[0]} does NOT switch backends; + ${g5[0]} / ${JX[0]} does NOT switch backends; those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`);return}if($==="setup"){console.log("Usage: knowledge setup --mode local|hosted [--api-url https://...] [--canonical-example] [--scope local|global|project] [--json]");return}if($==="auth"){console.log("Usage: knowledge auth login|whoami|logout [--api-key <key>] [--email <email>] [--org <slug>] [--api-url https://...] [--scope local|global|project] [--json]");return}if($==="storage"){console.log(`Usage: knowledge storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path [--approve-write --approved-by <name>] [--scope local|global|project] [--json] knowledge storage import-legacy [--dry-run] [--scope global] [--json]`);return}if($==="machines"){console.log("Usage: knowledge machines topology [--no-tailscale] | preflight [machine] [--workspace <repo>] [--scope local|global|project] [--verbose] [--json]");return}if($==="sync"){console.log(`Usage: knowledge sync status|doctor|readiness|snapshot|machines|conflicts [show|propose|resolve] [id] | dry-run|pull|push|sync|export|import [--peer-workspace <path>] [--machine <ssh-alias>] [--tables <names>] [--dry-run] [--limit <n>] [--approve-write] [--approved-by <name>] [--strategy <name>] [--mode deterministic|ai] [--model <alias|provider:model>] [--fake] [--no-tailscale] [--scope local|global|project] [--verbose] [--json] -Remote machine sync resolves peer paths through @hasna/machines when --peer-workspace is omitted.`);return}if($==="db"){console.log("Usage: knowledge db init|stats|storage status [--scope local|global|project] [--json]");return}if($==="wiki"){console.log("Usage: knowledge wiki init|compile|file-answer|lint [query|prompt] [--title <title>] [--content <answer>] [--approve-write] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="app-wiki"){console.log("Usage: knowledge app-wiki init | note add|get|list | source add <source-ref> | search <query> | query <query> [--title <title>] [--content <text>] [--tag <tag>] [--source-ref <uri>] [--scope project|local|global] [--allow-global] [--json]");return}if($==="source"){console.log("Usage: knowledge source resolve <source-ref> [--purpose knowledge_answer|knowledge_index] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="ingest"){console.log("Usage: knowledge ingest manifest <file|s3://bucket/key> | source <source-ref> | rules [--workspace <path>] [--owner <name>] [--dry-run] [--max-items <n>] [--limit <n>] [--purpose knowledge_index] [--scope local|global|project] [--json]");return}if($==="reindex"){console.log("Usage: knowledge reindex status|enqueue|embeddings|outbox [file|s3://bucket/key] [--full] [--fake] [--scope local|global|project] [--json]");return}if($==="search"){console.log("Usage: knowledge search <query> [--context] [--semantic] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="context"){console.log("Usage: knowledge context pack <query> [--from search|runs|loops] [--max-tokens <n>] [--max-items <n>] [--limit <n>] [--semantic] [--model openai:text-embedding-3-small] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="proposals"){console.log("Usage: knowledge proposals context --from loops --topic <text> [--since <duration|ISO>] [--dedupe] [--max-tokens <n>] [--max-items <n>] [--scope local|global|project] [--json]");return}if($==="web"){console.log("Usage: knowledge web search <query> [--provider openai|anthropic] [--model provider:model] [--domain <domain>] [--file-results] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="ask"||$==="build"){console.log("Usage: knowledge ask|build <prompt> [--generate] [--semantic] [--model default|provider:model] [--approve-write] [--scope local|global|project] [--verbose] [--json]");return}if($==="embeddings"){console.log("Usage: knowledge embeddings status|index|search [query] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="providers"){console.log("Usage: knowledge providers status|models|check [provider|model-alias] [--scope local|global|project] [--json]");return}if($==="safety"){console.log("Usage: knowledge safety status|check|approve|audit|redact [args] [--scope local|global|project] [--json]");return}if($==="events"){console.log("Usage: knowledge events emit|list|replay [args] [--json]");return}if($==="webhooks"){console.log("Usage: knowledge webhooks add|list|remove|test [args] [--json]");return}Nn()}function Hn($){if($.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function v($,_,U){if(_){console.log(JSON.stringify($,null,2));return}if(typeof $==="string"){console.log($);return}if(U?.verbose){console.log(JSON.stringify($,null,2));return}let W=$.message;console.log(W?`${W} -${b_()}`:Vn($))}function b_($="full details"){return`Hint: use --verbose for ${$}, or --json for machine-readable output.`}function K$($,_=120){let U=$===null||$===void 0?"":String($).replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Vn($){if(!$||typeof $!=="object")return String($);let _=$,U=[_.ok===!1?"Result: not ok":"Result: ok"];for(let[W,J]of Object.entries(_).slice(0,8)){if(W==="ok"||W==="message")continue;if(Array.isArray(J))U.push(`${W}: ${J.length} item(s)`);else if(J&&typeof J==="object")U.push(`${W}: ${Object.keys(J).length} field(s)`);else U.push(`${W}: ${K$(J,100)}`)}return U.push(b_()),U.join(` -`)}function Rn($){let _=$.mode==="cloud"?"cloud (HTTP /v1 API)":"local (on-box store)",U=$.source.kind==="env"?`selected by ${$.source.name}=${$.source.value}`:`default (no mode var set; set ${z2[0]}=cloud to use the API)`,W=[`Knowledge mode: ${_}`,` ${U}`];if($.pointer_env_present.length>0){let J=$.pointer_ignored?"present but IGNORED for mode selection":"present";W.push(` Pointer env ${J}: ${$.pointer_env_present.join(", ")}`)}if($.network_guard_active)W.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if($.warning)W.push(` Note: ${$.warning}`);return W.join(` -`)}function An($){return[`Knowledge paths (${$.scope})`,`Home: ${$.home}`,`SQLite: ${$.knowledge_db_path}`,`JSON store: ${$.json_store_path}`,`Wiki: ${$.wiki_dir}`,b_("config and all paths")].join(` -`)}function Mb($){console.log(JSON.stringify($))}function bn($){let _=$.summary,U=[`Knowledge inventory (${$.scope})`,`Home: ${$.home}`,`JSON store: ${$.paths.json_store_path}${$.paths.json_store_exists?"":" (missing)"}`,`SQLite catalog: ${$.paths.knowledge_db_path}`,`Summary: ${_.legacy_items} item(s), ${_.sources} source(s), ${_.chunks} chunk(s), ${_.wiki_pages} wiki page(s), ${_.indexes} index(es), ${_.storage_objects} artifact(s), ${_.runs} run(s)`],W=(J,X,G)=>{if(X.length===0)return;U.push("",`${J}:`);for(let Q of X.slice(0,$.limit))U.push(`- ${G(Q)}`)};return W("Items",$.items,(J)=>`${J.id}: ${J.title}`),W("Sources",$.sources,(J)=>`${J.kind??"source"} ${J.uri} (${J.chunks??0} chunk(s))`),W("Chunks",$.chunks,(J)=>`${J.kind??"chunk"} ${J.id}: ${J.text_preview??""}`),W("Wiki pages",$.wiki_pages,(J)=>`${J.path}: ${J.title}`),W("Indexes",$.indexes,(J)=>`${J.kind??"index"} ${J.name}${J.shard_key?` (${J.shard_key})`:""}`),W("Artifacts",$.storage_objects,(J)=>`${J.kind??"artifact"} ${J.artifact_uri}`),W("Runs",$.runs,(J)=>`${J.type??"run"} ${J.id}: ${J.status??"unknown"}`),W("Machines",$.machines,(J)=>`${J.machine_id}${J.workspace_home?` ${J.workspace_home}`:""}`),W("Sync conflicts",$.sync_conflicts,(J)=>`${J.id}: ${J.entity_kind}/${J.entity_id} ${J.status}`),U.join(` -`)}function Fn($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} search result(s) for "${K$($.query,80)}"${$.mode?.semantic?" (semantic enabled)":""}`];for(let W of _.slice(0,$.limit??10)){let J=W.source?.uri??W.provenance?.source_uri??W.artifact?.path??W.artifact?.uri??W.id,X=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${W.kind??"result"} ${K$(W.title??W.id,80)}${X}`),J)U.push(` source: ${K$(J,120)}`);if(W.text)U.push(` text: ${K$(W.text,180)}`)}if(_.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(b_("scores, provenance, and full result objects")),!$.context)U.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return U.join(` -`)}function En($){let _=Array.isArray($.excerpts)?$.excerpts:[],U=Array.isArray($.citations)?$.citations:[],W=[`${_.length} context excerpt(s) for "${K$($.query??$.normalized_query,80)}"`];for(let J of _.slice(0,10)){let X=U.find((Y)=>Y.id===J.citation_id||Y.result_id===J.result_id),G=X?.source_uri??X?.artifact_path??J.result_id,Q=typeof J.score==="number"?` score=${J.score.toFixed(3)}`:"";if(W.push(`- ${J.kind??"excerpt"} ${K$(J.id,44)}${Q}`),G)W.push(` source: ${K$(G,120)}`);W.push(` text: ${K$(J.text,220)}`)}return W.push(`Citations: ${U.length}`),W.push(b_("citations, graph, notes, and full excerpts")),W.join(` -`)}function Kn($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} semantic result(s) for "${K$($.query,80)}"`,`Index: ${$.provider??"unknown"}:${$.model??"unknown"} (${$.dimensions??"?"} dimensions)`];for(let W of _.slice(0,$.limit??10)){let J=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${K$(W.chunk_id,44)}${J}`),W.source_uri)U.push(` source: ${K$(W.source_uri,120)}`);if(W.text)U.push(` text: ${K$(W.text,180)}`)}return U.push(b_("provenance and full vector result objects")),U.join(` -`)}function Mn($){let _=Array.isArray($.sources)?$.sources:[],U=[`${_.length} web source(s) for "${K$($.query,80)}"`,`Provider: ${$.provider??"unknown"}${$.model?` (${$.model})`:""}`];for(let W of _.slice(0,$.limit??10)){U.push(`- ${K$(W.title??W.url??W.uri??"source",100)}`);let J=W.url??W.uri??W.source_ref;if(J)U.push(` url: ${K$(J,140)}`);if(W.snippet)U.push(` snippet: ${K$(W.snippet,180)}`)}return U.push(b_("provider payloads and filed source refs")),U.join(` -`)}function gn($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} machine(s) discovered via ${$.source??"unknown"}`,`Adapter: ${$.adapter?.package??"@hasna/machines"} ${$.adapter?.available?"available":"unavailable"}`];for(let W of _.slice(0,10)){let J=W.local?" local":"",X=W.tailscale_dns??W.ssh_target??W.hostname??"";U.push(`- ${K$(W.machine_id??W.id??"unknown",48)}${J}${X?` -> ${K$(X,80)}`:""}`)}if(_.length>10)U.push(`... ${_.length-10} more machine(s).`);if(Array.isArray($.warnings)&&$.warnings.length>0)U.push(`Warnings: ${$.warnings.slice(0,3).join("; ")}`);return U.push(b_("full topology, route hints, and adapter evidence")),U.join(` -`)}function In($){let _=Array.isArray($.checks)?$.checks:[],U=_.filter((X)=>X.status==="fail"||X.severity==="fail"),W=_.filter((X)=>X.status==="warn"||X.severity==="warn"),J=[`Machine preflight ${$.ok?"passed":"needs attention"} for ${$.machine_id??$.requested_machine_id??"local"}`,`Checks: ${_.length} total, ${U.length} failed, ${W.length} warning(s)`];for(let X of[...U,...W].slice(0,8))J.push(`- ${X.status??X.severity??"check"} ${K$(X.id??X.kind??"check",72)}: ${K$(X.message??X.detail??"",140)}`);return J.push(b_("all checks and repair hints")),J.join(` -`)}function wn($){return[`Sync status (${$.scope??"scope"})`,`Schema: v${$.sqlite_schema_version??"unknown"}`,`Machines: ${$.machines?.total??0}; snapshots: ${$.snapshots?.total??0}; open conflicts: ${$.conflicts?.open??0}`,`Tables: ${Object.entries($.table_counts??{}).slice(0,8).map(([U,W])=>`${U}=${W}`).join(", ")||"none"}`,b_("registry rows, clocks, snapshots, imports, and conflicts")].join(` -`)}function kn($){let _=Array.isArray($.warnings)?$.warnings:[],U=Array.isArray($.recommended_commands)?$.recommended_commands:[],W=[$.message??`Sync readiness ${$.ok?"ok":"needs attention"}`,`Storage: ${$.storage?.validation?.ok?"ok":"needs attention"}; open-files: ${$.open_files?.ok?"ok":"needs attention"}; open conflicts: ${$.sync?.open_conflicts??0}`];if(_.length>0)W.push(`Warnings: ${_.slice(0,5).join("; ")}`);for(let J of U.slice(0,5))W.push(`- next: ${K$(J.shell_command??J.command?.join(" ")??J.id,160)}`);return W.push(b_("diagnostics, route evidence, and all recommended commands")),W.join(` -`)}function fn($){let _=$.snapshot??{};return[`Sync snapshot ${$.ok?"recorded":"failed"}`,`Snapshot: ${K$(_.id??_.snapshot_id??"unknown",80)} ${_.content_hash?`(${K$(_.content_hash,80)})`:""}`,`Machines upserted: ${$.machines_upserted??0}; machine: ${$.machine_id??_.machine_id??"unknown"}`,b_("snapshot payload and topology evidence")].join(` -`)}function Pn($){let _=Array.isArray($.conflicts)?$.conflicts:[],U=[`${_.length} sync conflict(s)`];for(let W of _.slice(0,10))U.push(`- ${K$(W.id,48)} ${W.status??"unknown"} ${W.entity_kind??""}/${K$(W.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(b_("full conflict objects")),U.join(` -`)}function Cn($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} registered sync machine(s)`];for(let W of _.slice(0,10))U.push(`- ${K$(W.machine_id,48)} ${K$(W.hostname??W.workspace_home??"",100)}`);return U.push(b_("machine registry rows")),U.join(` -`)}function gb($,_){let U=[`Sync ${_} ${$.ok===!1?"needs attention":"completed"}${$.dry_run?" (dry run)":""}`],W=(J,X)=>{if(!X)return;let Q=(Array.isArray(X.tables)?X.tables:[]).reduce((O,B)=>O+(B.inserted??0)+(B.updated??0)+(B.deleted??0),0),Y=X.artifacts?.copied??0,j=Array.isArray(X.errors)?X.errors.length:0;U.push(`${J}: ${Q} table row change(s), ${Y} artifact(s), ${j} error(s)`)};if(W("pull",$.pull),W("push",$.push),Array.isArray($.errors)&&$.errors.length>0)U.push(`Errors: ${$.errors.slice(0,3).map((J)=>K$(J,120)).join("; ")}`);return U.push(b_("per-table rows, artifacts, clocks, and errors")),U.join(` -`)}function Tn($){let _=Array.isArray($.citations)?$.citations:[],U=Array.isArray($.context?.excerpts)?$.context.excerpts:Array.isArray($.excerpts)?$.excerpts:[],W=[$.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${_.length}; excerpts: ${U.length}`];if($.answer)W.push(`Answer: ${K$($.answer,500)}`);for(let J of _.slice(0,5))W.push(`- ${K$(J.source_uri??J.ref??J.id,120)}`);return W.push(b_("full answer payload, context, citations, and run ledger")),W.join(` -`)}function Sn($,_){return[`Export preview: ${$.length} item(s) available`,"Default output is compact to avoid terminal/context bloat.","Use --verbose or --json for a JSON object, or --format jsonl for newline-delimited records.",_!=="json"?`Requested format: ${_}`:""].filter(Boolean).join(` -`)}function Ib($){return!$||$==="local"||$==="localhost"}function mW($){if(!$.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Zn($,_){let U=_.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let W=[...$].sort((J,X)=>{if(U==="title")return J.title.localeCompare(X.title);return J.created_at.localeCompare(X.created_at)});if(_.desc)W.reverse();return{sorted:W,sort:U,direction:_.desc?"desc":"asc"}}async function vn($){if(await Ln($))return;let{positional:_,flags:U}=jn($);if(K1("debug","CLI invoked",{command:_[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:M6.name,version:M6.version},null,2):`${M6.name} ${M6.version}`);return}if(U.completions){let L=U.completions;if(L==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(L==="zsh")console.log(`#compdef knowledge -_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"{local,hosted}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"{local,global,project}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`);else if(L==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables');else throw Error("Invalid --completions value. Use 'bash', 'zsh', or 'fish'.");return}let W=Dn(_[0]),J=1,X=_.length>1||/\s/.test(W);if(On()&&W&&!kb.includes(W)&&X)W="ask",J=0;if(!W||U.help||W==="help"){let L=W==="help"?_[1]:W||_[1];Bn(L);return}if(W==="mode"){let L=qN(process.env);v(U.json||U.verbose?{ok:!0,...L}:Rn(L),U.json,U);return}let G=W==="project-panel"||W==="app-wiki"?U.scope??"project":U.scope,Q=A5({scope:G});if(W==="storage"){let L=_[1]??"status";if(L==="import-legacy"){if(U.scope&&U.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let N=o5({dryRun:U.dryRun});if(v(N,U.json),!N.ok)process.exitCode=1;return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}}let Y=Boolean(U.store),j=U.store;if(!j)if(G==="project"||G==="local")j=Q.workspace.jsonStorePath;else j=cW();if(!Y&&(W==="ask"||W==="build")&&!C4())kU(j);let O=XX({storePath:j,storePathOverridden:Y});if(W==="inventory"){let L=await Q.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:C4()?void 0:j});v(U.json||U.verbose?L:bn(L),U.json,U);return}if(W==="project-panel"){let L=U.project??_[1];if(!L)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let N=await fA(L,{service:Q,limit:U.limit,storePath:C4()?void 0:j,includeArchived:U.includeArchived||U.archived});v(U.json||U.contract?N:PA(N),U.json||U.contract);return}if(W==="paths"){let L=Q.paths();v(U.json||U.verbose?L:An(L),U.json,U);return}if(W==="setup"){let L=Q.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});v(L,U.json,U);return}if(W==="auth"){let L=_[1]??"whoami";if(L==="whoami"||L==="status"){let N=Q.authStatus(process.env);v({ok:!0,...N,message:N.authenticated?`Authenticated via ${N.source}`:"Not authenticated"},U.json,U);return}if(L==="login"){let N=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!N)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let H=Q.saveAuth({apiKey:N,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);v({ok:!0,authenticated:!0,email:H.email??null,org_slug:H.org_slug??null,api_url:H.api_url??Q.authStatus(process.env).api_url,auth_path:Q.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${H.email??"API key"}`},U.json,U);return}if(L==="logout"){let N=Q.clearAuth(process.env);v({ok:!0,removed:N,message:N?"Removed hosted credentials":"No hosted credentials found"},U.json,U);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(W==="storage"){let L=_[1]??"status";if(L==="status"){let N=Q.storageContract(),H=Q.validateStorage();v({ok:H.ok,...N,validation:H,message:`${N.storage_type} artifact storage at ${N.artifact_store.uri_prefix}`},U.json,U);return}if(L==="validate"){let N=Q.validateStorage();if(v({ok:N.ok,validation:N,message:N.ok?"Storage contract valid":`Storage contract invalid: ${N.errors.join("; ")}`},U.json,U),!N.ok)process.exitCode=1;return}if(L==="repair-artifact-keys"||L==="repair-keys"){let N=Q.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});v(N,U.json,U);return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid storage action. Use 'status', 'validate', 'repair-artifact-keys', 'migrate-legacy-path', 'merge-legacy-path', or 'import-legacy'.")}if(W==="machines"){let L=_[1]??"topology";if(L==="topology"||L==="status"){let N=await Q.machineTopology({includeTailscale:U.tailscale!==!1});v(U.json||U.verbose?N:gn(N),U.json,U);return}if(L==="preflight"||L==="check"){let N=_[2]??U.machine??"local",H=U.workspace??process.cwd(),R=await Q.machinePreflight({machineId:N,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:M6.name,command:"knowledge",expectedVersion:M6.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:H,expectedPackageName:M6.name,expectedVersion:M6.version,required:!0}]});if(v(U.json||U.verbose?R:In(R),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(W==="sync"){let L=_[1]??"status",N=U.tables?U.tables.split(",").map((H)=>H.trim()).filter(Boolean):void 0;if(L==="status"){let H=Q.syncStatus();v(U.json||U.verbose?H:wn(H),U.json,U);return}if(L==="doctor"||L==="readiness"||L==="preflight"){let H=await Q.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:N}),R={package:{name:M6.name,version:M6.version},...H};if(v(U.json||U.verbose?R:kn(R),U.json,U),!H.ok&&!U.json)process.exitCode=1;return}if(L==="snapshot"||L==="record"){let H=await Q.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});v(U.json||U.verbose?H:fn(H),U.json,U);return}if(L==="conflicts"||L==="conflict"){let H=_[2];if(H==="show"||H==="get"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts show <id>");let M=Q.syncConflict(A);v({ok:!0,conflict:M,message:`Sync conflict ${A}`},U.json,U);return}if(H==="propose"||H==="proposal"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts propose <id>");v(U.mode==="ai"?await Q.proposeSyncConflictResolutionWithAi({id:A,modelRef:U.model,fake:U.fake}):Q.proposeSyncConflictResolution(A),U.json,U);return}if(H==="resolve"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let M=Q.resolveSyncConflict({id:A,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(v(M,U.json,U),!M.ok&&!U.json)process.exitCode=1;return}let R=Q.syncConflicts({status:H,limit:U.limit}),b={ok:!0,conflicts:R,message:`${R.length} sync conflict(s)`};v(U.json||U.verbose?b:Pn(b),U.json,U);return}if(L==="machines"||L==="registry"){let H=Q.syncMachines(),R={ok:!0,machines:H,message:`${H.length} registered sync machine(s)`};v(U.json||U.verbose?R:Cn(R),U.json,U);return}if(L==="export"){let H=Q.exportSyncBundle({machineId:U.machine??null,tables:N,includeArtifactContent:U.artifactContent!==!1});v(H,!0);return}if(L==="import"){let H=await Bun.stdin.text();if(!H.trim())throw Error("Usage: knowledge sync import < bundle.json");let R=await Q.importSyncBundle({bundle:JSON.parse(H),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});v(U.json||U.verbose?R:gb(R,L),U.json,U);return}if(L==="dry-run"||L==="pull"||L==="push"||L==="sync"){if(!U.peerWorkspace&&Ib(U.machine))throw Error(`Usage: knowledge sync ${L} --peer-workspace <repo-or-knowledge-home> [--scope project] -Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let H=L==="dry-run"?"both":L==="sync"?"both":L,R=!Ib(U.machine)?await Q.syncRemotePeer({direction:H,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:N,dryRun:U.dryRun===!0||L==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await Q.syncPeer({peerWorkspace:U.peerWorkspace,direction:H,dryRun:U.dryRun===!0||L==="dry-run",tables:N,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(v(U.json||U.verbose?R:gb(R,L),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid sync action. Use 'status', 'doctor', 'snapshot', 'conflicts', 'machines', 'dry-run', 'pull', 'push', 'sync', 'export', or 'import'.")}if(W==="db"){let L=_[1]??"init";if(L==="init"){let N=Q.initDb();v({ok:!0,...N,message:`Initialized ${N.path}`},U.json,U);return}if(L==="stats"){let N=Q.dbStats();v({ok:!0,path:Q.workspace.knowledgeDbPath,...N,message:`knowledge.db schema v${N.schema_version}`},U.json,U);return}if(L==="storage"){if((_[2]??"status")==="status"){let H=OO({scope:U.scope});v({ok:!0,...H,message:`knowledge.db storage mode ${H.mode}${H.activeEnv?` via ${H.activeEnv}`:""}`},U.json,U);return}throw Error("Invalid db storage action. Only 'status' is supported. The 'push'/'pull'/'sync' Postgres sync commands were removed (DSN-on-client is forbidden); use the cloud API flip instead.")}throw Error("Invalid db action. Use 'init', 'stats', or 'storage'.")}if(W==="app-wiki"){let L=_[1]??"init";if(L==="paths"||L==="status"){v({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...Q.paths()},U.json);return}if(L==="init"||L==="open"){let N=await Q.initAppWiki({allowGlobal:U.allowGlobal});v(N,U.json);return}if(L==="note"||L==="notes"){let N=_[2]??"list";if(N==="add"||N==="create"){let H=U.title??_[3],R=U.content??_.slice(4).join(" ");if(!H||!R)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let b=await Q.addAppWikiNote({title:H,content:R,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});v(b,U.json);return}if(N==="list"||N==="ls"){let H=Q.listAppWikiNotes({limit:U.limit});v({ok:!0,scope:Q.scope,home:Q.workspace.home,notes:H,message:`${H.length} app wiki note(s)`},U.json);return}if(N==="get"||N==="show"){let H=_[3]??U.id;if(!H)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let R=await Q.getAppWikiNote(H,{includeContent:!0});if(!R)throw Error(`App wiki note not found: ${H}`);v(R,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(L==="source"||L==="sources"){let N=_[2]??"add";if(N!=="add"&&N!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let H=_[3]??U.sourceRef?.[0];if(!H)throw Error("Usage: knowledge app-wiki source add <source-ref>");let R=await Q.addAppWikiSourceRef({sourceRef:H,purpose:U.purpose,allowGlobal:U.allowGlobal});v({ok:!0,...R,message:`Added app wiki source ${R.source_ref}`},U.json);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki search <query>");let H=await Q.searchAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.results.length} app wiki result(s)`},U.json);return}if(L==="query"||L==="context"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki query <query>");let H=await Q.queryAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(W==="wiki"){let L=_[1]??"init";if(L==="init"){let N=await Q.initWiki();v({ok:!0,...N,message:`Initialized wiki layout in ${Q.workspace.home}`},U.json,U);return}if(L==="compile"){let N=_.slice(2),H=N.filter((A)=>/^(open-files|file|s3|https?):\/\//.test(A)),R=N.filter((A)=>!/^(open-files|file|s3|https?):\/\//.test(A)).join(" "),b=await Q.compileWiki({title:U.title,query:R||U.search,sourceRefs:H.length>0?H:void 0,limit:U.limit});v({ok:!0,...b,message:`Compiled wiki page ${b.path}`},U.json,U);return}if(L==="file-answer"||L==="answer"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!U.content)throw Error("Missing --content <answer> for wiki file-answer.");let H=await Q.fileAnswer({prompt:N,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H},U.json,U);return}if(L==="lint"){let N=Q.lintWiki();v({ok:N.ok,...N,message:N.ok?"Wiki lint passed":`Wiki lint found ${N.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(W==="safety"){let L=_[1]??"status",N=Q.ensureWorkspace(),H=Q.safetyPolicy();Q.initDb();let R=d(N.knowledgeDbPath);try{if(L==="status"){v({ok:!0,mode:H.mode,workspace:N.home,allow_write_roots:H.allowWriteRoots,read_only_source_access:H.readOnlySourceAccess,network:H.network,redaction:H.redaction,approvals:H.approvals,message:`Safety policy: ${H.mode}`},U.json,U);return}if(L==="check"){let b=_[2]??"generated_write",A=_[3]??null,M;try{if(b==="web_search")L2(H),M={action:b,target_uri:A,approval_required:!1,approved:!0,decision:"allow"};else if(b==="s3_read"){if(!A)throw Error("safety check s3_read requires an s3:// target.");Z4(A,H),M={action:b,target_uri:A,approval_required:!1,approved:!0,decision:"allow"}}else M=cN(R,H,b,A);a$(R,{event_type:"safety_check",action:b,target_uri:A,decision:M.decision==="allow"?"allow":"requires_approval",metadata:M}),v({ok:!0,...M,message:`Safety check ${M.decision}`},U.json,U);return}catch(E){throw a$(R,{event_type:"safety_check",action:b,target_uri:A,decision:"deny",metadata:{error:E instanceof Error?E.message:String(E)}}),E}}if(L==="approve"){let b=_[2]??"generated_write",A=_[3]??null,M=nN(R,{action:b,target_uri:A,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});a$(R,{event_type:"approval",action:b,target_uri:A,decision:"allow",metadata:{approval_id:M.id}}),v({ok:!0,...M,action:b,target_uri:A,message:`Approved ${b}`},U.json,U);return}if(L==="audit"){let b=R.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((A)=>({id:A.id,event_type:A.event_type,action:A.action,target_uri:A.target_uri,decision:A.decision,metadata:JSON.parse(A.metadata_json),created_at:A.created_at}));v({ok:!0,events:b,message:`${b.length} audit event(s)`},U.json,U);return}if(L==="redact"){let b=_.slice(2).join(" ");if(!b)throw Error("Usage: knowledge safety redact <text>");let A=w_(b,H);if(A.findings.length>0)jX(R,{source_uri:"safety://redact",findings:A.findings,metadata:{command:"safety redact"}});a$(R,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:A.findings.length>0?"redacted":"allow",metadata:{findings:A.findings.length}}),v({ok:!0,text:A.text,findings:A.findings,message:`Redacted ${A.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{R.close()}}if(W==="source"){if((_[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let N=_[2];if(!N)throw Error("Usage: knowledge source resolve <source-ref>");let H=await Q.resolveSource(N,{purpose:U.purpose,limit:U.limit});v({ok:!0,...H,message:H.resolved?`Resolved ${H.source_ref} (${H.content.chunks_returned}/${H.content.chunks_total} chunks)`:`Source not indexed: ${N}`},U.json,U);return}if(W==="ingest"){let L=_[1]??"";if(L==="rules"||L==="global-rules"||L==="agent-rules"){let N=await Q.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});v({ok:!0,...N},U.json);return}if(L==="manifest"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let H=await Q.ingestManifest(N);v({ok:!0,...H,message:`Ingested ${H.items_seen} manifest item(s)`},U.json,U);return}if(L==="source"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest source <source-ref>");let H=await Q.ingestSource(N,U.purpose);v({ok:!0,...H,message:`Ingested source ${H.source_ref} (${H.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(W==="reindex"){let L=_[1]??"status";if(L==="status"){let N=Q.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`${N.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(L==="enqueue"){let N=Q.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Queued ${N.enqueued} embedding refresh item(s)`},U.json,U);return}if(L==="embeddings"){let N=await Q.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="outbox"){let N=_[2];if(!N)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let H=await Q.consumeOutbox(N);v({ok:!0,...H,message:`Consumed ${H.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(W==="embeddings"){let L=_[1]??"status";if(L==="status"){let N=Q.embeddingStatus();v({ok:!0,...N,message:`${N.total_vector_entries} vector index entries`},U.json,U);return}if(L==="index"){let N=await Q.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge embeddings search <query>");let H=await Q.semanticSearch({query:N,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),R={ok:!0,...H,message:`${H.results.length} semantic result(s)`};v(U.json||U.verbose?R:Kn(R),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(W==="context"){if((_[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let N=U.from??"search";if(!["search","loops","runs"].includes(N))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let H=_.slice(2).join(" ")||U.topic||"",R=await Q.contextPack({source:N,purpose:N==="loops"||N==="runs"?"proposal":"agent_context",query:H,topic:U.topic,since:U.since,dedupe:U.dedupe,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j});Mb({ok:!0,...R,message:R.message});return}if(W==="proposals"){if((_[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let N=U.from??"loops";if(!["loops","runs"].includes(N))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let H=U.topic??_.slice(2).join(" ");if(!H.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let R=await Q.contextPack({source:N,purpose:"proposal",query:H,topic:H,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});Mb({ok:!0,...R,message:R.message});return}if(W==="search"){let L=_.slice(1).join(" ");if(!L)throw Error("Usage: knowledge search <query>");if(U.context){let R=await Q.retrieveContext({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),b={ok:!0,...R,message:`${R.excerpts.length} context excerpt(s)`};v(U.json||U.verbose?b:En(b),U.json,U);return}let N=await Q.search({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),H={ok:!0,...N,message:`${N.results.length} search result(s)`};v(U.json||U.verbose?H:Fn(H),U.json,U);return}if(W==="web"){if((_[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge web search <query>");let H=await Q.webSearch({query:N,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),R={ok:!0,...H,message:`${H.sources.length} web source(s)`};v(U.json||U.verbose?R:Mn(R),U.json,U);return}if(W==="ask"||W==="build"){let L=_.slice(J).join(" ");if(!L)throw Error("Usage: knowledge ask <prompt>");let N=await Q.runPrompt({prompt:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:j}),H={ok:!0,...N,message:N.generated?"Generated answer with citations":"Prepared citation context draft"};v(U.json||U.verbose?H:Tn(H),U.json,U);return}if(W==="providers"){let L=_[1]??"status";if(L==="status"){let N=Q.providerStatus(),H=N.providers.filter((R)=>R.configured).length;v({ok:!0,...N,message:`${H}/${N.providers.length} provider credential(s) configured`},U.json,U);return}if(L==="models"){let N=Q.modelRegistry();v({ok:!0,models:N,message:`${N.length} model alias(es)`},U.json,U);return}if(L==="check"){let N=_[2]??"default",H=z6(N,Q.config()),R=j_(H),b=k0(R.provider,Q.config());v({ok:!0,target:N,model_ref:H,provider:R.provider,model:R.model,credential:b,message:`${R.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(W==="add"){let L=_[1],N=_[2];if(!L||!N)throw Error("Usage: knowledge add <title> <content>");let H=await O.create({title:L,content:N,url:U.url??null,tags:U.tag??[]});K1("info","Item added",{id:H.id,title:H.title,tags:H.tags?.length??0,transport:O.kind}),v({ok:!0,item:H,message:`Added ${H.id}`},U.json,U);return}if(W==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");let L=await O.listAll(),N=Number.isFinite(U.page)&&U.page>0?U.page:1,H=Number.isFinite(U.limit)&&U.limit>0?U.limit:20,R=U.search?String(U.search).toLowerCase():"",b=(U.tagRaw??U.tag??[]).map((O$)=>({whole:O$.trim().toLowerCase(),parts:O$.split(",").map((Y_)=>Y_.trim().toLowerCase()).filter((Y_)=>Y_.length>0)})),A=U.tag?.length?U.tag.map((O$)=>O$.toLowerCase()).join(","):"none",M=U.format==="table"||!U.json&&!U.format&&Hn(U),E=U.json||U.format==="json",g=L.items;if(U.archived)g=g.filter((O$)=>O$.archived===!0);else if(!U.includeArchived)g=g.filter((O$)=>!O$.archived);if(R)g=g.filter((O$)=>O$.title.toLowerCase().includes(R)||O$.content.toLowerCase().includes(R));if(b.length>0)g=g.filter((O$)=>{let Y_=new Set((O$.tags??[]).map((t$)=>t$.toLowerCase()));return b.every(({whole:t$,parts:d$})=>t$.length>0&&Y_.has(t$)||d$.every((W_)=>Y_.has(W_)))});let{sorted:Z,sort:k,direction:r}=Zn(g,U),i$=(N-1)*H,P$=Z.slice(i$,i$+H),p$=Math.max(1,Math.ceil(Z.length/H)),J_={ok:!0,page:N,limit:H,total:Z.length,total_pages:p$,sort:k,direction:r,items:P$,store_exists:L.exists};if(E){v(J_,!0);return}if(U.verbose){v(J_,!1,U);return}if(P$.length===0){v(`No items found (search=${R||"none"}, tag=${A})`,!1);return}if(M){let O$=(t$)=>t$,Y_=`${O$("ID")} ${O$("TITLE")} ${O$("CREATED")} ${O$("URL")} ${O$("TAGS")}`;console.log(Y_);for(let t$ of P$)console.log(`${t$.id} ${O$(K$(t$.title,80))} ${t$.created_at} ${t$.url?O$(K$(t$.url,90)):""} ${t$.tags?.length?O$(K$(`[${t$.tags.join(", ")}]`,80)):""}`);console.log(`Page ${N}/${p$} | showing ${P$.length} of ${Z.length} | sort=${k} ${r} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let O$ of P$)console.log(`${O$.id} ${K$(O$.title,80)} ${O$.created_at}${O$.url?` ${K$(O$.url,90)}`:""}${O$.tags?.length?` ${K$(`[${O$.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${N}/${p$} | showing ${P$.length} of ${Z.length} | sort=${k} ${r} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(W==="get"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);v({ok:!0,item:L,store_exists:O.exists,message:`${L.id}: ${L.title}`},U.json,U);return}if(W==="update"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N={};if(U.title!==void 0)N.title=U.title;if(U.content!==void 0)N.content=U.content;if(U.url!==void 0)N.url=U.url;let H;if(U.tag!==void 0){if(H=Kb(L.tags,U.tag),H.length>0)N.tags=[...L.tags??[],...H]}let R=await O.update(L.id,N);v(wO({ok:!0,item:R},`Updated ${R?.id??L.id}`,H),U.json,U);return}if(W==="archive"||W==="restore"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=await O.update(L.id,{archived:W==="archive"});v({ok:!0,item:N,message:`${W==="archive"?"Archived":"Restored"} ${N?.id??L.id}`},U.json,U);return}if(W==="untag"){if(mW(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=L.tags??[],H=new Set(N.map((k)=>k.toLowerCase())),R=new Set;for(let k of U.tagRaw??U.tag){let r=k.trim().toLowerCase();if(r.length>0&&H.has(r)){R.add(r);continue}for(let i$ of k.split(",").map((P$)=>P$.trim().toLowerCase()).filter((P$)=>P$.length>0))R.add(i$)}let b=N.filter((k)=>!R.has(k.toLowerCase())),A=N.length-b.length,M=[...R].filter((k)=>!H.has(k));if(A===0)throw Error(`No matching tag on ${L.id}: ${M.map((k)=>JSON.stringify(k)).join(", ")} not in [${N.map((k)=>JSON.stringify(k)).join(", ")}]`);let E=await O.update(L.id,{tags:b}),g=M.length>0?` (not found: ${M.map((k)=>JSON.stringify(k)).join(", ")})`:"",Z={ok:!0,item:E,removed:A,message:`Removed ${A} tag${A===1?"":"s"} from ${E?.id??L.id}${g}`};if(M.length>0)Z.not_found=M;v(Z,U.json,U);return}if(W==="upsert"){let L=U.title??_[1],N=U.content??_[2],H=U.id?await O.get(U.id):null;if(!H){if(!L||!N)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let M=await O.create({id:U.id,title:L,content:N,url:U.url??null,tags:U.tag??[]});v(wO({ok:!0,created:!0,item:M},`Upserted ${M.id}`,U.tag),U.json,U);return}let R={};if(L!==void 0)R.title=L;if(N!==void 0)R.content=N;if(U.url!==void 0)R.url=U.url;let b;if(U.tag!==void 0){if(b=Kb(H.tags,U.tag),b.length>0)R.tags=[...H.tags??[],...b]}let A=await O.update(H.id,R);v(wO({ok:!0,created:!1,item:A},`Upserted ${A?.id??H.id}`,b),U.json,U);return}if(W==="delete"){if(mW(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await O.delete(U.id))throw Error(`Item not found: ${U.id}`);K1("info","Item deleted",{id:U.id,transport:O.kind}),v({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(W==="export"){let L=U.format??"json";if(L!=="json"&&L!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let N=await O.listAll();if(L==="jsonl")for(let H of N.items)console.log(JSON.stringify(H));else if(U.json||U.format==="json"||U.verbose)v({ok:!0,items:N.items,store_exists:N.exists},U.json||U.format==="json",U);else v(Sn(N.items,L),!1);return}if(W==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:L}=await O.listAll(),N=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,H=L.filter((A)=>N!==null&&new Date(A.created_at)<N||U.empty&&A.content.trim().length===0),R=await O.deleteMany(H.map((A)=>A.id)),b=L.length-R;K1("info","Prune completed",{pruned:R,remaining:b,transport:O.kind}),v({ok:!0,pruned:R,remaining:b,message:`Pruned ${R} item(s)`},U.json,U);return}if(W==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:L}=await O.listAll(),N=new Set,H=[];for(let A of L){let M=`${A.title}\x00${A.content}`;if(N.has(M))H.push(A);else N.add(M)}let R=await O.deleteMany(H.map((A)=>A.id)),b=L.length-R;K1("info","Dedupe completed",{removed:R,remaining:b,transport:O.kind}),v({ok:!0,removed:R,remaining:b,message:`Dedupe removed ${R} duplicate(s)`},U.json,U);return}if(W==="stats"){let L=await O.listAll(),N=L.items.filter((k)=>!k.archived),H=N.length,R=L.items.length-H,b=N.filter((k)=>k.url).length,A=N.filter((k)=>k.tags&&k.tags.length>0).length,M=H>0?N.map((k)=>k.created_at).sort()[0]:null,E=H>0?N.map((k)=>k.created_at).sort()[H-1]:null,g={};for(let k of N)for(let r of k.tags||[])g[r]=(g[r]||0)+1;let Z=Object.entries(g).sort((k,r)=>r[1]-k[1]).slice(0,5).map(([k,r])=>({tag:k,count:r}));v({ok:!0,total:H,archived:R,with_url:b,with_tags:A,oldest:M,newest:E,top_tags:Z,store_exists:L.exists,message:`${H} items | ${b} with URL | ${A} with tags`},U.json,U);return}let B=qn(_[0]),V=B?` Did you mean '${B}'?`:"";throw K1("warn","Unknown command",{input:_[0],suggestion:B}),Error(`Unknown command: ${_[0]}.${V} Run 'knowledge --help' for available commands.`)}function yn($,_){let U=$ instanceof Error?$.message:String($);if(K1("debug","CLI error",{message:U,stack:$ instanceof Error?$.stack:void 0}),console.error(`Error: ${U}`),_.includes("--json"))v({ok:!1,error:U,message:U},!0);process.exitCode=1}if(import.meta.main){let $=process.argv.slice(2);vn($).catch((_)=>yn(_,$))}export{qn as suggestCommand,Zn as sortItems,vn as run,jn as parseArgs,yn as emitCliError}; +Remote machine sync resolves peer paths through @hasna/machines when --peer-workspace is omitted.`);return}if($==="db"){console.log("Usage: knowledge db init|stats|storage status [--scope local|global|project] [--json]");return}if($==="wiki"){console.log("Usage: knowledge wiki init|compile|file-answer|lint [query|prompt] [--title <title>] [--content <answer>] [--approve-write] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="app-wiki"){console.log("Usage: knowledge app-wiki init | note add|get|list | source add <source-ref> | search <query> | query <query> [--title <title>] [--content <text>] [--tag <tag>] [--source-ref <uri>] [--scope project|local|global] [--allow-global] [--json]");return}if($==="source"){console.log("Usage: knowledge source resolve <source-ref> [--purpose knowledge_answer|knowledge_index] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="ingest"){console.log("Usage: knowledge ingest manifest <file|s3://bucket/key> | source <source-ref> | rules [--workspace <path>] [--owner <name>] [--dry-run] [--max-items <n>] [--limit <n>] [--purpose knowledge_index] [--scope local|global|project] [--json]");return}if($==="reindex"){console.log("Usage: knowledge reindex status|enqueue|embeddings|outbox [file|s3://bucket/key] [--full] [--fake] [--scope local|global|project] [--json]");return}if($==="search"){console.log("Usage: knowledge search <query> [--context] [--semantic] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="context"){console.log("Usage: knowledge context pack <query> [--from search|runs|loops] [--max-tokens <n>] [--max-items <n>] [--limit <n>] [--semantic] [--model openai:text-embedding-3-small] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="proposals"){console.log("Usage: knowledge proposals context --from loops --topic <text> [--since <duration|ISO>] [--dedupe] [--max-tokens <n>] [--max-items <n>] [--scope local|global|project] [--json]");return}if($==="web"){console.log("Usage: knowledge web search <query> [--provider openai|anthropic] [--model provider:model] [--domain <domain>] [--file-results] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="ask"||$==="build"){console.log("Usage: knowledge ask|build <prompt> [--generate] [--semantic] [--model default|provider:model] [--approve-write] [--scope local|global|project] [--verbose] [--json]");return}if($==="embeddings"){console.log("Usage: knowledge embeddings status|index|search [query] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="providers"){console.log("Usage: knowledge providers status|models|check [provider|model-alias] [--scope local|global|project] [--json]");return}if($==="safety"){console.log("Usage: knowledge safety status|check|approve|audit|redact [args] [--scope local|global|project] [--json]");return}if($==="events"){console.log("Usage: knowledge events emit|list|replay [args] [--json]");return}if($==="webhooks"){console.log("Usage: knowledge webhooks add|list|remove|test [args] [--json]");return}Nc()}function Hc($){if($.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function v($,_,U){if(_){console.log(JSON.stringify($,null,2));return}if(typeof $==="string"){console.log($);return}if(U?.verbose){console.log(JSON.stringify($,null,2));return}let W=$.message;console.log(W?`${W} +${E_()}`:Vc($))}function E_($="full details"){return`Hint: use --verbose for ${$}, or --json for machine-readable output.`}function b$($,_=120){let U=$===null||$===void 0?"":String($).replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Vc($){if(!$||typeof $!=="object")return String($);let _=$,U=[_.ok===!1?"Result: not ok":"Result: ok"];for(let[W,J]of Object.entries(_).slice(0,8)){if(W==="ok"||W==="message")continue;if(Array.isArray(J))U.push(`${W}: ${J.length} item(s)`);else if(J&&typeof J==="object")U.push(`${W}: ${Object.keys(J).length} field(s)`);else U.push(`${W}: ${b$(J,100)}`)}return U.push(E_()),U.join(` +`)}function Rc($){let _=$.mode==="cloud"?"cloud (HTTP /v1 API)":"local (on-box store)",U=$.source.kind==="env"?`selected by ${$.source.name}=${$.source.value}`:`default (no mode var set; set ${z2[0]}=cloud to use the API)`,W=[`Knowledge mode: ${_}`,` ${U}`];if($.pointer_env_present.length>0){let J=$.pointer_ignored?"present but IGNORED for mode selection":"present";W.push(` Pointer env ${J}: ${$.pointer_env_present.join(", ")}`)}if($.network_guard_active)W.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if($.warning)W.push(` Note: ${$.warning}`);return W.join(` +`)}function Ac($){return[`Knowledge paths (${$.scope})`,`Home: ${$.home}`,`SQLite: ${$.knowledge_db_path}`,`JSON store: ${$.json_store_path}`,`Wiki: ${$.wiki_dir}`,E_("config and all paths")].join(` +`)}function ME($){console.log(JSON.stringify($))}function Ec($){let _=$.summary,U=[`Knowledge inventory (${$.scope})`,`Home: ${$.home}`,`JSON store: ${$.paths.json_store_path}${$.paths.json_store_exists?"":" (missing)"}`,`SQLite catalog: ${$.paths.knowledge_db_path}`,`Summary: ${_.legacy_items} item(s), ${_.sources} source(s), ${_.chunks} chunk(s), ${_.wiki_pages} wiki page(s), ${_.indexes} index(es), ${_.storage_objects} artifact(s), ${_.runs} run(s)`],W=(J,X,G)=>{if(X.length===0)return;U.push("",`${J}:`);for(let Q of X.slice(0,$.limit))U.push(`- ${G(Q)}`)};return W("Items",$.items,(J)=>`${J.id}: ${J.title}`),W("Sources",$.sources,(J)=>`${J.kind??"source"} ${J.uri} (${J.chunks??0} chunk(s))`),W("Chunks",$.chunks,(J)=>`${J.kind??"chunk"} ${J.id}: ${J.text_preview??""}`),W("Wiki pages",$.wiki_pages,(J)=>`${J.path}: ${J.title}`),W("Indexes",$.indexes,(J)=>`${J.kind??"index"} ${J.name}${J.shard_key?` (${J.shard_key})`:""}`),W("Artifacts",$.storage_objects,(J)=>`${J.kind??"artifact"} ${J.artifact_uri}`),W("Runs",$.runs,(J)=>`${J.type??"run"} ${J.id}: ${J.status??"unknown"}`),W("Machines",$.machines,(J)=>`${J.machine_id}${J.workspace_home?` ${J.workspace_home}`:""}`),W("Sync conflicts",$.sync_conflicts,(J)=>`${J.id}: ${J.entity_kind}/${J.entity_id} ${J.status}`),U.join(` +`)}function Fc($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} search result(s) for "${b$($.query,80)}"${$.mode?.semantic?" (semantic enabled)":""}`];for(let W of _.slice(0,$.limit??10)){let J=W.source?.uri??W.provenance?.source_uri??W.artifact?.path??W.artifact?.uri??W.id,X=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${W.kind??"result"} ${b$(W.title??W.id,80)}${X}`),J)U.push(` source: ${b$(J,120)}`);if(W.text)U.push(` text: ${b$(W.text,180)}`)}if(_.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(E_("scores, provenance, and full result objects")),!$.context)U.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return U.join(` +`)}function Kc($){let _=Array.isArray($.excerpts)?$.excerpts:[],U=Array.isArray($.citations)?$.citations:[],W=[`${_.length} context excerpt(s) for "${b$($.query??$.normalized_query,80)}"`];for(let J of _.slice(0,10)){let X=U.find((Y)=>Y.id===J.citation_id||Y.result_id===J.result_id),G=X?.source_uri??X?.artifact_path??J.result_id,Q=typeof J.score==="number"?` score=${J.score.toFixed(3)}`:"";if(W.push(`- ${J.kind??"excerpt"} ${b$(J.id,44)}${Q}`),G)W.push(` source: ${b$(G,120)}`);W.push(` text: ${b$(J.text,220)}`)}return W.push(`Citations: ${U.length}`),W.push(E_("citations, graph, notes, and full excerpts")),W.join(` +`)}function bc($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} semantic result(s) for "${b$($.query,80)}"`,`Index: ${$.provider??"unknown"}:${$.model??"unknown"} (${$.dimensions??"?"} dimensions)`];for(let W of _.slice(0,$.limit??10)){let J=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${b$(W.chunk_id,44)}${J}`),W.source_uri)U.push(` source: ${b$(W.source_uri,120)}`);if(W.text)U.push(` text: ${b$(W.text,180)}`)}return U.push(E_("provenance and full vector result objects")),U.join(` +`)}function Mc($){let _=Array.isArray($.sources)?$.sources:[],U=[`${_.length} web source(s) for "${b$($.query,80)}"`,`Provider: ${$.provider??"unknown"}${$.model?` (${$.model})`:""}`];for(let W of _.slice(0,$.limit??10)){U.push(`- ${b$(W.title??W.url??W.uri??"source",100)}`);let J=W.url??W.uri??W.source_ref;if(J)U.push(` url: ${b$(J,140)}`);if(W.snippet)U.push(` snippet: ${b$(W.snippet,180)}`)}return U.push(E_("provider payloads and filed source refs")),U.join(` +`)}function Ic($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} machine(s) discovered via ${$.source??"unknown"}`,`Adapter: ${$.adapter?.package??"@hasna/machines"} ${$.adapter?.available?"available":"unavailable"}`];for(let W of _.slice(0,10)){let J=W.local?" local":"",X=W.tailscale_dns??W.ssh_target??W.hostname??"";U.push(`- ${b$(W.machine_id??W.id??"unknown",48)}${J}${X?` -> ${b$(X,80)}`:""}`)}if(_.length>10)U.push(`... ${_.length-10} more machine(s).`);if(Array.isArray($.warnings)&&$.warnings.length>0)U.push(`Warnings: ${$.warnings.slice(0,3).join("; ")}`);return U.push(E_("full topology, route hints, and adapter evidence")),U.join(` +`)}function gc($){let _=Array.isArray($.checks)?$.checks:[],U=_.filter((X)=>X.status==="fail"||X.severity==="fail"),W=_.filter((X)=>X.status==="warn"||X.severity==="warn"),J=[`Machine preflight ${$.ok?"passed":"needs attention"} for ${$.machine_id??$.requested_machine_id??"local"}`,`Checks: ${_.length} total, ${U.length} failed, ${W.length} warning(s)`];for(let X of[...U,...W].slice(0,8))J.push(`- ${X.status??X.severity??"check"} ${b$(X.id??X.kind??"check",72)}: ${b$(X.message??X.detail??"",140)}`);return J.push(E_("all checks and repair hints")),J.join(` +`)}function wc($){return[`Sync status (${$.scope??"scope"})`,`Schema: v${$.sqlite_schema_version??"unknown"}`,`Machines: ${$.machines?.total??0}; snapshots: ${$.snapshots?.total??0}; open conflicts: ${$.conflicts?.open??0}`,`Tables: ${Object.entries($.table_counts??{}).slice(0,8).map(([U,W])=>`${U}=${W}`).join(", ")||"none"}`,E_("registry rows, clocks, snapshots, imports, and conflicts")].join(` +`)}function kc($){let _=Array.isArray($.warnings)?$.warnings:[],U=Array.isArray($.recommended_commands)?$.recommended_commands:[],W=[$.message??`Sync readiness ${$.ok?"ok":"needs attention"}`,`Storage: ${$.storage?.validation?.ok?"ok":"needs attention"}; open-files: ${$.open_files?.ok?"ok":"needs attention"}; open conflicts: ${$.sync?.open_conflicts??0}`];if(_.length>0)W.push(`Warnings: ${_.slice(0,5).join("; ")}`);for(let J of U.slice(0,5))W.push(`- next: ${b$(J.shell_command??J.command?.join(" ")??J.id,160)}`);return W.push(E_("diagnostics, route evidence, and all recommended commands")),W.join(` +`)}function Pc($){let _=$.snapshot??{};return[`Sync snapshot ${$.ok?"recorded":"failed"}`,`Snapshot: ${b$(_.id??_.snapshot_id??"unknown",80)} ${_.content_hash?`(${b$(_.content_hash,80)})`:""}`,`Machines upserted: ${$.machines_upserted??0}; machine: ${$.machine_id??_.machine_id??"unknown"}`,E_("snapshot payload and topology evidence")].join(` +`)}function fc($){let _=Array.isArray($.conflicts)?$.conflicts:[],U=[`${_.length} sync conflict(s)`];for(let W of _.slice(0,10))U.push(`- ${b$(W.id,48)} ${W.status??"unknown"} ${W.entity_kind??""}/${b$(W.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(E_("full conflict objects")),U.join(` +`)}function Cc($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} registered sync machine(s)`];for(let W of _.slice(0,10))U.push(`- ${b$(W.machine_id,48)} ${b$(W.hostname??W.workspace_home??"",100)}`);return U.push(E_("machine registry rows")),U.join(` +`)}function IE($,_){let U=[`Sync ${_} ${$.ok===!1?"needs attention":"completed"}${$.dry_run?" (dry run)":""}`],W=(J,X)=>{if(!X)return;let Q=(Array.isArray(X.tables)?X.tables:[]).reduce((O,B)=>O+(B.inserted??0)+(B.updated??0)+(B.deleted??0),0),Y=X.artifacts?.copied??0,j=Array.isArray(X.errors)?X.errors.length:0;U.push(`${J}: ${Q} table row change(s), ${Y} artifact(s), ${j} error(s)`)};if(W("pull",$.pull),W("push",$.push),Array.isArray($.errors)&&$.errors.length>0)U.push(`Errors: ${$.errors.slice(0,3).map((J)=>b$(J,120)).join("; ")}`);return U.push(E_("per-table rows, artifacts, clocks, and errors")),U.join(` +`)}function Tc($){let _=Array.isArray($.citations)?$.citations:[],U=Array.isArray($.context?.excerpts)?$.context.excerpts:Array.isArray($.excerpts)?$.excerpts:[],W=[$.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${_.length}; excerpts: ${U.length}`];if($.answer)W.push(`Answer: ${b$($.answer,500)}`);for(let J of _.slice(0,5))W.push(`- ${b$(J.source_uri??J.ref??J.id,120)}`);return W.push(E_("full answer payload, context, citations, and run ledger")),W.join(` +`)}function Sc($,_){return[`Export preview: ${$.length} item(s) available`,"Default output is compact to avoid terminal/context bloat.","Use --verbose or --json for a JSON object, or --format jsonl for newline-delimited records.",_!=="json"?`Requested format: ${_}`:""].filter(Boolean).join(` +`)}function gE($){return!$||$==="local"||$==="localhost"}function mW($){if(!$.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Zc($,_){let U=_.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let W=[...$].sort((J,X)=>{if(U==="title")return J.title.localeCompare(X.title);return J.created_at.localeCompare(X.created_at)});if(_.desc)W.reverse();return{sorted:W,sort:U,direction:_.desc?"desc":"asc"}}async function vc($){if(await Lc($))return;let{positional:_,flags:U}=jc($);if(b1("debug","CLI invoked",{command:_[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:M6.name,version:M6.version},null,2):`${M6.name} ${M6.version}`);return}if(U.completions){let L=U.completions;if(L==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(L==="zsh")console.log(`#compdef knowledge +_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"{local,hosted}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"{local,global,project}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`);else if(L==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables');else throw Error("Invalid --completions value. Use 'bash', 'zsh', or 'fish'.");return}let W=Dc(_[0]),J=1,X=_.length>1||/\s/.test(W);if(Oc()&&W&&!kE.includes(W)&&X)W="ask",J=0;if(!W||U.help||W==="help"){let L=W==="help"?_[1]:W||_[1];Bc(L);return}if(W==="mode"){let L=qN(process.env);v(U.json||U.verbose?{ok:!0,...L}:Rc(L),U.json,U);return}let G=W==="project-panel"||W==="app-wiki"?U.scope??"project":U.scope,Q=EG({scope:G});if(W==="storage"){let L=_[1]??"status";if(L==="import-legacy"){if(U.scope&&U.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let N=tG({dryRun:U.dryRun});if(v(N,U.json),!N.ok)process.exitCode=1;return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}}let Y=Boolean(U.store),j=U.store;if(!j)if(G==="project"||G==="local")j=Q.workspace.jsonStorePath;else j=nW();if(!Y&&(W==="ask"||W==="build")&&!C4())kU(j);let O=GX({storePath:j,storePathOverridden:Y});if(W==="inventory"){let L=await Q.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:C4()?void 0:j});v(U.json||U.verbose?L:Ec(L),U.json,U);return}if(W==="project-panel"){let L=U.project??_[1];if(!L)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let N=await PA(L,{service:Q,limit:U.limit,storePath:C4()?void 0:j,includeArchived:U.includeArchived||U.archived});v(U.json||U.contract?N:fA(N),U.json||U.contract);return}if(W==="paths"){let L=Q.paths();v(U.json||U.verbose?L:Ac(L),U.json,U);return}if(W==="setup"){let L=Q.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});v(L,U.json,U);return}if(W==="auth"){let L=_[1]??"whoami";if(L==="whoami"||L==="status"){let N=Q.authStatus(process.env);v({ok:!0,...N,message:N.authenticated?`Authenticated via ${N.source}`:"Not authenticated"},U.json,U);return}if(L==="login"){let N=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!N)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let H=Q.saveAuth({apiKey:N,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);v({ok:!0,authenticated:!0,email:H.email??null,org_slug:H.org_slug??null,api_url:H.api_url??Q.authStatus(process.env).api_url,auth_path:Q.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${H.email??"API key"}`},U.json,U);return}if(L==="logout"){let N=Q.clearAuth(process.env);v({ok:!0,removed:N,message:N?"Removed hosted credentials":"No hosted credentials found"},U.json,U);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(W==="storage"){let L=_[1]??"status";if(L==="status"){let N=Q.storageContract(),H=Q.validateStorage();v({ok:H.ok,...N,validation:H,message:`${N.storage_type} artifact storage at ${N.artifact_store.uri_prefix}`},U.json,U);return}if(L==="validate"){let N=Q.validateStorage();if(v({ok:N.ok,validation:N,message:N.ok?"Storage contract valid":`Storage contract invalid: ${N.errors.join("; ")}`},U.json,U),!N.ok)process.exitCode=1;return}if(L==="repair-artifact-keys"||L==="repair-keys"){let N=Q.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});v(N,U.json,U);return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid storage action. Use 'status', 'validate', 'repair-artifact-keys', 'migrate-legacy-path', 'merge-legacy-path', or 'import-legacy'.")}if(W==="machines"){let L=_[1]??"topology";if(L==="topology"||L==="status"){let N=await Q.machineTopology({includeTailscale:U.tailscale!==!1});v(U.json||U.verbose?N:Ic(N),U.json,U);return}if(L==="preflight"||L==="check"){let N=_[2]??U.machine??"local",H=U.workspace??process.cwd(),R=await Q.machinePreflight({machineId:N,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:M6.name,command:"knowledge",expectedVersion:M6.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:H,expectedPackageName:M6.name,expectedVersion:M6.version,required:!0}]});if(v(U.json||U.verbose?R:gc(R),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(W==="sync"){let L=_[1]??"status",N=U.tables?U.tables.split(",").map((H)=>H.trim()).filter(Boolean):void 0;if(L==="status"){let H=Q.syncStatus();v(U.json||U.verbose?H:wc(H),U.json,U);return}if(L==="doctor"||L==="readiness"||L==="preflight"){let H=await Q.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:N}),R={package:{name:M6.name,version:M6.version},...H};if(v(U.json||U.verbose?R:kc(R),U.json,U),!H.ok&&!U.json)process.exitCode=1;return}if(L==="snapshot"||L==="record"){let H=await Q.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});v(U.json||U.verbose?H:Pc(H),U.json,U);return}if(L==="conflicts"||L==="conflict"){let H=_[2];if(H==="show"||H==="get"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts show <id>");let M=Q.syncConflict(A);v({ok:!0,conflict:M,message:`Sync conflict ${A}`},U.json,U);return}if(H==="propose"||H==="proposal"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts propose <id>");v(U.mode==="ai"?await Q.proposeSyncConflictResolutionWithAi({id:A,modelRef:U.model,fake:U.fake}):Q.proposeSyncConflictResolution(A),U.json,U);return}if(H==="resolve"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let M=Q.resolveSyncConflict({id:A,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(v(M,U.json,U),!M.ok&&!U.json)process.exitCode=1;return}let R=Q.syncConflicts({status:H,limit:U.limit}),E={ok:!0,conflicts:R,message:`${R.length} sync conflict(s)`};v(U.json||U.verbose?E:fc(E),U.json,U);return}if(L==="machines"||L==="registry"){let H=Q.syncMachines(),R={ok:!0,machines:H,message:`${H.length} registered sync machine(s)`};v(U.json||U.verbose?R:Cc(R),U.json,U);return}if(L==="export"){let H=Q.exportSyncBundle({machineId:U.machine??null,tables:N,includeArtifactContent:U.artifactContent!==!1});v(H,!0);return}if(L==="import"){let H=await Bun.stdin.text();if(!H.trim())throw Error("Usage: knowledge sync import < bundle.json");let R=await Q.importSyncBundle({bundle:JSON.parse(H),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});v(U.json||U.verbose?R:IE(R,L),U.json,U);return}if(L==="dry-run"||L==="pull"||L==="push"||L==="sync"){if(!U.peerWorkspace&&gE(U.machine))throw Error(`Usage: knowledge sync ${L} --peer-workspace <repo-or-knowledge-home> [--scope project] +Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let H=L==="dry-run"?"both":L==="sync"?"both":L,R=!gE(U.machine)?await Q.syncRemotePeer({direction:H,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:N,dryRun:U.dryRun===!0||L==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await Q.syncPeer({peerWorkspace:U.peerWorkspace,direction:H,dryRun:U.dryRun===!0||L==="dry-run",tables:N,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(v(U.json||U.verbose?R:IE(R,L),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid sync action. Use 'status', 'doctor', 'snapshot', 'conflicts', 'machines', 'dry-run', 'pull', 'push', 'sync', 'export', or 'import'.")}if(W==="db"){let L=_[1]??"init";if(L==="init"){let N=Q.initDb();v({ok:!0,...N,message:`Initialized ${N.path}`},U.json,U);return}if(L==="stats"){let N=Q.dbStats();v({ok:!0,path:Q.workspace.knowledgeDbPath,...N,message:`knowledge.db schema v${N.schema_version}`},U.json,U);return}if(L==="storage"){if((_[2]??"status")==="status"){let H=LO({scope:U.scope});v({ok:!0,...H,message:`knowledge.db storage mode ${H.mode}${H.activeEnv?` via ${H.activeEnv}`:""}`},U.json,U);return}throw Error("Invalid db storage action. Only 'status' is supported. The 'push'/'pull'/'sync' Postgres sync commands were removed (DSN-on-client is forbidden); use the cloud API flip instead.")}throw Error("Invalid db action. Use 'init', 'stats', or 'storage'.")}if(W==="app-wiki"){let L=_[1]??"init";if(L==="paths"||L==="status"){v({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...Q.paths()},U.json);return}if(L==="init"||L==="open"){let N=await Q.initAppWiki({allowGlobal:U.allowGlobal});v(N,U.json);return}if(L==="note"||L==="notes"){let N=_[2]??"list";if(N==="add"||N==="create"){let H=U.title??_[3],R=U.content??_.slice(4).join(" ");if(!H||!R)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let E=await Q.addAppWikiNote({title:H,content:R,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});v(E,U.json);return}if(N==="list"||N==="ls"){let H=Q.listAppWikiNotes({limit:U.limit});v({ok:!0,scope:Q.scope,home:Q.workspace.home,notes:H,message:`${H.length} app wiki note(s)`},U.json);return}if(N==="get"||N==="show"){let H=_[3]??U.id;if(!H)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let R=await Q.getAppWikiNote(H,{includeContent:!0});if(!R)throw Error(`App wiki note not found: ${H}`);v(R,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(L==="source"||L==="sources"){let N=_[2]??"add";if(N!=="add"&&N!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let H=_[3]??U.sourceRef?.[0];if(!H)throw Error("Usage: knowledge app-wiki source add <source-ref>");let R=await Q.addAppWikiSourceRef({sourceRef:H,purpose:U.purpose,allowGlobal:U.allowGlobal});v({ok:!0,...R,message:`Added app wiki source ${R.source_ref}`},U.json);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki search <query>");let H=await Q.searchAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.results.length} app wiki result(s)`},U.json);return}if(L==="query"||L==="context"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki query <query>");let H=await Q.queryAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(W==="wiki"){let L=_[1]??"init";if(L==="init"){let N=await Q.initWiki();v({ok:!0,...N,message:`Initialized wiki layout in ${Q.workspace.home}`},U.json,U);return}if(L==="compile"){let N=_.slice(2),H=N.filter((A)=>/^(open-files|file|s3|https?):\/\//.test(A)),R=N.filter((A)=>!/^(open-files|file|s3|https?):\/\//.test(A)).join(" "),E=await Q.compileWiki({title:U.title,query:R||U.search,sourceRefs:H.length>0?H:void 0,limit:U.limit});v({ok:!0,...E,message:`Compiled wiki page ${E.path}`},U.json,U);return}if(L==="file-answer"||L==="answer"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!U.content)throw Error("Missing --content <answer> for wiki file-answer.");let H=await Q.fileAnswer({prompt:N,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H},U.json,U);return}if(L==="lint"){let N=Q.lintWiki();v({ok:N.ok,...N,message:N.ok?"Wiki lint passed":`Wiki lint found ${N.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(W==="safety"){let L=_[1]??"status",N=Q.ensureWorkspace(),H=Q.safetyPolicy();Q.initDb();let R=d(N.knowledgeDbPath);try{if(L==="status"){v({ok:!0,mode:H.mode,workspace:N.home,allow_write_roots:H.allowWriteRoots,read_only_source_access:H.readOnlySourceAccess,network:H.network,redaction:H.redaction,approvals:H.approvals,message:`Safety policy: ${H.mode}`},U.json,U);return}if(L==="check"){let E=_[2]??"generated_write",A=_[3]??null,M;try{if(E==="web_search")L2(H),M={action:E,target_uri:A,approval_required:!1,approved:!0,decision:"allow"};else if(E==="s3_read"){if(!A)throw Error("safety check s3_read requires an s3:// target.");Z4(A,H),M={action:E,target_uri:A,approval_required:!1,approved:!0,decision:"allow"}}else M=nN(R,H,E,A);a$(R,{event_type:"safety_check",action:E,target_uri:A,decision:M.decision==="allow"?"allow":"requires_approval",metadata:M}),v({ok:!0,...M,message:`Safety check ${M.decision}`},U.json,U);return}catch(K){throw a$(R,{event_type:"safety_check",action:E,target_uri:A,decision:"deny",metadata:{error:K instanceof Error?K.message:String(K)}}),K}}if(L==="approve"){let E=_[2]??"generated_write",A=_[3]??null,M=cN(R,{action:E,target_uri:A,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});a$(R,{event_type:"approval",action:E,target_uri:A,decision:"allow",metadata:{approval_id:M.id}}),v({ok:!0,...M,action:E,target_uri:A,message:`Approved ${E}`},U.json,U);return}if(L==="audit"){let E=R.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((A)=>({id:A.id,event_type:A.event_type,action:A.action,target_uri:A.target_uri,decision:A.decision,metadata:JSON.parse(A.metadata_json),created_at:A.created_at}));v({ok:!0,events:E,message:`${E.length} audit event(s)`},U.json,U);return}if(L==="redact"){let E=_.slice(2).join(" ");if(!E)throw Error("Usage: knowledge safety redact <text>");let A=w_(E,H);if(A.findings.length>0)DX(R,{source_uri:"safety://redact",findings:A.findings,metadata:{command:"safety redact"}});a$(R,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:A.findings.length>0?"redacted":"allow",metadata:{findings:A.findings.length}}),v({ok:!0,text:A.text,findings:A.findings,message:`Redacted ${A.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{R.close()}}if(W==="source"){if((_[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let N=_[2];if(!N)throw Error("Usage: knowledge source resolve <source-ref>");let H=await Q.resolveSource(N,{purpose:U.purpose,limit:U.limit});v({ok:!0,...H,message:H.resolved?`Resolved ${H.source_ref} (${H.content.chunks_returned}/${H.content.chunks_total} chunks)`:`Source not indexed: ${N}`},U.json,U);return}if(W==="ingest"){let L=_[1]??"";if(L==="rules"||L==="global-rules"||L==="agent-rules"){let N=await Q.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});v({ok:!0,...N},U.json);return}if(L==="manifest"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let H=await Q.ingestManifest(N);v({ok:!0,...H,message:`Ingested ${H.items_seen} manifest item(s)`},U.json,U);return}if(L==="source"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest source <source-ref>");let H=await Q.ingestSource(N,U.purpose);v({ok:!0,...H,message:`Ingested source ${H.source_ref} (${H.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(W==="reindex"){let L=_[1]??"status";if(L==="status"){let N=Q.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`${N.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(L==="enqueue"){let N=Q.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Queued ${N.enqueued} embedding refresh item(s)`},U.json,U);return}if(L==="embeddings"){let N=await Q.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="outbox"){let N=_[2];if(!N)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let H=await Q.consumeOutbox(N);v({ok:!0,...H,message:`Consumed ${H.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(W==="embeddings"){let L=_[1]??"status";if(L==="status"){let N=Q.embeddingStatus();v({ok:!0,...N,message:`${N.total_vector_entries} vector index entries`},U.json,U);return}if(L==="index"){let N=await Q.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge embeddings search <query>");let H=await Q.semanticSearch({query:N,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),R={ok:!0,...H,message:`${H.results.length} semantic result(s)`};v(U.json||U.verbose?R:bc(R),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(W==="context"){if((_[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let N=U.from??"search";if(!["search","loops","runs"].includes(N))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let H=_.slice(2).join(" ")||U.topic||"",R=await Q.contextPack({source:N,purpose:N==="loops"||N==="runs"?"proposal":"agent_context",query:H,topic:U.topic,since:U.since,dedupe:U.dedupe,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j});ME({ok:!0,...R,message:R.message});return}if(W==="proposals"){if((_[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let N=U.from??"loops";if(!["loops","runs"].includes(N))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let H=U.topic??_.slice(2).join(" ");if(!H.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let R=await Q.contextPack({source:N,purpose:"proposal",query:H,topic:H,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});ME({ok:!0,...R,message:R.message});return}if(W==="search"){let L=_.slice(1).join(" ");if(!L)throw Error("Usage: knowledge search <query>");if(U.context){let R=await Q.retrieveContext({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),E={ok:!0,...R,message:`${R.excerpts.length} context excerpt(s)`};v(U.json||U.verbose?E:Kc(E),U.json,U);return}let N=await Q.search({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),H={ok:!0,...N,message:`${N.results.length} search result(s)`};v(U.json||U.verbose?H:Fc(H),U.json,U);return}if(W==="web"){if((_[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge web search <query>");let H=await Q.webSearch({query:N,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),R={ok:!0,...H,message:`${H.sources.length} web source(s)`};v(U.json||U.verbose?R:Mc(R),U.json,U);return}if(W==="ask"||W==="build"){let L=_.slice(J).join(" ");if(!L)throw Error("Usage: knowledge ask <prompt>");let N=await Q.runPrompt({prompt:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:j}),H={ok:!0,...N,message:N.generated?"Generated answer with citations":"Prepared citation context draft"};v(U.json||U.verbose?H:Tc(H),U.json,U);return}if(W==="providers"){let L=_[1]??"status";if(L==="status"){let N=Q.providerStatus(),H=N.providers.filter((R)=>R.configured).length;v({ok:!0,...N,message:`${H}/${N.providers.length} provider credential(s) configured`},U.json,U);return}if(L==="models"){let N=Q.modelRegistry();v({ok:!0,models:N,message:`${N.length} model alias(es)`},U.json,U);return}if(L==="check"){let N=_[2]??"default",H=z6(N,Q.config()),R=j_(H),E=k0(R.provider,Q.config());v({ok:!0,target:N,model_ref:H,provider:R.provider,model:R.model,credential:E,message:`${R.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(W==="add"){let L=_[1],N=_[2];if(!L||!N)throw Error("Usage: knowledge add <title> <content>");let H=await O.create({title:L,content:N,url:U.url??null,tags:U.tag??[]});b1("info","Item added",{id:H.id,title:H.title,tags:H.tags?.length??0,transport:O.kind}),v({ok:!0,item:H,message:`Added ${H.id}`},U.json,U);return}if(W==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");let L=await O.listAll(),N=Number.isFinite(U.page)&&U.page>0?U.page:1,H=Number.isFinite(U.limit)&&U.limit>0?U.limit:20,R=U.search?String(U.search).toLowerCase():"",E=(U.tagRaw??U.tag??[]).map((O$)=>({whole:O$.trim().toLowerCase(),parts:O$.split(",").map((Y_)=>Y_.trim().toLowerCase()).filter((Y_)=>Y_.length>0)})),A=U.tag?.length?U.tag.map((O$)=>O$.toLowerCase()).join(","):"none",M=U.format==="table"||!U.json&&!U.format&&Hc(U),K=U.json||U.format==="json",I=L.items;if(U.archived)I=I.filter((O$)=>O$.archived===!0);else if(!U.includeArchived)I=I.filter((O$)=>!O$.archived);if(R)I=I.filter((O$)=>O$.title.toLowerCase().includes(R)||O$.content.toLowerCase().includes(R));if(E.length>0)I=I.filter((O$)=>{let Y_=new Set((O$.tags??[]).map((t$)=>t$.toLowerCase()));return E.every(({whole:t$,parts:d$})=>t$.length>0&&Y_.has(t$)||d$.every((W_)=>Y_.has(W_)))});let{sorted:Z,sort:k,direction:i}=Zc(I,U),r$=(N-1)*H,f$=Z.slice(r$,r$+H),p$=Math.max(1,Math.ceil(Z.length/H)),J_={ok:!0,page:N,limit:H,total:Z.length,total_pages:p$,sort:k,direction:i,items:f$,store_exists:L.exists};if(K){v(J_,!0);return}if(U.verbose){v(J_,!1,U);return}if(f$.length===0){v(`No items found (search=${R||"none"}, tag=${A})`,!1);return}if(M){let O$=(t$)=>t$,Y_=`${O$("ID")} ${O$("TITLE")} ${O$("CREATED")} ${O$("URL")} ${O$("TAGS")}`;console.log(Y_);for(let t$ of f$)console.log(`${t$.id} ${O$(b$(t$.title,80))} ${t$.created_at} ${t$.url?O$(b$(t$.url,90)):""} ${t$.tags?.length?O$(b$(`[${t$.tags.join(", ")}]`,80)):""}`);console.log(`Page ${N}/${p$} | showing ${f$.length} of ${Z.length} | sort=${k} ${i} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let O$ of f$)console.log(`${O$.id} ${b$(O$.title,80)} ${O$.created_at}${O$.url?` ${b$(O$.url,90)}`:""}${O$.tags?.length?` ${b$(`[${O$.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${N}/${p$} | showing ${f$.length} of ${Z.length} | sort=${k} ${i} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(W==="get"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);v({ok:!0,item:L,store_exists:O.exists,message:`${L.id}: ${L.title}`},U.json,U);return}if(W==="update"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N={};if(U.title!==void 0)N.title=U.title;if(U.content!==void 0)N.content=U.content;if(U.url!==void 0)N.url=U.url;let H;if(U.tag!==void 0){if(H=bE(L.tags,U.tag),H.length>0)N.tags=[...L.tags??[],...H]}let R=await O.update(L.id,N);v(kO({ok:!0,item:R},`Updated ${R?.id??L.id}`,H),U.json,U);return}if(W==="archive"||W==="restore"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=await O.update(L.id,{archived:W==="archive"});v({ok:!0,item:N,message:`${W==="archive"?"Archived":"Restored"} ${N?.id??L.id}`},U.json,U);return}if(W==="untag"){if(mW(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=L.tags??[],H=new Set(N.map((k)=>k.toLowerCase())),R=new Set;for(let k of U.tagRaw??U.tag){let i=k.trim().toLowerCase();if(i.length>0&&H.has(i)){R.add(i);continue}for(let r$ of k.split(",").map((f$)=>f$.trim().toLowerCase()).filter((f$)=>f$.length>0))R.add(r$)}let E=N.filter((k)=>!R.has(k.toLowerCase())),A=N.length-E.length,M=[...R].filter((k)=>!H.has(k));if(A===0)throw Error(`No matching tag on ${L.id}: ${M.map((k)=>JSON.stringify(k)).join(", ")} not in [${N.map((k)=>JSON.stringify(k)).join(", ")}]`);let K=await O.update(L.id,{tags:E}),I=M.length>0?` (not found: ${M.map((k)=>JSON.stringify(k)).join(", ")})`:"",Z={ok:!0,item:K,removed:A,message:`Removed ${A} tag${A===1?"":"s"} from ${K?.id??L.id}${I}`};if(M.length>0)Z.not_found=M;v(Z,U.json,U);return}if(W==="upsert"){let L=U.title??_[1],N=U.content??_[2],H=U.id?await O.get(U.id):null;if(!H){if(!L||!N)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let M=await O.create({id:U.id,title:L,content:N,url:U.url??null,tags:U.tag??[]});v(kO({ok:!0,created:!0,item:M},`Upserted ${M.id}`,U.tag),U.json,U);return}let R={};if(L!==void 0)R.title=L;if(N!==void 0)R.content=N;if(U.url!==void 0)R.url=U.url;let E;if(U.tag!==void 0){if(E=bE(H.tags,U.tag),E.length>0)R.tags=[...H.tags??[],...E]}let A=await O.update(H.id,R);v(kO({ok:!0,created:!1,item:A},`Upserted ${A?.id??H.id}`,E),U.json,U);return}if(W==="delete"){if(mW(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await O.delete(U.id))throw Error(`Item not found: ${U.id}`);b1("info","Item deleted",{id:U.id,transport:O.kind}),v({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(W==="export"){let L=U.format??"json";if(L!=="json"&&L!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let N=await O.listAll();if(L==="jsonl")for(let H of N.items)console.log(JSON.stringify(H));else if(U.json||U.format==="json"||U.verbose)v({ok:!0,items:N.items,store_exists:N.exists},U.json||U.format==="json",U);else v(Sc(N.items,L),!1);return}if(W==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:L}=await O.listAll(),N=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,H=L.filter((A)=>N!==null&&new Date(A.created_at)<N||U.empty&&A.content.trim().length===0),R=await O.deleteMany(H.map((A)=>A.id)),E=L.length-R;b1("info","Prune completed",{pruned:R,remaining:E,transport:O.kind}),v({ok:!0,pruned:R,remaining:E,message:`Pruned ${R} item(s)`},U.json,U);return}if(W==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:L}=await O.listAll(),N=new Set,H=[];for(let A of L){let M=`${A.title}\x00${A.content}`;if(N.has(M))H.push(A);else N.add(M)}let R=await O.deleteMany(H.map((A)=>A.id)),E=L.length-R;b1("info","Dedupe completed",{removed:R,remaining:E,transport:O.kind}),v({ok:!0,removed:R,remaining:E,message:`Dedupe removed ${R} duplicate(s)`},U.json,U);return}if(W==="stats"){let L=await O.listAll(),N=L.items.filter((k)=>!k.archived),H=N.length,R=L.items.length-H,E=N.filter((k)=>k.url).length,A=N.filter((k)=>k.tags&&k.tags.length>0).length,M=H>0?N.map((k)=>k.created_at).sort()[0]:null,K=H>0?N.map((k)=>k.created_at).sort()[H-1]:null,I={};for(let k of N)for(let i of k.tags||[])I[i]=(I[i]||0)+1;let Z=Object.entries(I).sort((k,i)=>i[1]-k[1]).slice(0,5).map(([k,i])=>({tag:k,count:i}));v({ok:!0,total:H,archived:R,with_url:E,with_tags:A,oldest:M,newest:K,top_tags:Z,store_exists:L.exists,message:`${H} items | ${E} with URL | ${A} with tags`},U.json,U);return}let B=qc(_[0]),V=B?` Did you mean '${B}'?`:"";throw b1("warn","Unknown command",{input:_[0],suggestion:B}),Error(`Unknown command: ${_[0]}.${V} Run 'knowledge --help' for available commands.`)}function yc($,_){let U=$ instanceof Error?$.message:String($);if(b1("debug","CLI error",{message:U,stack:$ instanceof Error?$.stack:void 0}),console.error(`Error: ${U}`),_.includes("--json"))v({ok:!1,error:U,message:U},!0);process.exitCode=1}if(import.meta.main){let $=process.argv.slice(2);vc($).catch((_)=>yc(_,$))}export{qc as suggestCommand,Zc as sortItems,vc as run,jc as parseArgs,yc as emitCliError}; diff --git a/dist/index.js b/dist/index.js index 5df48f7..c7e3174 100644 --- a/dist/index.js +++ b/dist/index.js @@ -32130,7 +32130,7 @@ async function readS3Text2(uri, config, safetyPolicy) { async function readWebText(uri, safetyPolicy) { if (safetyPolicy) assertWebSearchAllowed(safetyPolicy); - const response = await fetch(uri, { + const response = await guardedFetch(uri, { headers: { accept: "text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5", "user-agent": "@hasna/knowledge source-ingest" diff --git a/dist/net-guard.d.ts b/dist/net-guard.d.ts index e1ccd8e..d06a775 100644 --- a/dist/net-guard.d.ts +++ b/dist/net-guard.d.ts @@ -4,8 +4,17 @@ * Licensed under the Apache License, Version 2.0 * * THE control that keeps a test run off the live store: while `NODE_ENV=test`, - * every knowledge-owned outbound HTTP request whose target is not loopback is - * refused before a socket is opened. + * an outbound HTTP request made through this package's own `fetch` call sites + * whose target is not loopback is refused before a socket is opened. + * + * SCOPE, stated precisely because a guard people believe covers more than it + * does is worse than a narrow one. Covered: the cloud item transport + * (cloud-store.ts, via the contracts client's `fetchImpl`) and web source-ref + * ingestion (source-ingest.ts). NOT covered: third-party SDK transports that + * carry their own HTTP stacks — `@aws-sdk/client-s3` and the `ai` provider + * clients. Those are credential-gated and the suite drives them with `--fake`, + * so they are not the live-write path this defends; guarding them would mean + * injecting a fetch into each SDK and is deliberately left out of this change. * * It guards the EGRESS, not the environment, and that distinction is the whole * design. Clearing the selector variables at startup — a preload, a diff --git a/src/net-guard.ts b/src/net-guard.ts index 97e6351..c54475e 100644 --- a/src/net-guard.ts +++ b/src/net-guard.ts @@ -4,8 +4,17 @@ * Licensed under the Apache License, Version 2.0 * * THE control that keeps a test run off the live store: while `NODE_ENV=test`, - * every knowledge-owned outbound HTTP request whose target is not loopback is - * refused before a socket is opened. + * an outbound HTTP request made through this package's own `fetch` call sites + * whose target is not loopback is refused before a socket is opened. + * + * SCOPE, stated precisely because a guard people believe covers more than it + * does is worse than a narrow one. Covered: the cloud item transport + * (cloud-store.ts, via the contracts client's `fetchImpl`) and web source-ref + * ingestion (source-ingest.ts). NOT covered: third-party SDK transports that + * carry their own HTTP stacks — `@aws-sdk/client-s3` and the `ai` provider + * clients. Those are credential-gated and the suite drives them with `--fake`, + * so they are not the live-write path this defends; guarding them would mean + * injecting a fetch into each SDK and is deliberately left out of this change. * * It guards the EGRESS, not the environment, and that distinction is the whole * design. Clearing the selector variables at startup — a preload, a diff --git a/src/source-ingest.ts b/src/source-ingest.ts index 11bc5f6..2976413 100644 --- a/src/source-ingest.ts +++ b/src/source-ingest.ts @@ -7,6 +7,7 @@ import { resolveOpenFilesSource } from './source-resolver'; import type { KnowledgeConfig } from './workspace'; import { assertS3ReadAllowed, assertWebSearchAllowed, type SafetyPolicy } from './safety'; import { assertNoPrivateRefs, redactPrivateRefs } from './private-ref'; +import { guardedFetch } from './net-guard'; export interface SourceIngestOptions { dbPath: string; @@ -79,7 +80,11 @@ async function readS3Text(uri: string, config?: KnowledgeConfig, safetyPolicy?: async function readWebText(uri: string, safetyPolicy?: SafetyPolicy): Promise<{ text: string; mime: string | null }> { if (safetyPolicy) assertWebSearchAllowed(safetyPolicy); - const response = await fetch(uri, { + // The package's second outbound path, and it goes through the same guard as + // the cloud item transport: under NODE_ENV=test a `web://` source ref must not + // reach the network any more than a note write must. Nothing in the suite + // ingests a web ref today, which is exactly why this is easy to leave open. + const response = await guardedFetch(uri, { headers: { accept: 'text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5', 'user-agent': '@hasna/knowledge source-ingest', diff --git a/tests/net-guard.test.ts b/tests/net-guard.test.ts index f28e5aa..9b7e705 100644 --- a/tests/net-guard.test.ts +++ b/tests/net-guard.test.ts @@ -20,6 +20,10 @@ * transport, and a stub proves nothing about egress. */ import { afterAll, beforeAll, describe, expect, test } from 'bun:test'; +import { mkdtempSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { ingestSourceRef } from '../src/source-ingest'; import { KnowledgeNetworkGuardError, NETWORK_GUARD_ENV, @@ -161,6 +165,27 @@ describe('the guard sits at the cloud transport boundary', () => { }); }); +describe('the guard covers web source-ref ingestion too', () => { + test('ingesting a non-loopback web source ref is refused before a request', async () => { + // The package's second outbound path. No test in the suite ingests a web ref + // today, which is precisely why it would have stayed unguarded: the cloud + // transport was the visible hole, this one was not. + const dir = mkdtempSync(join(tmpdir(), 'ok-net-guard-')); + let caught: unknown = null; + try { + await ingestSourceRef({ + dbPath: join(dir, 'knowledge.db'), + sourceRef: `${NON_LOOPBACK}/handbook.md`, + purpose: 'knowledge_index', + }); + } catch (error) { + caught = error; + } + expect(caught).toBeInstanceOf(KnowledgeNetworkGuardError); + expect(String(caught)).not.toContain('knowledge.invalid'); + }); +}); + describe('loopback cloud traffic still works (positive control)', () => { let server: { port: number; stop: () => void }; const seen: string[] = []; From 43a61dce005ebaa225b8d5132abbabf1c0e6a197 Mon Sep 17 00:00:00 2001 From: Andrei Hasna <andrei@hasna.com> Date: Tue, 28 Jul 2026 04:20:55 +0300 Subject: [PATCH 3/3] fix(net-guard): check every redirect hop, and correct the messages that still describe presence-selection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adversarial review of #43. Three findings, all fixed here. 1. THE LOOPBACK ALLOWANCE WAS A SPRINGBOARD. guardedFetch checked only the first target and then handed the request to `fetch`, which follows a 3xx internally — and an internal hop never comes back through a `fetchImpl`. A hermetic 127.0.0.1 server answering 302 with an off-box `Location` therefore left the machine through a request the guard had already approved. Measured with strace before the fix: 4 connect() calls to :443, 9 non-loopback INET connects and a real HTTP 200 from a public host. While armed, the guard now follows redirects itself and asserts each hop, refusing an off-box hop with the same host-withholding error as a first-hop refusal (bounded to 5 hops, with `fetch`'s own 301/302/303 method downgrade). Same probe after: 0 connects. Unarmed, this is plain `fetch` with plain `fetch` redirect handling, so the production path is untouched. Two tests added; the off-box-hop one is red without the fix. 2. THE MESSAGE AN OPERATOR ACTUALLY HITS STILL DESCRIBED THE DELETED RULE. assertLocalCatalogMode said the refusal was because "the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set)" and told them to "unset the API env". After this PR that advice is wrong in both halves: the pointers are not why the CLI is in cloud mode, and unsetting them does not restore local — with the mode var still set it produces a misconfiguration error instead. It now names the mode var (sourced from KNOWLEDGE_MODE_ENV_KEYS rather than restated) and points at `knowledge mode`. Same correction to the header comment there and to the item-Store comment in cli.ts. 3. CHANGELOG suite count was stale: it claimed 306 / 2 / 1 across 309, measured at a4c1460 and not updated when 691cb7c added a test. Now states the count at this tip, and separates it from the CI number it is being compared against. Suite, ambient selector vars left exactly as they are (no `env -u`), which is the condition the PR exists to fix: 309 pass / 2 skip / 1 fail across 312 tests in 42 files. The one red is the pre-existing `context pack and proposal context commands` case, red on main at 95c853d too. --- CHANGELOG.md | 16 +- bin/knowledge-mcp.js | 45 +++++- bin/knowledge.js | 336 ++++++++++++++++++++-------------------- dist/index.js | 45 +++++- dist/knowledge-db.d.ts | 12 +- dist/net-guard.d.ts | 23 ++- dist/storage.js | 45 +++++- src/cli.ts | 9 +- src/knowledge-db.ts | 29 ++-- src/net-guard.ts | 77 ++++++++- tests/net-guard.test.ts | 58 +++++++ 11 files changed, 491 insertions(+), 204 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f03b857..e3b416c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,9 +14,13 @@ them and `bun test` reported **99 failures instead of 1** — 64 of them the sam "cloud API flip is active" refusal, and the rest of the suite operating against the live store while believing it was isolated. The symptom named neither the cause nor the store. With this change the same suite, with those variables still -exported and nothing else neutralised, is **306 pass / 2 skip / 1 fail across 309 +exported and nothing else neutralised, is **309 pass / 2 skip / 1 fail across 312 tests**, the one failure being the pre-existing `context pack and proposal -context commands` case. +context commands` case, which is red on `main` too. Before the two redirect tests +below were added it was 307 / 2 / 1 across 310, and the four CI jobs that reached +the test step reported that same 307 / 1 / 310 with none of those variables set — +so the fix makes a polluted local run equivalent to a clean CI run rather than +merely quieter. - **Request-boundary guard** (`src/net-guard.ts`). While `NODE_ENV=test`, an outbound request from this package whose target is not loopback is refused @@ -29,7 +33,13 @@ context commands` case. file's module-scope assignment, by one `bun test` process sharing one preload, and by `bunfig.toml` resolving from the cwd — each of which produced a green run with live writes in the sibling `mementos` fix. Loopback is allowed on - purpose so hermetic transport tests stay real. + purpose so hermetic transport tests stay real, and that allowance is not a + springboard: while armed the guard follows redirects itself and checks every + hop, because `fetch` follows a 3xx internally and an internal hop never returns + through a `fetchImpl`. A 127.0.0.1 server answering 302 with an off-box + `Location` reached a public host — measured at 4 connects to :443 and an HTTP + 200 — through a request the guard had already approved; the same probe now + makes 0 connects and raises the guard's own host-withholding refusal. - **Explicit mode selection** (`src/knowledge-mode.ts`). The first mode key that carries a value wins and returns, so `KNOWLEDGE_MODE=local` is authoritative on a machine whose shell exports a URL and a key; with no mode key the answer is diff --git a/bin/knowledge-mcp.js b/bin/knowledge-mcp.js index 0c6234e..bc57c47 100755 --- a/bin/knowledge-mcp.js +++ b/bin/knowledge-mcp.js @@ -27801,9 +27801,47 @@ function assertOutboundRequestAllowed(input, env = process.env) { return; throw new KnowledgeNetworkGuardError(`knowledge: refused a non-loopback ${url2.protocol.replace(":", "")} request while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). This process resolved to the cloud backend under test, which means a " + "read or write was about to leave the machine and reach the live store. Select the mode explicitly " + `(${"HASNA_KNOWLEDGE_STORAGE_MODE"}=local) or point the API URL at 127.0.0.1 for a hermetic test.`, { scheme: url2.protocol.replace(":", ""), port: url2.port }); } -function guardedFetch(input, init) { +var REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]); +var MAX_GUARDED_REDIRECTS = 5; +function requestMethod(input, init) { + if (init?.method) + return init.method.toUpperCase(); + if (typeof input !== "string" && !(input instanceof URL)) + return input.method.toUpperCase(); + return "GET"; +} +async function guardedFetch(input, init) { assertOutboundRequestAllowed(input); - return fetch(input, init); + if (!isNetworkGuardActive() || init?.redirect !== undefined) { + return fetch(input, init); + } + let from = targetUrl(input); + let method = requestMethod(input, init); + let body = init?.body; + let response = await fetch(input, { ...init ?? {}, redirect: "manual" }); + for (let hop = 0;REDIRECT_STATUSES.has(response.status); hop++) { + const location = response.headers.get("location"); + if (!location) + return response; + const next = new URL(location, from).href; + assertOutboundRequestAllowed(next); + if (hop >= MAX_GUARDED_REDIRECTS) { + const url2 = new URL(next); + throw new KnowledgeNetworkGuardError(`knowledge: refused to follow more than ${MAX_GUARDED_REDIRECTS} redirects while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). Under test the guard follows redirects itself so every hop is " + "checked, and a chain this long is a loop, not a route.", { scheme: url2.protocol.replace(":", ""), port: url2.port }); + } + if (response.status === 303 || (response.status === 301 || response.status === 302) && method !== "GET" && method !== "HEAD") { + method = "GET"; + body = undefined; + } + const hopInit = { ...init ?? {}, method, redirect: "manual" }; + if (body === undefined) + delete hopInit.body; + else + hopInit.body = body; + response = await fetch(next, hopInit); + from = next; + } + return response; } // src/knowledge-mode.ts @@ -27962,7 +28000,8 @@ async function fetchAllCloudItems(store) { // src/knowledge-db.ts function assertLocalCatalogMode(operation = "catalog") { if (isKnowledgeApiMode()) { - throw new Error(`knowledge: ${operation} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, ` + `wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while ` + `the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared ` + `corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' ` + `over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`); + const modeKey = KNOWLEDGE_MODE_ENV_KEYS[0]; + throw new Error(`knowledge: ${operation} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, ` + `wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in ` + `cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item ` + `commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${modeKey}=local ` + `(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see ` + `which variable selected the current backend.`); } } var CHUNKS_FTS_TOKENIZE = "porter unicode61 remove_diacritics 2"; diff --git a/bin/knowledge.js b/bin/knowledge.js index 4f4195e..9218b1b 100755 --- a/bin/knowledge.js +++ b/bin/knowledge.js @@ -1,9 +1,9 @@ #!/usr/bin/env bun // @bun -var fE=Object.create;var{getPrototypeOf:CE,defineProperty:vG,getOwnPropertyNames:TE}=Object;var SE=Object.prototype.hasOwnProperty;function ZE($){return this[$]}var vE,yE,hE=($,_,U)=>{var W=$!=null&&typeof $==="object";if(W){var J=_?vE??=new WeakMap:yE??=new WeakMap,X=J.get($);if(X)return X}U=$!=null?fE(CE($)):{};let G=_||!$||!$.__esModule?vG(U,"default",{value:$,enumerable:!0}):U;for(let Q of TE($))if(!SE.call(G,Q))vG(G,Q,{get:ZE.bind($,Q),enumerable:!0});if(W)J.set($,G);return G};var G0=($,_)=>()=>(_||$((_={exports:{}}).exports,_),_.exports);var xE=($)=>$;function mE($,_){this[$]=xE.bind(null,_)}var I6=($,_)=>{for(var U in _)vG($,U,{get:_[U],enumerable:!0,configurable:!0,set:mE.bind(_,U)})};var y=($,_)=>()=>($&&(_=$($=0)),_);var C$=import.meta.require;function F($,_,U){function W(Q,Y){if(!Q._zod)Object.defineProperty(Q,"_zod",{value:{def:Y,constr:G,traits:new Set},enumerable:!1});if(Q._zod.traits.has($))return;Q._zod.traits.add($),_(Q,Y);let j=G.prototype,O=Object.keys(j);for(let B=0;B<O.length;B++){let V=O[B];if(!(V in Q))Q[V]=j[V].bind(Q)}}let J=U?.Parent??Object;class X extends J{}Object.defineProperty(X,"name",{value:$});function G(Q){var Y;let j=U?.Parent?new X:this;W(j,Q),(Y=j._zod).deferred??(Y.deferred=[]);for(let O of j._zod.deferred)O();return j}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(Q)=>{if(U?.Parent&&Q instanceof U.Parent)return!0;return Q?._zod?.traits?.has($)}}),Object.defineProperty(G,"name",{value:$}),G}function __($){if($)Object.assign(v0,$);return v0}var MH,vX,yX,y6,y0,v0;var h0=y(()=>{vX=Object.freeze({status:"aborted"});yX=Symbol("zod_brand");y6=class y6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};y0=class y0 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}};(MH=globalThis).__zod_globalConfig??(MH.__zod_globalConfig={});v0=globalThis.__zod_globalConfig});var P={};I6(P,{unwrapMessage:()=>GJ,uint8ArrayToHex:()=>VT,uint8ArrayToBase64url:()=>BT,uint8ArrayToBase64:()=>wH,stringifyPrimitive:()=>g,slugify:()=>VQ,shallowClone:()=>AQ,safeExtend:()=>DT,required:()=>OT,randomString:()=>JT,propertyKeyTypes:()=>jJ,promiseAllObject:()=>UT,primitiveTypes:()=>EQ,prefixIssues:()=>k_,pick:()=>QT,partial:()=>qT,parsedType:()=>w,optionalKeys:()=>FQ,omit:()=>YT,objectClone:()=>eC,numKeys:()=>WT,nullish:()=>m4,normalizeParams:()=>S,mergeDefs:()=>Y4,merge:()=>zT,jsonStringifyReplacer:()=>I2,joinValues:()=>b,issue:()=>w2,isPlainObject:()=>d4,isObject:()=>x0,hexToUint8Array:()=>HT,getSizableOrigin:()=>DJ,getParsedType:()=>XT,getLengthableOrigin:()=>zJ,getEnumValues:()=>QJ,getElementAtPath:()=>_T,floatSafeRemainder:()=>HQ,finalizeIssue:()=>b_,extend:()=>jT,explicitlyAborted:()=>MQ,escapeRegex:()=>t_,esc:()=>hX,defineLazy:()=>K$,createTransparentProxy:()=>GT,cloneDef:()=>$T,clone:()=>N_,cleanRegex:()=>YJ,cleanEnum:()=>LT,captureStackTrace:()=>xX,cached:()=>g2,base64urlToUint8Array:()=>NT,base64ToUint8Array:()=>gH,assignProp:()=>u4,assertNotEqual:()=>oC,assertNever:()=>aC,assertIs:()=>tC,assertEqual:()=>pC,assert:()=>sC,allowsEval:()=>RQ,aborted:()=>c4,NUMBER_FORMAT_RANGES:()=>KQ,Class:()=>kH,BIGINT_FORMAT_RANGES:()=>bQ});function pC($){return $}function oC($){return $}function tC($){}function aC($){throw Error("Unexpected value in exhaustive check")}function sC($){}function QJ($){let _=Object.values($).filter((W)=>typeof W==="number");return Object.entries($).filter(([W,J])=>_.indexOf(+W)===-1).map(([W,J])=>J)}function b($,_="|"){return $.map((U)=>g(U)).join(_)}function I2($,_){if(typeof _==="bigint")return _.toString();return _}function g2($){return{get value(){{let U=$();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function m4($){return $===null||$===void 0}function YJ($){let _=$.startsWith("^")?1:0,U=$.endsWith("$")?$.length-1:$.length;return $.slice(_,U)}function HQ($,_){let U=$/_,W=Math.round(U),J=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-W)<J)return 0;return U-W}function K$($,_,U){let W=void 0;Object.defineProperty($,_,{get(){if(W===IH)return;if(W===void 0)W=IH,W=U();return W},set(J){Object.defineProperty($,_,{value:J})},configurable:!0})}function eC($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function u4($,_,U){Object.defineProperty($,_,{value:U,writable:!0,enumerable:!0,configurable:!0})}function Y4(...$){let _={};for(let U of $){let W=Object.getOwnPropertyDescriptors(U);Object.assign(_,W)}return Object.defineProperties({},_)}function $T($){return Y4($._zod.def)}function _T($,_){if(!_)return $;return _.reduce((U,W)=>U?.[W],$)}function UT($){let _=Object.keys($),U=_.map((W)=>$[W]);return Promise.all(U).then((W)=>{let J={};for(let X=0;X<_.length;X++)J[_[X]]=W[X];return J})}function JT($=10){let U="";for(let W=0;W<$;W++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function hX($){return JSON.stringify($)}function VQ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function x0($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function d4($){if(x0($)===!1)return!1;let _=$.constructor;if(_===void 0)return!0;if(typeof _!=="function")return!0;let U=_.prototype;if(x0(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function AQ($){if(d4($))return{...$};if(Array.isArray($))return[...$];if($ instanceof Map)return new Map($);if($ instanceof Set)return new Set($);return $}function WT($){let _=0;for(let U in $)if(Object.prototype.hasOwnProperty.call($,U))_++;return _}function t_($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function N_($,_,U){let W=new $._zod.constr(_??$._zod.def);if(!_||U?.parent)W._zod.parent=$;return W}function S($){let _=$;if(!_)return{};if(typeof _==="string")return{error:()=>_};if(_?.message!==void 0){if(_?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");_.error=_.message}if(delete _.message,typeof _.error==="string")return{..._,error:()=>_.error};return _}function GT($){let _;return new Proxy({},{get(U,W,J){return _??(_=$()),Reflect.get(_,W,J)},set(U,W,J,X){return _??(_=$()),Reflect.set(_,W,J,X)},has(U,W){return _??(_=$()),Reflect.has(_,W)},deleteProperty(U,W){return _??(_=$()),Reflect.deleteProperty(_,W)},ownKeys(U){return _??(_=$()),Reflect.ownKeys(_)},getOwnPropertyDescriptor(U,W){return _??(_=$()),Reflect.getOwnPropertyDescriptor(_,W)},defineProperty(U,W,J){return _??(_=$()),Reflect.defineProperty(_,W,J)}})}function g($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function FQ($){return Object.keys($).filter((_)=>{return $[_]._zod.optin==="optional"&&$[_]._zod.optout==="optional"})}function QT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;G[Q]=U.shape[Q]}return u4(this,"shape",G),G},checks:[]});return N_($,X)}function YT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={...$._zod.def.shape};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;delete G[Q]}return u4(this,"shape",G),G},checks:[]});return N_($,X)}function jT($,_){if(!d4(_))throw Error("Invalid input to extend: expected a plain object");let U=$._zod.def.checks;if(U&&U.length>0){let X=$._zod.def.shape;for(let G in _)if(Object.getOwnPropertyDescriptor(X,G)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let J=Y4($._zod.def,{get shape(){let X={...$._zod.def.shape,..._};return u4(this,"shape",X),X}});return N_($,J)}function DT($,_){if(!d4(_))throw Error("Invalid input to safeExtend: expected a plain object");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._};return u4(this,"shape",W),W}});return N_($,U)}function zT($,_){if($._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._._zod.def.shape};return u4(this,"shape",W),W},get catchall(){return _._zod.def.catchall},checks:_._zod.def.checks??[]});return N_($,U)}function qT($,_,U){let J=_._zod.def.checks;if(J&&J.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let G=Y4(_._zod.def,{get shape(){let Q=_._zod.def.shape,Y={...Q};if(U)for(let j in U){if(!(j in Q))throw Error(`Unrecognized key: "${j}"`);if(!U[j])continue;Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j]}else for(let j in Q)Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j];return u4(this,"shape",Y),Y},checks:[]});return N_(_,G)}function OT($,_,U){let W=Y4(_._zod.def,{get shape(){let J=_._zod.def.shape,X={...J};if(U)for(let G in U){if(!(G in X))throw Error(`Unrecognized key: "${G}"`);if(!U[G])continue;X[G]=new $({type:"nonoptional",innerType:J[G]})}else for(let G in J)X[G]=new $({type:"nonoptional",innerType:J[G]});return u4(this,"shape",X),X}});return N_(_,W)}function c4($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue!==!0)return!0;return!1}function MQ($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue===!1)return!0;return!1}function k_($,_){return _.map((U)=>{var W;return(W=U).path??(W.path=[]),U.path.unshift($),U})}function GJ($){return typeof $==="string"?$:$?.message}function b_($,_,U){let W=$.message?$.message:GJ($.inst?._zod.def?.error?.($))??GJ(_?.error?.($))??GJ(U.customError?.($))??GJ(U.localeError?.($))??"Invalid input",{inst:J,continue:X,input:G,...Q}=$;if(Q.path??(Q.path=[]),Q.message=W,_?.reportInput)Q.input=G;return Q}function DJ($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function zJ($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function w($){let _=typeof $;switch(_){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let U=$;if(U&&Object.getPrototypeOf(U)!==Object.prototype&&"constructor"in U&&U.constructor)return U.constructor.name}}return _}function w2(...$){let[_,U,W]=$;if(typeof _==="string")return{message:_,code:"custom",input:U,inst:W};return{..._}}function LT($){return Object.entries($).filter(([_,U])=>{return Number.isNaN(Number.parseInt(_,10))}).map((_)=>_[1])}function gH($){let _=atob($),U=new Uint8Array(_.length);for(let W=0;W<_.length;W++)U[W]=_.charCodeAt(W);return U}function wH($){let _="";for(let U=0;U<$.length;U++)_+=String.fromCharCode($[U]);return btoa(_)}function NT($){let _=$.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-_.length%4)%4);return gH(_+U)}function BT($){return wH($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function HT($){let _=$.replace(/^0x/,"");if(_.length%2!==0)throw Error("Invalid hex string length");let U=new Uint8Array(_.length/2);for(let W=0;W<_.length;W+=2)U[W/2]=Number.parseInt(_.slice(W,W+2),16);return U}function VT($){return Array.from($).map((_)=>_.toString(16).padStart(2,"0")).join("")}class kH{constructor(...$){}}var IH,xX,RQ,XT=($)=>{let _=typeof $;switch(_){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${_}`)}},jJ,EQ,KQ,bQ;var p=y(()=>{h0();IH=Symbol("evaluating");xX="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};RQ=g2(()=>{if(v0.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});jJ=new Set(["string","number","symbol"]),EQ=new Set(["string","number","bigint","boolean","symbol","undefined"]);KQ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},bQ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function k2($,_=(U)=>U.message){let U={},W=[];for(let J of $.issues)if(J.path.length>0)U[J.path[0]]=U[J.path[0]]||[],U[J.path[0]].push(_(J));else W.push(_(J));return{formErrors:W,fieldErrors:U}}function P2($,_=(U)=>U.message){let U={_errors:[]},W=(J,X=[])=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((Q)=>W({issues:Q},[...X,...G.path]));else if(G.code==="invalid_key")W({issues:G.issues},[...X,...G.path]);else if(G.code==="invalid_element")W({issues:G.issues},[...X,...G.path]);else{let Q=[...X,...G.path];if(Q.length===0)U._errors.push(_(G));else{let Y=U,j=0;while(j<Q.length){let O=Q[j];if(j!==Q.length-1)Y[O]=Y[O]||{_errors:[]};else Y[O]=Y[O]||{_errors:[]},Y[O]._errors.push(_(G));Y=Y[O],j++}}}};return W($),U}function mX($,_=(U)=>U.message){let U={errors:[]},W=(J,X=[])=>{var G,Q;for(let Y of J.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((j)=>W({issues:j},[...X,...Y.path]));else if(Y.code==="invalid_key")W({issues:Y.issues},[...X,...Y.path]);else if(Y.code==="invalid_element")W({issues:Y.issues},[...X,...Y.path]);else{let j=[...X,...Y.path];if(j.length===0){U.errors.push(_(Y));continue}let O=U,B=0;while(B<j.length){let V=j[B],L=B===j.length-1;if(typeof V==="string")O.properties??(O.properties={}),(G=O.properties)[V]??(G[V]={errors:[]}),O=O.properties[V];else O.items??(O.items=[]),(Q=O.items)[V]??(Q[V]={errors:[]}),O=O.items[V];if(L)O.errors.push(_(Y));B++}}};return W($),U}function fH($){let _=[],U=$.map((W)=>typeof W==="object"?W.key:W);for(let W of U)if(typeof W==="number")_.push(`[${W}]`);else if(typeof W==="symbol")_.push(`[${JSON.stringify(String(W))}]`);else if(/[^\w$]/.test(W))_.push(`[${JSON.stringify(W)}]`);else{if(_.length)_.push(".");_.push(W)}return _.join("")}function uX($){let _=[],U=[...$.issues].sort((W,J)=>(W.path??[]).length-(J.path??[]).length);for(let W of U)if(_.push(`\u2716 ${W.message}`),W.path?.length)_.push(` \u2192 at ${fH(W.path)}`);return _.join(` -`)}var PH=($,_)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:_,enumerable:!1}),$.message=JSON.stringify(_,I2,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},qJ,P_;var IQ=y(()=>{h0();p();qJ=F("$ZodError",PH),P_=F("$ZodError",PH,{Parent:Error})});var f2=($)=>(_,U,W,J)=>{let X=W?{...W,async:!1}:{async:!1},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)throw new y6;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>b_(Y,X,__())));throw xX(Q,J?.callee),Q}return G.value},dX,C2=($)=>async(_,U,W,J)=>{let X=W?{...W,async:!0}:{async:!0},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)G=await G;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>b_(Y,X,__())));throw xX(Q,J?.callee),Q}return G.value},cX,T2=($)=>(_,U,W)=>{let J=W?{...W,async:!1}:{async:!1},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)throw new y6;return X.issues.length?{success:!1,error:new($??qJ)(X.issues.map((G)=>b_(G,J,__())))}:{success:!0,data:X.value}},gQ,S2=($)=>async(_,U,W)=>{let J=W?{...W,async:!0}:{async:!0},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)X=await X;return X.issues.length?{success:!1,error:new $(X.issues.map((G)=>b_(G,J,__())))}:{success:!0,data:X.value}},wQ,nX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return f2($)(_,U,J)},AT,lX=($)=>(_,U,W)=>{return f2($)(_,U,W)},ET,iX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return C2($)(_,U,J)},FT,rX=($)=>async(_,U,W)=>{return C2($)(_,U,W)},KT,pX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return T2($)(_,U,J)},bT,oX=($)=>(_,U,W)=>{return T2($)(_,U,W)},MT,tX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return S2($)(_,U,J)},IT,aX=($)=>async(_,U,W)=>{return S2($)(_,U,W)},gT;var kQ=y(()=>{h0();IQ();p();dX=f2(P_),cX=C2(P_),gQ=T2(P_),wQ=S2(P_),AT=nX(P_),ET=lX(P_),FT=iX(P_),KT=rX(P_),bT=pX(P_),MT=oX(P_),IT=tX(P_),gT=aX(P_)});var f_={};I6(f_,{xid:()=>TQ,uuid7:()=>fT,uuid6:()=>PT,uuid4:()=>kT,uuid:()=>m0,uppercase:()=>WY,unicodeEmail:()=>CH,undefined:()=>UY,ulid:()=>CQ,time:()=>oQ,string:()=>aQ,sha512_hex:()=>sT,sha512_base64url:()=>$S,sha512_base64:()=>eT,sha384_hex:()=>oT,sha384_base64url:()=>aT,sha384_base64:()=>tT,sha256_hex:()=>iT,sha256_base64url:()=>pT,sha256_base64:()=>rT,sha1_hex:()=>cT,sha1_base64url:()=>lT,sha1_base64:()=>nT,rfc5322Email:()=>TT,number:()=>OJ,null:()=>_Y,nanoid:()=>ZQ,md5_hex:()=>mT,md5_base64url:()=>dT,md5_base64:()=>uT,mac:()=>dQ,lowercase:()=>JY,ksuid:()=>SQ,ipv6:()=>uQ,ipv4:()=>mQ,integer:()=>eQ,idnEmail:()=>ST,httpProtocol:()=>iQ,html5Email:()=>CT,hostname:()=>yT,hex:()=>xT,guid:()=>yQ,extendedDuration:()=>wT,emoji:()=>xQ,email:()=>hQ,e164:()=>rQ,duration:()=>vQ,domain:()=>hT,datetime:()=>tQ,date:()=>pQ,cuid2:()=>fQ,cuid:()=>PQ,cidrv6:()=>nQ,cidrv4:()=>cQ,browserEmail:()=>ZT,boolean:()=>$Y,bigint:()=>sQ,base64url:()=>sX,base64:()=>lQ});function xQ(){return new RegExp(vT,"u")}function SH($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function oQ($){return new RegExp(`^${SH($)}$`)}function tQ($){let _=SH({precision:$.precision}),U=["Z"];if($.local)U.push("");if($.offset)U.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let W=`${_}(?:${U.join("|")})`;return new RegExp(`^${TH}T(?:${W})$`)}function LJ($,_){return new RegExp(`^[A-Za-z0-9+/]{${$}}${_}$`)}function NJ($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var PQ,fQ,CQ,TQ,SQ,ZQ,vQ,wT,yQ,m0=($)=>{if(!$)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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},kT,PT,fT,hQ,CT,TT,CH,ST,ZT,vT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mQ,uQ,dQ=($)=>{let _=t_($??":");return new RegExp(`^(?:[0-9A-F]{2}${_}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${_}){5}[0-9a-f]{2}$`)},cQ,nQ,lQ,sX,yT,hT,iQ,rQ,TH="(?:(?:\\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])))",pQ,aQ=($)=>{let _=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${_}$`)},sQ,eQ,OJ,$Y,_Y,UY,JY,WY,xT,mT,uT,dT,cT,nT,lT,iT,rT,pT,oT,tT,aT,sT,eT,$S;var eX=y(()=>{p();PQ=/^[cC][0-9a-z]{6,}$/,fQ=/^[0-9a-z]+$/,CQ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,TQ=/^[0-9a-vA-V]{20}$/,SQ=/^[A-Za-z0-9]{27}$/,ZQ=/^[a-zA-Z0-9_-]{21}$/,vQ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wT=/^[-+]?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)?)??$/,yQ=/^([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})$/,kT=m0(4),PT=m0(6),fT=m0(7),hQ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,CT=/^[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])?)*$/,TT=/^(([^<>()\[\]\\.,;:\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,}))$/,CH=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ST=CH,ZT=/^[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])?)*$/;mQ=/^(?:(?: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])$/,uQ=/^(([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}|:))$/,cQ=/^((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])$/,nQ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,lQ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,sX=/^[A-Za-z0-9_-]*$/,yT=/^(?=.{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])?)*\.?$/,hT=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,iQ=/^https?$/,rQ=/^\+[1-9]\d{6,14}$/,pQ=new RegExp(`^${TH}$`);sQ=/^-?\d+n?$/,eQ=/^-?\d+$/,OJ=/^-?\d+(?:\.\d+)?$/,$Y=/^(?:true|false)$/i,_Y=/^null$/i,UY=/^undefined$/i,JY=/^[^A-Z]*$/,WY=/^[^a-z]*$/,xT=/^[0-9a-fA-F]*$/;mT=/^[0-9a-fA-F]{32}$/,uT=LJ(22,"=="),dT=NJ(22),cT=/^[0-9a-fA-F]{40}$/,nT=LJ(27,"="),lT=NJ(27),iT=/^[0-9a-fA-F]{64}$/,rT=LJ(43,"="),pT=NJ(43),oT=/^[0-9a-fA-F]{96}$/,tT=LJ(64,""),aT=NJ(64),sT=/^[0-9a-fA-F]{128}$/,eT=LJ(86,"=="),$S=NJ(86)});function ZH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues))}var c$,vH,$9,_9,XY,GY,QY,YY,jY,DY,zY,qY,OY,Z2,LY,NY,BY,HY,VY,RY,AY,EY,FY;var U9=y(()=>{h0();eX();p();c$=F("$ZodCheck",($,_)=>{var U;$._zod??($._zod={}),$._zod.def=_,(U=$._zod).onattach??(U.onattach=[])}),vH={number:"number",bigint:"bigint",object:"date"},$9=F("$ZodCheckLessThan",($,_)=>{c$.init($,_);let U=vH[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.maximum:J.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(_.value<X)if(_.inclusive)J.maximum=_.value;else J.exclusiveMaximum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value<=_.value:W.value<_.value)return;W.issues.push({origin:U,code:"too_big",maximum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),_9=F("$ZodCheckGreaterThan",($,_)=>{c$.init($,_);let U=vH[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.minimum:J.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(_.value>X)if(_.inclusive)J.minimum=_.value;else J.exclusiveMinimum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value>=_.value:W.value>_.value)return;W.issues.push({origin:U,code:"too_small",minimum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),XY=F("$ZodCheckMultipleOf",($,_)=>{c$.init($,_),$._zod.onattach.push((U)=>{var W;(W=U._zod.bag).multipleOf??(W.multipleOf=_.value)}),$._zod.check=(U)=>{if(typeof U.value!==typeof _.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof U.value==="bigint"?U.value%_.value===BigInt(0):HQ(U.value,_.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:_.value,input:U.value,inst:$,continue:!_.abort})}}),GY=F("$ZodCheckNumberFormat",($,_)=>{c$.init($,_),_.format=_.format||"float64";let U=_.format?.includes("int"),W=U?"int":"number",[J,X]=KQ[_.format];$._zod.onattach.push((G)=>{let Q=G._zod.bag;if(Q.format=_.format,Q.minimum=J,Q.maximum=X,U)Q.pattern=eQ}),$._zod.check=(G)=>{let Q=G.value;if(U){if(!Number.isInteger(Q)){G.issues.push({expected:W,format:_.format,code:"invalid_type",continue:!1,input:Q,inst:$});return}if(!Number.isSafeInteger(Q)){if(Q>0)G.issues.push({input:Q,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});else G.issues.push({input:Q,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});return}}if(Q<J)G.issues.push({origin:"number",input:Q,code:"too_small",minimum:J,inclusive:!0,inst:$,continue:!_.abort});if(Q>X)G.issues.push({origin:"number",input:Q,code:"too_big",maximum:X,inclusive:!0,inst:$,continue:!_.abort})}}),QY=F("$ZodCheckBigIntFormat",($,_)=>{c$.init($,_);let[U,W]=bQ[_.format];$._zod.onattach.push((J)=>{let X=J._zod.bag;X.format=_.format,X.minimum=U,X.maximum=W}),$._zod.check=(J)=>{let X=J.value;if(X<U)J.issues.push({origin:"bigint",input:X,code:"too_small",minimum:U,inclusive:!0,inst:$,continue:!_.abort});if(X>W)J.issues.push({origin:"bigint",input:X,code:"too_big",maximum:W,inclusive:!0,inst:$,continue:!_.abort})}}),YY=F("$ZodCheckMaxSize",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum<J)W._zod.bag.maximum=_.maximum}),$._zod.check=(W)=>{let J=W.value;if(J.size<=_.maximum)return;W.issues.push({origin:DJ(J),code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),jY=F("$ZodCheckMinSize",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.size>=_.minimum)return;W.issues.push({origin:DJ(J),code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),DY=F("$ZodCheckSizeEquals",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.size,J.maximum=_.size,J.size=_.size}),$._zod.check=(W)=>{let J=W.value,X=J.size;if(X===_.size)return;let G=X>_.size;W.issues.push({origin:DJ(J),...G?{code:"too_big",maximum:_.size}:{code:"too_small",minimum:_.size},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),zY=F("$ZodCheckMaxLength",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum<J)W._zod.bag.maximum=_.maximum}),$._zod.check=(W)=>{let J=W.value;if(J.length<=_.maximum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),qY=F("$ZodCheckMinLength",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.length>=_.minimum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),OY=F("$ZodCheckLengthEquals",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!m4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.length,J.maximum=_.length,J.length=_.length}),$._zod.check=(W)=>{let J=W.value,X=J.length;if(X===_.length)return;let G=zJ(J),Q=X>_.length;W.issues.push({origin:G,...Q?{code:"too_big",maximum:_.length}:{code:"too_small",minimum:_.length},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),Z2=F("$ZodCheckStringFormat",($,_)=>{var U,W;if(c$.init($,_),$._zod.onattach.push((J)=>{let X=J._zod.bag;if(X.format=_.format,_.pattern)X.patterns??(X.patterns=new Set),X.patterns.add(_.pattern)}),_.pattern)(U=$._zod).check??(U.check=(J)=>{if(_.pattern.lastIndex=0,_.pattern.test(J.value))return;J.issues.push({origin:"string",code:"invalid_format",format:_.format,input:J.value,..._.pattern?{pattern:_.pattern.toString()}:{},inst:$,continue:!_.abort})});else(W=$._zod).check??(W.check=()=>{})}),LY=F("$ZodCheckRegex",($,_)=>{Z2.init($,_),$._zod.check=(U)=>{if(_.pattern.lastIndex=0,_.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:"regex",input:U.value,pattern:_.pattern.toString(),inst:$,continue:!_.abort})}}),NY=F("$ZodCheckLowerCase",($,_)=>{_.pattern??(_.pattern=JY),Z2.init($,_)}),BY=F("$ZodCheckUpperCase",($,_)=>{_.pattern??(_.pattern=WY),Z2.init($,_)}),HY=F("$ZodCheckIncludes",($,_)=>{c$.init($,_);let U=t_(_.includes),W=new RegExp(typeof _.position==="number"?`^.{${_.position}}${U}`:U);_.pattern=W,$._zod.onattach.push((J)=>{let X=J._zod.bag;X.patterns??(X.patterns=new Set),X.patterns.add(W)}),$._zod.check=(J)=>{if(J.value.includes(_.includes,_.position))return;J.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:_.includes,input:J.value,inst:$,continue:!_.abort})}}),VY=F("$ZodCheckStartsWith",($,_)=>{c$.init($,_);let U=new RegExp(`^${t_(_.prefix)}.*`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.startsWith(_.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:_.prefix,input:W.value,inst:$,continue:!_.abort})}}),RY=F("$ZodCheckEndsWith",($,_)=>{c$.init($,_);let U=new RegExp(`.*${t_(_.suffix)}$`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.endsWith(_.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:_.suffix,input:W.value,inst:$,continue:!_.abort})}});AY=F("$ZodCheckProperty",($,_)=>{c$.init($,_),$._zod.check=(U)=>{let W=_.schema._zod.run({value:U.value[_.property],issues:[]},{});if(W instanceof Promise)return W.then((J)=>ZH(J,U,_.property));ZH(W,U,_.property);return}}),EY=F("$ZodCheckMimeType",($,_)=>{c$.init($,_);let U=new Set(_.mime);$._zod.onattach.push((W)=>{W._zod.bag.mime=_.mime}),$._zod.check=(W)=>{if(U.has(W.value.type))return;W.issues.push({code:"invalid_value",values:_.mime,input:W.value.type,inst:$,continue:!_.abort})}}),FY=F("$ZodCheckOverwrite",($,_)=>{c$.init($,_),$._zod.check=(U)=>{U.value=_.tx(U.value)}})});class J9{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let U=$.split(` +var SF=Object.create;var{getPrototypeOf:ZF,defineProperty:y5,getOwnPropertyNames:vF}=Object;var yF=Object.prototype.hasOwnProperty;function hF($){return this[$]}var xF,mF,uF=($,_,U)=>{var W=$!=null&&typeof $==="object";if(W){var J=_?xF??=new WeakMap:mF??=new WeakMap,X=J.get($);if(X)return X}U=$!=null?SF(ZF($)):{};let G=_||!$||!$.__esModule?y5(U,"default",{value:$,enumerable:!0}):U;for(let Q of vF($))if(!yF.call(G,Q))y5(G,Q,{get:hF.bind($,Q),enumerable:!0});if(W)J.set($,G);return G};var Q0=($,_)=>()=>(_||$((_={exports:{}}).exports,_),_.exports);var dF=($)=>$;function cF($,_){this[$]=dF.bind(null,_)}var I6=($,_)=>{for(var U in _)y5($,U,{get:_[U],enumerable:!0,configurable:!0,set:cF.bind(_,U)})};var y=($,_)=>()=>($&&(_=$($=0)),_);var C$=import.meta.require;function E($,_,U){function W(Q,Y){if(!Q._zod)Object.defineProperty(Q,"_zod",{value:{def:Y,constr:G,traits:new Set},enumerable:!1});if(Q._zod.traits.has($))return;Q._zod.traits.add($),_(Q,Y);let j=G.prototype,O=Object.keys(j);for(let B=0;B<O.length;B++){let V=O[B];if(!(V in Q))Q[V]=j[V].bind(Q)}}let J=U?.Parent??Object;class X extends J{}Object.defineProperty(X,"name",{value:$});function G(Q){var Y;let j=U?.Parent?new X:this;W(j,Q),(Y=j._zod).deferred??(Y.deferred=[]);for(let O of j._zod.deferred)O();return j}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(Q)=>{if(U?.Parent&&Q instanceof U.Parent)return!0;return Q?._zod?.traits?.has($)}}),Object.defineProperty(G,"name",{value:$}),G}function __($){if($)Object.assign(y0,$);return y0}var wH,yX,hX,y6,h0,y0;var x0=y(()=>{yX=Object.freeze({status:"aborted"});hX=Symbol("zod_brand");y6=class y6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};h0=class h0 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}};(wH=globalThis).__zod_globalConfig??(wH.__zod_globalConfig={});y0=globalThis.__zod_globalConfig});var P={};I6(P,{unwrapMessage:()=>GJ,uint8ArrayToHex:()=>FT,uint8ArrayToBase64url:()=>RT,uint8ArrayToBase64:()=>fH,stringifyPrimitive:()=>g,slugify:()=>VQ,shallowClone:()=>AQ,safeExtend:()=>OT,required:()=>BT,randomString:()=>GT,propertyKeyTypes:()=>jJ,promiseAllObject:()=>XT,primitiveTypes:()=>FQ,prefixIssues:()=>k_,pick:()=>DT,partial:()=>NT,parsedType:()=>w,optionalKeys:()=>EQ,omit:()=>zT,objectClone:()=>UT,numKeys:()=>QT,nullish:()=>u4,normalizeParams:()=>S,mergeDefs:()=>Y4,merge:()=>LT,jsonStringifyReplacer:()=>g2,joinValues:()=>b,issue:()=>k2,isPlainObject:()=>c4,isObject:()=>m0,hexToUint8Array:()=>AT,getSizableOrigin:()=>DJ,getParsedType:()=>YT,getLengthableOrigin:()=>zJ,getEnumValues:()=>QJ,getElementAtPath:()=>WT,floatSafeRemainder:()=>HQ,finalizeIssue:()=>b_,extend:()=>qT,explicitlyAborted:()=>MQ,escapeRegex:()=>t_,esc:()=>xX,defineLazy:()=>K$,createTransparentProxy:()=>jT,cloneDef:()=>JT,clone:()=>N_,cleanRegex:()=>YJ,cleanEnum:()=>HT,captureStackTrace:()=>mX,cached:()=>w2,base64urlToUint8Array:()=>VT,base64ToUint8Array:()=>PH,assignProp:()=>d4,assertNotEqual:()=>sC,assertNever:()=>$T,assertIs:()=>eC,assertEqual:()=>aC,assert:()=>_T,allowsEval:()=>RQ,aborted:()=>n4,NUMBER_FORMAT_RANGES:()=>KQ,Class:()=>CH,BIGINT_FORMAT_RANGES:()=>bQ});function aC($){return $}function sC($){return $}function eC($){}function $T($){throw Error("Unexpected value in exhaustive check")}function _T($){}function QJ($){let _=Object.values($).filter((W)=>typeof W==="number");return Object.entries($).filter(([W,J])=>_.indexOf(+W)===-1).map(([W,J])=>J)}function b($,_="|"){return $.map((U)=>g(U)).join(_)}function g2($,_){if(typeof _==="bigint")return _.toString();return _}function w2($){return{get value(){{let U=$();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function u4($){return $===null||$===void 0}function YJ($){let _=$.startsWith("^")?1:0,U=$.endsWith("$")?$.length-1:$.length;return $.slice(_,U)}function HQ($,_){let U=$/_,W=Math.round(U),J=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-W)<J)return 0;return U-W}function K$($,_,U){let W=void 0;Object.defineProperty($,_,{get(){if(W===kH)return;if(W===void 0)W=kH,W=U();return W},set(J){Object.defineProperty($,_,{value:J})},configurable:!0})}function UT($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function d4($,_,U){Object.defineProperty($,_,{value:U,writable:!0,enumerable:!0,configurable:!0})}function Y4(...$){let _={};for(let U of $){let W=Object.getOwnPropertyDescriptors(U);Object.assign(_,W)}return Object.defineProperties({},_)}function JT($){return Y4($._zod.def)}function WT($,_){if(!_)return $;return _.reduce((U,W)=>U?.[W],$)}function XT($){let _=Object.keys($),U=_.map((W)=>$[W]);return Promise.all(U).then((W)=>{let J={};for(let X=0;X<_.length;X++)J[_[X]]=W[X];return J})}function GT($=10){let U="";for(let W=0;W<$;W++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function xX($){return JSON.stringify($)}function VQ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function m0($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function c4($){if(m0($)===!1)return!1;let _=$.constructor;if(_===void 0)return!0;if(typeof _!=="function")return!0;let U=_.prototype;if(m0(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function AQ($){if(c4($))return{...$};if(Array.isArray($))return[...$];if($ instanceof Map)return new Map($);if($ instanceof Set)return new Set($);return $}function QT($){let _=0;for(let U in $)if(Object.prototype.hasOwnProperty.call($,U))_++;return _}function t_($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function N_($,_,U){let W=new $._zod.constr(_??$._zod.def);if(!_||U?.parent)W._zod.parent=$;return W}function S($){let _=$;if(!_)return{};if(typeof _==="string")return{error:()=>_};if(_?.message!==void 0){if(_?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");_.error=_.message}if(delete _.message,typeof _.error==="string")return{..._,error:()=>_.error};return _}function jT($){let _;return new Proxy({},{get(U,W,J){return _??(_=$()),Reflect.get(_,W,J)},set(U,W,J,X){return _??(_=$()),Reflect.set(_,W,J,X)},has(U,W){return _??(_=$()),Reflect.has(_,W)},deleteProperty(U,W){return _??(_=$()),Reflect.deleteProperty(_,W)},ownKeys(U){return _??(_=$()),Reflect.ownKeys(_)},getOwnPropertyDescriptor(U,W){return _??(_=$()),Reflect.getOwnPropertyDescriptor(_,W)},defineProperty(U,W,J){return _??(_=$()),Reflect.defineProperty(_,W,J)}})}function g($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function EQ($){return Object.keys($).filter((_)=>{return $[_]._zod.optin==="optional"&&$[_]._zod.optout==="optional"})}function DT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;G[Q]=U.shape[Q]}return d4(this,"shape",G),G},checks:[]});return N_($,X)}function zT($,_){let U=$._zod.def,W=U.checks;if(W&&W.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let X=Y4($._zod.def,{get shape(){let G={...$._zod.def.shape};for(let Q in _){if(!(Q in U.shape))throw Error(`Unrecognized key: "${Q}"`);if(!_[Q])continue;delete G[Q]}return d4(this,"shape",G),G},checks:[]});return N_($,X)}function qT($,_){if(!c4(_))throw Error("Invalid input to extend: expected a plain object");let U=$._zod.def.checks;if(U&&U.length>0){let X=$._zod.def.shape;for(let G in _)if(Object.getOwnPropertyDescriptor(X,G)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let J=Y4($._zod.def,{get shape(){let X={...$._zod.def.shape,..._};return d4(this,"shape",X),X}});return N_($,J)}function OT($,_){if(!c4(_))throw Error("Invalid input to safeExtend: expected a plain object");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._};return d4(this,"shape",W),W}});return N_($,U)}function LT($,_){if($._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=Y4($._zod.def,{get shape(){let W={...$._zod.def.shape,..._._zod.def.shape};return d4(this,"shape",W),W},get catchall(){return _._zod.def.catchall},checks:_._zod.def.checks??[]});return N_($,U)}function NT($,_,U){let J=_._zod.def.checks;if(J&&J.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let G=Y4(_._zod.def,{get shape(){let Q=_._zod.def.shape,Y={...Q};if(U)for(let j in U){if(!(j in Q))throw Error(`Unrecognized key: "${j}"`);if(!U[j])continue;Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j]}else for(let j in Q)Y[j]=$?new $({type:"optional",innerType:Q[j]}):Q[j];return d4(this,"shape",Y),Y},checks:[]});return N_(_,G)}function BT($,_,U){let W=Y4(_._zod.def,{get shape(){let J=_._zod.def.shape,X={...J};if(U)for(let G in U){if(!(G in X))throw Error(`Unrecognized key: "${G}"`);if(!U[G])continue;X[G]=new $({type:"nonoptional",innerType:J[G]})}else for(let G in J)X[G]=new $({type:"nonoptional",innerType:J[G]});return d4(this,"shape",X),X}});return N_(_,W)}function n4($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue!==!0)return!0;return!1}function MQ($,_=0){if($.aborted===!0)return!0;for(let U=_;U<$.issues.length;U++)if($.issues[U]?.continue===!1)return!0;return!1}function k_($,_){return _.map((U)=>{var W;return(W=U).path??(W.path=[]),U.path.unshift($),U})}function GJ($){return typeof $==="string"?$:$?.message}function b_($,_,U){let W=$.message?$.message:GJ($.inst?._zod.def?.error?.($))??GJ(_?.error?.($))??GJ(U.customError?.($))??GJ(U.localeError?.($))??"Invalid input",{inst:J,continue:X,input:G,...Q}=$;if(Q.path??(Q.path=[]),Q.message=W,_?.reportInput)Q.input=G;return Q}function DJ($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function zJ($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function w($){let _=typeof $;switch(_){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let U=$;if(U&&Object.getPrototypeOf(U)!==Object.prototype&&"constructor"in U&&U.constructor)return U.constructor.name}}return _}function k2(...$){let[_,U,W]=$;if(typeof _==="string")return{message:_,code:"custom",input:U,inst:W};return{..._}}function HT($){return Object.entries($).filter(([_,U])=>{return Number.isNaN(Number.parseInt(_,10))}).map((_)=>_[1])}function PH($){let _=atob($),U=new Uint8Array(_.length);for(let W=0;W<_.length;W++)U[W]=_.charCodeAt(W);return U}function fH($){let _="";for(let U=0;U<$.length;U++)_+=String.fromCharCode($[U]);return btoa(_)}function VT($){let _=$.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-_.length%4)%4);return PH(_+U)}function RT($){return fH($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function AT($){let _=$.replace(/^0x/,"");if(_.length%2!==0)throw Error("Invalid hex string length");let U=new Uint8Array(_.length/2);for(let W=0;W<_.length;W+=2)U[W/2]=Number.parseInt(_.slice(W,W+2),16);return U}function FT($){return Array.from($).map((_)=>_.toString(16).padStart(2,"0")).join("")}class CH{constructor(...$){}}var kH,mX,RQ,YT=($)=>{let _=typeof $;switch(_){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${_}`)}},jJ,FQ,KQ,bQ;var p=y(()=>{x0();kH=Symbol("evaluating");mX="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};RQ=w2(()=>{if(y0.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});jJ=new Set(["string","number","symbol"]),FQ=new Set(["string","number","bigint","boolean","symbol","undefined"]);KQ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},bQ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function P2($,_=(U)=>U.message){let U={},W=[];for(let J of $.issues)if(J.path.length>0)U[J.path[0]]=U[J.path[0]]||[],U[J.path[0]].push(_(J));else W.push(_(J));return{formErrors:W,fieldErrors:U}}function f2($,_=(U)=>U.message){let U={_errors:[]},W=(J,X=[])=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((Q)=>W({issues:Q},[...X,...G.path]));else if(G.code==="invalid_key")W({issues:G.issues},[...X,...G.path]);else if(G.code==="invalid_element")W({issues:G.issues},[...X,...G.path]);else{let Q=[...X,...G.path];if(Q.length===0)U._errors.push(_(G));else{let Y=U,j=0;while(j<Q.length){let O=Q[j];if(j!==Q.length-1)Y[O]=Y[O]||{_errors:[]};else Y[O]=Y[O]||{_errors:[]},Y[O]._errors.push(_(G));Y=Y[O],j++}}}};return W($),U}function uX($,_=(U)=>U.message){let U={errors:[]},W=(J,X=[])=>{var G,Q;for(let Y of J.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((j)=>W({issues:j},[...X,...Y.path]));else if(Y.code==="invalid_key")W({issues:Y.issues},[...X,...Y.path]);else if(Y.code==="invalid_element")W({issues:Y.issues},[...X,...Y.path]);else{let j=[...X,...Y.path];if(j.length===0){U.errors.push(_(Y));continue}let O=U,B=0;while(B<j.length){let V=j[B],L=B===j.length-1;if(typeof V==="string")O.properties??(O.properties={}),(G=O.properties)[V]??(G[V]={errors:[]}),O=O.properties[V];else O.items??(O.items=[]),(Q=O.items)[V]??(Q[V]={errors:[]}),O=O.items[V];if(L)O.errors.push(_(Y));B++}}};return W($),U}function SH($){let _=[],U=$.map((W)=>typeof W==="object"?W.key:W);for(let W of U)if(typeof W==="number")_.push(`[${W}]`);else if(typeof W==="symbol")_.push(`[${JSON.stringify(String(W))}]`);else if(/[^\w$]/.test(W))_.push(`[${JSON.stringify(W)}]`);else{if(_.length)_.push(".");_.push(W)}return _.join("")}function dX($){let _=[],U=[...$.issues].sort((W,J)=>(W.path??[]).length-(J.path??[]).length);for(let W of U)if(_.push(`\u2716 ${W.message}`),W.path?.length)_.push(` \u2192 at ${SH(W.path)}`);return _.join(` +`)}var TH=($,_)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:_,enumerable:!1}),$.message=JSON.stringify(_,g2,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},qJ,P_;var IQ=y(()=>{x0();p();qJ=E("$ZodError",TH),P_=E("$ZodError",TH,{Parent:Error})});var C2=($)=>(_,U,W,J)=>{let X=W?{...W,async:!1}:{async:!1},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)throw new y6;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>b_(Y,X,__())));throw mX(Q,J?.callee),Q}return G.value},cX,T2=($)=>async(_,U,W,J)=>{let X=W?{...W,async:!0}:{async:!0},G=_._zod.run({value:U,issues:[]},X);if(G instanceof Promise)G=await G;if(G.issues.length){let Q=new(J?.Err??$)(G.issues.map((Y)=>b_(Y,X,__())));throw mX(Q,J?.callee),Q}return G.value},nX,S2=($)=>(_,U,W)=>{let J=W?{...W,async:!1}:{async:!1},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)throw new y6;return X.issues.length?{success:!1,error:new($??qJ)(X.issues.map((G)=>b_(G,J,__())))}:{success:!0,data:X.value}},gQ,Z2=($)=>async(_,U,W)=>{let J=W?{...W,async:!0}:{async:!0},X=_._zod.run({value:U,issues:[]},J);if(X instanceof Promise)X=await X;return X.issues.length?{success:!1,error:new $(X.issues.map((G)=>b_(G,J,__())))}:{success:!0,data:X.value}},wQ,lX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return C2($)(_,U,J)},KT,iX=($)=>(_,U,W)=>{return C2($)(_,U,W)},bT,rX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return T2($)(_,U,J)},MT,pX=($)=>async(_,U,W)=>{return T2($)(_,U,W)},IT,oX=($)=>(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return S2($)(_,U,J)},gT,tX=($)=>(_,U,W)=>{return S2($)(_,U,W)},wT,aX=($)=>async(_,U,W)=>{let J=W?{...W,direction:"backward"}:{direction:"backward"};return Z2($)(_,U,J)},kT,sX=($)=>async(_,U,W)=>{return Z2($)(_,U,W)},PT;var kQ=y(()=>{x0();IQ();p();cX=C2(P_),nX=T2(P_),gQ=S2(P_),wQ=Z2(P_),KT=lX(P_),bT=iX(P_),MT=rX(P_),IT=pX(P_),gT=oX(P_),wT=tX(P_),kT=aX(P_),PT=sX(P_)});var f_={};I6(f_,{xid:()=>TQ,uuid7:()=>ST,uuid6:()=>TT,uuid4:()=>CT,uuid:()=>u0,uppercase:()=>WY,unicodeEmail:()=>ZH,undefined:()=>UY,ulid:()=>CQ,time:()=>oQ,string:()=>aQ,sha512_hex:()=>_S,sha512_base64url:()=>JS,sha512_base64:()=>US,sha384_hex:()=>sT,sha384_base64url:()=>$S,sha384_base64:()=>eT,sha256_hex:()=>oT,sha256_base64url:()=>aT,sha256_base64:()=>tT,sha1_hex:()=>iT,sha1_base64url:()=>pT,sha1_base64:()=>rT,rfc5322Email:()=>vT,number:()=>OJ,null:()=>_Y,nanoid:()=>ZQ,md5_hex:()=>cT,md5_base64url:()=>lT,md5_base64:()=>nT,mac:()=>dQ,lowercase:()=>JY,ksuid:()=>SQ,ipv6:()=>uQ,ipv4:()=>mQ,integer:()=>eQ,idnEmail:()=>yT,httpProtocol:()=>iQ,html5Email:()=>ZT,hostname:()=>mT,hex:()=>dT,guid:()=>yQ,extendedDuration:()=>fT,emoji:()=>xQ,email:()=>hQ,e164:()=>rQ,duration:()=>vQ,domain:()=>uT,datetime:()=>tQ,date:()=>pQ,cuid2:()=>fQ,cuid:()=>PQ,cidrv6:()=>nQ,cidrv4:()=>cQ,browserEmail:()=>hT,boolean:()=>$Y,bigint:()=>sQ,base64url:()=>eX,base64:()=>lQ});function xQ(){return new RegExp(xT,"u")}function yH($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function oQ($){return new RegExp(`^${yH($)}$`)}function tQ($){let _=yH({precision:$.precision}),U=["Z"];if($.local)U.push("");if($.offset)U.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let W=`${_}(?:${U.join("|")})`;return new RegExp(`^${vH}T(?:${W})$`)}function LJ($,_){return new RegExp(`^[A-Za-z0-9+/]{${$}}${_}$`)}function NJ($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var PQ,fQ,CQ,TQ,SQ,ZQ,vQ,fT,yQ,u0=($)=>{if(!$)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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},CT,TT,ST,hQ,ZT,vT,ZH,yT,hT,xT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mQ,uQ,dQ=($)=>{let _=t_($??":");return new RegExp(`^(?:[0-9A-F]{2}${_}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${_}){5}[0-9a-f]{2}$`)},cQ,nQ,lQ,eX,mT,uT,iQ,rQ,vH="(?:(?:\\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])))",pQ,aQ=($)=>{let _=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${_}$`)},sQ,eQ,OJ,$Y,_Y,UY,JY,WY,dT,cT,nT,lT,iT,rT,pT,oT,tT,aT,sT,eT,$S,_S,US,JS;var $9=y(()=>{p();PQ=/^[cC][0-9a-z]{6,}$/,fQ=/^[0-9a-z]+$/,CQ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,TQ=/^[0-9a-vA-V]{20}$/,SQ=/^[A-Za-z0-9]{27}$/,ZQ=/^[a-zA-Z0-9_-]{21}$/,vQ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,fT=/^[-+]?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)?)??$/,yQ=/^([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})$/,CT=u0(4),TT=u0(6),ST=u0(7),hQ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ZT=/^[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])?)*$/,vT=/^(([^<>()\[\]\\.,;:\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,}))$/,ZH=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,yT=ZH,hT=/^[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])?)*$/;mQ=/^(?:(?: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])$/,uQ=/^(([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}|:))$/,cQ=/^((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])$/,nQ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,lQ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,eX=/^[A-Za-z0-9_-]*$/,mT=/^(?=.{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])?)*\.?$/,uT=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,iQ=/^https?$/,rQ=/^\+[1-9]\d{6,14}$/,pQ=new RegExp(`^${vH}$`);sQ=/^-?\d+n?$/,eQ=/^-?\d+$/,OJ=/^-?\d+(?:\.\d+)?$/,$Y=/^(?:true|false)$/i,_Y=/^null$/i,UY=/^undefined$/i,JY=/^[^A-Z]*$/,WY=/^[^a-z]*$/,dT=/^[0-9a-fA-F]*$/;cT=/^[0-9a-fA-F]{32}$/,nT=LJ(22,"=="),lT=NJ(22),iT=/^[0-9a-fA-F]{40}$/,rT=LJ(27,"="),pT=NJ(27),oT=/^[0-9a-fA-F]{64}$/,tT=LJ(43,"="),aT=NJ(43),sT=/^[0-9a-fA-F]{96}$/,eT=LJ(64,""),$S=NJ(64),_S=/^[0-9a-fA-F]{128}$/,US=LJ(86,"=="),JS=NJ(86)});function hH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues))}var c$,xH,_9,U9,XY,GY,QY,YY,jY,DY,zY,qY,OY,v2,LY,NY,BY,HY,VY,RY,AY,FY,EY;var J9=y(()=>{x0();$9();p();c$=E("$ZodCheck",($,_)=>{var U;$._zod??($._zod={}),$._zod.def=_,(U=$._zod).onattach??(U.onattach=[])}),xH={number:"number",bigint:"bigint",object:"date"},_9=E("$ZodCheckLessThan",($,_)=>{c$.init($,_);let U=xH[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.maximum:J.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(_.value<X)if(_.inclusive)J.maximum=_.value;else J.exclusiveMaximum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value<=_.value:W.value<_.value)return;W.issues.push({origin:U,code:"too_big",maximum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),U9=E("$ZodCheckGreaterThan",($,_)=>{c$.init($,_);let U=xH[typeof _.value];$._zod.onattach.push((W)=>{let J=W._zod.bag,X=(_.inclusive?J.minimum:J.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(_.value>X)if(_.inclusive)J.minimum=_.value;else J.exclusiveMinimum=_.value}),$._zod.check=(W)=>{if(_.inclusive?W.value>=_.value:W.value>_.value)return;W.issues.push({origin:U,code:"too_small",minimum:typeof _.value==="object"?_.value.getTime():_.value,input:W.value,inclusive:_.inclusive,inst:$,continue:!_.abort})}}),XY=E("$ZodCheckMultipleOf",($,_)=>{c$.init($,_),$._zod.onattach.push((U)=>{var W;(W=U._zod.bag).multipleOf??(W.multipleOf=_.value)}),$._zod.check=(U)=>{if(typeof U.value!==typeof _.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof U.value==="bigint"?U.value%_.value===BigInt(0):HQ(U.value,_.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:_.value,input:U.value,inst:$,continue:!_.abort})}}),GY=E("$ZodCheckNumberFormat",($,_)=>{c$.init($,_),_.format=_.format||"float64";let U=_.format?.includes("int"),W=U?"int":"number",[J,X]=KQ[_.format];$._zod.onattach.push((G)=>{let Q=G._zod.bag;if(Q.format=_.format,Q.minimum=J,Q.maximum=X,U)Q.pattern=eQ}),$._zod.check=(G)=>{let Q=G.value;if(U){if(!Number.isInteger(Q)){G.issues.push({expected:W,format:_.format,code:"invalid_type",continue:!1,input:Q,inst:$});return}if(!Number.isSafeInteger(Q)){if(Q>0)G.issues.push({input:Q,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});else G.issues.push({input:Q,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:W,inclusive:!0,continue:!_.abort});return}}if(Q<J)G.issues.push({origin:"number",input:Q,code:"too_small",minimum:J,inclusive:!0,inst:$,continue:!_.abort});if(Q>X)G.issues.push({origin:"number",input:Q,code:"too_big",maximum:X,inclusive:!0,inst:$,continue:!_.abort})}}),QY=E("$ZodCheckBigIntFormat",($,_)=>{c$.init($,_);let[U,W]=bQ[_.format];$._zod.onattach.push((J)=>{let X=J._zod.bag;X.format=_.format,X.minimum=U,X.maximum=W}),$._zod.check=(J)=>{let X=J.value;if(X<U)J.issues.push({origin:"bigint",input:X,code:"too_small",minimum:U,inclusive:!0,inst:$,continue:!_.abort});if(X>W)J.issues.push({origin:"bigint",input:X,code:"too_big",maximum:W,inclusive:!0,inst:$,continue:!_.abort})}}),YY=E("$ZodCheckMaxSize",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!u4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum<J)W._zod.bag.maximum=_.maximum}),$._zod.check=(W)=>{let J=W.value;if(J.size<=_.maximum)return;W.issues.push({origin:DJ(J),code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),jY=E("$ZodCheckMinSize",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!u4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.size>=_.minimum)return;W.issues.push({origin:DJ(J),code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),DY=E("$ZodCheckSizeEquals",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!u4(J)&&J.size!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.size,J.maximum=_.size,J.size=_.size}),$._zod.check=(W)=>{let J=W.value,X=J.size;if(X===_.size)return;let G=X>_.size;W.issues.push({origin:DJ(J),...G?{code:"too_big",maximum:_.size}:{code:"too_small",minimum:_.size},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),zY=E("$ZodCheckMaxLength",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!u4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(_.maximum<J)W._zod.bag.maximum=_.maximum}),$._zod.check=(W)=>{let J=W.value;if(J.length<=_.maximum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_big",maximum:_.maximum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),qY=E("$ZodCheckMinLength",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!u4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(_.minimum>J)W._zod.bag.minimum=_.minimum}),$._zod.check=(W)=>{let J=W.value;if(J.length>=_.minimum)return;let G=zJ(J);W.issues.push({origin:G,code:"too_small",minimum:_.minimum,inclusive:!0,input:J,inst:$,continue:!_.abort})}}),OY=E("$ZodCheckLengthEquals",($,_)=>{var U;c$.init($,_),(U=$._zod.def).when??(U.when=(W)=>{let J=W.value;return!u4(J)&&J.length!==void 0}),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.minimum=_.length,J.maximum=_.length,J.length=_.length}),$._zod.check=(W)=>{let J=W.value,X=J.length;if(X===_.length)return;let G=zJ(J),Q=X>_.length;W.issues.push({origin:G,...Q?{code:"too_big",maximum:_.length}:{code:"too_small",minimum:_.length},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!_.abort})}}),v2=E("$ZodCheckStringFormat",($,_)=>{var U,W;if(c$.init($,_),$._zod.onattach.push((J)=>{let X=J._zod.bag;if(X.format=_.format,_.pattern)X.patterns??(X.patterns=new Set),X.patterns.add(_.pattern)}),_.pattern)(U=$._zod).check??(U.check=(J)=>{if(_.pattern.lastIndex=0,_.pattern.test(J.value))return;J.issues.push({origin:"string",code:"invalid_format",format:_.format,input:J.value,..._.pattern?{pattern:_.pattern.toString()}:{},inst:$,continue:!_.abort})});else(W=$._zod).check??(W.check=()=>{})}),LY=E("$ZodCheckRegex",($,_)=>{v2.init($,_),$._zod.check=(U)=>{if(_.pattern.lastIndex=0,_.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:"regex",input:U.value,pattern:_.pattern.toString(),inst:$,continue:!_.abort})}}),NY=E("$ZodCheckLowerCase",($,_)=>{_.pattern??(_.pattern=JY),v2.init($,_)}),BY=E("$ZodCheckUpperCase",($,_)=>{_.pattern??(_.pattern=WY),v2.init($,_)}),HY=E("$ZodCheckIncludes",($,_)=>{c$.init($,_);let U=t_(_.includes),W=new RegExp(typeof _.position==="number"?`^.{${_.position}}${U}`:U);_.pattern=W,$._zod.onattach.push((J)=>{let X=J._zod.bag;X.patterns??(X.patterns=new Set),X.patterns.add(W)}),$._zod.check=(J)=>{if(J.value.includes(_.includes,_.position))return;J.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:_.includes,input:J.value,inst:$,continue:!_.abort})}}),VY=E("$ZodCheckStartsWith",($,_)=>{c$.init($,_);let U=new RegExp(`^${t_(_.prefix)}.*`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.startsWith(_.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:_.prefix,input:W.value,inst:$,continue:!_.abort})}}),RY=E("$ZodCheckEndsWith",($,_)=>{c$.init($,_);let U=new RegExp(`.*${t_(_.suffix)}$`);_.pattern??(_.pattern=U),$._zod.onattach.push((W)=>{let J=W._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(U)}),$._zod.check=(W)=>{if(W.value.endsWith(_.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:_.suffix,input:W.value,inst:$,continue:!_.abort})}});AY=E("$ZodCheckProperty",($,_)=>{c$.init($,_),$._zod.check=(U)=>{let W=_.schema._zod.run({value:U.value[_.property],issues:[]},{});if(W instanceof Promise)return W.then((J)=>hH(J,U,_.property));hH(W,U,_.property);return}}),FY=E("$ZodCheckMimeType",($,_)=>{c$.init($,_);let U=new Set(_.mime);$._zod.onattach.push((W)=>{W._zod.bag.mime=_.mime}),$._zod.check=(W)=>{if(U.has(W.value.type))return;W.issues.push({code:"invalid_value",values:_.mime,input:W.value.type,inst:$,continue:!_.abort})}}),EY=E("$ZodCheckOverwrite",($,_)=>{c$.init($,_),$._zod.check=(U)=>{U.value=_.tx(U.value)}})});class W9{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let U=$.split(` `).filter((X)=>X),W=Math.min(...U.map((X)=>X.length-X.trimStart().length)),J=U.map((X)=>X.slice(W)).map((X)=>" ".repeat(this.indent*2)+X);for(let X of J)this.content.push(X)}compile(){let $=Function,_=this?.args,W=[...(this?.content??[""]).map((J)=>` ${J}`)];return new $(..._,W.join(` -`))}}var KY;var bY=y(()=>{KY={major:4,minor:4,patch:3}});function iY($){if($==="")return!0;if(/\s/.test($))return!1;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}function sH($){if(!sX.test($))return!1;let _=$.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),U=_.padEnd(Math.ceil(_.length/4)*4,"=");return iY(U)}function eH($,_=null){try{let U=$.split(".");if(U.length!==3)return!1;let[W]=U;if(!W)return!1;let J=JSON.parse(atob(W));if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&(!("alg"in J)||J.alg!==_))return!1;return!0}catch{return!1}}function hH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function Q9($,_,U,W,J,X){let G=U in W;if($.issues.length){if(J&&X&&!G)return;_.issues.push(...k_(U,$.issues))}if(!G&&!J){if(!$.issues.length)_.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if($.value===void 0){if(G)_.value[U]=void 0}else _.value[U]=$.value}function $3($){let _=Object.keys($.shape);for(let W of _)if(!$.shape?.[W]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${W}": expected a Zod schema`);let U=FQ($.shape);return{...$,keys:_,keySet:new Set(_),numKeys:_.length,optionalKeys:new Set(U)}}function _3($,_,U,W,J,X){let G=[],Q=J.keySet,Y=J.catchall._zod,j=Y.def.type,O=Y.optin==="optional",B=Y.optout==="optional";for(let V in _){if(V==="__proto__")continue;if(Q.has(V))continue;if(j==="never"){G.push(V);continue}let L=Y.run({value:_[V],issues:[]},W);if(L instanceof Promise)$.push(L.then((N)=>Q9(N,U,V,_,O,B)));else Q9(L,U,V,_,O,B)}if(G.length)U.issues.push({code:"unrecognized_keys",keys:G,input:_,inst:X});if(!$.length)return U;return Promise.all($).then(()=>{return U})}function xH($,_,U,W){for(let X of $)if(X.issues.length===0)return _.value=X.value,_;let J=$.filter((X)=>!c4(X));if(J.length===1)return _.value=J[0].value,J[0];return _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>b_(G,W,__())))}),_}function mH($,_,U,W){let J=$.filter((X)=>X.issues.length===0);if(J.length===1)return _.value=J[0].value,_;if(J.length===0)_.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>b_(G,W,__())))});else _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:[],inclusive:!1});return _}function MY($,_){if($===_)return{valid:!0,data:$};if($ instanceof Date&&_ instanceof Date&&+$===+_)return{valid:!0,data:$};if(d4($)&&d4(_)){let U=Object.keys(_),W=Object.keys($).filter((X)=>U.indexOf(X)!==-1),J={...$,..._};for(let X of W){let G=MY($[X],_[X]);if(!G.valid)return{valid:!1,mergeErrorPath:[X,...G.mergeErrorPath]};J[X]=G.data}return{valid:!0,data:J}}if(Array.isArray($)&&Array.isArray(_)){if($.length!==_.length)return{valid:!1,mergeErrorPath:[]};let U=[];for(let W=0;W<$.length;W++){let J=$[W],X=_[W],G=MY(J,X);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};U.push(G.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function uH($,_,U){let W=new Map,J;for(let Q of _.issues)if(Q.code==="unrecognized_keys"){J??(J=Q);for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).l=!0}}else $.issues.push(Q);for(let Q of U.issues)if(Q.code==="unrecognized_keys")for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).r=!0}else $.issues.push(Q);let X=[...W].filter(([,Q])=>Q.l&&Q.r).map(([Q])=>Q);if(X.length&&J)$.issues.push({...J,keys:X});if(c4($))return $;let G=MY(_.value,U.value);if(!G.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(G.mergeErrorPath)}`);return $.value=G.data,$}function dH($,_){for(let U=$.length-1;U>=0;U--)if($[U]._zod[_]!=="optional")return U+1;return 0}function cH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function nH($,_,U,W,J){for(let X=0;X<U.length;X++){let G=$[X],Q=X<W.length;if(G.issues.length){if(!Q&&X>=J){_.value.length=X;break}_.issues.push(...k_(X,G.issues))}_.value[X]=G.value}for(let X=_.value.length-1;X>=W.length;X--)if(U[X]._zod.optout==="optional"&&_.value[X]===void 0)_.value.length=X;else break;return _}function lH($,_,U,W,J,X,G){if($.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,$.issues));else U.issues.push({code:"invalid_key",origin:"map",input:J,inst:X,issues:$.issues.map((Q)=>b_(Q,G,__()))});if(_.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,_.issues));else U.issues.push({origin:"map",code:"invalid_element",input:J,inst:X,key:W,issues:_.issues.map((Q)=>b_(Q,G,__()))});U.value.set($.value,_.value)}function iH($,_){if($.issues.length)_.issues.push(...$.issues);_.value.add($.value)}function rH($,_){if(_===void 0&&($.issues.length||$.fallback))return{issues:[],value:void 0};return $}function pH($,_){if($.value===void 0)$.value=_.defaultValue;return $}function oH($,_){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:_});return $}function W9($,_,U){if($.issues.length)return $.aborted=!0,$;return _._zod.run({value:$.value,issues:$.issues,fallback:$.fallback},U)}function X9($,_,U){if($.issues.length)return $.aborted=!0,$;if((U.direction||"forward")==="forward"){let J=_.transform($.value,$);if(J instanceof Promise)return J.then((X)=>G9($,X,_.out,U));return G9($,J,_.out,U)}else{let J=_.reverseTransform($.value,$);if(J instanceof Promise)return J.then((X)=>G9($,X,_.in,U));return G9($,J,_.in,U)}}function G9($,_,U,W){if($.issues.length)return $.aborted=!0,$;return U._zod.run({value:_,issues:$.issues},W)}function tH($){return $.value=Object.freeze($.value),$}function aH($,_,U,W){if(!$){let J={code:"custom",input:U,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)J.params=W._zod.def.params;_.issues.push(w2(J))}}var D$,u0,u$,IY,gY,wY,kY,PY,fY,CY,TY,SY,ZY,vY,yY,hY,xY,mY,uY,dY,cY,nY,lY,rY,pY,oY,tY,aY,Y9,sY,BJ,j9,eY,$j,_j,Uj,Jj,Wj,Xj,Gj,Qj,Yj,U3,jj,HJ,Dj,zj,qj,D9,Oj,Lj,Nj,Bj,Hj,Vj,Rj,z9,Aj,Ej,Fj,Kj,bj,Mj,Ij,gj,q9,VJ,wj,kj,Pj,fj,Cj,Tj,Sj;var Zj=y(()=>{U9();h0();kQ();eX();p();bY();p();D$=F("$ZodType",($,_)=>{var U;$??($={}),$._zod.def=_,$._zod.bag=$._zod.bag||{},$._zod.version=KY;let W=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))W.unshift($);for(let J of W)for(let X of J._zod.onattach)X($);if(W.length===0)(U=$._zod).deferred??(U.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let J=(G,Q,Y)=>{let j=c4(G),O;for(let B of Q){if(B._zod.def.when){if(MQ(G))continue;if(!B._zod.def.when(G))continue}else if(j)continue;let V=G.issues.length,L=B._zod.check(G);if(L instanceof Promise&&Y?.async===!1)throw new y6;if(O||L instanceof Promise)O=(O??Promise.resolve()).then(async()=>{if(await L,G.issues.length===V)return;if(!j)j=c4(G,V)});else{if(G.issues.length===V)continue;if(!j)j=c4(G,V)}}if(O)return O.then(()=>{return G});return G},X=(G,Q,Y)=>{if(c4(G))return G.aborted=!0,G;let j=J(Q,W,Y);if(j instanceof Promise){if(Y.async===!1)throw new y6;return j.then((O)=>$._zod.parse(O,Y))}return $._zod.parse(j,Y)};$._zod.run=(G,Q)=>{if(Q.skipChecks)return $._zod.parse(G,Q);if(Q.direction==="backward"){let j=$._zod.parse({value:G.value,issues:[]},{...Q,skipChecks:!0});if(j instanceof Promise)return j.then((O)=>{return X(O,G,Q)});return X(j,G,Q)}let Y=$._zod.parse(G,Q);if(Y instanceof Promise){if(Q.async===!1)throw new y6;return Y.then((j)=>J(j,W,Q))}return J(Y,W,Q)}}K$($,"~standard",()=>({validate:(J)=>{try{let X=gQ($,J);return X.success?{value:X.data}:{issues:X.error?.issues}}catch(X){return wQ($,J).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}))}),u0=F("$ZodString",($,_)=>{D$.init($,_),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??aQ($._zod.bag),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=String(U.value)}catch(J){}if(typeof U.value==="string")return U;return U.issues.push({expected:"string",code:"invalid_type",input:U.value,inst:$}),U}}),u$=F("$ZodStringFormat",($,_)=>{Z2.init($,_),u0.init($,_)}),IY=F("$ZodGUID",($,_)=>{_.pattern??(_.pattern=yQ),u$.init($,_)}),gY=F("$ZodUUID",($,_)=>{if(_.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[_.version];if(W===void 0)throw Error(`Invalid UUID version: "${_.version}"`);_.pattern??(_.pattern=m0(W))}else _.pattern??(_.pattern=m0());u$.init($,_)}),wY=F("$ZodEmail",($,_)=>{_.pattern??(_.pattern=hQ),u$.init($,_)}),kY=F("$ZodURL",($,_)=>{u$.init($,_),$._zod.check=(U)=>{try{let W=U.value.trim();if(!_.normalize&&_.protocol?.source===iQ.source){if(!/^https?:\/\//i.test(W)){U.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:U.value,inst:$,continue:!_.abort});return}}let J=new URL(W);if(_.hostname){if(_.hostname.lastIndex=0,!_.hostname.test(J.hostname))U.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:_.hostname.source,input:U.value,inst:$,continue:!_.abort})}if(_.protocol){if(_.protocol.lastIndex=0,!_.protocol.test(J.protocol.endsWith(":")?J.protocol.slice(0,-1):J.protocol))U.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:_.protocol.source,input:U.value,inst:$,continue:!_.abort})}if(_.normalize)U.value=J.href;else U.value=W;return}catch(W){U.issues.push({code:"invalid_format",format:"url",input:U.value,inst:$,continue:!_.abort})}}}),PY=F("$ZodEmoji",($,_)=>{_.pattern??(_.pattern=xQ()),u$.init($,_)}),fY=F("$ZodNanoID",($,_)=>{_.pattern??(_.pattern=ZQ),u$.init($,_)}),CY=F("$ZodCUID",($,_)=>{_.pattern??(_.pattern=PQ),u$.init($,_)}),TY=F("$ZodCUID2",($,_)=>{_.pattern??(_.pattern=fQ),u$.init($,_)}),SY=F("$ZodULID",($,_)=>{_.pattern??(_.pattern=CQ),u$.init($,_)}),ZY=F("$ZodXID",($,_)=>{_.pattern??(_.pattern=TQ),u$.init($,_)}),vY=F("$ZodKSUID",($,_)=>{_.pattern??(_.pattern=SQ),u$.init($,_)}),yY=F("$ZodISODateTime",($,_)=>{_.pattern??(_.pattern=tQ(_)),u$.init($,_)}),hY=F("$ZodISODate",($,_)=>{_.pattern??(_.pattern=pQ),u$.init($,_)}),xY=F("$ZodISOTime",($,_)=>{_.pattern??(_.pattern=oQ(_)),u$.init($,_)}),mY=F("$ZodISODuration",($,_)=>{_.pattern??(_.pattern=vQ),u$.init($,_)}),uY=F("$ZodIPv4",($,_)=>{_.pattern??(_.pattern=mQ),u$.init($,_),$._zod.bag.format="ipv4"}),dY=F("$ZodIPv6",($,_)=>{_.pattern??(_.pattern=uQ),u$.init($,_),$._zod.bag.format="ipv6",$._zod.check=(U)=>{try{new URL(`http://[${U.value}]`)}catch{U.issues.push({code:"invalid_format",format:"ipv6",input:U.value,inst:$,continue:!_.abort})}}}),cY=F("$ZodMAC",($,_)=>{_.pattern??(_.pattern=dQ(_.delimiter)),u$.init($,_),$._zod.bag.format="mac"}),nY=F("$ZodCIDRv4",($,_)=>{_.pattern??(_.pattern=cQ),u$.init($,_)}),lY=F("$ZodCIDRv6",($,_)=>{_.pattern??(_.pattern=nQ),u$.init($,_),$._zod.check=(U)=>{let W=U.value.split("/");try{if(W.length!==2)throw Error();let[J,X]=W;if(!X)throw Error();let G=Number(X);if(`${G}`!==X)throw Error();if(G<0||G>128)throw Error();new URL(`http://[${J}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:$,continue:!_.abort})}}});rY=F("$ZodBase64",($,_)=>{_.pattern??(_.pattern=lQ),u$.init($,_),$._zod.bag.contentEncoding="base64",$._zod.check=(U)=>{if(iY(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:$,continue:!_.abort})}});pY=F("$ZodBase64URL",($,_)=>{_.pattern??(_.pattern=sX),u$.init($,_),$._zod.bag.contentEncoding="base64url",$._zod.check=(U)=>{if(sH(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:$,continue:!_.abort})}}),oY=F("$ZodE164",($,_)=>{_.pattern??(_.pattern=rQ),u$.init($,_)});tY=F("$ZodJWT",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(eH(U.value,_.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:$,continue:!_.abort})}}),aY=F("$ZodCustomStringFormat",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(_.fn(U.value))return;U.issues.push({code:"invalid_format",format:_.format,input:U.value,inst:$,continue:!_.abort})}}),Y9=F("$ZodNumber",($,_)=>{D$.init($,_),$._zod.pattern=$._zod.bag.pattern??OJ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Number(U.value)}catch(G){}let J=U.value;if(typeof J==="number"&&!Number.isNaN(J)&&Number.isFinite(J))return U;let X=typeof J==="number"?Number.isNaN(J)?"NaN":!Number.isFinite(J)?"Infinity":void 0:void 0;return U.issues.push({expected:"number",code:"invalid_type",input:J,inst:$,...X?{received:X}:{}}),U}}),sY=F("$ZodNumberFormat",($,_)=>{GY.init($,_),Y9.init($,_)}),BJ=F("$ZodBoolean",($,_)=>{D$.init($,_),$._zod.pattern=$Y,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Boolean(U.value)}catch(X){}let J=U.value;if(typeof J==="boolean")return U;return U.issues.push({expected:"boolean",code:"invalid_type",input:J,inst:$}),U}}),j9=F("$ZodBigInt",($,_)=>{D$.init($,_),$._zod.pattern=sQ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=BigInt(U.value)}catch(J){}if(typeof U.value==="bigint")return U;return U.issues.push({expected:"bigint",code:"invalid_type",input:U.value,inst:$}),U}}),eY=F("$ZodBigIntFormat",($,_)=>{QY.init($,_),j9.init($,_)}),$j=F("$ZodSymbol",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J==="symbol")return U;return U.issues.push({expected:"symbol",code:"invalid_type",input:J,inst:$}),U}}),_j=F("$ZodUndefined",($,_)=>{D$.init($,_),$._zod.pattern=UY,$._zod.values=new Set([void 0]),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"undefined",code:"invalid_type",input:J,inst:$}),U}}),Uj=F("$ZodNull",($,_)=>{D$.init($,_),$._zod.pattern=_Y,$._zod.values=new Set([null]),$._zod.parse=(U,W)=>{let J=U.value;if(J===null)return U;return U.issues.push({expected:"null",code:"invalid_type",input:J,inst:$}),U}}),Jj=F("$ZodAny",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Wj=F("$ZodUnknown",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Xj=F("$ZodNever",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:$}),U}}),Gj=F("$ZodVoid",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"void",code:"invalid_type",input:J,inst:$}),U}}),Qj=F("$ZodDate",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=new Date(U.value)}catch(Q){}let J=U.value,X=J instanceof Date;if(X&&!Number.isNaN(J.getTime()))return U;return U.issues.push({expected:"date",code:"invalid_type",input:J,...X?{received:"Invalid Date"}:{},inst:$}),U}});Yj=F("$ZodArray",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!Array.isArray(J))return U.issues.push({expected:"array",code:"invalid_type",input:J,inst:$}),U;U.value=Array(J.length);let X=[];for(let G=0;G<J.length;G++){let Q=J[G],Y=_.element._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)X.push(Y.then((j)=>hH(j,U,G)));else hH(Y,U,G)}if(X.length)return Promise.all(X).then(()=>U);return U}});U3=F("$ZodObject",($,_)=>{if(D$.init($,_),!Object.getOwnPropertyDescriptor(_,"shape")?.get){let Q=_.shape;Object.defineProperty(_,"shape",{get:()=>{let Y={...Q};return Object.defineProperty(_,"shape",{value:Y}),Y}})}let W=g2(()=>$3(_));K$($._zod,"propValues",()=>{let Q=_.shape,Y={};for(let j in Q){let O=Q[j]._zod;if(O.values){Y[j]??(Y[j]=new Set);for(let B of O.values)Y[j].add(B)}}return Y});let J=x0,X=_.catchall,G;$._zod.parse=(Q,Y)=>{G??(G=W.value);let j=Q.value;if(!J(j))return Q.issues.push({expected:"object",code:"invalid_type",input:j,inst:$}),Q;Q.value={};let O=[],B=G.shape;for(let V of G.keys){let L=B[V],N=L._zod.optin==="optional",H=L._zod.optout==="optional",R=L._zod.run({value:j[V],issues:[]},Y);if(R instanceof Promise)O.push(R.then((E)=>Q9(E,Q,V,j,N,H)));else Q9(R,Q,V,j,N,H)}if(!X)return O.length?Promise.all(O).then(()=>Q):Q;return _3(O,j,Q,Y,W.value,$)}}),jj=F("$ZodObjectJIT",($,_)=>{U3.init($,_);let U=$._zod.parse,W=g2(()=>$3(_)),J=(V)=>{let L=new J9(["shape","payload","ctx"]),N=W.value,H=(M)=>{let K=hX(M);return`shape[${K}]._zod.run({ value: input[${K}], issues: [] }, ctx)`};L.write("const input = payload.value;");let R=Object.create(null),E=0;for(let M of N.keys)R[M]=`key_${E++}`;L.write("const newResult = {};");for(let M of N.keys){let K=R[M],I=hX(M),Z=V[M],k=Z?._zod?.optin==="optional",i=Z?._zod?.optout==="optional";if(L.write(`const ${K} = ${H(M)};`),k&&i)L.write(` +`))}}var KY;var bY=y(()=>{KY={major:4,minor:4,patch:3}});function iY($){if($==="")return!0;if(/\s/.test($))return!1;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}function _3($){if(!eX.test($))return!1;let _=$.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),U=_.padEnd(Math.ceil(_.length/4)*4,"=");return iY(U)}function U3($,_=null){try{let U=$.split(".");if(U.length!==3)return!1;let[W]=U;if(!W)return!1;let J=JSON.parse(atob(W));if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&(!("alg"in J)||J.alg!==_))return!1;return!0}catch{return!1}}function uH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function Y9($,_,U,W,J,X){let G=U in W;if($.issues.length){if(J&&X&&!G)return;_.issues.push(...k_(U,$.issues))}if(!G&&!J){if(!$.issues.length)_.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if($.value===void 0){if(G)_.value[U]=void 0}else _.value[U]=$.value}function J3($){let _=Object.keys($.shape);for(let W of _)if(!$.shape?.[W]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${W}": expected a Zod schema`);let U=EQ($.shape);return{...$,keys:_,keySet:new Set(_),numKeys:_.length,optionalKeys:new Set(U)}}function W3($,_,U,W,J,X){let G=[],Q=J.keySet,Y=J.catchall._zod,j=Y.def.type,O=Y.optin==="optional",B=Y.optout==="optional";for(let V in _){if(V==="__proto__")continue;if(Q.has(V))continue;if(j==="never"){G.push(V);continue}let L=Y.run({value:_[V],issues:[]},W);if(L instanceof Promise)$.push(L.then((N)=>Y9(N,U,V,_,O,B)));else Y9(L,U,V,_,O,B)}if(G.length)U.issues.push({code:"unrecognized_keys",keys:G,input:_,inst:X});if(!$.length)return U;return Promise.all($).then(()=>{return U})}function dH($,_,U,W){for(let X of $)if(X.issues.length===0)return _.value=X.value,_;let J=$.filter((X)=>!n4(X));if(J.length===1)return _.value=J[0].value,J[0];return _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>b_(G,W,__())))}),_}function cH($,_,U,W){let J=$.filter((X)=>X.issues.length===0);if(J.length===1)return _.value=J[0].value,_;if(J.length===0)_.issues.push({code:"invalid_union",input:_.value,inst:U,errors:$.map((X)=>X.issues.map((G)=>b_(G,W,__())))});else _.issues.push({code:"invalid_union",input:_.value,inst:U,errors:[],inclusive:!1});return _}function MY($,_){if($===_)return{valid:!0,data:$};if($ instanceof Date&&_ instanceof Date&&+$===+_)return{valid:!0,data:$};if(c4($)&&c4(_)){let U=Object.keys(_),W=Object.keys($).filter((X)=>U.indexOf(X)!==-1),J={...$,..._};for(let X of W){let G=MY($[X],_[X]);if(!G.valid)return{valid:!1,mergeErrorPath:[X,...G.mergeErrorPath]};J[X]=G.data}return{valid:!0,data:J}}if(Array.isArray($)&&Array.isArray(_)){if($.length!==_.length)return{valid:!1,mergeErrorPath:[]};let U=[];for(let W=0;W<$.length;W++){let J=$[W],X=_[W],G=MY(J,X);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};U.push(G.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function nH($,_,U){let W=new Map,J;for(let Q of _.issues)if(Q.code==="unrecognized_keys"){J??(J=Q);for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).l=!0}}else $.issues.push(Q);for(let Q of U.issues)if(Q.code==="unrecognized_keys")for(let Y of Q.keys){if(!W.has(Y))W.set(Y,{});W.get(Y).r=!0}else $.issues.push(Q);let X=[...W].filter(([,Q])=>Q.l&&Q.r).map(([Q])=>Q);if(X.length&&J)$.issues.push({...J,keys:X});if(n4($))return $;let G=MY(_.value,U.value);if(!G.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(G.mergeErrorPath)}`);return $.value=G.data,$}function lH($,_){for(let U=$.length-1;U>=0;U--)if($[U]._zod[_]!=="optional")return U+1;return 0}function iH($,_,U){if($.issues.length)_.issues.push(...k_(U,$.issues));_.value[U]=$.value}function rH($,_,U,W,J){for(let X=0;X<U.length;X++){let G=$[X],Q=X<W.length;if(G.issues.length){if(!Q&&X>=J){_.value.length=X;break}_.issues.push(...k_(X,G.issues))}_.value[X]=G.value}for(let X=_.value.length-1;X>=W.length;X--)if(U[X]._zod.optout==="optional"&&_.value[X]===void 0)_.value.length=X;else break;return _}function pH($,_,U,W,J,X,G){if($.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,$.issues));else U.issues.push({code:"invalid_key",origin:"map",input:J,inst:X,issues:$.issues.map((Q)=>b_(Q,G,__()))});if(_.issues.length)if(jJ.has(typeof W))U.issues.push(...k_(W,_.issues));else U.issues.push({origin:"map",code:"invalid_element",input:J,inst:X,key:W,issues:_.issues.map((Q)=>b_(Q,G,__()))});U.value.set($.value,_.value)}function oH($,_){if($.issues.length)_.issues.push(...$.issues);_.value.add($.value)}function tH($,_){if(_===void 0&&($.issues.length||$.fallback))return{issues:[],value:void 0};return $}function aH($,_){if($.value===void 0)$.value=_.defaultValue;return $}function sH($,_){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:_});return $}function X9($,_,U){if($.issues.length)return $.aborted=!0,$;return _._zod.run({value:$.value,issues:$.issues,fallback:$.fallback},U)}function G9($,_,U){if($.issues.length)return $.aborted=!0,$;if((U.direction||"forward")==="forward"){let J=_.transform($.value,$);if(J instanceof Promise)return J.then((X)=>Q9($,X,_.out,U));return Q9($,J,_.out,U)}else{let J=_.reverseTransform($.value,$);if(J instanceof Promise)return J.then((X)=>Q9($,X,_.in,U));return Q9($,J,_.in,U)}}function Q9($,_,U,W){if($.issues.length)return $.aborted=!0,$;return U._zod.run({value:_,issues:$.issues},W)}function eH($){return $.value=Object.freeze($.value),$}function $3($,_,U,W){if(!$){let J={code:"custom",input:U,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)J.params=W._zod.def.params;_.issues.push(k2(J))}}var D$,d0,u$,IY,gY,wY,kY,PY,fY,CY,TY,SY,ZY,vY,yY,hY,xY,mY,uY,dY,cY,nY,lY,rY,pY,oY,tY,aY,j9,sY,BJ,D9,eY,$j,_j,Uj,Jj,Wj,Xj,Gj,Qj,Yj,X3,jj,HJ,Dj,zj,qj,z9,Oj,Lj,Nj,Bj,Hj,Vj,Rj,q9,Aj,Fj,Ej,Kj,bj,Mj,Ij,gj,O9,VJ,wj,kj,Pj,fj,Cj,Tj,Sj;var Zj=y(()=>{J9();x0();kQ();$9();p();bY();p();D$=E("$ZodType",($,_)=>{var U;$??($={}),$._zod.def=_,$._zod.bag=$._zod.bag||{},$._zod.version=KY;let W=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))W.unshift($);for(let J of W)for(let X of J._zod.onattach)X($);if(W.length===0)(U=$._zod).deferred??(U.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let J=(G,Q,Y)=>{let j=n4(G),O;for(let B of Q){if(B._zod.def.when){if(MQ(G))continue;if(!B._zod.def.when(G))continue}else if(j)continue;let V=G.issues.length,L=B._zod.check(G);if(L instanceof Promise&&Y?.async===!1)throw new y6;if(O||L instanceof Promise)O=(O??Promise.resolve()).then(async()=>{if(await L,G.issues.length===V)return;if(!j)j=n4(G,V)});else{if(G.issues.length===V)continue;if(!j)j=n4(G,V)}}if(O)return O.then(()=>{return G});return G},X=(G,Q,Y)=>{if(n4(G))return G.aborted=!0,G;let j=J(Q,W,Y);if(j instanceof Promise){if(Y.async===!1)throw new y6;return j.then((O)=>$._zod.parse(O,Y))}return $._zod.parse(j,Y)};$._zod.run=(G,Q)=>{if(Q.skipChecks)return $._zod.parse(G,Q);if(Q.direction==="backward"){let j=$._zod.parse({value:G.value,issues:[]},{...Q,skipChecks:!0});if(j instanceof Promise)return j.then((O)=>{return X(O,G,Q)});return X(j,G,Q)}let Y=$._zod.parse(G,Q);if(Y instanceof Promise){if(Q.async===!1)throw new y6;return Y.then((j)=>J(j,W,Q))}return J(Y,W,Q)}}K$($,"~standard",()=>({validate:(J)=>{try{let X=gQ($,J);return X.success?{value:X.data}:{issues:X.error?.issues}}catch(X){return wQ($,J).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}))}),d0=E("$ZodString",($,_)=>{D$.init($,_),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??aQ($._zod.bag),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=String(U.value)}catch(J){}if(typeof U.value==="string")return U;return U.issues.push({expected:"string",code:"invalid_type",input:U.value,inst:$}),U}}),u$=E("$ZodStringFormat",($,_)=>{v2.init($,_),d0.init($,_)}),IY=E("$ZodGUID",($,_)=>{_.pattern??(_.pattern=yQ),u$.init($,_)}),gY=E("$ZodUUID",($,_)=>{if(_.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[_.version];if(W===void 0)throw Error(`Invalid UUID version: "${_.version}"`);_.pattern??(_.pattern=u0(W))}else _.pattern??(_.pattern=u0());u$.init($,_)}),wY=E("$ZodEmail",($,_)=>{_.pattern??(_.pattern=hQ),u$.init($,_)}),kY=E("$ZodURL",($,_)=>{u$.init($,_),$._zod.check=(U)=>{try{let W=U.value.trim();if(!_.normalize&&_.protocol?.source===iQ.source){if(!/^https?:\/\//i.test(W)){U.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:U.value,inst:$,continue:!_.abort});return}}let J=new URL(W);if(_.hostname){if(_.hostname.lastIndex=0,!_.hostname.test(J.hostname))U.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:_.hostname.source,input:U.value,inst:$,continue:!_.abort})}if(_.protocol){if(_.protocol.lastIndex=0,!_.protocol.test(J.protocol.endsWith(":")?J.protocol.slice(0,-1):J.protocol))U.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:_.protocol.source,input:U.value,inst:$,continue:!_.abort})}if(_.normalize)U.value=J.href;else U.value=W;return}catch(W){U.issues.push({code:"invalid_format",format:"url",input:U.value,inst:$,continue:!_.abort})}}}),PY=E("$ZodEmoji",($,_)=>{_.pattern??(_.pattern=xQ()),u$.init($,_)}),fY=E("$ZodNanoID",($,_)=>{_.pattern??(_.pattern=ZQ),u$.init($,_)}),CY=E("$ZodCUID",($,_)=>{_.pattern??(_.pattern=PQ),u$.init($,_)}),TY=E("$ZodCUID2",($,_)=>{_.pattern??(_.pattern=fQ),u$.init($,_)}),SY=E("$ZodULID",($,_)=>{_.pattern??(_.pattern=CQ),u$.init($,_)}),ZY=E("$ZodXID",($,_)=>{_.pattern??(_.pattern=TQ),u$.init($,_)}),vY=E("$ZodKSUID",($,_)=>{_.pattern??(_.pattern=SQ),u$.init($,_)}),yY=E("$ZodISODateTime",($,_)=>{_.pattern??(_.pattern=tQ(_)),u$.init($,_)}),hY=E("$ZodISODate",($,_)=>{_.pattern??(_.pattern=pQ),u$.init($,_)}),xY=E("$ZodISOTime",($,_)=>{_.pattern??(_.pattern=oQ(_)),u$.init($,_)}),mY=E("$ZodISODuration",($,_)=>{_.pattern??(_.pattern=vQ),u$.init($,_)}),uY=E("$ZodIPv4",($,_)=>{_.pattern??(_.pattern=mQ),u$.init($,_),$._zod.bag.format="ipv4"}),dY=E("$ZodIPv6",($,_)=>{_.pattern??(_.pattern=uQ),u$.init($,_),$._zod.bag.format="ipv6",$._zod.check=(U)=>{try{new URL(`http://[${U.value}]`)}catch{U.issues.push({code:"invalid_format",format:"ipv6",input:U.value,inst:$,continue:!_.abort})}}}),cY=E("$ZodMAC",($,_)=>{_.pattern??(_.pattern=dQ(_.delimiter)),u$.init($,_),$._zod.bag.format="mac"}),nY=E("$ZodCIDRv4",($,_)=>{_.pattern??(_.pattern=cQ),u$.init($,_)}),lY=E("$ZodCIDRv6",($,_)=>{_.pattern??(_.pattern=nQ),u$.init($,_),$._zod.check=(U)=>{let W=U.value.split("/");try{if(W.length!==2)throw Error();let[J,X]=W;if(!X)throw Error();let G=Number(X);if(`${G}`!==X)throw Error();if(G<0||G>128)throw Error();new URL(`http://[${J}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:$,continue:!_.abort})}}});rY=E("$ZodBase64",($,_)=>{_.pattern??(_.pattern=lQ),u$.init($,_),$._zod.bag.contentEncoding="base64",$._zod.check=(U)=>{if(iY(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:$,continue:!_.abort})}});pY=E("$ZodBase64URL",($,_)=>{_.pattern??(_.pattern=eX),u$.init($,_),$._zod.bag.contentEncoding="base64url",$._zod.check=(U)=>{if(_3(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:$,continue:!_.abort})}}),oY=E("$ZodE164",($,_)=>{_.pattern??(_.pattern=rQ),u$.init($,_)});tY=E("$ZodJWT",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(U3(U.value,_.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:$,continue:!_.abort})}}),aY=E("$ZodCustomStringFormat",($,_)=>{u$.init($,_),$._zod.check=(U)=>{if(_.fn(U.value))return;U.issues.push({code:"invalid_format",format:_.format,input:U.value,inst:$,continue:!_.abort})}}),j9=E("$ZodNumber",($,_)=>{D$.init($,_),$._zod.pattern=$._zod.bag.pattern??OJ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Number(U.value)}catch(G){}let J=U.value;if(typeof J==="number"&&!Number.isNaN(J)&&Number.isFinite(J))return U;let X=typeof J==="number"?Number.isNaN(J)?"NaN":!Number.isFinite(J)?"Infinity":void 0:void 0;return U.issues.push({expected:"number",code:"invalid_type",input:J,inst:$,...X?{received:X}:{}}),U}}),sY=E("$ZodNumberFormat",($,_)=>{GY.init($,_),j9.init($,_)}),BJ=E("$ZodBoolean",($,_)=>{D$.init($,_),$._zod.pattern=$Y,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=Boolean(U.value)}catch(X){}let J=U.value;if(typeof J==="boolean")return U;return U.issues.push({expected:"boolean",code:"invalid_type",input:J,inst:$}),U}}),D9=E("$ZodBigInt",($,_)=>{D$.init($,_),$._zod.pattern=sQ,$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=BigInt(U.value)}catch(J){}if(typeof U.value==="bigint")return U;return U.issues.push({expected:"bigint",code:"invalid_type",input:U.value,inst:$}),U}}),eY=E("$ZodBigIntFormat",($,_)=>{QY.init($,_),D9.init($,_)}),$j=E("$ZodSymbol",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J==="symbol")return U;return U.issues.push({expected:"symbol",code:"invalid_type",input:J,inst:$}),U}}),_j=E("$ZodUndefined",($,_)=>{D$.init($,_),$._zod.pattern=UY,$._zod.values=new Set([void 0]),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"undefined",code:"invalid_type",input:J,inst:$}),U}}),Uj=E("$ZodNull",($,_)=>{D$.init($,_),$._zod.pattern=_Y,$._zod.values=new Set([null]),$._zod.parse=(U,W)=>{let J=U.value;if(J===null)return U;return U.issues.push({expected:"null",code:"invalid_type",input:J,inst:$}),U}}),Jj=E("$ZodAny",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Wj=E("$ZodUnknown",($,_)=>{D$.init($,_),$._zod.parse=(U)=>U}),Xj=E("$ZodNever",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:$}),U}}),Gj=E("$ZodVoid",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(typeof J>"u")return U;return U.issues.push({expected:"void",code:"invalid_type",input:J,inst:$}),U}}),Qj=E("$ZodDate",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(_.coerce)try{U.value=new Date(U.value)}catch(Q){}let J=U.value,X=J instanceof Date;if(X&&!Number.isNaN(J.getTime()))return U;return U.issues.push({expected:"date",code:"invalid_type",input:J,...X?{received:"Invalid Date"}:{},inst:$}),U}});Yj=E("$ZodArray",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!Array.isArray(J))return U.issues.push({expected:"array",code:"invalid_type",input:J,inst:$}),U;U.value=Array(J.length);let X=[];for(let G=0;G<J.length;G++){let Q=J[G],Y=_.element._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)X.push(Y.then((j)=>uH(j,U,G)));else uH(Y,U,G)}if(X.length)return Promise.all(X).then(()=>U);return U}});X3=E("$ZodObject",($,_)=>{if(D$.init($,_),!Object.getOwnPropertyDescriptor(_,"shape")?.get){let Q=_.shape;Object.defineProperty(_,"shape",{get:()=>{let Y={...Q};return Object.defineProperty(_,"shape",{value:Y}),Y}})}let W=w2(()=>J3(_));K$($._zod,"propValues",()=>{let Q=_.shape,Y={};for(let j in Q){let O=Q[j]._zod;if(O.values){Y[j]??(Y[j]=new Set);for(let B of O.values)Y[j].add(B)}}return Y});let J=m0,X=_.catchall,G;$._zod.parse=(Q,Y)=>{G??(G=W.value);let j=Q.value;if(!J(j))return Q.issues.push({expected:"object",code:"invalid_type",input:j,inst:$}),Q;Q.value={};let O=[],B=G.shape;for(let V of G.keys){let L=B[V],N=L._zod.optin==="optional",H=L._zod.optout==="optional",R=L._zod.run({value:j[V],issues:[]},Y);if(R instanceof Promise)O.push(R.then((F)=>Y9(F,Q,V,j,N,H)));else Y9(R,Q,V,j,N,H)}if(!X)return O.length?Promise.all(O).then(()=>Q):Q;return W3(O,j,Q,Y,W.value,$)}}),jj=E("$ZodObjectJIT",($,_)=>{X3.init($,_);let U=$._zod.parse,W=w2(()=>J3(_)),J=(V)=>{let L=new W9(["shape","payload","ctx"]),N=W.value,H=(M)=>{let K=xX(M);return`shape[${K}]._zod.run({ value: input[${K}], issues: [] }, ctx)`};L.write("const input = payload.value;");let R=Object.create(null),F=0;for(let M of N.keys)R[M]=`key_${F++}`;L.write("const newResult = {};");for(let M of N.keys){let K=R[M],I=xX(M),Z=V[M],k=Z?._zod?.optin==="optional",i=Z?._zod?.optout==="optional";if(L.write(`const ${K} = ${H(M)};`),k&&i)L.write(` if (${K}.issues.length) { if (${I} in input) { payload.issues = payload.issues.concat(${K}.issues.map(iss => ({ @@ -62,40 +62,40 @@ var fE=Object.create;var{getPrototypeOf:CE,defineProperty:vG,getOwnPropertyNames newResult[${I}] = ${K}.value; } - `)}L.write("payload.value = newResult;"),L.write("return payload;");let A=L.compile();return(M,K)=>A(V,M,K)},X,G=x0,Q=!v0.jitless,j=Q&&RQ.value,O=_.catchall,B;$._zod.parse=(V,L)=>{B??(B=W.value);let N=V.value;if(!G(N))return V.issues.push({expected:"object",code:"invalid_type",input:N,inst:$}),V;if(Q&&j&&L?.async===!1&&L.jitless!==!0){if(!X)X=J(_.shape);if(V=X(V,L),!O)return V;return _3([],N,V,L,B,$)}return U(V,L)}});HJ=F("$ZodUnion",($,_)=>{D$.init($,_),K$($._zod,"optin",()=>_.options.some((W)=>W._zod.optin==="optional")?"optional":void 0),K$($._zod,"optout",()=>_.options.some((W)=>W._zod.optout==="optional")?"optional":void 0),K$($._zod,"values",()=>{if(_.options.every((W)=>W._zod.values))return new Set(_.options.flatMap((W)=>Array.from(W._zod.values)));return}),K$($._zod,"pattern",()=>{if(_.options.every((W)=>W._zod.pattern)){let W=_.options.map((J)=>J._zod.pattern);return new RegExp(`^(${W.map((J)=>YJ(J.source)).join("|")})$`)}return});let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else{if(Y.issues.length===0)return Y;G.push(Y)}}if(!X)return xH(G,W,$,J);return Promise.all(G).then((Q)=>{return xH(Q,W,$,J)})}});Dj=F("$ZodXor",($,_)=>{HJ.init($,_),_.inclusive=!1;let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else G.push(Y)}if(!X)return mH(G,W,$,J);return Promise.all(G).then((Q)=>{return mH(Q,W,$,J)})}}),zj=F("$ZodDiscriminatedUnion",($,_)=>{_.inclusive=!1,HJ.init($,_);let U=$._zod.parse;K$($._zod,"propValues",()=>{let J={};for(let X of _.options){let G=X._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(X)}"`);for(let[Q,Y]of Object.entries(G)){if(!J[Q])J[Q]=new Set;for(let j of Y)J[Q].add(j)}}return J});let W=g2(()=>{let J=_.options,X=new Map;for(let G of J){let Q=G._zod.propValues?.[_.discriminator];if(!Q||Q.size===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(G)}"`);for(let Y of Q){if(X.has(Y))throw Error(`Duplicate discriminator value "${String(Y)}"`);X.set(Y,G)}}return X});$._zod.parse=(J,X)=>{let G=J.value;if(!x0(G))return J.issues.push({code:"invalid_type",expected:"object",input:G,inst:$}),J;let Q=W.value.get(G?.[_.discriminator]);if(Q)return Q._zod.run(J,X);if(_.unionFallback||X.direction==="backward")return U(J,X);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:_.discriminator,options:Array.from(W.value.keys()),input:G,path:[_.discriminator],inst:$}),J}}),qj=F("$ZodIntersection",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value,X=_.left._zod.run({value:J,issues:[]},W),G=_.right._zod.run({value:J,issues:[]},W);if(X instanceof Promise||G instanceof Promise)return Promise.all([X,G]).then(([Y,j])=>{return uH(U,Y,j)});return uH(U,X,G)}});D9=F("$ZodTuple",($,_)=>{D$.init($,_);let U=_.items;$._zod.parse=(W,J)=>{let X=W.value;if(!Array.isArray(X))return W.issues.push({input:X,inst:$,expected:"tuple",code:"invalid_type"}),W;W.value=[];let G=[],Q=dH(U,"optin"),Y=dH(U,"optout");if(!_.rest){if(X.length<Q)return W.issues.push({code:"too_small",minimum:Q,inclusive:!0,input:X,inst:$,origin:"array"}),W;if(X.length>U.length)W.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:X,inst:$,origin:"array"})}let j=Array(U.length);for(let O=0;O<U.length;O++){let B=U[O]._zod.run({value:X[O],issues:[]},J);if(B instanceof Promise)G.push(B.then((V)=>{j[O]=V}));else j[O]=B}if(_.rest){let O=U.length-1,B=X.slice(U.length);for(let V of B){O++;let L=_.rest._zod.run({value:V,issues:[]},J);if(L instanceof Promise)G.push(L.then((N)=>cH(N,W,O)));else cH(L,W,O)}}if(G.length)return Promise.all(G).then(()=>nH(j,W,U,X,Y));return nH(j,W,U,X,Y)}});Oj=F("$ZodRecord",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!d4(J))return U.issues.push({expected:"record",code:"invalid_type",input:J,inst:$}),U;let X=[],G=_.keyType._zod.values;if(G){U.value={};let Q=new Set;for(let j of G)if(typeof j==="string"||typeof j==="number"||typeof j==="symbol"){Q.add(typeof j==="number"?j.toString():j);let O=_.keyType._zod.run({value:j,issues:[]},W);if(O instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(O.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:O.issues.map((L)=>b_(L,W,__())),input:j,path:[j],inst:$});continue}let B=O.value,V=_.valueType._zod.run({value:J[j],issues:[]},W);if(V instanceof Promise)X.push(V.then((L)=>{if(L.issues.length)U.issues.push(...k_(j,L.issues));U.value[B]=L.value}));else{if(V.issues.length)U.issues.push(...k_(j,V.issues));U.value[B]=V.value}}let Y;for(let j in J)if(!Q.has(j))Y=Y??[],Y.push(j);if(Y&&Y.length>0)U.issues.push({code:"unrecognized_keys",input:J,inst:$,keys:Y})}else{U.value={};for(let Q of Reflect.ownKeys(J)){if(Q==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(J,Q))continue;let Y=_.keyType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof Q==="string"&&OJ.test(Q)&&Y.issues.length){let B=_.keyType._zod.run({value:Number(Q),issues:[]},W);if(B instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(B.issues.length===0)Y=B}if(Y.issues.length){if(_.mode==="loose")U.value[Q]=J[Q];else U.issues.push({code:"invalid_key",origin:"record",issues:Y.issues.map((B)=>b_(B,W,__())),input:Q,path:[Q],inst:$});continue}let O=_.valueType._zod.run({value:J[Q],issues:[]},W);if(O instanceof Promise)X.push(O.then((B)=>{if(B.issues.length)U.issues.push(...k_(Q,B.issues));U.value[Y.value]=B.value}));else{if(O.issues.length)U.issues.push(...k_(Q,O.issues));U.value[Y.value]=O.value}}}if(X.length)return Promise.all(X).then(()=>U);return U}}),Lj=F("$ZodMap",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Map))return U.issues.push({expected:"map",code:"invalid_type",input:J,inst:$}),U;let X=[];U.value=new Map;for(let[G,Q]of J){let Y=_.keyType._zod.run({value:G,issues:[]},W),j=_.valueType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise||j instanceof Promise)X.push(Promise.all([Y,j]).then(([O,B])=>{lH(O,B,U,G,J,$,W)}));else lH(Y,j,U,G,J,$,W)}if(X.length)return Promise.all(X).then(()=>U);return U}});Nj=F("$ZodSet",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Set))return U.issues.push({input:J,inst:$,expected:"set",code:"invalid_type"}),U;let X=[];U.value=new Set;for(let G of J){let Q=_.valueType._zod.run({value:G,issues:[]},W);if(Q instanceof Promise)X.push(Q.then((Y)=>iH(Y,U)));else iH(Q,U)}if(X.length)return Promise.all(X).then(()=>U);return U}});Bj=F("$ZodEnum",($,_)=>{D$.init($,_);let U=QJ(_.entries),W=new Set(U);$._zod.values=W,$._zod.pattern=new RegExp(`^(${U.filter((J)=>jJ.has(typeof J)).map((J)=>typeof J==="string"?t_(J):J.toString()).join("|")})$`),$._zod.parse=(J,X)=>{let G=J.value;if(W.has(G))return J;return J.issues.push({code:"invalid_value",values:U,input:G,inst:$}),J}}),Hj=F("$ZodLiteral",($,_)=>{if(D$.init($,_),_.values.length===0)throw Error("Cannot create literal schema with no valid values");let U=new Set(_.values);$._zod.values=U,$._zod.pattern=new RegExp(`^(${_.values.map((W)=>typeof W==="string"?t_(W):W?t_(W.toString()):String(W)).join("|")})$`),$._zod.parse=(W,J)=>{let X=W.value;if(U.has(X))return W;return W.issues.push({code:"invalid_value",values:_.values,input:X,inst:$}),W}}),Vj=F("$ZodFile",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(J instanceof File)return U;return U.issues.push({expected:"file",code:"invalid_type",input:J,inst:$}),U}}),Rj=F("$ZodTransform",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0($.constructor.name);let J=_.transform(U.value,U);if(W.async)return(J instanceof Promise?J:Promise.resolve(J)).then((G)=>{return U.value=G,U.fallback=!0,U});if(J instanceof Promise)throw new y6;return U.value=J,U.fallback=!0,U}});z9=F("$ZodOptional",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.optout="optional",K$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,void 0]):void 0}),K$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)})?$`):void 0}),$._zod.parse=(U,W)=>{if(_.innerType._zod.optin==="optional"){let J=U.value,X=_.innerType._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>rH(G,J));return rH(X,J)}if(U.value===void 0)return U;return _.innerType._zod.run(U,W)}}),Aj=F("$ZodExactOptional",($,_)=>{z9.init($,_),K$($._zod,"values",()=>_.innerType._zod.values),K$($._zod,"pattern",()=>_.innerType._zod.pattern),$._zod.parse=(U,W)=>{return _.innerType._zod.run(U,W)}}),Ej=F("$ZodNullable",($,_)=>{D$.init($,_),K$($._zod,"optin",()=>_.innerType._zod.optin),K$($._zod,"optout",()=>_.innerType._zod.optout),K$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)}|null)$`):void 0}),K$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,null]):void 0}),$._zod.parse=(U,W)=>{if(U.value===null)return U;return _.innerType._zod.run(U,W)}}),Fj=F("$ZodDefault",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)return U.value=_.defaultValue,U;let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>pH(X,_));return pH(J,_)}});Kj=F("$ZodPrefault",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)U.value=_.defaultValue;return _.innerType._zod.run(U,W)}}),bj=F("$ZodNonOptional",($,_)=>{D$.init($,_),K$($._zod,"values",()=>{let U=_.innerType._zod.values;return U?new Set([...U].filter((W)=>W!==void 0)):void 0}),$._zod.parse=(U,W)=>{let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>oH(X,$));return oH(J,$)}});Mj=F("$ZodSuccess",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0("ZodSuccess");let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{return U.value=X.issues.length===0,U});return U.value=J.issues.length===0,U}}),Ij=F("$ZodCatch",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"optout",()=>_.innerType._zod.optout),K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{if(U.value=X.value,X.issues.length)U.value=_.catchValue({...U,error:{issues:X.issues.map((G)=>b_(G,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U});if(U.value=J.value,J.issues.length)U.value=_.catchValue({...U,error:{issues:J.issues.map((X)=>b_(X,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),gj=F("$ZodNaN",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(typeof U.value!=="number"||!Number.isNaN(U.value))return U.issues.push({input:U.value,inst:$,expected:"nan",code:"invalid_type"}),U;return U}}),q9=F("$ZodPipe",($,_)=>{D$.init($,_),K$($._zod,"values",()=>_.in._zod.values),K$($._zod,"optin",()=>_.in._zod.optin),K$($._zod,"optout",()=>_.out._zod.optout),K$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if(W.direction==="backward"){let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>W9(G,_.in,W));return W9(X,_.in,W)}let J=_.in._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>W9(X,_.out,W));return W9(J,_.out,W)}});VJ=F("$ZodCodec",($,_)=>{D$.init($,_),K$($._zod,"values",()=>_.in._zod.values),K$($._zod,"optin",()=>_.in._zod.optin),K$($._zod,"optout",()=>_.out._zod.optout),K$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if((W.direction||"forward")==="forward"){let X=_.in._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>X9(G,_,W));return X9(X,_,W)}else{let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>X9(G,_,W));return X9(X,_,W)}}});wj=F("$ZodPreprocess",($,_)=>{q9.init($,_)}),kj=F("$ZodReadonly",($,_)=>{D$.init($,_),K$($._zod,"propValues",()=>_.innerType._zod.propValues),K$($._zod,"values",()=>_.innerType._zod.values),K$($._zod,"optin",()=>_.innerType?._zod?.optin),K$($._zod,"optout",()=>_.innerType?._zod?.optout),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then(tH);return tH(J)}});Pj=F("$ZodTemplateLiteral",($,_)=>{D$.init($,_);let U=[];for(let W of _.parts)if(typeof W==="object"&&W!==null){if(!W._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...W._zod.traits].shift()}`);let J=W._zod.pattern instanceof RegExp?W._zod.pattern.source:W._zod.pattern;if(!J)throw Error(`Invalid template literal part: ${W._zod.traits}`);let X=J.startsWith("^")?1:0,G=J.endsWith("$")?J.length-1:J.length;U.push(J.slice(X,G))}else if(W===null||EQ.has(typeof W))U.push(t_(`${W}`));else throw Error(`Invalid template literal part: ${W}`);$._zod.pattern=new RegExp(`^${U.join("")}$`),$._zod.parse=(W,J)=>{if(typeof W.value!=="string")return W.issues.push({input:W.value,inst:$,expected:"string",code:"invalid_type"}),W;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(W.value))return W.issues.push({input:W.value,inst:$,code:"invalid_format",format:_.format??"template_literal",pattern:$._zod.pattern.source}),W;return W}}),fj=F("$ZodFunction",($,_)=>{return D$.init($,_),$._def=_,$._zod.def=_,$.implement=(U)=>{if(typeof U!=="function")throw Error("implement() must be called with a function");return function(...W){let J=$._def.input?dX($._def.input,W):W,X=Reflect.apply(U,this,J);if($._def.output)return dX($._def.output,X);return X}},$.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...W){let J=$._def.input?await cX($._def.input,W):W,X=await Reflect.apply(U,this,J);if($._def.output)return await cX($._def.output,X);return X}},$._zod.parse=(U,W)=>{if(typeof U.value!=="function")return U.issues.push({code:"invalid_type",expected:"function",input:U.value,inst:$}),U;if($._def.output&&$._def.output._zod.def.type==="promise")U.value=$.implementAsync(U.value);else U.value=$.implement(U.value);return U},$.input=(...U)=>{let W=$.constructor;if(Array.isArray(U[0]))return new W({type:"function",input:new D9({type:"tuple",items:U[0],rest:U[1]}),output:$._def.output});return new W({type:"function",input:U[0],output:$._def.output})},$.output=(U)=>{return new $.constructor({type:"function",input:$._def.input,output:U})},$}),Cj=F("$ZodPromise",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return Promise.resolve(U.value).then((J)=>_.innerType._zod.run({value:J,issues:[]},W))}}),Tj=F("$ZodLazy",($,_)=>{D$.init($,_),K$($._zod,"innerType",()=>{let U=_;if(!U._cachedInner)U._cachedInner=_.getter();return U._cachedInner}),K$($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),K$($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),K$($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),K$($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(U,W)=>{return $._zod.innerType._zod.run(U,W)}}),Sj=F("$ZodCustom",($,_)=>{c$.init($,_),D$.init($,_),$._zod.parse=(U,W)=>{return U},$._zod.check=(U)=>{let W=U.value,J=_.fn(W);if(J instanceof Promise)return J.then((X)=>aH(X,U,W,$));aH(J,U,W,$);return}})});function vj(){return{localeError:JS()}}var JS=()=>{let $={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`;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 ${X}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"}`;return`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()} ${G.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${J.prefix}"`;if(X.format==="ends_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${X.suffix}"`;if(X.format==="includes")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`${U[X.format]??J.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${J.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${J.keys.length>1?"\u0629":""}: ${b(J.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var J3=y(()=>{p()});function yj(){return{localeError:WS()}}var WS=()=>{let $={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${J.expected}, daxil olan ${Q}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${X}, daxil olan ${Q}`}case"invalid_value":if(J.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${g(J.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${X.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(X.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${X.suffix}" il\u0259 bitm\u0259lidir`;if(X.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${X.includes}" daxil olmal\u0131d\u0131r`;if(X.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${X.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[X.format]??J.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${J.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${J.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var W3=y(()=>{p()});function X3($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function hj(){return{localeError:XS()}}var XS=()=>{let $={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},W={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${J.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${X}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=X3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=X3(Q,G.unit.one,G.unit.few,G.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.minimum.toString()} ${Y}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${J.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${J.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var G3=y(()=>{p()});function xj(){return{localeError:GS()}}var GS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;let G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(X.format==="emoji")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="datetime")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="date")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(X.format==="time")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="duration")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${G} ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${J.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u043E\u0432\u0435":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var Q3=y(()=>{p()});function mj(){return{localeError:QS()}}var QS=()=>{let $={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${J.expected}, s'ha rebut ${Q}`;return`Tipus inv\xE0lid: s'esperava ${X}, s'ha rebut ${Q}`}case"invalid_value":if(J.values.length===1)return`Valor inv\xE0lid: s'esperava ${g(J.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${b(J.values," o ")}`;case"too_big":{let X=J.inclusive?"com a m\xE0xim":"menys de",G=_(J.origin);if(G)return`Massa gran: s'esperava que ${J.origin??"el valor"} contingu\xE9s ${X} ${J.maximum.toString()} ${G.unit??"elements"}`;return`Massa gran: s'esperava que ${J.origin??"el valor"} fos ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"com a m\xEDnim":"m\xE9s de",G=_(J.origin);if(G)return`Massa petit: s'esperava que ${J.origin} contingu\xE9s ${X} ${J.minimum.toString()} ${G.unit}`;return`Massa petit: s'esperava que ${J.origin} fos ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${X.prefix}"`;if(X.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${X.suffix}"`;if(X.format==="includes")return`Format inv\xE0lid: ha d'incloure "${X.includes}"`;if(X.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${X.pattern}`;return`Format inv\xE0lid per a ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${J.divisor}`;case"unrecognized_keys":return`Clau${J.keys.length>1?"s":""} no reconeguda${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${J.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${J.origin}`;default:return"Entrada inv\xE0lida"}}};var Y3=y(()=>{p()});function uj(){return{localeError:YS()}}var YS=()=>{let $={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function _(J){return $[J]??null}let U={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},W={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${J.expected}, obdr\u017Eeno ${Q}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${X}, obdr\u017Eeno ${Q}`}case"invalid_value":if(J.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${g(J.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.maximum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.minimum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${X.prefix}"`;if(X.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${X.suffix}"`;if(X.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${X.includes}"`;if(X.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${X.pattern}`;return`Neplatn\xFD form\xE1t ${U[X.format]??J.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${J.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${b(J.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${J.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${J.origin}`;default:return"Neplatn\xFD vstup"}}};var j3=y(()=>{p()});function dj(){return{localeError:jS()}}var jS=()=>{let $={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldigt input: forventede instanceof ${J.expected}, fik ${Q}`;return`Ugyldigt input: forventede ${X}, fik ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig v\xE6rdi: forventede ${g(J.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For stor: forventede ${Q??"value"} ${G.verb} ${X} ${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor: forventede ${Q??"value"} havde ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For lille: forventede ${Q} ${G.verb} ${X} ${J.minimum.toString()} ${G.unit}`;return`For lille: forventede ${Q} havde ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: skal starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: skal ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: skal indeholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${J.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${J.origin}`;default:return"Ugyldigt input"}}};var D3=y(()=>{p()});function cj(){return{localeError:DS()}}var DS=()=>{let $={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function _(J){return $[J]??null}let U={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},W={nan:"NaN",number:"Zahl",array:"Array"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${J.expected}, erhalten ${Q}`;return`Ung\xFCltige Eingabe: erwartet ${X}, erhalten ${Q}`}case"invalid_value":if(J.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${g(J.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ${G.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ist`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ${G.unit} hat`;return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ist`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ung\xFCltiger String: muss mit "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ung\xFCltiger String: muss mit "${X.suffix}" enden`;if(X.format==="includes")return`Ung\xFCltiger String: muss "${X.includes}" enthalten`;if(X.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${X.pattern} entsprechen`;return`Ung\xFCltig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${J.divisor} sein`;case"unrecognized_keys":return`${J.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${J.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${J.origin}`;default:return"Ung\xFCltige Eingabe"}}};var z3=y(()=>{p()});function nj(){return{localeError:zS()}}var zS=()=>{let $={string:{unit:"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},file:{unit:"bytes",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},array:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},set:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},map:{unit:"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"}};function _(J){return $[J]??null}let U={regex:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",email:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",date:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",time:"ISO \u03CE\u03C1\u03B1",duration:"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",ipv4:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",ipv6:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",mac:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",cidrv4:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",cidrv6:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",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",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",json_string:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",e164:"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",jwt:"JWT",template_literal:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(typeof J.expected==="string"&&/^[A-Z]/.test(J.expected))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 ${J.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`;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 ${X}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.maximum.toString()} ${G.unit??"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.minimum.toString()} ${G.unit}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${J.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${J.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${J.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${J.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var q3=y(()=>{p()});function RJ(){return{localeError:qS()}}var qS=()=>{let $={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Invalid input: expected ${X}, received ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${g(J.values[0])}`;return`Invalid option: expected one of ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Too big: expected ${J.origin??"value"} to have ${X}${J.maximum.toString()} ${G.unit??"elements"}`;return`Too big: expected ${J.origin??"value"} to be ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Too small: expected ${J.origin} to have ${X}${J.minimum.toString()} ${G.unit}`;return`Too small: expected ${J.origin} to be ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Invalid string: must start with "${X.prefix}"`;if(X.format==="ends_with")return`Invalid string: must end with "${X.suffix}"`;if(X.format==="includes")return`Invalid string: must include "${X.includes}"`;if(X.format==="regex")return`Invalid string: must match pattern ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${J.divisor}`;case"unrecognized_keys":return`Unrecognized key${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Invalid key in ${J.origin}`;case"invalid_union":if(J.options&&Array.isArray(J.options)&&J.options.length>0)return`Invalid discriminator value. Expected ${J.options.map((G)=>`'${G}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${J.origin}`;default:return"Invalid input"}}};var lj=y(()=>{p()});function ij(){return{localeError:OS()}}var OS=()=>{let $={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function _(J){return $[J]??null}let U={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},W={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${J.expected}, ricevi\u011Dis ${Q}`;return`Nevalida enigo: atendi\u011Dis ${X}, ricevi\u011Dis ${Q}`}case"invalid_value":if(J.values.length===1)return`Nevalida enigo: atendi\u011Dis ${g(J.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()} ${G.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Tro malgranda: atendi\u011Dis ke ${J.origin} havu ${X}${J.minimum.toString()} ${G.unit}`;return`Tro malgranda: atendi\u011Dis ke ${J.origin} estu ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${X.prefix}"`;if(X.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${X.suffix}"`;if(X.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${X.includes}"`;if(X.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${X.pattern}`;return`Nevalida ${U[X.format]??J.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${J.divisor}`;case"unrecognized_keys":return`Nekonata${J.keys.length>1?"j":""} \u015Dlosilo${J.keys.length>1?"j":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${J.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${J.origin}`;default:return"Nevalida enigo"}}};var O3=y(()=>{p()});function rj(){return{localeError:LS()}}var LS=()=>{let $={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${J.expected}, recibido ${Q}`;return`Entrada inv\xE1lida: se esperaba ${X}, recibido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: se esperaba ${g(J.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado grande: se esperaba que ${Q??"valor"} tuviera ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${Q??"valor"} fuera ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado peque\xF1o: se esperaba que ${Q} tuviera ${X}${J.minimum.toString()} ${G.unit}`;return`Demasiado peque\xF1o: se esperaba que ${Q} fuera ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${X.prefix}"`;if(X.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${X.suffix}"`;if(X.format==="includes")return`Cadena inv\xE1lida: debe incluir "${X.includes}"`;if(X.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${X.pattern}`;return`Inv\xE1lido ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Llave${J.keys.length>1?"s":""} desconocida${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${W[J.origin]??J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${W[J.origin]??J.origin}`;default:return"Entrada inv\xE1lida"}}};var L3=y(()=>{p()});function pj(){return{localeError:NS()}}var NS=()=>{let $={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${J.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${X} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(J.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${g(J.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;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 ${b(J.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(X.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(X.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${X.includes}" \u0628\u0627\u0634\u062F`;if(X.format==="regex")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${X.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[X.format]??J.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${J.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${J.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${b(J.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${J.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${J.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var N3=y(()=>{p()});function oj(){return{localeError:BS()}}var BS=()=>{let $={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function _(J){return $[J]??null}let U={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Virheellinen tyyppi: odotettiin instanceof ${J.expected}, oli ${Q}`;return`Virheellinen tyyppi: odotettiin ${X}, oli ${Q}`}case"invalid_value":if(J.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${g(J.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Liian suuri: ${G.subject} t\xE4ytyy olla ${X}${J.maximum.toString()} ${G.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Liian pieni: ${G.subject} t\xE4ytyy olla ${X}${J.minimum.toString()} ${G.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${X.prefix}"`;if(X.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${X.suffix}"`;if(X.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${X.includes}"`;if(X.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${X.pattern}`;return`Virheellinen ${U[X.format]??J.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${J.divisor} monikerta`;case"unrecognized_keys":return`${J.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${b(J.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var B3=y(()=>{p()});function tj(){return{localeError:HS()}}var HS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={string:"cha\xEEne",number:"nombre",int:"entier",boolean:"bool\xE9en",bigint:"grand entier",symbol:"symbole",undefined:"ind\xE9fini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : instanceof ${J.expected} attendu, ${Q} re\xE7u`;return`Entr\xE9e invalide : ${X} attendu, ${Q} re\xE7u`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : ${g(J.values[0])} attendu`;return`Option invalide : une valeur parmi ${b(J.values,"|")} attendue`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Trop grand : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Trop petit : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${b(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var H3=y(()=>{p()});function aj(){return{localeError:VS()}}var VS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : attendu instanceof ${J.expected}, re\xE7u ${Q}`;return`Entr\xE9e invalide : attendu ${X}, re\xE7u ${Q}`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : attendu ${g(J.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u2264":"<",G=_(J.origin);if(G)return`Trop grand : attendu que ${J.origin??"la valeur"} ait ${X}${J.maximum.toString()} ${G.unit}`;return`Trop grand : attendu que ${J.origin??"la valeur"} soit ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u2265":">",G=_(J.origin);if(G)return`Trop petit : attendu que ${J.origin} ait ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : attendu que ${J.origin} soit ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${b(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var V3=y(()=>{p()});function sj(){return{localeError:RS()}}var RS=()=>{let $={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},_={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(j)=>j?$[j]:void 0,W=(j)=>{let O=U(j);if(O)return O.label;return j??$.unknown.label},J=(j)=>`\u05D4${W(j)}`,X=(j)=>{return(U(j)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},G=(j)=>{if(!j)return null;return _[j]??null},Q={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},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"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},Y={nan:"NaN"};return(j)=>{switch(j.code){case"invalid_type":{let O=j.expected,B=Y[O??""]??W(O),V=w(j.input),L=Y[V]??$[V]?.label??V;if(/^[A-Z]/.test(j.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${j.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${B}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`}case"invalid_value":{if(j.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${g(j.values[0])}`;let O=j.values.map((L)=>g(L));if(j.values.length===2)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 ${O[0]} \u05D0\u05D5 ${O[1]}`;let B=O[O.length-1];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 ${O.slice(0,-1).join(", ")} \u05D0\u05D5 ${B}`}case"too_big":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.maximum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${j.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",H=j.inclusive?`${j.maximum} ${O?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${j.maximum} ${O?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?"<=":"<",L=X(j.origin??"value");if(O?.unit)return`${O.longLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()} ${O.unit}`;return`${O?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()}`}case"too_small":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.minimum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${j.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(j.minimum===1&&j.inclusive){let R=j.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";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${R}`}let H=j.inclusive?`${j.minimum} ${O?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${j.minimum} ${O?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?">=":">",L=X(j.origin??"value");if(O?.unit)return`${O.shortLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()} ${O.unit}`;return`${O?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()}`}case"invalid_format":{let O=j;if(O.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${O.prefix}"`;if(O.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${O.suffix}"`;if(O.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${O.includes}"`;if(O.format==="regex")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 ${O.pattern}`;let B=Q[O.format],V=B?.label??O.format,N=(B?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${V} \u05DC\u05D0 ${N}`}case"not_multiple_of":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 ${j.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${j.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${j.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${b(j.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${J(j.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var R3=y(()=>{p()});function ej(){return{localeError:AS()}}var AS=()=>{let $={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function _(J){return $[J]??null}let U={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},W={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${J.expected}, a primljeno je ${Q}`;return`Neispravan unos: o\u010Dekuje se ${X}, a primljeno je ${Q}`}case"invalid_value":if(J.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${g(J.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} ima ${X}${J.maximum.toString()} ${G.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} bude ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Premalo: o\u010Dekivano da ${Q} ima ${X}${J.minimum.toString()} ${G.unit}`;return`Premalo: o\u010Dekivano da ${Q} bude ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${X.prefix}"`;if(X.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${X.suffix}"`;if(X.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${X.includes}"`;if(X.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${X.pattern}`;return`Neispravna ${U[X.format]??J.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${J.divisor}`;case"unrecognized_keys":return`Neprepoznat${J.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${b(J.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${W[J.origin]??J.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${W[J.origin]??J.origin}`;default:return"Neispravan unos"}}};var A3=y(()=>{p()});function $7(){return{localeError:ES()}}var ES=()=>{let $={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function _(J){return $[J]??null}let U={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},W={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${J.expected}, a kapott \xE9rt\xE9k ${Q}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${X}, a kapott \xE9rt\xE9k ${Q}`}case"invalid_value":if(J.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${g(J.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xFAl nagy: ${J.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${X}${J.maximum.toString()} ${G.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${J.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} m\xE9rete t\xFAl kicsi ${X}${J.minimum.toString()} ${G.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} t\xFAl kicsi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xC9rv\xE9nytelen string: "${X.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(X.format==="ends_with")return`\xC9rv\xE9nytelen string: "${X.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(X.format==="includes")return`\xC9rv\xE9nytelen string: "${X.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(X.format==="regex")return`\xC9rv\xE9nytelen string: ${X.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[X.format]??J.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${J.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${J.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${J.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var E3=y(()=>{p()});function F3($,_,U){return Math.abs($)===1?_:U}function v2($){if(!$)return"";let _=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=$[$.length-1];return $+(_.includes(U)?"\u0576":"\u0568")}function _7(){return{localeError:FS()}}var FS=()=>{let $={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function _(J){return $[J]??null}let U={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},W={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`;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 ${X}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[1])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=F3(Q,G.unit.one,G.unit.many);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 ${v2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.maximum.toString()} ${Y}`}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 ${v2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=F3(Q,G.unit.one,G.unit.many);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 ${v2(J.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.minimum.toString()} ${Y}`}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 ${v2(J.origin)} \u056C\u056B\u0576\u056B ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${X.prefix}"-\u0578\u057E`;if(X.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${X.suffix}"-\u0578\u057E`;if(X.format==="includes")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${X.includes}"`;if(X.format==="regex")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 ${X.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${J.keys.length>1?"\u0576\u0565\u0580":""}. ${b(J.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${v2(J.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${v2(J.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var K3=y(()=>{p()});function U7(){return{localeError:KS()}}var KS=()=>{let $={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak valid: diharapkan instanceof ${J.expected}, diterima ${Q}`;return`Input tidak valid: diharapkan ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak valid: diharapkan ${g(J.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: diharapkan ${J.origin??"value"} memiliki ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: diharapkan ${J.origin??"value"} menjadi ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: diharapkan ${J.origin} memiliki ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: diharapkan ${J.origin} menjadi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak valid: harus dimulai dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak valid: harus berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak valid: harus menyertakan "${X.includes}"`;if(X.format==="regex")return`String tidak valid: harus sesuai pola ${X.pattern}`;return`${U[X.format]??J.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${J.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${J.origin}`;default:return"Input tidak valid"}}};var b3=y(()=>{p()});function J7(){return{localeError:bS()}}var bS=()=>{let $={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function _(J){return $[J]??null}let U={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},W={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera instanceof ${J.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera ${X}`}case"invalid_value":if(J.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${g(J.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} hafi ${X}${J.maximum.toString()} ${G.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} s\xE9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} hafi ${X}${J.minimum.toString()} ${G.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} s\xE9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${X.prefix}"`;if(X.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${X.suffix}"`;if(X.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${X.includes}"`;if(X.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${X.pattern}`;return`Rangt ${U[X.format]??J.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${J.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${J.keys.length>1?"ir lyklar":"ur lykill"}: ${b(J.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${J.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${J.origin}`;default:return"Rangt gildi"}}};var M3=y(()=>{p()});function W7(){return{localeError:MS()}}var MS=()=>{let $={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function _(J){return $[J]??null}let U={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"numero",array:"vettore"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input non valido: atteso instanceof ${J.expected}, ricevuto ${Q}`;return`Input non valido: atteso ${X}, ricevuto ${Q}`}case"invalid_value":if(J.values.length===1)return`Input non valido: atteso ${g(J.values[0])}`;return`Opzione non valida: atteso uno tra ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Troppo grande: ${J.origin??"valore"} deve avere ${X}${J.maximum.toString()} ${G.unit??"elementi"}`;return`Troppo grande: ${J.origin??"valore"} deve essere ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Troppo piccolo: ${J.origin} deve avere ${X}${J.minimum.toString()} ${G.unit}`;return`Troppo piccolo: ${J.origin} deve essere ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Stringa non valida: deve iniziare con "${X.prefix}"`;if(X.format==="ends_with")return`Stringa non valida: deve terminare con "${X.suffix}"`;if(X.format==="includes")return`Stringa non valida: deve includere "${X.includes}"`;if(X.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${X.pattern}`;return`Input non valido: ${U[X.format]??J.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${J.divisor}`;case"unrecognized_keys":return`Chiav${J.keys.length>1?"i":"e"} non riconosciut${J.keys.length>1?"e":"a"}: ${b(J.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${J.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${J.origin}`;default:return"Input non valido"}}};var I3=y(()=>{p()});function X7(){return{localeError:IS()}}var IS=()=>{let $={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function _(J){return $[J]??null}let U={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},W={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${J.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${X}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(J.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${g(J.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${b(J.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let X=J.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",G=_(J.origin);if(G)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${G.unit??"\u8981\u7D20"}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let X=J.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",G=_(J.origin);if(G)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${G.unit}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${X.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${J.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${J.keys.length>1?"\u7FA4":""}: ${b(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var g3=y(()=>{p()});function G7(){return{localeError:gS()}}var gS=()=>{let $={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function _(J){return $[J]??null}let U={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",json_string:"JSON \u10D5\u10D4\u10DA\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},W={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10D5\u10D4\u10DA\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`;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 ${X}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;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 ${J.origin} \u10D8\u10E7\u10DD\u10E1 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"-\u10D8\u10D7`;if(X.format==="ends_with")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 "${X.suffix}"-\u10D8\u10D7`;if(X.format==="includes")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 "${X.includes}"-\u10E1`;if(X.format==="regex")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 ${X.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${J.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${J.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${J.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${J.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var w3=y(()=>{p()});function AJ(){return{localeError:wS()}}var wS=()=>{let $={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function _(J){return $[J]??null}let U={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},W={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`;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 ${X} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()} ${G.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()} ${G.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${b(J.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${J.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":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 ${J.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var Q7=y(()=>{p()});function Y7(){return AJ()}var k3=y(()=>{Q7()});function j7(){return{localeError:kS()}}var kS=()=>{let $={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${J.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${X}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`}case"invalid_value":if(J.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${g(J.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${b(J.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let X=J.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",G=X==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()} ${X}${G}`}case"too_small":{let X=J.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",G=X==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()} ${X}${G}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${X.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[X.format]??J.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${J.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${b(J.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${J.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${J.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var P3=y(()=>{p()});function f3($){let _=Math.abs($),U=_%10,W=_%100;if(W>=11&&W<=19||U===0)return"many";if(U===1)return"one";return"few"}function D7(){return{localeError:PS()}}var EJ=($)=>{return $.charAt(0).toUpperCase()+$.slice(1)},PS=()=>{let $={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function _(J,X,G,Q){let Y=$[J]??null;if(Y===null)return Y;return{unit:Y.unit[X],verb:Y.verb[Q][G?"inclusive":"notInclusive"]}}let U={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},W={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Gautas tipas ${Q}, o tik\u0117tasi - instanceof ${J.expected}`;return`Gautas tipas ${Q}, o tik\u0117tasi - ${X}`}case"invalid_value":if(J.values.length===1)return`Privalo b\u016Bti ${g(J.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${b(J.values,"|")} pasirinkim\u0173`;case"too_big":{let X=W[J.origin]??J.origin,G=_(J.origin,f3(Number(J.maximum)),J.inclusive??!1,"smaller");if(G?.verb)return`${EJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.maximum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${EJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.maximum.toString()} ${G?.unit}`}case"too_small":{let X=W[J.origin]??J.origin,G=_(J.origin,f3(Number(J.minimum)),J.inclusive??!1,"bigger");if(G?.verb)return`${EJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.minimum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${EJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.minimum.toString()} ${G?.unit}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${X.prefix}"`;if(X.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${X.suffix}"`;if(X.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${X.includes}"`;if(X.format==="regex")return`Eilut\u0117 privalo atitikti ${X.pattern}`;return`Neteisingas ${U[X.format]??J.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${J.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${J.keys.length>1?"i":"as"} rakt${J.keys.length>1?"ai":"as"}: ${b(J.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let X=W[J.origin]??J.origin;return`${EJ(X??J.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var C3=y(()=>{p()});function z7(){return{localeError:fS()}}var fS=()=>{let $={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function _(J){return $[J]??null}let U={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},W={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${J.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${X}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`${J.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"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${J.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${J.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var T3=y(()=>{p()});function q7(){return{localeError:CS()}}var CS=()=>{let $={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"nombor"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak sah: dijangka instanceof ${J.expected}, diterima ${Q}`;return`Input tidak sah: dijangka ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak sah: dijangka ${g(J.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: dijangka ${J.origin??"nilai"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: dijangka ${J.origin??"nilai"} adalah ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: dijangka ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: dijangka ${J.origin} adalah ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak sah: mesti bermula dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak sah: mesti mengandungi "${X.includes}"`;if(X.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${X.pattern}`;return`${U[X.format]??J.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${b(J.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${J.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${J.origin}`;default:return"Input tidak sah"}}};var S3=y(()=>{p()});function O7(){return{localeError:TS()}}var TS=()=>{let $={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function _(J){return $[J]??null}let U={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},W={nan:"NaN",number:"getal"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ongeldige invoer: verwacht instanceof ${J.expected}, ontving ${Q}`;return`Ongeldige invoer: verwacht ${X}, ontving ${Q}`}case"invalid_value":if(J.values.length===1)return`Ongeldige invoer: verwacht ${g(J.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=J.origin==="date"?"laat":J.origin==="string"?"lang":"groot";if(G)return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} ${G.unit??"elementen"} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} is`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=J.origin==="date"?"vroeg":J.origin==="string"?"kort":"klein";if(G)return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} is`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ongeldige tekst: moet met "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ongeldige tekst: moet op "${X.suffix}" eindigen`;if(X.format==="includes")return`Ongeldige tekst: moet "${X.includes}" bevatten`;if(X.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${X.pattern}`;return`Ongeldig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${J.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${J.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${J.origin}`;default:return"Ongeldige invoer"}}};var Z3=y(()=>{p()});function L7(){return{localeError:SS()}}var SS=()=>{let $={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"tall",array:"liste"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldig input: forventet instanceof ${J.expected}, fikk ${Q}`;return`Ugyldig input: forventet ${X}, fikk ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig verdi: forventet ${g(J.values[0])}`;return`Ugyldig valg: forventet en av ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()} ${G.unit}`;return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${J.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${J.origin}`;default:return"Ugyldig input"}}};var v3=y(()=>{p()});function N7(){return{localeError:ZS()}}var ZS=()=>{let $={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},W={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`F\xE2sit giren: umulan instanceof ${J.expected}, al\u0131nan ${Q}`;return`F\xE2sit giren: umulan ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`F\xE2sit giren: umulan ${g(J.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} ${G.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} ${G.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`F\xE2sit metin: "${X.prefix}" ile ba\u015Flamal\u0131.`;if(X.format==="ends_with")return`F\xE2sit metin: "${X.suffix}" ile bitmeli.`;if(X.format==="includes")return`F\xE2sit metin: "${X.includes}" ihtiv\xE2 etmeli.`;if(X.format==="regex")return`F\xE2sit metin: ${X.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[X.format]??J.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${J.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${J.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var y3=y(()=>{p()});function B7(){return{localeError:vS()}}var vS=()=>{let $={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${J.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${X} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(J.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${g(J.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${b(J.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0648\u064A`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0648\u064A`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(X.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(X.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${X.includes}" \u0648\u0644\u0631\u064A`;if(X.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${X.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[X.format]??J.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${J.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${J.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${J.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${J.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var h3=y(()=>{p()});function H7(){return{localeError:yS()}}var yS=()=>{let $={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function _(J){return $[J]??null}let U={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},W={nan:"NaN",number:"liczba",array:"tablica"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${J.expected}, otrzymano ${Q}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${X}, otrzymano ${Q}`}case"invalid_value":if(J.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${g(J.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.maximum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.minimum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${X.prefix}"`;if(X.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${X.suffix}"`;if(X.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${X.includes}"`;if(X.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${X.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[X.format]??J.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${J.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${J.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${J.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var x3=y(()=>{p()});function V7(){return{localeError:hS()}}var hS=()=>{let $={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function _(J){return $[J]??null}let U={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipo inv\xE1lido: esperado instanceof ${J.expected}, recebido ${Q}`;return`Tipo inv\xE1lido: esperado ${X}, recebido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: esperado ${g(J.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Muito grande: esperado que ${J.origin??"valor"} tivesse ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Muito grande: esperado que ${J.origin??"valor"} fosse ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Muito pequeno: esperado que ${J.origin} tivesse ${X}${J.minimum.toString()} ${G.unit}`;return`Muito pequeno: esperado que ${J.origin} fosse ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${X.prefix}"`;if(X.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${X.suffix}"`;if(X.format==="includes")return`Texto inv\xE1lido: deve incluir "${X.includes}"`;if(X.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${X.pattern}`;return`${U[X.format]??J.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Chave${J.keys.length>1?"s":""} desconhecida${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${J.origin}`;default:return"Campo inv\xE1lido"}}};var m3=y(()=>{p()});function R7(){return{localeError:xS()}}var xS=()=>{let $={string:{unit:"caractere",verb:"s\u0103 aib\u0103"},file:{unit:"octe\u021Bi",verb:"s\u0103 aib\u0103"},array:{unit:"elemente",verb:"s\u0103 aib\u0103"},set:{unit:"elemente",verb:"s\u0103 aib\u0103"},map:{unit:"intr\u0103ri",verb:"s\u0103 aib\u0103"}};function _(J){return $[J]??null}let U={regex:"intrare",email:"adres\u0103 de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dat\u0103 \u0219i or\u0103 ISO",date:"dat\u0103 ISO",time:"or\u0103 ISO",duration:"durat\u0103 ISO",ipv4:"adres\u0103 IPv4",ipv6:"adres\u0103 IPv6",mac:"adres\u0103 MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"\u0219ir codat base64",base64url:"\u0219ir codat base64url",json_string:"\u0219ir JSON",e164:"num\u0103r E.164",jwt:"JWT",template_literal:"intrare"},W={nan:"NaN",string:"\u0219ir",number:"num\u0103r",boolean:"boolean",function:"func\u021Bie",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"num\u0103r mare",void:"void",never:"never",map:"hart\u0103",set:"set"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Intrare invalid\u0103: a\u0219teptat ${X}, primit ${Q}`}case"invalid_value":if(J.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${g(J.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} s\u0103 fie ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Prea mic: a\u0219teptat ca ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Prea mic: a\u0219teptat ca ${J.origin} s\u0103 fie ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${X.prefix}"`;if(X.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${X.suffix}"`;if(X.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${X.includes}"`;if(X.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${X.pattern}`;return`Format invalid: ${U[X.format]??J.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${J.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${b(J.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${J.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${J.origin}`;default:return"Intrare invalid\u0103"}}};var u3=y(()=>{p()});function d3($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function A7(){return{localeError:mS()}}var mS=()=>{let $={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=d3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=d3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.minimum.toString()} ${Y}`}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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${J.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0438":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var c3=y(()=>{p()});function E7(){return{localeError:uS()}}var uS=()=>{let $={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function _(J){return $[J]??null}let U={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},W={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${J.expected}, prejeto ${Q}`;return`Neveljaven vnos: pri\u010Dakovano ${X}, prejeto ${Q}`}case"invalid_value":if(J.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${g(J.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} imelo ${X}${J.maximum.toString()} ${G.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Premajhno: pri\u010Dakovano, da bo ${J.origin} imelo ${X}${J.minimum.toString()} ${G.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${X.prefix}"`;if(X.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${X.suffix}"`;if(X.format==="includes")return`Neveljaven niz: mora vsebovati "${X.includes}"`;if(X.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${X.pattern}`;return`Neveljaven ${U[X.format]??J.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${J.divisor}`;case"unrecognized_keys":return`Neprepoznan${J.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${b(J.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${J.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${J.origin}`;default:return"Neveljaven vnos"}}};var n3=y(()=>{p()});function F7(){return{localeError:dS()}}var dS=()=>{let $={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function _(J){return $[J]??null}let U={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},W={nan:"NaN",number:"antal",array:"lista"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${J.expected}, fick ${Q}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${X}, fick ${Q}`}case"invalid_value":if(J.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${g(J.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()} ${G.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${X.prefix}"`;if(X.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${X.suffix}"`;if(X.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${X.includes}"`;if(X.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${X.pattern}"`;return`Ogiltig(t) ${U[X.format]??J.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${J.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${J.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var l3=y(()=>{p()});function K7(){return{localeError:cS()}}var cS=()=>{let $={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"},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"},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"},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"}};function _(J){return $[J]??null}let U={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`;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 ${X}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} ${G.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`;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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${X}${J.minimum.toString()} ${G.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;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 ${J.origin} ${X}${J.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${X.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`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${J.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${J.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var i3=y(()=>{p()});function b7(){return{localeError:nS()}}var nS=()=>{let $={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function _(J){return $[J]??null}let U={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",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)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},W={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`;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 ${X} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()} ${G.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()} ${G.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(X.format==="regex")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 ${X.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${b(J.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;case"invalid_union":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";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var r3=y(()=>{p()});function M7(){return{localeError:lS()}}var lS=()=>{let $={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function _(J){return $[J]??null}let U={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${J.expected}, al\u0131nan ${Q}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${g(J.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()} ${G.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ge\xE7ersiz metin: "${X.prefix}" ile ba\u015Flamal\u0131`;if(X.format==="ends_with")return`Ge\xE7ersiz metin: "${X.suffix}" ile bitmeli`;if(X.format==="includes")return`Ge\xE7ersiz metin: "${X.includes}" i\xE7ermeli`;if(X.format==="regex")return`Ge\xE7ersiz metin: ${X.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[X.format]??J.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${J.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${J.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var p3=y(()=>{p()});function FJ(){return{localeError:iS()}}var iS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`;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 ${X}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} \u0431\u0443\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0456":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${J.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var I7=y(()=>{p()});function g7(){return FJ()}var o3=y(()=>{I7()});function w7(){return{localeError:rS()}}var rS=()=>{let $={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function _(J){return $[J]??null}let U={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},W={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${J.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${X} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(J.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${g(J.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${b(J.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${X}${J.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u06D2 ${X}${J.minimum.toString()} ${G.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u0627 ${X}${J.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${X.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${J.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${J.keys.length>1?"\u0632":""}: ${b(J.keys,"\u060C ")}`;case"invalid_key":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var t3=y(()=>{p()});function k7(){return{localeError:pS()}}var pS=()=>{let $={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"},map:{unit:"yozuv",verb:"bo\u2018lishi kerak"}};function _(J){return $[J]??null}let U={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},W={nan:"NaN",number:"raqam",array:"massiv"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${J.expected}, qabul qilingan ${Q}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${X}, qabul qilingan ${Q}`}case"invalid_value":if(J.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${g(J.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()} ${G.unit} ${G.verb}`;return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${X.prefix}" bilan boshlanishi kerak`;if(X.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${X.suffix}" bilan tugashi kerak`;if(X.format==="includes")return`Noto\u2018g\u2018ri satr: "${X.includes}" ni o\u2018z ichiga olishi kerak`;if(X.format==="regex")return`Noto\u2018g\u2018ri satr: ${X.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[X.format]??J.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${J.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${J.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var a3=y(()=>{p()});function P7(){return{localeError:oS()}}var oS=()=>{let $={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function _(J){return $[J]??null}let U={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},W={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${J.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${X}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${g(J.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${X.prefix}"`;if(X.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${X.suffix}"`;if(X.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${X.includes}"`;if(X.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${X.pattern}`;return`${U[X.format]??J.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${J.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${b(J.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var s3=y(()=>{p()});function f7(){return{localeError:tS()}}var tS=()=>{let $={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function _(J){return $[J]??null}let U={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},W={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${J.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${X}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${g(J.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()} ${G.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.prefix}" \u5F00\u5934`;if(X.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.suffix}" \u7ED3\u5C3E`;if(X.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${X.pattern}`;return`\u65E0\u6548${U[X.format]??J.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${J.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${J.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var e3=y(()=>{p()});function C7(){return{localeError:aS()}}var aS=()=>{let $={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function _(J){return $[J]??null}let U={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${J.expected}\uFF0C\u4F46\u6536\u5230 ${Q}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${X}\uFF0C\u4F46\u6536\u5230 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${g(J.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()} ${G.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()} ${G.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.prefix}" \u958B\u982D`;if(X.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.suffix}" \u7D50\u5C3E`;if(X.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${X.pattern}`;return`\u7121\u6548\u7684 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${J.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${J.keys.length>1?"\u5011":""}\uFF1A${b(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var $V=y(()=>{p()});function T7(){return{localeError:sS()}}var sS=()=>{let $={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function _(J){return $[J]??null}let U={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},W={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${J.expected}, \xE0m\u1ECD\u0300 a r\xED ${Q}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${X}, \xE0m\u1ECD\u0300 a r\xED ${Q}`}case"invalid_value":if(J.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${g(J.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin??"iye"} ${G.verb} ${X}${J.maximum} ${G.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.maximum}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin} ${G.verb} ${X}${J.minimum} ${G.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.minimum}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${X.prefix}"`;if(X.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${X.suffix}"`;if(X.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${X.includes}"`;if(X.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${X.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[X.format]??J.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${J.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${b(J.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var _V=y(()=>{p()});var y2={};I6(y2,{zhTW:()=>C7,zhCN:()=>f7,yo:()=>T7,vi:()=>P7,uz:()=>k7,ur:()=>w7,uk:()=>FJ,ua:()=>g7,tr:()=>M7,th:()=>b7,ta:()=>K7,sv:()=>F7,sl:()=>E7,ru:()=>A7,ro:()=>R7,pt:()=>V7,ps:()=>B7,pl:()=>H7,ota:()=>N7,no:()=>L7,nl:()=>O7,ms:()=>q7,mk:()=>z7,lt:()=>D7,ko:()=>j7,km:()=>AJ,kh:()=>Y7,ka:()=>G7,ja:()=>X7,it:()=>W7,is:()=>J7,id:()=>U7,hy:()=>_7,hu:()=>$7,hr:()=>ej,he:()=>sj,frCA:()=>aj,fr:()=>tj,fi:()=>oj,fa:()=>pj,es:()=>rj,eo:()=>ij,en:()=>RJ,el:()=>nj,de:()=>cj,da:()=>dj,cs:()=>uj,ca:()=>mj,bg:()=>xj,be:()=>hj,az:()=>yj,ar:()=>vj});var S7=y(()=>{J3();W3();G3();Q3();Y3();j3();D3();z3();q3();lj();O3();L3();N3();B3();H3();V3();R3();A3();E3();K3();b3();M3();I3();g3();w3();k3();Q7();P3();C3();T3();S3();Z3();v3();y3();h3();x3();m3();u3();c3();n3();l3();i3();r3();p3();o3();I7();t3();a3();s3();e3();$V();_V()});class Z7{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,..._){let U=_[0];if(this._map.set($,U),U&&typeof U==="object"&&"id"in U)this._idmap.set(U.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let _=this._map.get($);if(_&&typeof _==="object"&&"id"in _)this._idmap.delete(_.id);return this._map.delete($),this}get($){let _=$._zod.parent;if(_){let U={...this.get(_)??{}};delete U.id;let W={...U,...this._map.get($)};return Object.keys(W).length?W:void 0}return this._map.get($)}has($){return this._map.has($)}}function KJ(){return new Z7}var UV,O9,L9,D_;var bJ=y(()=>{O9=Symbol("ZodOutput"),L9=Symbol("ZodInput");(UV=globalThis).__zod_globalRegistry??(UV.__zod_globalRegistry=KJ());D_=globalThis.__zod_globalRegistry});function v7($,_){return new $({type:"string",...S(_)})}function y7($,_){return new $({type:"string",coerce:!0,...S(_)})}function N9($,_){return new $({type:"string",format:"email",check:"string_format",abort:!1,...S(_)})}function MJ($,_){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...S(_)})}function B9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...S(_)})}function H9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...S(_)})}function V9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...S(_)})}function R9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...S(_)})}function IJ($,_){return new $({type:"string",format:"url",check:"string_format",abort:!1,...S(_)})}function A9($,_){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...S(_)})}function E9($,_){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...S(_)})}function F9($,_){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...S(_)})}function K9($,_){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...S(_)})}function b9($,_){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...S(_)})}function M9($,_){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...S(_)})}function I9($,_){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...S(_)})}function g9($,_){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...S(_)})}function w9($,_){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...S(_)})}function h7($,_){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...S(_)})}function k9($,_){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...S(_)})}function P9($,_){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...S(_)})}function f9($,_){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...S(_)})}function C9($,_){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...S(_)})}function T9($,_){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...S(_)})}function S9($,_){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...S(_)})}function x7($,_){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...S(_)})}function m7($,_){return new $({type:"string",format:"date",check:"string_format",...S(_)})}function u7($,_){return new $({type:"string",format:"time",check:"string_format",precision:null,...S(_)})}function d7($,_){return new $({type:"string",format:"duration",check:"string_format",...S(_)})}function c7($,_){return new $({type:"number",checks:[],...S(_)})}function n7($,_){return new $({type:"number",coerce:!0,checks:[],...S(_)})}function l7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...S(_)})}function i7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...S(_)})}function r7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...S(_)})}function p7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...S(_)})}function o7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...S(_)})}function t7($,_){return new $({type:"boolean",...S(_)})}function a7($,_){return new $({type:"boolean",coerce:!0,...S(_)})}function s7($,_){return new $({type:"bigint",...S(_)})}function e7($,_){return new $({type:"bigint",coerce:!0,...S(_)})}function $D($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...S(_)})}function _D($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...S(_)})}function UD($,_){return new $({type:"symbol",...S(_)})}function JD($,_){return new $({type:"undefined",...S(_)})}function WD($,_){return new $({type:"null",...S(_)})}function XD($){return new $({type:"any"})}function GD($){return new $({type:"unknown"})}function QD($,_){return new $({type:"never",...S(_)})}function YD($,_){return new $({type:"void",...S(_)})}function jD($,_){return new $({type:"date",...S(_)})}function DD($,_){return new $({type:"date",coerce:!0,...S(_)})}function zD($,_){return new $({type:"nan",...S(_)})}function O6($,_){return new $9({check:"less_than",...S(_),value:$,inclusive:!1})}function C_($,_){return new $9({check:"less_than",...S(_),value:$,inclusive:!0})}function L6($,_){return new _9({check:"greater_than",...S(_),value:$,inclusive:!1})}function B_($,_){return new _9({check:"greater_than",...S(_),value:$,inclusive:!0})}function gJ($){return L6(0,$)}function wJ($){return O6(0,$)}function kJ($){return C_(0,$)}function PJ($){return B_(0,$)}function j4($,_){return new XY({check:"multiple_of",...S(_),value:$})}function D4($,_){return new YY({check:"max_size",...S(_),maximum:$})}function N6($,_){return new jY({check:"min_size",...S(_),minimum:$})}function n4($,_){return new DY({check:"size_equals",...S(_),size:$})}function l4($,_){return new zY({check:"max_length",...S(_),maximum:$})}function h6($,_){return new qY({check:"min_length",...S(_),minimum:$})}function i4($,_){return new OY({check:"length_equals",...S(_),length:$})}function d0($,_){return new LY({check:"string_format",format:"regex",...S(_),pattern:$})}function c0($){return new NY({check:"string_format",format:"lowercase",...S($)})}function n0($){return new BY({check:"string_format",format:"uppercase",...S($)})}function l0($,_){return new HY({check:"string_format",format:"includes",...S(_),includes:$})}function i0($,_){return new VY({check:"string_format",format:"starts_with",...S(_),prefix:$})}function r0($,_){return new RY({check:"string_format",format:"ends_with",...S(_),suffix:$})}function fJ($,_,U){return new AY({check:"property",property:$,schema:_,...S(U)})}function p0($,_){return new EY({check:"mime_type",mime:$,...S(_)})}function a_($){return new FY({check:"overwrite",tx:$})}function o0($){return a_((_)=>_.normalize($))}function t0(){return a_(($)=>$.trim())}function a0(){return a_(($)=>$.toLowerCase())}function s0(){return a_(($)=>$.toUpperCase())}function e0(){return a_(($)=>VQ($))}function qD($,_,U){return new $({type:"array",element:_,...S(U)})}function $Z($,_,U){return new $({type:"union",options:_,...S(U)})}function _Z($,_,U){return new $({type:"union",options:_,inclusive:!1,...S(U)})}function UZ($,_,U,W){return new $({type:"union",options:U,discriminator:_,...S(W)})}function JZ($,_,U){return new $({type:"intersection",left:_,right:U})}function WZ($,_,U,W){let J=U instanceof D$;return new $({type:"tuple",items:_,rest:J?U:null,...S(J?W:U)})}function XZ($,_,U,W){return new $({type:"record",keyType:_,valueType:U,...S(W)})}function GZ($,_,U,W){return new $({type:"map",keyType:_,valueType:U,...S(W)})}function QZ($,_,U){return new $({type:"set",valueType:_,...S(U)})}function YZ($,_,U){let W=Array.isArray(_)?Object.fromEntries(_.map((J)=>[J,J])):_;return new $({type:"enum",entries:W,...S(U)})}function jZ($,_,U){return new $({type:"enum",entries:_,...S(U)})}function DZ($,_,U){return new $({type:"literal",values:Array.isArray(_)?_:[_],...S(U)})}function OD($,_){return new $({type:"file",...S(_)})}function zZ($,_){return new $({type:"transform",transform:_})}function qZ($,_){return new $({type:"optional",innerType:_})}function OZ($,_){return new $({type:"nullable",innerType:_})}function LZ($,_,U){return new $({type:"default",innerType:_,get defaultValue(){return typeof U==="function"?U():AQ(U)}})}function NZ($,_,U){return new $({type:"nonoptional",innerType:_,...S(U)})}function BZ($,_){return new $({type:"success",innerType:_})}function HZ($,_,U){return new $({type:"catch",innerType:_,catchValue:typeof U==="function"?U:()=>U})}function VZ($,_,U){return new $({type:"pipe",in:_,out:U})}function RZ($,_){return new $({type:"readonly",innerType:_})}function AZ($,_,U){return new $({type:"template_literal",parts:_,...S(U)})}function EZ($,_){return new $({type:"lazy",getter:_})}function FZ($,_){return new $({type:"promise",innerType:_})}function LD($,_,U){let W=S(U);return W.abort??(W.abort=!0),new $({type:"custom",check:"custom",fn:_,...W})}function ND($,_,U){return new $({type:"custom",check:"custom",fn:_,...S(U)})}function BD($,_){let U=JV((W)=>{return W.addIssue=(J)=>{if(typeof J==="string")W.issues.push(w2(J,W.value,U._zod.def));else{let X=J;if(X.fatal)X.continue=!1;X.code??(X.code="custom"),X.input??(X.input=W.value),X.inst??(X.inst=U),X.continue??(X.continue=!U._zod.def.abort),W.issues.push(w2(X))}},$(W.value,W)},_);return U}function JV($,_){let U=new c$({check:"custom",...S(_)});return U._zod.check=$,U}function HD($){let _=new c$({check:"describe"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,description:$})}],_._zod.check=()=>{},_}function VD($){let _=new c$({check:"meta"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,...$})}],_._zod.check=()=>{},_}function RD($,_){let U=S(_),W=U.truthy??["true","1","yes","on","y","enabled"],J=U.falsy??["false","0","no","off","n","disabled"];if(U.case!=="sensitive")W=W.map((L)=>typeof L==="string"?L.toLowerCase():L),J=J.map((L)=>typeof L==="string"?L.toLowerCase():L);let X=new Set(W),G=new Set(J),Q=$.Codec??VJ,Y=$.Boolean??BJ,O=new($.String??u0)({type:"string",error:U.error}),B=new Y({type:"boolean",error:U.error}),V=new Q({type:"pipe",in:O,out:B,transform:(L,N)=>{let H=L;if(U.case!=="sensitive")H=H.toLowerCase();if(X.has(H))return!0;else if(G.has(H))return!1;else return N.issues.push({code:"invalid_value",expected:"stringbool",values:[...X,...G],input:N.value,inst:V,continue:!1}),{}},reverseTransform:(L,N)=>{if(L===!0)return W[0]||"true";else return J[0]||"false"},error:U.error});return V}function h2($,_,U,W={}){let J=S(W),X={...S(W),check:"string_format",type:"string",format:_,fn:typeof U==="function"?U:(Q)=>U.test(Q),...J};if(U instanceof RegExp)X.pattern=U;return new $(X)}var Z9;var WV=y(()=>{U9();bJ();Zj();p();Z9={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function r4($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";return{processors:$.processors??{},metadataRegistry:$?.metadata??D_,target:_,unrepresentable:$?.unrepresentable??"throw",override:$?.override??(()=>{}),io:$?.io??"output",counter:0,seen:new Map,cycles:$?.cycles??"ref",reused:$?.reused??"inline",external:$?.external??void 0}}function T$($,_,U={path:[],schemaPath:[]}){var W;let J=$._zod.def,X=_.seen.get($);if(X){if(X.count++,U.schemaPath.includes($))X.cycle=U.path;return X.schema}let G={schema:{},count:1,cycle:void 0,path:U.path};_.seen.set($,G);let Q=$._zod.toJSONSchema?.();if(Q)G.schema=Q;else{let O={...U,schemaPath:[...U.schemaPath,$],path:U.path};if($._zod.processJSONSchema)$._zod.processJSONSchema(_,G.schema,O);else{let V=G.schema,L=_.processors[J.type];if(!L)throw Error(`[toJSONSchema]: Non-representable type encountered: ${J.type}`);L($,_,V,O)}let B=$._zod.parent;if(B){if(!G.ref)G.ref=B;T$(B,_,O),_.seen.get(B).isParent=!0}}let Y=_.metadataRegistry.get($);if(Y)Object.assign(G.schema,Y);if(_.io==="input"&&M_($))delete G.schema.examples,delete G.schema.default;if(_.io==="input"&&"_prefault"in G.schema)(W=G.schema).default??(W.default=G.schema._prefault);return delete G.schema._prefault,_.seen.get($).schema}function p4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=new Map;for(let G of $.seen.entries()){let Q=$.metadataRegistry.get(G[0])?.id;if(Q){let Y=W.get(Q);if(Y&&Y!==G[0])throw Error(`Duplicate schema id "${Q}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);W.set(Q,G[0])}}let J=(G)=>{let Q=$.target==="draft-2020-12"?"$defs":"definitions";if($.external){let B=$.external.registry.get(G[0])?.id,V=$.external.uri??((N)=>N);if(B)return{ref:V(B)};let L=G[1].defId??G[1].schema.id??`schema${$.counter++}`;return G[1].defId=L,{defId:L,ref:`${V("__shared")}#/${Q}/${L}`}}if(G[1]===U)return{ref:"#"};let j=`${"#"}/${Q}/`,O=G[1].schema.id??`__schema${$.counter++}`;return{defId:O,ref:j+O}},X=(G)=>{if(G[1].schema.$ref)return;let Q=G[1],{ref:Y,defId:j}=J(G);if(Q.def={...Q.schema},j)Q.defId=j;let O=Q.schema;for(let B in O)delete O[B];O.$ref=Y};if($.cycles==="throw")for(let G of $.seen.entries()){let Q=G[1];if(Q.cycle)throw Error(`Cycle detected: #/${Q.cycle?.join("/")}/<root> + `)}L.write("payload.value = newResult;"),L.write("return payload;");let A=L.compile();return(M,K)=>A(V,M,K)},X,G=m0,Q=!y0.jitless,j=Q&&RQ.value,O=_.catchall,B;$._zod.parse=(V,L)=>{B??(B=W.value);let N=V.value;if(!G(N))return V.issues.push({expected:"object",code:"invalid_type",input:N,inst:$}),V;if(Q&&j&&L?.async===!1&&L.jitless!==!0){if(!X)X=J(_.shape);if(V=X(V,L),!O)return V;return W3([],N,V,L,B,$)}return U(V,L)}});HJ=E("$ZodUnion",($,_)=>{D$.init($,_),K$($._zod,"optin",()=>_.options.some((W)=>W._zod.optin==="optional")?"optional":void 0),K$($._zod,"optout",()=>_.options.some((W)=>W._zod.optout==="optional")?"optional":void 0),K$($._zod,"values",()=>{if(_.options.every((W)=>W._zod.values))return new Set(_.options.flatMap((W)=>Array.from(W._zod.values)));return}),K$($._zod,"pattern",()=>{if(_.options.every((W)=>W._zod.pattern)){let W=_.options.map((J)=>J._zod.pattern);return new RegExp(`^(${W.map((J)=>YJ(J.source)).join("|")})$`)}return});let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else{if(Y.issues.length===0)return Y;G.push(Y)}}if(!X)return dH(G,W,$,J);return Promise.all(G).then((Q)=>{return dH(Q,W,$,J)})}});Dj=E("$ZodXor",($,_)=>{HJ.init($,_),_.inclusive=!1;let U=_.options.length===1?_.options[0]._zod.run:null;$._zod.parse=(W,J)=>{if(U)return U(W,J);let X=!1,G=[];for(let Q of _.options){let Y=Q._zod.run({value:W.value,issues:[]},J);if(Y instanceof Promise)G.push(Y),X=!0;else G.push(Y)}if(!X)return cH(G,W,$,J);return Promise.all(G).then((Q)=>{return cH(Q,W,$,J)})}}),zj=E("$ZodDiscriminatedUnion",($,_)=>{_.inclusive=!1,HJ.init($,_);let U=$._zod.parse;K$($._zod,"propValues",()=>{let J={};for(let X of _.options){let G=X._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(X)}"`);for(let[Q,Y]of Object.entries(G)){if(!J[Q])J[Q]=new Set;for(let j of Y)J[Q].add(j)}}return J});let W=w2(()=>{let J=_.options,X=new Map;for(let G of J){let Q=G._zod.propValues?.[_.discriminator];if(!Q||Q.size===0)throw Error(`Invalid discriminated union option at index "${_.options.indexOf(G)}"`);for(let Y of Q){if(X.has(Y))throw Error(`Duplicate discriminator value "${String(Y)}"`);X.set(Y,G)}}return X});$._zod.parse=(J,X)=>{let G=J.value;if(!m0(G))return J.issues.push({code:"invalid_type",expected:"object",input:G,inst:$}),J;let Q=W.value.get(G?.[_.discriminator]);if(Q)return Q._zod.run(J,X);if(_.unionFallback||X.direction==="backward")return U(J,X);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:_.discriminator,options:Array.from(W.value.keys()),input:G,path:[_.discriminator],inst:$}),J}}),qj=E("$ZodIntersection",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value,X=_.left._zod.run({value:J,issues:[]},W),G=_.right._zod.run({value:J,issues:[]},W);if(X instanceof Promise||G instanceof Promise)return Promise.all([X,G]).then(([Y,j])=>{return nH(U,Y,j)});return nH(U,X,G)}});z9=E("$ZodTuple",($,_)=>{D$.init($,_);let U=_.items;$._zod.parse=(W,J)=>{let X=W.value;if(!Array.isArray(X))return W.issues.push({input:X,inst:$,expected:"tuple",code:"invalid_type"}),W;W.value=[];let G=[],Q=lH(U,"optin"),Y=lH(U,"optout");if(!_.rest){if(X.length<Q)return W.issues.push({code:"too_small",minimum:Q,inclusive:!0,input:X,inst:$,origin:"array"}),W;if(X.length>U.length)W.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:X,inst:$,origin:"array"})}let j=Array(U.length);for(let O=0;O<U.length;O++){let B=U[O]._zod.run({value:X[O],issues:[]},J);if(B instanceof Promise)G.push(B.then((V)=>{j[O]=V}));else j[O]=B}if(_.rest){let O=U.length-1,B=X.slice(U.length);for(let V of B){O++;let L=_.rest._zod.run({value:V,issues:[]},J);if(L instanceof Promise)G.push(L.then((N)=>iH(N,W,O)));else iH(L,W,O)}}if(G.length)return Promise.all(G).then(()=>rH(j,W,U,X,Y));return rH(j,W,U,X,Y)}});Oj=E("$ZodRecord",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!c4(J))return U.issues.push({expected:"record",code:"invalid_type",input:J,inst:$}),U;let X=[],G=_.keyType._zod.values;if(G){U.value={};let Q=new Set;for(let j of G)if(typeof j==="string"||typeof j==="number"||typeof j==="symbol"){Q.add(typeof j==="number"?j.toString():j);let O=_.keyType._zod.run({value:j,issues:[]},W);if(O instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(O.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:O.issues.map((L)=>b_(L,W,__())),input:j,path:[j],inst:$});continue}let B=O.value,V=_.valueType._zod.run({value:J[j],issues:[]},W);if(V instanceof Promise)X.push(V.then((L)=>{if(L.issues.length)U.issues.push(...k_(j,L.issues));U.value[B]=L.value}));else{if(V.issues.length)U.issues.push(...k_(j,V.issues));U.value[B]=V.value}}let Y;for(let j in J)if(!Q.has(j))Y=Y??[],Y.push(j);if(Y&&Y.length>0)U.issues.push({code:"unrecognized_keys",input:J,inst:$,keys:Y})}else{U.value={};for(let Q of Reflect.ownKeys(J)){if(Q==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(J,Q))continue;let Y=_.keyType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof Q==="string"&&OJ.test(Q)&&Y.issues.length){let B=_.keyType._zod.run({value:Number(Q),issues:[]},W);if(B instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(B.issues.length===0)Y=B}if(Y.issues.length){if(_.mode==="loose")U.value[Q]=J[Q];else U.issues.push({code:"invalid_key",origin:"record",issues:Y.issues.map((B)=>b_(B,W,__())),input:Q,path:[Q],inst:$});continue}let O=_.valueType._zod.run({value:J[Q],issues:[]},W);if(O instanceof Promise)X.push(O.then((B)=>{if(B.issues.length)U.issues.push(...k_(Q,B.issues));U.value[Y.value]=B.value}));else{if(O.issues.length)U.issues.push(...k_(Q,O.issues));U.value[Y.value]=O.value}}}if(X.length)return Promise.all(X).then(()=>U);return U}}),Lj=E("$ZodMap",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Map))return U.issues.push({expected:"map",code:"invalid_type",input:J,inst:$}),U;let X=[];U.value=new Map;for(let[G,Q]of J){let Y=_.keyType._zod.run({value:G,issues:[]},W),j=_.valueType._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise||j instanceof Promise)X.push(Promise.all([Y,j]).then(([O,B])=>{pH(O,B,U,G,J,$,W)}));else pH(Y,j,U,G,J,$,W)}if(X.length)return Promise.all(X).then(()=>U);return U}});Nj=E("$ZodSet",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(!(J instanceof Set))return U.issues.push({input:J,inst:$,expected:"set",code:"invalid_type"}),U;let X=[];U.value=new Set;for(let G of J){let Q=_.valueType._zod.run({value:G,issues:[]},W);if(Q instanceof Promise)X.push(Q.then((Y)=>oH(Y,U)));else oH(Q,U)}if(X.length)return Promise.all(X).then(()=>U);return U}});Bj=E("$ZodEnum",($,_)=>{D$.init($,_);let U=QJ(_.entries),W=new Set(U);$._zod.values=W,$._zod.pattern=new RegExp(`^(${U.filter((J)=>jJ.has(typeof J)).map((J)=>typeof J==="string"?t_(J):J.toString()).join("|")})$`),$._zod.parse=(J,X)=>{let G=J.value;if(W.has(G))return J;return J.issues.push({code:"invalid_value",values:U,input:G,inst:$}),J}}),Hj=E("$ZodLiteral",($,_)=>{if(D$.init($,_),_.values.length===0)throw Error("Cannot create literal schema with no valid values");let U=new Set(_.values);$._zod.values=U,$._zod.pattern=new RegExp(`^(${_.values.map((W)=>typeof W==="string"?t_(W):W?t_(W.toString()):String(W)).join("|")})$`),$._zod.parse=(W,J)=>{let X=W.value;if(U.has(X))return W;return W.issues.push({code:"invalid_value",values:_.values,input:X,inst:$}),W}}),Vj=E("$ZodFile",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{let J=U.value;if(J instanceof File)return U;return U.issues.push({expected:"file",code:"invalid_type",input:J,inst:$}),U}}),Rj=E("$ZodTransform",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new h0($.constructor.name);let J=_.transform(U.value,U);if(W.async)return(J instanceof Promise?J:Promise.resolve(J)).then((G)=>{return U.value=G,U.fallback=!0,U});if(J instanceof Promise)throw new y6;return U.value=J,U.fallback=!0,U}});q9=E("$ZodOptional",($,_)=>{D$.init($,_),$._zod.optin="optional",$._zod.optout="optional",K$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,void 0]):void 0}),K$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)})?$`):void 0}),$._zod.parse=(U,W)=>{if(_.innerType._zod.optin==="optional"){let J=U.value,X=_.innerType._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>tH(G,J));return tH(X,J)}if(U.value===void 0)return U;return _.innerType._zod.run(U,W)}}),Aj=E("$ZodExactOptional",($,_)=>{q9.init($,_),K$($._zod,"values",()=>_.innerType._zod.values),K$($._zod,"pattern",()=>_.innerType._zod.pattern),$._zod.parse=(U,W)=>{return _.innerType._zod.run(U,W)}}),Fj=E("$ZodNullable",($,_)=>{D$.init($,_),K$($._zod,"optin",()=>_.innerType._zod.optin),K$($._zod,"optout",()=>_.innerType._zod.optout),K$($._zod,"pattern",()=>{let U=_.innerType._zod.pattern;return U?new RegExp(`^(${YJ(U.source)}|null)$`):void 0}),K$($._zod,"values",()=>{return _.innerType._zod.values?new Set([..._.innerType._zod.values,null]):void 0}),$._zod.parse=(U,W)=>{if(U.value===null)return U;return _.innerType._zod.run(U,W)}}),Ej=E("$ZodDefault",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)return U.value=_.defaultValue,U;let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>aH(X,_));return aH(J,_)}});Kj=E("$ZodPrefault",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);if(U.value===void 0)U.value=_.defaultValue;return _.innerType._zod.run(U,W)}}),bj=E("$ZodNonOptional",($,_)=>{D$.init($,_),K$($._zod,"values",()=>{let U=_.innerType._zod.values;return U?new Set([...U].filter((W)=>W!==void 0)):void 0}),$._zod.parse=(U,W)=>{let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>sH(X,$));return sH(J,$)}});Mj=E("$ZodSuccess",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new h0("ZodSuccess");let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{return U.value=X.issues.length===0,U});return U.value=J.issues.length===0,U}}),Ij=E("$ZodCatch",($,_)=>{D$.init($,_),$._zod.optin="optional",K$($._zod,"optout",()=>_.innerType._zod.optout),K$($._zod,"values",()=>_.innerType._zod.values),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>{if(U.value=X.value,X.issues.length)U.value=_.catchValue({...U,error:{issues:X.issues.map((G)=>b_(G,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U});if(U.value=J.value,J.issues.length)U.value=_.catchValue({...U,error:{issues:J.issues.map((X)=>b_(X,W,__()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),gj=E("$ZodNaN",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{if(typeof U.value!=="number"||!Number.isNaN(U.value))return U.issues.push({input:U.value,inst:$,expected:"nan",code:"invalid_type"}),U;return U}}),O9=E("$ZodPipe",($,_)=>{D$.init($,_),K$($._zod,"values",()=>_.in._zod.values),K$($._zod,"optin",()=>_.in._zod.optin),K$($._zod,"optout",()=>_.out._zod.optout),K$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if(W.direction==="backward"){let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>X9(G,_.in,W));return X9(X,_.in,W)}let J=_.in._zod.run(U,W);if(J instanceof Promise)return J.then((X)=>X9(X,_.out,W));return X9(J,_.out,W)}});VJ=E("$ZodCodec",($,_)=>{D$.init($,_),K$($._zod,"values",()=>_.in._zod.values),K$($._zod,"optin",()=>_.in._zod.optin),K$($._zod,"optout",()=>_.out._zod.optout),K$($._zod,"propValues",()=>_.in._zod.propValues),$._zod.parse=(U,W)=>{if((W.direction||"forward")==="forward"){let X=_.in._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>G9(G,_,W));return G9(X,_,W)}else{let X=_.out._zod.run(U,W);if(X instanceof Promise)return X.then((G)=>G9(G,_,W));return G9(X,_,W)}}});wj=E("$ZodPreprocess",($,_)=>{O9.init($,_)}),kj=E("$ZodReadonly",($,_)=>{D$.init($,_),K$($._zod,"propValues",()=>_.innerType._zod.propValues),K$($._zod,"values",()=>_.innerType._zod.values),K$($._zod,"optin",()=>_.innerType?._zod?.optin),K$($._zod,"optout",()=>_.innerType?._zod?.optout),$._zod.parse=(U,W)=>{if(W.direction==="backward")return _.innerType._zod.run(U,W);let J=_.innerType._zod.run(U,W);if(J instanceof Promise)return J.then(eH);return eH(J)}});Pj=E("$ZodTemplateLiteral",($,_)=>{D$.init($,_);let U=[];for(let W of _.parts)if(typeof W==="object"&&W!==null){if(!W._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...W._zod.traits].shift()}`);let J=W._zod.pattern instanceof RegExp?W._zod.pattern.source:W._zod.pattern;if(!J)throw Error(`Invalid template literal part: ${W._zod.traits}`);let X=J.startsWith("^")?1:0,G=J.endsWith("$")?J.length-1:J.length;U.push(J.slice(X,G))}else if(W===null||FQ.has(typeof W))U.push(t_(`${W}`));else throw Error(`Invalid template literal part: ${W}`);$._zod.pattern=new RegExp(`^${U.join("")}$`),$._zod.parse=(W,J)=>{if(typeof W.value!=="string")return W.issues.push({input:W.value,inst:$,expected:"string",code:"invalid_type"}),W;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(W.value))return W.issues.push({input:W.value,inst:$,code:"invalid_format",format:_.format??"template_literal",pattern:$._zod.pattern.source}),W;return W}}),fj=E("$ZodFunction",($,_)=>{return D$.init($,_),$._def=_,$._zod.def=_,$.implement=(U)=>{if(typeof U!=="function")throw Error("implement() must be called with a function");return function(...W){let J=$._def.input?cX($._def.input,W):W,X=Reflect.apply(U,this,J);if($._def.output)return cX($._def.output,X);return X}},$.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...W){let J=$._def.input?await nX($._def.input,W):W,X=await Reflect.apply(U,this,J);if($._def.output)return await nX($._def.output,X);return X}},$._zod.parse=(U,W)=>{if(typeof U.value!=="function")return U.issues.push({code:"invalid_type",expected:"function",input:U.value,inst:$}),U;if($._def.output&&$._def.output._zod.def.type==="promise")U.value=$.implementAsync(U.value);else U.value=$.implement(U.value);return U},$.input=(...U)=>{let W=$.constructor;if(Array.isArray(U[0]))return new W({type:"function",input:new z9({type:"tuple",items:U[0],rest:U[1]}),output:$._def.output});return new W({type:"function",input:U[0],output:$._def.output})},$.output=(U)=>{return new $.constructor({type:"function",input:$._def.input,output:U})},$}),Cj=E("$ZodPromise",($,_)=>{D$.init($,_),$._zod.parse=(U,W)=>{return Promise.resolve(U.value).then((J)=>_.innerType._zod.run({value:J,issues:[]},W))}}),Tj=E("$ZodLazy",($,_)=>{D$.init($,_),K$($._zod,"innerType",()=>{let U=_;if(!U._cachedInner)U._cachedInner=_.getter();return U._cachedInner}),K$($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),K$($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),K$($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),K$($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(U,W)=>{return $._zod.innerType._zod.run(U,W)}}),Sj=E("$ZodCustom",($,_)=>{c$.init($,_),D$.init($,_),$._zod.parse=(U,W)=>{return U},$._zod.check=(U)=>{let W=U.value,J=_.fn(W);if(J instanceof Promise)return J.then((X)=>$3(X,U,W,$));$3(J,U,W,$);return}})});function vj(){return{localeError:GS()}}var GS=()=>{let $={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`;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 ${X}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"}`;return`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${J.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()} ${G.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${J.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${J.prefix}"`;if(X.format==="ends_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${X.suffix}"`;if(X.format==="includes")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`${U[X.format]??J.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${J.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${J.keys.length>1?"\u0629":""}: ${b(J.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${J.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var G3=y(()=>{p()});function yj(){return{localeError:QS()}}var QS=()=>{let $={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${J.expected}, daxil olan ${Q}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${X}, daxil olan ${Q}`}case"invalid_value":if(J.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${g(J.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${J.origin??"d\u0259y\u0259r"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${X.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(X.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${X.suffix}" il\u0259 bitm\u0259lidir`;if(X.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${X.includes}" daxil olmal\u0131d\u0131r`;if(X.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${X.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[X.format]??J.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${J.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${J.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var Q3=y(()=>{p()});function Y3($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function hj(){return{localeError:YS()}}var YS=()=>{let $={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},W={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${J.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${X}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=Y3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=Y3(Q,G.unit.one,G.unit.few,G.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${G.verb} ${X}${J.minimum.toString()} ${Y}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${J.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${J.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${J.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var j3=y(()=>{p()});function xj(){return{localeError:jS()}}var jS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${J.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;let G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(X.format==="emoji")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="datetime")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="date")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(X.format==="time")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(X.format==="duration")G="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${G} ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${J.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u043E\u0432\u0435":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var D3=y(()=>{p()});function mj(){return{localeError:DS()}}var DS=()=>{let $={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${J.expected}, s'ha rebut ${Q}`;return`Tipus inv\xE0lid: s'esperava ${X}, s'ha rebut ${Q}`}case"invalid_value":if(J.values.length===1)return`Valor inv\xE0lid: s'esperava ${g(J.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${b(J.values," o ")}`;case"too_big":{let X=J.inclusive?"com a m\xE0xim":"menys de",G=_(J.origin);if(G)return`Massa gran: s'esperava que ${J.origin??"el valor"} contingu\xE9s ${X} ${J.maximum.toString()} ${G.unit??"elements"}`;return`Massa gran: s'esperava que ${J.origin??"el valor"} fos ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"com a m\xEDnim":"m\xE9s de",G=_(J.origin);if(G)return`Massa petit: s'esperava que ${J.origin} contingu\xE9s ${X} ${J.minimum.toString()} ${G.unit}`;return`Massa petit: s'esperava que ${J.origin} fos ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${X.prefix}"`;if(X.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${X.suffix}"`;if(X.format==="includes")return`Format inv\xE0lid: ha d'incloure "${X.includes}"`;if(X.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${X.pattern}`;return`Format inv\xE0lid per a ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${J.divisor}`;case"unrecognized_keys":return`Clau${J.keys.length>1?"s":""} no reconeguda${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${J.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${J.origin}`;default:return"Entrada inv\xE0lida"}}};var z3=y(()=>{p()});function uj(){return{localeError:zS()}}var zS=()=>{let $={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function _(J){return $[J]??null}let U={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},W={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${J.expected}, obdr\u017Eeno ${Q}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${X}, obdr\u017Eeno ${Q}`}case"invalid_value":if(J.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${g(J.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.maximum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED m\xEDt ${X}${J.minimum.toString()} ${G.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${J.origin??"hodnota"} mus\xED b\xFDt ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${X.prefix}"`;if(X.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${X.suffix}"`;if(X.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${X.includes}"`;if(X.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${X.pattern}`;return`Neplatn\xFD form\xE1t ${U[X.format]??J.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${J.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${b(J.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${J.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${J.origin}`;default:return"Neplatn\xFD vstup"}}};var q3=y(()=>{p()});function dj(){return{localeError:qS()}}var qS=()=>{let $={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldigt input: forventede instanceof ${J.expected}, fik ${Q}`;return`Ugyldigt input: forventede ${X}, fik ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig v\xE6rdi: forventede ${g(J.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For stor: forventede ${Q??"value"} ${G.verb} ${X} ${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor: forventede ${Q??"value"} havde ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`For lille: forventede ${Q} ${G.verb} ${X} ${J.minimum.toString()} ${G.unit}`;return`For lille: forventede ${Q} havde ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: skal starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: skal ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: skal indeholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${J.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${J.origin}`;default:return"Ugyldigt input"}}};var O3=y(()=>{p()});function cj(){return{localeError:OS()}}var OS=()=>{let $={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function _(J){return $[J]??null}let U={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},W={nan:"NaN",number:"Zahl",array:"Array"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${J.expected}, erhalten ${Q}`;return`Ung\xFCltige Eingabe: erwartet ${X}, erhalten ${Q}`}case"invalid_value":if(J.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${g(J.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ${G.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${J.origin??"Wert"} ${X}${J.maximum.toString()} ist`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ${G.unit} hat`;return`Zu klein: erwartet, dass ${J.origin} ${X}${J.minimum.toString()} ist`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ung\xFCltiger String: muss mit "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ung\xFCltiger String: muss mit "${X.suffix}" enden`;if(X.format==="includes")return`Ung\xFCltiger String: muss "${X.includes}" enthalten`;if(X.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${X.pattern} entsprechen`;return`Ung\xFCltig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${J.divisor} sein`;case"unrecognized_keys":return`${J.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${J.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${J.origin}`;default:return"Ung\xFCltige Eingabe"}}};var L3=y(()=>{p()});function nj(){return{localeError:LS()}}var LS=()=>{let $={string:{unit:"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},file:{unit:"bytes",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},array:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},set:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},map:{unit:"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"}};function _(J){return $[J]??null}let U={regex:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",email:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",date:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",time:"ISO \u03CE\u03C1\u03B1",duration:"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",ipv4:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",ipv6:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",mac:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",cidrv4:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",cidrv6:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",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",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",json_string:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",e164:"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",jwt:"JWT",template_literal:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(typeof J.expected==="string"&&/^[A-Z]/.test(J.expected))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 ${J.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`;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 ${X}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.maximum.toString()} ${G.unit??"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${X}${J.minimum.toString()} ${G.unit}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${J.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${J.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${J.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${J.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${J.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var N3=y(()=>{p()});function RJ(){return{localeError:NS()}}var NS=()=>{let $={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Invalid input: expected ${X}, received ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${g(J.values[0])}`;return`Invalid option: expected one of ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Too big: expected ${J.origin??"value"} to have ${X}${J.maximum.toString()} ${G.unit??"elements"}`;return`Too big: expected ${J.origin??"value"} to be ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Too small: expected ${J.origin} to have ${X}${J.minimum.toString()} ${G.unit}`;return`Too small: expected ${J.origin} to be ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Invalid string: must start with "${X.prefix}"`;if(X.format==="ends_with")return`Invalid string: must end with "${X.suffix}"`;if(X.format==="includes")return`Invalid string: must include "${X.includes}"`;if(X.format==="regex")return`Invalid string: must match pattern ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${J.divisor}`;case"unrecognized_keys":return`Unrecognized key${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Invalid key in ${J.origin}`;case"invalid_union":if(J.options&&Array.isArray(J.options)&&J.options.length>0)return`Invalid discriminator value. Expected ${J.options.map((G)=>`'${G}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${J.origin}`;default:return"Invalid input"}}};var lj=y(()=>{p()});function ij(){return{localeError:BS()}}var BS=()=>{let $={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function _(J){return $[J]??null}let U={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},W={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${J.expected}, ricevi\u011Dis ${Q}`;return`Nevalida enigo: atendi\u011Dis ${X}, ricevi\u011Dis ${Q}`}case"invalid_value":if(J.values.length===1)return`Nevalida enigo: atendi\u011Dis ${g(J.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()} ${G.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${J.origin??"valoro"} havu ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Tro malgranda: atendi\u011Dis ke ${J.origin} havu ${X}${J.minimum.toString()} ${G.unit}`;return`Tro malgranda: atendi\u011Dis ke ${J.origin} estu ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${X.prefix}"`;if(X.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${X.suffix}"`;if(X.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${X.includes}"`;if(X.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${X.pattern}`;return`Nevalida ${U[X.format]??J.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${J.divisor}`;case"unrecognized_keys":return`Nekonata${J.keys.length>1?"j":""} \u015Dlosilo${J.keys.length>1?"j":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${J.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${J.origin}`;default:return"Nevalida enigo"}}};var B3=y(()=>{p()});function rj(){return{localeError:HS()}}var HS=()=>{let $={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function _(J){return $[J]??null}let U={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${J.expected}, recibido ${Q}`;return`Entrada inv\xE1lida: se esperaba ${X}, recibido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: se esperaba ${g(J.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado grande: se esperaba que ${Q??"valor"} tuviera ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${Q??"valor"} fuera ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Demasiado peque\xF1o: se esperaba que ${Q} tuviera ${X}${J.minimum.toString()} ${G.unit}`;return`Demasiado peque\xF1o: se esperaba que ${Q} fuera ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${X.prefix}"`;if(X.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${X.suffix}"`;if(X.format==="includes")return`Cadena inv\xE1lida: debe incluir "${X.includes}"`;if(X.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${X.pattern}`;return`Inv\xE1lido ${U[X.format]??J.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Llave${J.keys.length>1?"s":""} desconocida${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${W[J.origin]??J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${W[J.origin]??J.origin}`;default:return"Entrada inv\xE1lida"}}};var H3=y(()=>{p()});function pj(){return{localeError:VS()}}var VS=()=>{let $={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${J.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${X} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${Q} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(J.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${g(J.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;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 ${b(J.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${J.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(X.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${X.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(X.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${X.includes}" \u0628\u0627\u0634\u062F`;if(X.format==="regex")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${X.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[X.format]??J.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${J.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${J.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${b(J.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${J.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${J.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var V3=y(()=>{p()});function oj(){return{localeError:RS()}}var RS=()=>{let $={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function _(J){return $[J]??null}let U={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Virheellinen tyyppi: odotettiin instanceof ${J.expected}, oli ${Q}`;return`Virheellinen tyyppi: odotettiin ${X}, oli ${Q}`}case"invalid_value":if(J.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${g(J.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Liian suuri: ${G.subject} t\xE4ytyy olla ${X}${J.maximum.toString()} ${G.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Liian pieni: ${G.subject} t\xE4ytyy olla ${X}${J.minimum.toString()} ${G.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${X.prefix}"`;if(X.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${X.suffix}"`;if(X.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${X.includes}"`;if(X.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${X.pattern}`;return`Virheellinen ${U[X.format]??J.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${J.divisor} monikerta`;case"unrecognized_keys":return`${J.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${b(J.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var R3=y(()=>{p()});function tj(){return{localeError:AS()}}var AS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={string:"cha\xEEne",number:"nombre",int:"entier",boolean:"bool\xE9en",bigint:"grand entier",symbol:"symbole",undefined:"ind\xE9fini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : instanceof ${J.expected} attendu, ${Q} re\xE7u`;return`Entr\xE9e invalide : ${X} attendu, ${Q} re\xE7u`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : ${g(J.values[0])} attendu`;return`Option invalide : une valeur parmi ${b(J.values,"|")} attendue`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Trop grand : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Trop petit : ${W[J.origin]??"valeur"} doit ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : ${W[J.origin]??"valeur"} doit \xEAtre ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${b(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var A3=y(()=>{p()});function aj(){return{localeError:FS()}}var FS=()=>{let $={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function _(J){return $[J]??null}let U={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Entr\xE9e invalide : attendu instanceof ${J.expected}, re\xE7u ${Q}`;return`Entr\xE9e invalide : attendu ${X}, re\xE7u ${Q}`}case"invalid_value":if(J.values.length===1)return`Entr\xE9e invalide : attendu ${g(J.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u2264":"<",G=_(J.origin);if(G)return`Trop grand : attendu que ${J.origin??"la valeur"} ait ${X}${J.maximum.toString()} ${G.unit}`;return`Trop grand : attendu que ${J.origin??"la valeur"} soit ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u2265":">",G=_(J.origin);if(G)return`Trop petit : attendu que ${J.origin} ait ${X}${J.minimum.toString()} ${G.unit}`;return`Trop petit : attendu que ${J.origin} soit ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${X.prefix}"`;if(X.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${X.suffix}"`;if(X.format==="includes")return`Cha\xEEne invalide : doit inclure "${X.includes}"`;if(X.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${X.pattern}`;return`${U[X.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${J.divisor}`;case"unrecognized_keys":return`Cl\xE9${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${b(J.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${J.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entr\xE9e invalide"}}};var F3=y(()=>{p()});function sj(){return{localeError:ES()}}var ES=()=>{let $={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},_={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(j)=>j?$[j]:void 0,W=(j)=>{let O=U(j);if(O)return O.label;return j??$.unknown.label},J=(j)=>`\u05D4${W(j)}`,X=(j)=>{return(U(j)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},G=(j)=>{if(!j)return null;return _[j]??null},Q={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},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"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},Y={nan:"NaN"};return(j)=>{switch(j.code){case"invalid_type":{let O=j.expected,B=Y[O??""]??W(O),V=w(j.input),L=Y[V]??$[V]?.label??V;if(/^[A-Z]/.test(j.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${j.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${B}, \u05D4\u05EA\u05E7\u05D1\u05DC ${L}`}case"invalid_value":{if(j.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${g(j.values[0])}`;let O=j.values.map((L)=>g(L));if(j.values.length===2)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 ${O[0]} \u05D0\u05D5 ${O[1]}`;let B=O[O.length-1];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 ${O.slice(0,-1).join(", ")} \u05D0\u05D5 ${B}`}case"too_big":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.maximum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${j.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",H=j.inclusive?`${j.maximum} ${O?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${j.maximum} ${O?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?"<=":"<",L=X(j.origin??"value");if(O?.unit)return`${O.longLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()} ${O.unit}`;return`${O?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.maximum.toString()}`}case"too_small":{let O=G(j.origin),B=J(j.origin??"value");if(j.origin==="string")return`${O?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${j.minimum.toString()} ${O?.unit??""} ${j.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(j.origin==="number"){let N=j.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${j.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${j.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${N}`}if(j.origin==="array"||j.origin==="set"){let N=j.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(j.minimum===1&&j.inclusive){let R=j.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";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${R}`}let H=j.inclusive?`${j.minimum} ${O?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${j.minimum} ${O?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${B} ${N} \u05DC\u05D4\u05DB\u05D9\u05DC ${H}`.trim()}let V=j.inclusive?">=":">",L=X(j.origin??"value");if(O?.unit)return`${O.shortLabel} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()} ${O.unit}`;return`${O?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${B} ${L} ${V}${j.minimum.toString()}`}case"invalid_format":{let O=j;if(O.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${O.prefix}"`;if(O.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${O.suffix}"`;if(O.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${O.includes}"`;if(O.format==="regex")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 ${O.pattern}`;let B=Q[O.format],V=B?.label??O.format,N=(B?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${V} \u05DC\u05D0 ${N}`}case"not_multiple_of":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 ${j.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${j.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${j.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${b(j.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${J(j.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var E3=y(()=>{p()});function ej(){return{localeError:KS()}}var KS=()=>{let $={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function _(J){return $[J]??null}let U={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},W={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${J.expected}, a primljeno je ${Q}`;return`Neispravan unos: o\u010Dekuje se ${X}, a primljeno je ${Q}`}case"invalid_value":if(J.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${g(J.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} ima ${X}${J.maximum.toString()} ${G.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${Q??"vrijednost"} bude ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=W[J.origin]??J.origin;if(G)return`Premalo: o\u010Dekivano da ${Q} ima ${X}${J.minimum.toString()} ${G.unit}`;return`Premalo: o\u010Dekivano da ${Q} bude ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${X.prefix}"`;if(X.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${X.suffix}"`;if(X.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${X.includes}"`;if(X.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${X.pattern}`;return`Neispravna ${U[X.format]??J.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${J.divisor}`;case"unrecognized_keys":return`Neprepoznat${J.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${b(J.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${W[J.origin]??J.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${W[J.origin]??J.origin}`;default:return"Neispravan unos"}}};var K3=y(()=>{p()});function $7(){return{localeError:bS()}}var bS=()=>{let $={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function _(J){return $[J]??null}let U={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},W={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${J.expected}, a kapott \xE9rt\xE9k ${Q}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${X}, a kapott \xE9rt\xE9k ${Q}`}case"invalid_value":if(J.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${g(J.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xFAl nagy: ${J.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${X}${J.maximum.toString()} ${G.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${J.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} m\xE9rete t\xFAl kicsi ${X}${J.minimum.toString()} ${G.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${J.origin} t\xFAl kicsi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xC9rv\xE9nytelen string: "${X.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(X.format==="ends_with")return`\xC9rv\xE9nytelen string: "${X.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(X.format==="includes")return`\xC9rv\xE9nytelen string: "${X.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(X.format==="regex")return`\xC9rv\xE9nytelen string: ${X.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[X.format]??J.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${J.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${J.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${J.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var b3=y(()=>{p()});function M3($,_,U){return Math.abs($)===1?_:U}function y2($){if(!$)return"";let _=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=$[$.length-1];return $+(_.includes(U)?"\u0576":"\u0568")}function _7(){return{localeError:MS()}}var MS=()=>{let $={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function _(J){return $[J]??null}let U={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},W={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`;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 ${X}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[1])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=M3(Q,G.unit.one,G.unit.many);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 ${y2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.maximum.toString()} ${Y}`}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 ${y2(J.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=M3(Q,G.unit.one,G.unit.many);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 ${y2(J.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${X}${J.minimum.toString()} ${Y}`}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 ${y2(J.origin)} \u056C\u056B\u0576\u056B ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${X.prefix}"-\u0578\u057E`;if(X.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${X.suffix}"-\u0578\u057E`;if(X.format==="includes")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${X.includes}"`;if(X.format==="regex")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 ${X.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${J.keys.length>1?"\u0576\u0565\u0580":""}. ${b(J.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${y2(J.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${y2(J.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var I3=y(()=>{p()});function U7(){return{localeError:IS()}}var IS=()=>{let $={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak valid: diharapkan instanceof ${J.expected}, diterima ${Q}`;return`Input tidak valid: diharapkan ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak valid: diharapkan ${g(J.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: diharapkan ${J.origin??"value"} memiliki ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: diharapkan ${J.origin??"value"} menjadi ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: diharapkan ${J.origin} memiliki ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: diharapkan ${J.origin} menjadi ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak valid: harus dimulai dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak valid: harus berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak valid: harus menyertakan "${X.includes}"`;if(X.format==="regex")return`String tidak valid: harus sesuai pola ${X.pattern}`;return`${U[X.format]??J.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${J.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${J.origin}`;default:return"Input tidak valid"}}};var g3=y(()=>{p()});function J7(){return{localeError:gS()}}var gS=()=>{let $={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function _(J){return $[J]??null}let U={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},W={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera instanceof ${J.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${Q} \xFEar sem \xE1 a\xF0 vera ${X}`}case"invalid_value":if(J.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${g(J.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} hafi ${X}${J.maximum.toString()} ${G.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin??"gildi"} s\xE9 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} hafi ${X}${J.minimum.toString()} ${G.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${J.origin} s\xE9 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${X.prefix}"`;if(X.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${X.suffix}"`;if(X.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${X.includes}"`;if(X.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${X.pattern}`;return`Rangt ${U[X.format]??J.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${J.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${J.keys.length>1?"ir lyklar":"ur lykill"}: ${b(J.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${J.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${J.origin}`;default:return"Rangt gildi"}}};var w3=y(()=>{p()});function W7(){return{localeError:wS()}}var wS=()=>{let $={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function _(J){return $[J]??null}let U={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"numero",array:"vettore"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input non valido: atteso instanceof ${J.expected}, ricevuto ${Q}`;return`Input non valido: atteso ${X}, ricevuto ${Q}`}case"invalid_value":if(J.values.length===1)return`Input non valido: atteso ${g(J.values[0])}`;return`Opzione non valida: atteso uno tra ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Troppo grande: ${J.origin??"valore"} deve avere ${X}${J.maximum.toString()} ${G.unit??"elementi"}`;return`Troppo grande: ${J.origin??"valore"} deve essere ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Troppo piccolo: ${J.origin} deve avere ${X}${J.minimum.toString()} ${G.unit}`;return`Troppo piccolo: ${J.origin} deve essere ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Stringa non valida: deve iniziare con "${X.prefix}"`;if(X.format==="ends_with")return`Stringa non valida: deve terminare con "${X.suffix}"`;if(X.format==="includes")return`Stringa non valida: deve includere "${X.includes}"`;if(X.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${X.pattern}`;return`Input non valido: ${U[X.format]??J.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${J.divisor}`;case"unrecognized_keys":return`Chiav${J.keys.length>1?"i":"e"} non riconosciut${J.keys.length>1?"e":"a"}: ${b(J.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${J.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${J.origin}`;default:return"Input non valido"}}};var k3=y(()=>{p()});function X7(){return{localeError:kS()}}var kS=()=>{let $={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function _(J){return $[J]??null}let U={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},W={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${J.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${X}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${Q}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(J.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${g(J.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${b(J.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let X=J.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",G=_(J.origin);if(G)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${G.unit??"\u8981\u7D20"}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${J.origin??"\u5024"}\u306F${J.maximum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let X=J.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",G=_(J.origin);if(G)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${G.unit}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${J.origin}\u306F${J.minimum.toString()}${X}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${X.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(X.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${X.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${J.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${J.keys.length>1?"\u7FA4":""}: ${b(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${J.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var P3=y(()=>{p()});function G7(){return{localeError:PS()}}var PS=()=>{let $={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function _(J){return $[J]??null}let U={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",json_string:"JSON \u10D5\u10D4\u10DA\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},W={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10D5\u10D4\u10DA\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`;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 ${X}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${J.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;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 ${J.origin} \u10D8\u10E7\u10DD\u10E1 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"-\u10D8\u10D7`;if(X.format==="ends_with")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 "${X.suffix}"-\u10D8\u10D7`;if(X.format==="includes")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 "${X.includes}"-\u10E1`;if(X.format==="regex")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 ${X.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${J.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${J.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${J.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${J.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var f3=y(()=>{p()});function AJ(){return{localeError:fS()}}var fS=()=>{let $={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function _(J){return $[J]??null}let U={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},W={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`;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 ${X} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()} ${G.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()} ${G.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${J.origin} ${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${b(J.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${J.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":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 ${J.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var Q7=y(()=>{p()});function Y7(){return AJ()}var C3=y(()=>{Q7()});function j7(){return{localeError:CS()}}var CS=()=>{let $={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function _(J){return $[J]??null}let U={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${J.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${X}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${Q}\uC785\uB2C8\uB2E4`}case"invalid_value":if(J.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${g(J.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${b(J.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let X=J.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",G=X==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${J.maximum.toString()} ${X}${G}`}case"too_small":{let X=J.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",G=X==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",Q=_(J.origin),Y=Q?.unit??"\uC694\uC18C";if(Q)return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()}${Y} ${X}${G}`;return`${J.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${J.minimum.toString()} ${X}${G}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${X.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(X.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${X.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[X.format]??J.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${J.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${b(J.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${J.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${J.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var T3=y(()=>{p()});function S3($){let _=Math.abs($),U=_%10,W=_%100;if(W>=11&&W<=19||U===0)return"many";if(U===1)return"one";return"few"}function D7(){return{localeError:TS()}}var FJ=($)=>{return $.charAt(0).toUpperCase()+$.slice(1)},TS=()=>{let $={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function _(J,X,G,Q){let Y=$[J]??null;if(Y===null)return Y;return{unit:Y.unit[X],verb:Y.verb[Q][G?"inclusive":"notInclusive"]}}let U={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},W={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Gautas tipas ${Q}, o tik\u0117tasi - instanceof ${J.expected}`;return`Gautas tipas ${Q}, o tik\u0117tasi - ${X}`}case"invalid_value":if(J.values.length===1)return`Privalo b\u016Bti ${g(J.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${b(J.values,"|")} pasirinkim\u0173`;case"too_big":{let X=W[J.origin]??J.origin,G=_(J.origin,S3(Number(J.maximum)),J.inclusive??!1,"smaller");if(G?.verb)return`${FJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.maximum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${FJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.maximum.toString()} ${G?.unit}`}case"too_small":{let X=W[J.origin]??J.origin,G=_(J.origin,S3(Number(J.minimum)),J.inclusive??!1,"bigger");if(G?.verb)return`${FJ(X??J.origin??"reik\u0161m\u0117")} ${G.verb} ${J.minimum.toString()} ${G.unit??"element\u0173"}`;let Q=J.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${FJ(X??J.origin??"reik\u0161m\u0117")} turi b\u016Bti ${Q} ${J.minimum.toString()} ${G?.unit}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${X.prefix}"`;if(X.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${X.suffix}"`;if(X.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${X.includes}"`;if(X.format==="regex")return`Eilut\u0117 privalo atitikti ${X.pattern}`;return`Neteisingas ${U[X.format]??J.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${J.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${J.keys.length>1?"i":"as"} rakt${J.keys.length>1?"ai":"as"}: ${b(J.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let X=W[J.origin]??J.origin;return`${FJ(X??J.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var Z3=y(()=>{p()});function z7(){return{localeError:SS()}}var SS=()=>{let $={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function _(J){return $[J]??null}let U={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},W={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${J.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${X}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0438\u043C\u0430 ${X}${J.minimum.toString()} ${G.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${J.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`Invalid ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`${J.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"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${J.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${J.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var v3=y(()=>{p()});function q7(){return{localeError:ZS()}}var ZS=()=>{let $={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function _(J){return $[J]??null}let U={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"nombor"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak sah: dijangka instanceof ${J.expected}, diterima ${Q}`;return`Input tidak sah: dijangka ${X}, diterima ${Q}`}case"invalid_value":if(J.values.length===1)return`Input tidak sah: dijangka ${g(J.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Terlalu besar: dijangka ${J.origin??"nilai"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: dijangka ${J.origin??"nilai"} adalah ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Terlalu kecil: dijangka ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: dijangka ${J.origin} adalah ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`String tidak sah: mesti bermula dengan "${X.prefix}"`;if(X.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${X.suffix}"`;if(X.format==="includes")return`String tidak sah: mesti mengandungi "${X.includes}"`;if(X.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${X.pattern}`;return`${U[X.format]??J.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${b(J.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${J.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${J.origin}`;default:return"Input tidak sah"}}};var y3=y(()=>{p()});function O7(){return{localeError:vS()}}var vS=()=>{let $={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function _(J){return $[J]??null}let U={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},W={nan:"NaN",number:"getal"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ongeldige invoer: verwacht instanceof ${J.expected}, ontving ${Q}`;return`Ongeldige invoer: verwacht ${X}, ontving ${Q}`}case"invalid_value":if(J.values.length===1)return`Ongeldige invoer: verwacht ${g(J.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin),Q=J.origin==="date"?"laat":J.origin==="string"?"lang":"groot";if(G)return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} ${G.unit??"elementen"} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin??"waarde"} ${X}${J.maximum.toString()} is`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin),Q=J.origin==="date"?"vroeg":J.origin==="string"?"kort":"klein";if(G)return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Te ${Q}: verwacht dat ${J.origin} ${X}${J.minimum.toString()} is`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ongeldige tekst: moet met "${X.prefix}" beginnen`;if(X.format==="ends_with")return`Ongeldige tekst: moet op "${X.suffix}" eindigen`;if(X.format==="includes")return`Ongeldige tekst: moet "${X.includes}" bevatten`;if(X.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${X.pattern}`;return`Ongeldig: ${U[X.format]??J.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${J.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${J.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${J.origin}`;default:return"Ongeldige invoer"}}};var h3=y(()=>{p()});function L7(){return{localeError:yS()}}var yS=()=>{let $={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function _(J){return $[J]??null}let U={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"tall",array:"liste"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldig input: forventet instanceof ${J.expected}, fikk ${Q}`;return`Ugyldig input: forventet ${X}, fikk ${Q}`}case"invalid_value":if(J.values.length===1)return`Ugyldig verdi: forventet ${g(J.values[0])}`;return`Ugyldig valg: forventet en av ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor(t): forventet ${J.origin??"value"} til \xE5 ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()} ${G.unit}`;return`For lite(n): forventet ${J.origin} til \xE5 ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${X.prefix}"`;if(X.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${X.suffix}"`;if(X.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${X.includes}"`;if(X.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${X.pattern}`;return`Ugyldig ${U[X.format]??J.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${J.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${J.origin}`;default:return"Ugyldig input"}}};var x3=y(()=>{p()});function N7(){return{localeError:hS()}}var hS=()=>{let $={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function _(J){return $[J]??null}let U={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},W={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`F\xE2sit giren: umulan instanceof ${J.expected}, al\u0131nan ${Q}`;return`F\xE2sit giren: umulan ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`F\xE2sit giren: umulan ${g(J.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} ${G.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${J.origin??"value"}, ${X}${J.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} ${G.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${J.origin}, ${X}${J.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`F\xE2sit metin: "${X.prefix}" ile ba\u015Flamal\u0131.`;if(X.format==="ends_with")return`F\xE2sit metin: "${X.suffix}" ile bitmeli.`;if(X.format==="includes")return`F\xE2sit metin: "${X.includes}" ihtiv\xE2 etmeli.`;if(X.format==="regex")return`F\xE2sit metin: ${X.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[X.format]??J.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${J.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${J.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var m3=y(()=>{p()});function B7(){return{localeError:xS()}}var xS=()=>{let $={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function _(J){return $[J]??null}let U={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},W={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${J.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${X} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${Q} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(J.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${g(J.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${b(J.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${J.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${X}${J.maximum.toString()} \u0648\u064A`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} ${G.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${J.origin} \u0628\u0627\u06CC\u062F ${X}${J.minimum.toString()} \u0648\u064A`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(X.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${X.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(X.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${X.includes}" \u0648\u0644\u0631\u064A`;if(X.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${X.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[X.format]??J.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${J.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${J.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${b(J.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${J.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${J.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var u3=y(()=>{p()});function H7(){return{localeError:mS()}}var mS=()=>{let $={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function _(J){return $[J]??null}let U={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},W={nan:"NaN",number:"liczba",array:"tablica"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${J.expected}, otrzymano ${Q}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${X}, otrzymano ${Q}`}case"invalid_value":if(J.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${g(J.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.maximum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${X}${J.minimum.toString()} ${G.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${J.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${X.prefix}"`;if(X.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${X.suffix}"`;if(X.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${X.includes}"`;if(X.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${X.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[X.format]??J.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${J.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${J.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${J.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var d3=y(()=>{p()});function V7(){return{localeError:uS()}}var uS=()=>{let $={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function _(J){return $[J]??null}let U={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},W={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipo inv\xE1lido: esperado instanceof ${J.expected}, recebido ${Q}`;return`Tipo inv\xE1lido: esperado ${X}, recebido ${Q}`}case"invalid_value":if(J.values.length===1)return`Entrada inv\xE1lida: esperado ${g(J.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Muito grande: esperado que ${J.origin??"valor"} tivesse ${X}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Muito grande: esperado que ${J.origin??"valor"} fosse ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Muito pequeno: esperado que ${J.origin} tivesse ${X}${J.minimum.toString()} ${G.unit}`;return`Muito pequeno: esperado que ${J.origin} fosse ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${X.prefix}"`;if(X.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${X.suffix}"`;if(X.format==="includes")return`Texto inv\xE1lido: deve incluir "${X.includes}"`;if(X.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${X.pattern}`;return`${U[X.format]??J.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${J.divisor}`;case"unrecognized_keys":return`Chave${J.keys.length>1?"s":""} desconhecida${J.keys.length>1?"s":""}: ${b(J.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${J.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${J.origin}`;default:return"Campo inv\xE1lido"}}};var c3=y(()=>{p()});function R7(){return{localeError:dS()}}var dS=()=>{let $={string:{unit:"caractere",verb:"s\u0103 aib\u0103"},file:{unit:"octe\u021Bi",verb:"s\u0103 aib\u0103"},array:{unit:"elemente",verb:"s\u0103 aib\u0103"},set:{unit:"elemente",verb:"s\u0103 aib\u0103"},map:{unit:"intr\u0103ri",verb:"s\u0103 aib\u0103"}};function _(J){return $[J]??null}let U={regex:"intrare",email:"adres\u0103 de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dat\u0103 \u0219i or\u0103 ISO",date:"dat\u0103 ISO",time:"or\u0103 ISO",duration:"durat\u0103 ISO",ipv4:"adres\u0103 IPv4",ipv6:"adres\u0103 IPv6",mac:"adres\u0103 MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"\u0219ir codat base64",base64url:"\u0219ir codat base64url",json_string:"\u0219ir JSON",e164:"num\u0103r E.164",jwt:"JWT",template_literal:"intrare"},W={nan:"NaN",string:"\u0219ir",number:"num\u0103r",boolean:"boolean",function:"func\u021Bie",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"num\u0103r mare",void:"void",never:"never",map:"hart\u0103",set:"set"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;return`Intrare invalid\u0103: a\u0219teptat ${X}, primit ${Q}`}case"invalid_value":if(J.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${g(J.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${J.origin??"valoarea"} s\u0103 fie ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Prea mic: a\u0219teptat ca ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Prea mic: a\u0219teptat ca ${J.origin} s\u0103 fie ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${X.prefix}"`;if(X.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${X.suffix}"`;if(X.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${X.includes}"`;if(X.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${X.pattern}`;return`Format invalid: ${U[X.format]??J.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${J.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${b(J.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${J.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${J.origin}`;default:return"Intrare invalid\u0103"}}};var n3=y(()=>{p()});function l3($,_,U,W){let J=Math.abs($),X=J%10,G=J%100;if(G>=11&&G<=19)return W;if(X===1)return _;if(X>=2&&X<=4)return U;return W}function A7(){return{localeError:cS()}}var cS=()=>{let $={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${J.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${X}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G){let Q=Number(J.maximum),Y=l3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.maximum.toString()} ${Y}`}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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G){let Q=Number(J.minimum),Y=l3(Q,G.unit.one,G.unit.few,G.unit.many);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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${X}${J.minimum.toString()} ${Y}`}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 ${J.origin} \u0431\u0443\u0434\u0435\u0442 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${J.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0438":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${J.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var i3=y(()=>{p()});function F7(){return{localeError:nS()}}var nS=()=>{let $={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function _(J){return $[J]??null}let U={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},W={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${J.expected}, prejeto ${Q}`;return`Neveljaven vnos: pri\u010Dakovano ${X}, prejeto ${Q}`}case"invalid_value":if(J.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${g(J.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} imelo ${X}${J.maximum.toString()} ${G.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${J.origin??"vrednost"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Premajhno: pri\u010Dakovano, da bo ${J.origin} imelo ${X}${J.minimum.toString()} ${G.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${X.prefix}"`;if(X.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${X.suffix}"`;if(X.format==="includes")return`Neveljaven niz: mora vsebovati "${X.includes}"`;if(X.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${X.pattern}`;return`Neveljaven ${U[X.format]??J.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${J.divisor}`;case"unrecognized_keys":return`Neprepoznan${J.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${b(J.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${J.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${J.origin}`;default:return"Neveljaven vnos"}}};var r3=y(()=>{p()});function E7(){return{localeError:lS()}}var lS=()=>{let $={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function _(J){return $[J]??null}let U={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},W={nan:"NaN",number:"antal",array:"lista"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${J.expected}, fick ${Q}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${X}, fick ${Q}`}case"invalid_value":if(J.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${g(J.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()} ${G.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${J.origin??"v\xE4rdet"} att ha ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()} ${G.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${J.origin??"v\xE4rdet"} att ha ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${X.prefix}"`;if(X.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${X.suffix}"`;if(X.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${X.includes}"`;if(X.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${X.pattern}"`;return`Ogiltig(t) ${U[X.format]??J.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${b(J.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${J.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${J.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var p3=y(()=>{p()});function K7(){return{localeError:iS()}}var iS=()=>{let $={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"},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"},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"},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"}};function _(J){return $[J]??null}let U={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},W={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`;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 ${X}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} ${G.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`;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 ${J.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${X}${J.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)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 ${J.origin} ${X}${J.minimum.toString()} ${G.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;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 ${J.origin} ${X}${J.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${X.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(X.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${X.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`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${J.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${J.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${J.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var o3=y(()=>{p()});function b7(){return{localeError:rS()}}var rS=()=>{let $={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function _(J){return $[J]??null}let U={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",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)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},W={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`;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 ${X} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()} ${G.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",G=_(J.origin);if(G)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()} ${G.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${J.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${X} ${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(X.format==="regex")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 ${X.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${b(J.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;case"invalid_union":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";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${J.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var t3=y(()=>{p()});function M7(){return{localeError:pS()}}var pS=()=>{let $={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function _(J){return $[J]??null}let U={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${J.expected}, al\u0131nan ${Q}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${X}, al\u0131nan ${Q}`}case"invalid_value":if(J.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${g(J.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()} ${G.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${J.origin??"de\u011Fer"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Ge\xE7ersiz metin: "${X.prefix}" ile ba\u015Flamal\u0131`;if(X.format==="ends_with")return`Ge\xE7ersiz metin: "${X.suffix}" ile bitmeli`;if(X.format==="includes")return`Ge\xE7ersiz metin: "${X.includes}" i\xE7ermeli`;if(X.format==="regex")return`Ge\xE7ersiz metin: ${X.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[X.format]??J.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${J.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${J.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var a3=y(()=>{p()});function EJ(){return{localeError:oS()}}var oS=()=>{let $={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function _(J){return $[J]??null}let U={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},W={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))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 ${J.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`;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 ${X}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${Q}`}case"invalid_value":if(J.values.length===1)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 ${g(J.values[0])}`;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 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;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 ${J.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${J.origin} \u0431\u0443\u0434\u0435 ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")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 "${X.prefix}"`;if(X.format==="ends_with")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 "${X.suffix}"`;if(X.format==="includes")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 "${X.includes}"`;if(X.format==="regex")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 ${X.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[X.format]??J.format}`}case"not_multiple_of":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 ${J.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${J.keys.length>1?"\u0456":""}: ${b(J.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${J.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${J.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var I7=y(()=>{p()});function g7(){return EJ()}var s3=y(()=>{I7()});function w7(){return{localeError:tS()}}var tS=()=>{let $={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function _(J){return $[J]??null}let U={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},W={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${J.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${X} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${Q} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(J.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${g(J.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${b(J.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${X}${J.maximum.toString()} ${G.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${J.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${X}${J.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u06D2 ${X}${J.minimum.toString()} ${G.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${J.origin} \u06A9\u0627 ${X}${J.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${X.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(X.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${X.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${J.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${J.keys.length>1?"\u0632":""}: ${b(J.keys,"\u060C ")}`;case"invalid_key":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${J.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var e3=y(()=>{p()});function k7(){return{localeError:aS()}}var aS=()=>{let $={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"},map:{unit:"yozuv",verb:"bo\u2018lishi kerak"}};function _(J){return $[J]??null}let U={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},W={nan:"NaN",number:"raqam",array:"massiv"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${J.expected}, qabul qilingan ${Q}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${X}, qabul qilingan ${Q}`}case"invalid_value":if(J.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${g(J.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()} ${G.unit} ${G.verb}`;return`Juda katta: kutilgan ${J.origin??"qiymat"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Juda kichik: kutilgan ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${X.prefix}" bilan boshlanishi kerak`;if(X.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${X.suffix}" bilan tugashi kerak`;if(X.format==="includes")return`Noto\u2018g\u2018ri satr: "${X.includes}" ni o\u2018z ichiga olishi kerak`;if(X.format==="regex")return`Noto\u2018g\u2018ri satr: ${X.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[X.format]??J.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${J.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${J.keys.length>1?"lar":""}: ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${J.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var $V=y(()=>{p()});function P7(){return{localeError:sS()}}var sS=()=>{let $={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function _(J){return $[J]??null}let U={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},W={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${J.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${X}, nh\u1EADn \u0111\u01B0\u1EE3c ${Q}`}case"invalid_value":if(J.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${g(J.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${G.verb} ${X}${J.maximum.toString()} ${G.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${J.origin??"gi\xE1 tr\u1ECB"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${G.verb} ${X}${J.minimum.toString()} ${G.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${X.prefix}"`;if(X.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${X.suffix}"`;if(X.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${X.includes}"`;if(X.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${X.pattern}`;return`${U[X.format]??J.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${J.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${b(J.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${J.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var _V=y(()=>{p()});function f7(){return{localeError:eS()}}var eS=()=>{let $={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function _(J){return $[J]??null}let U={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},W={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${J.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${X}\uFF0C\u5B9E\u9645\u63A5\u6536 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${g(J.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()} ${G.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${J.origin??"\u503C"} ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()} ${G.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${J.origin} ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.prefix}" \u5F00\u5934`;if(X.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${X.suffix}" \u7ED3\u5C3E`;if(X.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${X.pattern}`;return`\u65E0\u6548${U[X.format]??J.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${J.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${b(J.keys,", ")}`;case"invalid_key":return`${J.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${J.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var UV=y(()=>{p()});function C7(){return{localeError:$Z()}}var $Z=()=>{let $={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function _(J){return $[J]??null}let U={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${J.expected}\uFF0C\u4F46\u6536\u5230 ${Q}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${X}\uFF0C\u4F46\u6536\u5230 ${Q}`}case"invalid_value":if(J.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${g(J.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()} ${G.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${J.origin??"\u503C"} \u61C9\u70BA ${X}${J.maximum.toString()}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()} ${G.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${J.origin} \u61C9\u70BA ${X}${J.minimum.toString()}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.prefix}" \u958B\u982D`;if(X.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${X.suffix}" \u7D50\u5C3E`;if(X.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${X.includes}"`;if(X.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${X.pattern}`;return`\u7121\u6548\u7684 ${U[X.format]??J.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${J.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${J.keys.length>1?"\u5011":""}\uFF1A${b(J.keys,"\u3001")}`;case"invalid_key":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${J.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var JV=y(()=>{p()});function T7(){return{localeError:_Z()}}var _Z=()=>{let $={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function _(J){return $[J]??null}let U={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},W={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(J)=>{switch(J.code){case"invalid_type":{let X=W[J.expected]??J.expected,G=w(J.input),Q=W[G]??G;if(/^[A-Z]/.test(J.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${J.expected}, \xE0m\u1ECD\u0300 a r\xED ${Q}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${X}, \xE0m\u1ECD\u0300 a r\xED ${Q}`}case"invalid_value":if(J.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${g(J.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${b(J.values,"|")}`;case"too_big":{let X=J.inclusive?"<=":"<",G=_(J.origin);if(G)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin??"iye"} ${G.verb} ${X}${J.maximum} ${G.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.maximum}`}case"too_small":{let X=J.inclusive?">=":">",G=_(J.origin);if(G)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${J.origin} ${G.verb} ${X}${J.minimum} ${G.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${X}${J.minimum}`}case"invalid_format":{let X=J;if(X.format==="starts_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${X.prefix}"`;if(X.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${X.suffix}"`;if(X.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${X.includes}"`;if(X.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${X.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[X.format]??J.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${J.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${b(J.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${J.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var WV=y(()=>{p()});var h2={};I6(h2,{zhTW:()=>C7,zhCN:()=>f7,yo:()=>T7,vi:()=>P7,uz:()=>k7,ur:()=>w7,uk:()=>EJ,ua:()=>g7,tr:()=>M7,th:()=>b7,ta:()=>K7,sv:()=>E7,sl:()=>F7,ru:()=>A7,ro:()=>R7,pt:()=>V7,ps:()=>B7,pl:()=>H7,ota:()=>N7,no:()=>L7,nl:()=>O7,ms:()=>q7,mk:()=>z7,lt:()=>D7,ko:()=>j7,km:()=>AJ,kh:()=>Y7,ka:()=>G7,ja:()=>X7,it:()=>W7,is:()=>J7,id:()=>U7,hy:()=>_7,hu:()=>$7,hr:()=>ej,he:()=>sj,frCA:()=>aj,fr:()=>tj,fi:()=>oj,fa:()=>pj,es:()=>rj,eo:()=>ij,en:()=>RJ,el:()=>nj,de:()=>cj,da:()=>dj,cs:()=>uj,ca:()=>mj,bg:()=>xj,be:()=>hj,az:()=>yj,ar:()=>vj});var S7=y(()=>{G3();Q3();j3();D3();z3();q3();O3();L3();N3();lj();B3();H3();V3();R3();A3();F3();E3();K3();b3();I3();g3();w3();k3();P3();f3();C3();Q7();T3();Z3();v3();y3();h3();x3();m3();u3();d3();c3();n3();i3();r3();p3();o3();t3();a3();s3();I7();e3();$V();_V();UV();JV();WV()});class Z7{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,..._){let U=_[0];if(this._map.set($,U),U&&typeof U==="object"&&"id"in U)this._idmap.set(U.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let _=this._map.get($);if(_&&typeof _==="object"&&"id"in _)this._idmap.delete(_.id);return this._map.delete($),this}get($){let _=$._zod.parent;if(_){let U={...this.get(_)??{}};delete U.id;let W={...U,...this._map.get($)};return Object.keys(W).length?W:void 0}return this._map.get($)}has($){return this._map.has($)}}function KJ(){return new Z7}var XV,L9,N9,D_;var bJ=y(()=>{L9=Symbol("ZodOutput"),N9=Symbol("ZodInput");(XV=globalThis).__zod_globalRegistry??(XV.__zod_globalRegistry=KJ());D_=globalThis.__zod_globalRegistry});function v7($,_){return new $({type:"string",...S(_)})}function y7($,_){return new $({type:"string",coerce:!0,...S(_)})}function B9($,_){return new $({type:"string",format:"email",check:"string_format",abort:!1,...S(_)})}function MJ($,_){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...S(_)})}function H9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...S(_)})}function V9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...S(_)})}function R9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...S(_)})}function A9($,_){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...S(_)})}function IJ($,_){return new $({type:"string",format:"url",check:"string_format",abort:!1,...S(_)})}function F9($,_){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...S(_)})}function E9($,_){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...S(_)})}function K9($,_){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...S(_)})}function b9($,_){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...S(_)})}function M9($,_){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...S(_)})}function I9($,_){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...S(_)})}function g9($,_){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...S(_)})}function w9($,_){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...S(_)})}function k9($,_){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...S(_)})}function h7($,_){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...S(_)})}function P9($,_){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...S(_)})}function f9($,_){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...S(_)})}function C9($,_){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...S(_)})}function T9($,_){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...S(_)})}function S9($,_){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...S(_)})}function Z9($,_){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...S(_)})}function x7($,_){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...S(_)})}function m7($,_){return new $({type:"string",format:"date",check:"string_format",...S(_)})}function u7($,_){return new $({type:"string",format:"time",check:"string_format",precision:null,...S(_)})}function d7($,_){return new $({type:"string",format:"duration",check:"string_format",...S(_)})}function c7($,_){return new $({type:"number",checks:[],...S(_)})}function n7($,_){return new $({type:"number",coerce:!0,checks:[],...S(_)})}function l7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...S(_)})}function i7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...S(_)})}function r7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...S(_)})}function p7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...S(_)})}function o7($,_){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...S(_)})}function t7($,_){return new $({type:"boolean",...S(_)})}function a7($,_){return new $({type:"boolean",coerce:!0,...S(_)})}function s7($,_){return new $({type:"bigint",...S(_)})}function e7($,_){return new $({type:"bigint",coerce:!0,...S(_)})}function $D($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...S(_)})}function _D($,_){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...S(_)})}function UD($,_){return new $({type:"symbol",...S(_)})}function JD($,_){return new $({type:"undefined",...S(_)})}function WD($,_){return new $({type:"null",...S(_)})}function XD($){return new $({type:"any"})}function GD($){return new $({type:"unknown"})}function QD($,_){return new $({type:"never",...S(_)})}function YD($,_){return new $({type:"void",...S(_)})}function jD($,_){return new $({type:"date",...S(_)})}function DD($,_){return new $({type:"date",coerce:!0,...S(_)})}function zD($,_){return new $({type:"nan",...S(_)})}function O6($,_){return new _9({check:"less_than",...S(_),value:$,inclusive:!1})}function C_($,_){return new _9({check:"less_than",...S(_),value:$,inclusive:!0})}function L6($,_){return new U9({check:"greater_than",...S(_),value:$,inclusive:!1})}function B_($,_){return new U9({check:"greater_than",...S(_),value:$,inclusive:!0})}function gJ($){return L6(0,$)}function wJ($){return O6(0,$)}function kJ($){return C_(0,$)}function PJ($){return B_(0,$)}function j4($,_){return new XY({check:"multiple_of",...S(_),value:$})}function D4($,_){return new YY({check:"max_size",...S(_),maximum:$})}function N6($,_){return new jY({check:"min_size",...S(_),minimum:$})}function l4($,_){return new DY({check:"size_equals",...S(_),size:$})}function i4($,_){return new zY({check:"max_length",...S(_),maximum:$})}function h6($,_){return new qY({check:"min_length",...S(_),minimum:$})}function r4($,_){return new OY({check:"length_equals",...S(_),length:$})}function c0($,_){return new LY({check:"string_format",format:"regex",...S(_),pattern:$})}function n0($){return new NY({check:"string_format",format:"lowercase",...S($)})}function l0($){return new BY({check:"string_format",format:"uppercase",...S($)})}function i0($,_){return new HY({check:"string_format",format:"includes",...S(_),includes:$})}function r0($,_){return new VY({check:"string_format",format:"starts_with",...S(_),prefix:$})}function p0($,_){return new RY({check:"string_format",format:"ends_with",...S(_),suffix:$})}function fJ($,_,U){return new AY({check:"property",property:$,schema:_,...S(U)})}function o0($,_){return new FY({check:"mime_type",mime:$,...S(_)})}function a_($){return new EY({check:"overwrite",tx:$})}function t0($){return a_((_)=>_.normalize($))}function a0(){return a_(($)=>$.trim())}function s0(){return a_(($)=>$.toLowerCase())}function e0(){return a_(($)=>$.toUpperCase())}function $1(){return a_(($)=>VQ($))}function qD($,_,U){return new $({type:"array",element:_,...S(U)})}function JZ($,_,U){return new $({type:"union",options:_,...S(U)})}function WZ($,_,U){return new $({type:"union",options:_,inclusive:!1,...S(U)})}function XZ($,_,U,W){return new $({type:"union",options:U,discriminator:_,...S(W)})}function GZ($,_,U){return new $({type:"intersection",left:_,right:U})}function QZ($,_,U,W){let J=U instanceof D$;return new $({type:"tuple",items:_,rest:J?U:null,...S(J?W:U)})}function YZ($,_,U,W){return new $({type:"record",keyType:_,valueType:U,...S(W)})}function jZ($,_,U,W){return new $({type:"map",keyType:_,valueType:U,...S(W)})}function DZ($,_,U){return new $({type:"set",valueType:_,...S(U)})}function zZ($,_,U){let W=Array.isArray(_)?Object.fromEntries(_.map((J)=>[J,J])):_;return new $({type:"enum",entries:W,...S(U)})}function qZ($,_,U){return new $({type:"enum",entries:_,...S(U)})}function OZ($,_,U){return new $({type:"literal",values:Array.isArray(_)?_:[_],...S(U)})}function OD($,_){return new $({type:"file",...S(_)})}function LZ($,_){return new $({type:"transform",transform:_})}function NZ($,_){return new $({type:"optional",innerType:_})}function BZ($,_){return new $({type:"nullable",innerType:_})}function HZ($,_,U){return new $({type:"default",innerType:_,get defaultValue(){return typeof U==="function"?U():AQ(U)}})}function VZ($,_,U){return new $({type:"nonoptional",innerType:_,...S(U)})}function RZ($,_){return new $({type:"success",innerType:_})}function AZ($,_,U){return new $({type:"catch",innerType:_,catchValue:typeof U==="function"?U:()=>U})}function FZ($,_,U){return new $({type:"pipe",in:_,out:U})}function EZ($,_){return new $({type:"readonly",innerType:_})}function KZ($,_,U){return new $({type:"template_literal",parts:_,...S(U)})}function bZ($,_){return new $({type:"lazy",getter:_})}function MZ($,_){return new $({type:"promise",innerType:_})}function LD($,_,U){let W=S(U);return W.abort??(W.abort=!0),new $({type:"custom",check:"custom",fn:_,...W})}function ND($,_,U){return new $({type:"custom",check:"custom",fn:_,...S(U)})}function BD($,_){let U=GV((W)=>{return W.addIssue=(J)=>{if(typeof J==="string")W.issues.push(k2(J,W.value,U._zod.def));else{let X=J;if(X.fatal)X.continue=!1;X.code??(X.code="custom"),X.input??(X.input=W.value),X.inst??(X.inst=U),X.continue??(X.continue=!U._zod.def.abort),W.issues.push(k2(X))}},$(W.value,W)},_);return U}function GV($,_){let U=new c$({check:"custom",...S(_)});return U._zod.check=$,U}function HD($){let _=new c$({check:"describe"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,description:$})}],_._zod.check=()=>{},_}function VD($){let _=new c$({check:"meta"});return _._zod.onattach=[(U)=>{let W=D_.get(U)??{};D_.add(U,{...W,...$})}],_._zod.check=()=>{},_}function RD($,_){let U=S(_),W=U.truthy??["true","1","yes","on","y","enabled"],J=U.falsy??["false","0","no","off","n","disabled"];if(U.case!=="sensitive")W=W.map((L)=>typeof L==="string"?L.toLowerCase():L),J=J.map((L)=>typeof L==="string"?L.toLowerCase():L);let X=new Set(W),G=new Set(J),Q=$.Codec??VJ,Y=$.Boolean??BJ,O=new($.String??d0)({type:"string",error:U.error}),B=new Y({type:"boolean",error:U.error}),V=new Q({type:"pipe",in:O,out:B,transform:(L,N)=>{let H=L;if(U.case!=="sensitive")H=H.toLowerCase();if(X.has(H))return!0;else if(G.has(H))return!1;else return N.issues.push({code:"invalid_value",expected:"stringbool",values:[...X,...G],input:N.value,inst:V,continue:!1}),{}},reverseTransform:(L,N)=>{if(L===!0)return W[0]||"true";else return J[0]||"false"},error:U.error});return V}function x2($,_,U,W={}){let J=S(W),X={...S(W),check:"string_format",type:"string",format:_,fn:typeof U==="function"?U:(Q)=>U.test(Q),...J};if(U instanceof RegExp)X.pattern=U;return new $(X)}var v9;var QV=y(()=>{J9();bJ();Zj();p();v9={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function p4($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";return{processors:$.processors??{},metadataRegistry:$?.metadata??D_,target:_,unrepresentable:$?.unrepresentable??"throw",override:$?.override??(()=>{}),io:$?.io??"output",counter:0,seen:new Map,cycles:$?.cycles??"ref",reused:$?.reused??"inline",external:$?.external??void 0}}function T$($,_,U={path:[],schemaPath:[]}){var W;let J=$._zod.def,X=_.seen.get($);if(X){if(X.count++,U.schemaPath.includes($))X.cycle=U.path;return X.schema}let G={schema:{},count:1,cycle:void 0,path:U.path};_.seen.set($,G);let Q=$._zod.toJSONSchema?.();if(Q)G.schema=Q;else{let O={...U,schemaPath:[...U.schemaPath,$],path:U.path};if($._zod.processJSONSchema)$._zod.processJSONSchema(_,G.schema,O);else{let V=G.schema,L=_.processors[J.type];if(!L)throw Error(`[toJSONSchema]: Non-representable type encountered: ${J.type}`);L($,_,V,O)}let B=$._zod.parent;if(B){if(!G.ref)G.ref=B;T$(B,_,O),_.seen.get(B).isParent=!0}}let Y=_.metadataRegistry.get($);if(Y)Object.assign(G.schema,Y);if(_.io==="input"&&M_($))delete G.schema.examples,delete G.schema.default;if(_.io==="input"&&"_prefault"in G.schema)(W=G.schema).default??(W.default=G.schema._prefault);return delete G.schema._prefault,_.seen.get($).schema}function o4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=new Map;for(let G of $.seen.entries()){let Q=$.metadataRegistry.get(G[0])?.id;if(Q){let Y=W.get(Q);if(Y&&Y!==G[0])throw Error(`Duplicate schema id "${Q}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);W.set(Q,G[0])}}let J=(G)=>{let Q=$.target==="draft-2020-12"?"$defs":"definitions";if($.external){let B=$.external.registry.get(G[0])?.id,V=$.external.uri??((N)=>N);if(B)return{ref:V(B)};let L=G[1].defId??G[1].schema.id??`schema${$.counter++}`;return G[1].defId=L,{defId:L,ref:`${V("__shared")}#/${Q}/${L}`}}if(G[1]===U)return{ref:"#"};let j=`${"#"}/${Q}/`,O=G[1].schema.id??`__schema${$.counter++}`;return{defId:O,ref:j+O}},X=(G)=>{if(G[1].schema.$ref)return;let Q=G[1],{ref:Y,defId:j}=J(G);if(Q.def={...Q.schema},j)Q.defId=j;let O=Q.schema;for(let B in O)delete O[B];O.$ref=Y};if($.cycles==="throw")for(let G of $.seen.entries()){let Q=G[1];if(Q.cycle)throw Error(`Cycle detected: #/${Q.cycle?.join("/")}/<root> -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let G of $.seen.entries()){let Q=G[1];if(_===G[0]){X(G);continue}if($.external){let j=$.external.registry.get(G[0])?.id;if(_!==G[0]&&j){X(G);continue}}if($.metadataRegistry.get(G[0])?.id){X(G);continue}if(Q.cycle){X(G);continue}if(Q.count>1){if($.reused==="ref"){X(G);continue}}}}function o4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=(Q)=>{let Y=$.seen.get(Q);if(Y.ref===null)return;let j=Y.def??Y.schema,O={...j},B=Y.ref;if(Y.ref=null,B){W(B);let L=$.seen.get(B),N=L.schema;if(N.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))j.allOf=j.allOf??[],j.allOf.push(N);else Object.assign(j,N);if(Object.assign(j,O),Q._zod.parent===B)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(!(R in O))delete j[R]}if(N.$ref&&L.def)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(R in L.def&&JSON.stringify(j[R])===JSON.stringify(L.def[R]))delete j[R]}}let V=Q._zod.parent;if(V&&V!==B){W(V);let L=$.seen.get(V);if(L?.schema.$ref){if(j.$ref=L.schema.$ref,L.def)for(let N in j){if(N==="$ref"||N==="allOf")continue;if(N in L.def&&JSON.stringify(j[N])===JSON.stringify(L.def[N]))delete j[N]}}}$.override({zodSchema:Q,jsonSchema:j,path:Y.path??[]})};for(let Q of[...$.seen.entries()].reverse())W(Q[0]);let J={};if($.target==="draft-2020-12")J.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")J.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")J.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let Q=$.external.registry.get(_)?.id;if(!Q)throw Error("Schema is missing an `id` property");J.$id=$.external.uri(Q)}Object.assign(J,U.def??U.schema);let X=$.metadataRegistry.get(_)?.id;if(X!==void 0&&J.id===X)delete J.id;let G=$.external?.defs??{};for(let Q of $.seen.entries()){let Y=Q[1];if(Y.def&&Y.defId){if(Y.def.id===Y.defId)delete Y.def.id;G[Y.defId]=Y.def}}if($.external);else if(Object.keys(G).length>0)if($.target==="draft-2020-12")J.$defs=G;else J.definitions=G;try{let Q=JSON.parse(JSON.stringify(J));return Object.defineProperty(Q,"~standard",{value:{..._["~standard"],jsonSchema:{input:x2(_,"input",$.processors),output:x2(_,"output",$.processors)}},enumerable:!1,writable:!1}),Q}catch(Q){throw Error("Error converting schema to JSON.")}}function M_($,_){let U=_??{seen:new Set};if(U.seen.has($))return!1;U.seen.add($);let W=$._zod.def;if(W.type==="transform")return!0;if(W.type==="array")return M_(W.element,U);if(W.type==="set")return M_(W.valueType,U);if(W.type==="lazy")return M_(W.getter(),U);if(W.type==="promise"||W.type==="optional"||W.type==="nonoptional"||W.type==="nullable"||W.type==="readonly"||W.type==="default"||W.type==="prefault")return M_(W.innerType,U);if(W.type==="intersection")return M_(W.left,U)||M_(W.right,U);if(W.type==="record"||W.type==="map")return M_(W.keyType,U)||M_(W.valueType,U);if(W.type==="pipe"){if($._zod.traits.has("$ZodCodec"))return!0;return M_(W.in,U)||M_(W.out,U)}if(W.type==="object"){for(let J in W.shape)if(M_(W.shape[J],U))return!0;return!1}if(W.type==="union"){for(let J of W.options)if(M_(J,U))return!0;return!1}if(W.type==="tuple"){for(let J of W.items)if(M_(J,U))return!0;if(W.rest&&M_(W.rest,U))return!0;return!1}return!1}var AD=($,_={})=>(U)=>{let W=r4({...U,processors:_});return T$($,W),p4(W,$),o4(W,$)},x2=($,_,U={})=>(W)=>{let{libraryOptions:J,target:X}=W??{},G=r4({...J??{},target:X,io:_,processors:U});return T$($,G),p4(G,$),o4(G,$)};var CJ=y(()=>{bJ()});function TJ($,_){if("_idmap"in $){let W=$,J=r4({..._,processors:v9}),X={};for(let Y of W._idmap.entries()){let[j,O]=Y;T$(O,J)}let G={},Q={registry:W,uri:_?.uri,defs:X};J.external=Q;for(let Y of W._idmap.entries()){let[j,O]=Y;p4(J,O),G[j]=o4(J,O)}if(Object.keys(X).length>0){let Y=J.target==="draft-2020-12"?"$defs":"definitions";G.__shared={[Y]:X}}return{schemas:G}}let U=r4({..._,processors:v9});return T$($,U),p4(U,$),o4(U,$)}var KZ,ED=($,_,U,W)=>{let J=U;J.type="string";let{minimum:X,maximum:G,format:Q,patterns:Y,contentEncoding:j}=$._zod.bag;if(typeof X==="number")J.minLength=X;if(typeof G==="number")J.maxLength=G;if(Q){if(J.format=KZ[Q]??Q,J.format==="")delete J.format;if(Q==="time")delete J.format}if(j)J.contentEncoding=j;if(Y&&Y.size>0){let O=[...Y];if(O.length===1)J.pattern=O[0].source;else if(O.length>1)J.allOf=[...O.map((B)=>({..._.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"?{type:"string"}:{},pattern:B.source}))]}},FD=($,_,U,W)=>{let J=U,{minimum:X,maximum:G,format:Q,multipleOf:Y,exclusiveMaximum:j,exclusiveMinimum:O}=$._zod.bag;if(typeof Q==="string"&&Q.includes("int"))J.type="integer";else J.type="number";let B=typeof O==="number"&&O>=(X??Number.NEGATIVE_INFINITY),V=typeof j==="number"&&j<=(G??Number.POSITIVE_INFINITY),L=_.target==="draft-04"||_.target==="openapi-3.0";if(B)if(L)J.minimum=O,J.exclusiveMinimum=!0;else J.exclusiveMinimum=O;else if(typeof X==="number")J.minimum=X;if(V)if(L)J.maximum=j,J.exclusiveMaximum=!0;else J.exclusiveMaximum=j;else if(typeof G==="number")J.maximum=G;if(typeof Y==="number")J.multipleOf=Y},KD=($,_,U,W)=>{U.type="boolean"},bD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},MD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},ID=($,_,U,W)=>{if(_.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},gD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},wD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},kD=($,_,U,W)=>{U.not={}},PD=($,_,U,W)=>{},fD=($,_,U,W)=>{},CD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},TD=($,_,U,W)=>{let J=$._zod.def,X=QJ(J.entries);if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";U.enum=X},SD=($,_,U,W)=>{let J=$._zod.def,X=[];for(let G of J.values)if(G===void 0){if(_.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof G==="bigint")if(_.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else X.push(Number(G));else X.push(G);if(X.length===0);else if(X.length===1){let G=X[0];if(U.type=G===null?"null":typeof G,_.target==="draft-04"||_.target==="openapi-3.0")U.enum=[G];else U.const=G}else{if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";if(X.every((G)=>typeof G==="boolean"))U.type="boolean";if(X.every((G)=>G===null))U.type="null";U.enum=X}},ZD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},vD=($,_,U,W)=>{let J=U,X=$._zod.pattern;if(!X)throw Error("Pattern not found in template literal");J.type="string",J.pattern=X.source},yD=($,_,U,W)=>{let J=U,X={type:"string",format:"binary",contentEncoding:"binary"},{minimum:G,maximum:Q,mime:Y}=$._zod.bag;if(G!==void 0)X.minLength=G;if(Q!==void 0)X.maxLength=Q;if(Y)if(Y.length===1)X.contentMediaType=Y[0],Object.assign(J,X);else Object.assign(J,X),J.anyOf=Y.map((j)=>({contentMediaType:j}));else Object.assign(J,X)},hD=($,_,U,W)=>{U.type="boolean"},xD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},mD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},uD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},dD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},cD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},nD=($,_,U,W)=>{let J=U,X=$._zod.def,{minimum:G,maximum:Q}=$._zod.bag;if(typeof G==="number")J.minItems=G;if(typeof Q==="number")J.maxItems=Q;J.type="array",J.items=T$(X.element,_,{...W,path:[...W.path,"items"]})},lD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object",J.properties={};let G=X.shape;for(let j in G)J.properties[j]=T$(G[j],_,{...W,path:[...W.path,"properties",j]});let Q=new Set(Object.keys(G)),Y=new Set([...Q].filter((j)=>{let O=X.shape[j]._zod;if(_.io==="input")return O.optin===void 0;else return O.optout===void 0}));if(Y.size>0)J.required=Array.from(Y);if(X.catchall?._zod.def.type==="never")J.additionalProperties=!1;else if(!X.catchall){if(_.io==="output")J.additionalProperties=!1}else if(X.catchall)J.additionalProperties=T$(X.catchall,_,{...W,path:[...W.path,"additionalProperties"]})},y9=($,_,U,W)=>{let J=$._zod.def,X=J.inclusive===!1,G=J.options.map((Q,Y)=>T$(Q,_,{...W,path:[...W.path,X?"oneOf":"anyOf",Y]}));if(X)U.oneOf=G;else U.anyOf=G},iD=($,_,U,W)=>{let J=$._zod.def,X=T$(J.left,_,{...W,path:[...W.path,"allOf",0]}),G=T$(J.right,_,{...W,path:[...W.path,"allOf",1]}),Q=(j)=>("allOf"in j)&&Object.keys(j).length===1,Y=[...Q(X)?X.allOf:[X],...Q(G)?G.allOf:[G]];U.allOf=Y},rD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="array";let G=_.target==="draft-2020-12"?"prefixItems":"items",Q=_.target==="draft-2020-12"?"items":_.target==="openapi-3.0"?"items":"additionalItems",Y=X.items.map((V,L)=>T$(V,_,{...W,path:[...W.path,G,L]})),j=X.rest?T$(X.rest,_,{...W,path:[...W.path,Q,..._.target==="openapi-3.0"?[X.items.length]:[]]}):null;if(_.target==="draft-2020-12"){if(J.prefixItems=Y,j)J.items=j}else if(_.target==="openapi-3.0"){if(J.items={anyOf:Y},j)J.items.anyOf.push(j);if(J.minItems=Y.length,!j)J.maxItems=Y.length}else if(J.items=Y,j)J.additionalItems=j;let{minimum:O,maximum:B}=$._zod.bag;if(typeof O==="number")J.minItems=O;if(typeof B==="number")J.maxItems=B},pD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object";let G=X.keyType,Y=G._zod.bag?.patterns;if(X.mode==="loose"&&Y&&Y.size>0){let O=T$(X.valueType,_,{...W,path:[...W.path,"patternProperties","*"]});J.patternProperties={};for(let B of Y)J.patternProperties[B.source]=O}else{if(_.target==="draft-07"||_.target==="draft-2020-12")J.propertyNames=T$(X.keyType,_,{...W,path:[...W.path,"propertyNames"]});J.additionalProperties=T$(X.valueType,_,{...W,path:[...W.path,"additionalProperties"]})}let j=G._zod.values;if(j){let O=[...j].filter((B)=>typeof B==="string"||typeof B==="number");if(O.length>0)J.required=O}},oD=($,_,U,W)=>{let J=$._zod.def,X=T$(J.innerType,_,W),G=_.seen.get($);if(_.target==="openapi-3.0")G.ref=J.innerType,U.nullable=!0;else U.anyOf=[X,{type:"null"}]},tD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},aD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.default=JSON.parse(JSON.stringify(J.defaultValue))},sD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);if(X.ref=J.innerType,_.io==="input")U._prefault=JSON.parse(JSON.stringify(J.defaultValue))},eD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType;let G;try{G=J.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=G},$z=($,_,U,W)=>{let J=$._zod.def,X=J.in._zod.traits.has("$ZodTransform"),G=_.io==="input"?X?J.out:J.in:J.out;T$(G,_,W);let Q=_.seen.get($);Q.ref=G},_z=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.readOnly=!0},Uz=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},h9=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},Jz=($,_,U,W)=>{let J=$._zod.innerType;T$(J,_,W);let X=_.seen.get($);X.ref=J},v9;var SJ=y(()=>{CJ();p();KZ={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},v9={string:ED,number:FD,boolean:KD,bigint:bD,symbol:MD,null:ID,undefined:gD,void:wD,never:kD,any:PD,unknown:fD,date:CD,enum:TD,literal:SD,nan:ZD,template_literal:vD,file:yD,success:hD,custom:xD,function:mD,transform:uD,map:dD,set:cD,array:nD,object:lD,union:y9,intersection:iD,tuple:rD,record:pD,nullable:oD,nonoptional:tD,default:aD,prefault:sD,catch:eD,pipe:$z,readonly:_z,promise:Uz,optional:h9,lazy:Jz}});class Wz{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";this.ctx=r4({processors:v9,target:_,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,_={path:[],schemaPath:[]}){return T$($,this.ctx,_)}emit($,_){if(_){if(_.cycles)this.ctx.cycles=_.cycles;if(_.reused)this.ctx.reused=_.reused;if(_.external)this.ctx.external=_.external}p4(this.ctx,$);let U=o4(this.ctx,$),{"~standard":W,...J}=U;return J}}var XV=y(()=>{SJ();CJ()});var GV={};var QV=()=>{};var x6={};I6(x6,{version:()=>KY,util:()=>P,treeifyError:()=>mX,toJSONSchema:()=>TJ,toDotPath:()=>fH,safeParseAsync:()=>wQ,safeParse:()=>gQ,safeEncodeAsync:()=>IT,safeEncode:()=>bT,safeDecodeAsync:()=>gT,safeDecode:()=>MT,registry:()=>KJ,regexes:()=>f_,process:()=>T$,prettifyError:()=>uX,parseAsync:()=>cX,parse:()=>dX,meta:()=>VD,locales:()=>y2,isValidJWT:()=>eH,isValidBase64URL:()=>sH,isValidBase64:()=>iY,initializeContext:()=>r4,globalRegistry:()=>D_,globalConfig:()=>v0,formatError:()=>P2,flattenError:()=>k2,finalize:()=>o4,extractDefs:()=>p4,encodeAsync:()=>FT,encode:()=>AT,describe:()=>HD,decodeAsync:()=>KT,decode:()=>ET,createToJSONSchemaMethod:()=>AD,createStandardJSONSchemaMethod:()=>x2,config:()=>__,clone:()=>N_,_xor:()=>_Z,_xid:()=>M9,_void:()=>YD,_uuidv7:()=>R9,_uuidv6:()=>V9,_uuidv4:()=>H9,_uuid:()=>B9,_url:()=>IJ,_uppercase:()=>n0,_unknown:()=>GD,_union:()=>$Z,_undefined:()=>JD,_ulid:()=>b9,_uint64:()=>_D,_uint32:()=>o7,_tuple:()=>WZ,_trim:()=>t0,_transform:()=>zZ,_toUpperCase:()=>s0,_toLowerCase:()=>a0,_templateLiteral:()=>AZ,_symbol:()=>UD,_superRefine:()=>BD,_success:()=>BZ,_stringbool:()=>RD,_stringFormat:()=>h2,_string:()=>v7,_startsWith:()=>i0,_slugify:()=>e0,_size:()=>n4,_set:()=>QZ,_safeParseAsync:()=>S2,_safeParse:()=>T2,_safeEncodeAsync:()=>tX,_safeEncode:()=>pX,_safeDecodeAsync:()=>aX,_safeDecode:()=>oX,_regex:()=>d0,_refine:()=>ND,_record:()=>XZ,_readonly:()=>RZ,_property:()=>fJ,_promise:()=>FZ,_positive:()=>gJ,_pipe:()=>VZ,_parseAsync:()=>C2,_parse:()=>f2,_overwrite:()=>a_,_optional:()=>qZ,_number:()=>c7,_nullable:()=>OZ,_null:()=>WD,_normalize:()=>o0,_nonpositive:()=>kJ,_nonoptional:()=>NZ,_nonnegative:()=>PJ,_never:()=>QD,_negative:()=>wJ,_nativeEnum:()=>jZ,_nanoid:()=>E9,_nan:()=>zD,_multipleOf:()=>j4,_minSize:()=>N6,_minLength:()=>h6,_min:()=>B_,_mime:()=>p0,_maxSize:()=>D4,_maxLength:()=>l4,_max:()=>C_,_map:()=>GZ,_mac:()=>h7,_lte:()=>C_,_lt:()=>O6,_lowercase:()=>c0,_literal:()=>DZ,_length:()=>i4,_lazy:()=>EZ,_ksuid:()=>I9,_jwt:()=>S9,_isoTime:()=>u7,_isoDuration:()=>d7,_isoDateTime:()=>x7,_isoDate:()=>m7,_ipv6:()=>w9,_ipv4:()=>g9,_intersection:()=>JZ,_int64:()=>$D,_int32:()=>p7,_int:()=>l7,_includes:()=>l0,_guid:()=>MJ,_gte:()=>B_,_gt:()=>L6,_float64:()=>r7,_float32:()=>i7,_file:()=>OD,_enum:()=>YZ,_endsWith:()=>r0,_encodeAsync:()=>iX,_encode:()=>nX,_emoji:()=>A9,_email:()=>N9,_e164:()=>T9,_discriminatedUnion:()=>UZ,_default:()=>LZ,_decodeAsync:()=>rX,_decode:()=>lX,_date:()=>jD,_custom:()=>LD,_cuid2:()=>K9,_cuid:()=>F9,_coercedString:()=>y7,_coercedNumber:()=>n7,_coercedDate:()=>DD,_coercedBoolean:()=>a7,_coercedBigint:()=>e7,_cidrv6:()=>P9,_cidrv4:()=>k9,_check:()=>JV,_catch:()=>HZ,_boolean:()=>t7,_bigint:()=>s7,_base64url:()=>C9,_base64:()=>f9,_array:()=>qD,_any:()=>XD,TimePrecision:()=>Z9,NEVER:()=>vX,JSONSchemaGenerator:()=>Wz,JSONSchema:()=>GV,Doc:()=>J9,$output:()=>O9,$input:()=>L9,$constructor:()=>F,$brand:()=>yX,$ZodXor:()=>Dj,$ZodXID:()=>ZY,$ZodVoid:()=>Gj,$ZodUnknown:()=>Wj,$ZodUnion:()=>HJ,$ZodUndefined:()=>_j,$ZodUUID:()=>gY,$ZodURL:()=>kY,$ZodULID:()=>SY,$ZodType:()=>D$,$ZodTuple:()=>D9,$ZodTransform:()=>Rj,$ZodTemplateLiteral:()=>Pj,$ZodSymbol:()=>$j,$ZodSuccess:()=>Mj,$ZodStringFormat:()=>u$,$ZodString:()=>u0,$ZodSet:()=>Nj,$ZodRegistry:()=>Z7,$ZodRecord:()=>Oj,$ZodRealError:()=>P_,$ZodReadonly:()=>kj,$ZodPromise:()=>Cj,$ZodPreprocess:()=>wj,$ZodPrefault:()=>Kj,$ZodPipe:()=>q9,$ZodOptional:()=>z9,$ZodObjectJIT:()=>jj,$ZodObject:()=>U3,$ZodNumberFormat:()=>sY,$ZodNumber:()=>Y9,$ZodNullable:()=>Ej,$ZodNull:()=>Uj,$ZodNonOptional:()=>bj,$ZodNever:()=>Xj,$ZodNanoID:()=>fY,$ZodNaN:()=>gj,$ZodMap:()=>Lj,$ZodMAC:()=>cY,$ZodLiteral:()=>Hj,$ZodLazy:()=>Tj,$ZodKSUID:()=>vY,$ZodJWT:()=>tY,$ZodIntersection:()=>qj,$ZodISOTime:()=>xY,$ZodISODuration:()=>mY,$ZodISODateTime:()=>yY,$ZodISODate:()=>hY,$ZodIPv6:()=>dY,$ZodIPv4:()=>uY,$ZodGUID:()=>IY,$ZodFunction:()=>fj,$ZodFile:()=>Vj,$ZodExactOptional:()=>Aj,$ZodError:()=>qJ,$ZodEnum:()=>Bj,$ZodEncodeError:()=>y0,$ZodEmoji:()=>PY,$ZodEmail:()=>wY,$ZodE164:()=>oY,$ZodDiscriminatedUnion:()=>zj,$ZodDefault:()=>Fj,$ZodDate:()=>Qj,$ZodCustomStringFormat:()=>aY,$ZodCustom:()=>Sj,$ZodCodec:()=>VJ,$ZodCheckUpperCase:()=>BY,$ZodCheckStringFormat:()=>Z2,$ZodCheckStartsWith:()=>VY,$ZodCheckSizeEquals:()=>DY,$ZodCheckRegex:()=>LY,$ZodCheckProperty:()=>AY,$ZodCheckOverwrite:()=>FY,$ZodCheckNumberFormat:()=>GY,$ZodCheckMultipleOf:()=>XY,$ZodCheckMinSize:()=>jY,$ZodCheckMinLength:()=>qY,$ZodCheckMimeType:()=>EY,$ZodCheckMaxSize:()=>YY,$ZodCheckMaxLength:()=>zY,$ZodCheckLowerCase:()=>NY,$ZodCheckLessThan:()=>$9,$ZodCheckLengthEquals:()=>OY,$ZodCheckIncludes:()=>HY,$ZodCheckGreaterThan:()=>_9,$ZodCheckEndsWith:()=>RY,$ZodCheckBigIntFormat:()=>QY,$ZodCheck:()=>c$,$ZodCatch:()=>Ij,$ZodCUID2:()=>TY,$ZodCUID:()=>CY,$ZodCIDRv6:()=>lY,$ZodCIDRv4:()=>nY,$ZodBoolean:()=>BJ,$ZodBigIntFormat:()=>eY,$ZodBigInt:()=>j9,$ZodBase64URL:()=>pY,$ZodBase64:()=>rY,$ZodAsyncError:()=>y6,$ZodArray:()=>Yj,$ZodAny:()=>Jj});var m_=y(()=>{p();eX();S7();SJ();XV();QV();h0();kQ();IQ();Zj();U9();bY();bJ();WV();CJ()});var x9={};I6(x9,{uppercase:()=>n0,trim:()=>t0,toUpperCase:()=>s0,toLowerCase:()=>a0,startsWith:()=>i0,slugify:()=>e0,size:()=>n4,regex:()=>d0,property:()=>fJ,positive:()=>gJ,overwrite:()=>a_,normalize:()=>o0,nonpositive:()=>kJ,nonnegative:()=>PJ,negative:()=>wJ,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,maxSize:()=>D4,maxLength:()=>l4,lte:()=>C_,lt:()=>O6,lowercase:()=>c0,length:()=>i4,includes:()=>l0,gte:()=>B_,gt:()=>L6,endsWith:()=>r0});var m9=y(()=>{m_()});var $1={};I6($1,{time:()=>Qz,duration:()=>Yz,datetime:()=>Xz,date:()=>Gz,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ});function Xz($){return x7(ZJ,$)}function Gz($){return m7(vJ,$)}function Qz($){return u7(yJ,$)}function Yz($){return d7(hJ,$)}var ZJ,vJ,yJ,hJ;var xJ=y(()=>{m_();uJ();ZJ=F("ZodISODateTime",($,_)=>{yY.init($,_),y$.init($,_)});vJ=F("ZodISODate",($,_)=>{hY.init($,_),y$.init($,_)});yJ=F("ZodISOTime",($,_)=>{xY.init($,_),y$.init($,_)});hJ=F("ZodISODuration",($,_)=>{mY.init($,_),y$.init($,_)})});var YV=($,_)=>{qJ.init($,_),$.name="ZodError",Object.defineProperties($,{format:{value:(U)=>P2($,U)},flatten:{value:(U)=>k2($,U)},addIssue:{value:(U)=>{$.issues.push(U),$.message=JSON.stringify($.issues,I2,2)}},addIssues:{value:(U)=>{$.issues.push(...U),$.message=JSON.stringify($.issues,I2,2)}},isEmpty:{get(){return $.issues.length===0}}})},jV,I_;var jz=y(()=>{m_();m_();p();jV=F("ZodError",YV),I_=F("ZodError",YV,{Parent:Error})});var u9,d9,c9,n9,l9,i9,r9,p9,o9,t9,a9,s9;var Dz=y(()=>{m_();jz();u9=f2(I_),d9=C2(I_),c9=T2(I_),n9=S2(I_),l9=nX(I_),i9=lX(I_),r9=iX(I_),p9=rX(I_),o9=pX(I_),t9=oX(I_),a9=tX(I_),s9=aX(I_)});var mJ={};I6(mJ,{xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,url:()=>Hz,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>B8,transform:()=>qW,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>n8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>m2,strictObject:()=>ez,set:()=>Gq,refine:()=>c8,record:()=>H8,readonly:()=>y8,promise:()=>Bq,preprocess:()=>Mq,prefault:()=>k8,pipe:()=>cJ,partialRecord:()=>Jq,optional:()=>d2,object:()=>sz,number:()=>$8,nullish:()=>Dq,nullable:()=>c2,null:()=>X8,nonoptional:()=>P8,never:()=>jW,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,meta:()=>Eq,map:()=>Xq,mac:()=>gz,looseRecord:()=>Wq,looseObject:()=>$q,literal:()=>Yq,lazy:()=>m8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>L8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Fq,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,function:()=>Hq,float64:()=>mz,float32:()=>xz,file:()=>jq,exactOptional:()=>b8,enum:()=>zW,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,date:()=>tz,custom:()=>Rq,cuid2:()=>Fz,cuid:()=>Ez,codec:()=>Oq,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>T8,boolean:()=>_8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>i2,any:()=>pz,_function:()=>Hq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>z8,ZodXID:()=>sJ,ZodVoid:()=>j8,ZodUnknown:()=>Q8,ZodUnion:()=>p2,ZodUndefined:()=>J8,ZodUUID:()=>B6,ZodURL:()=>n2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>N8,ZodTransform:()=>F8,ZodTemplateLiteral:()=>h8,ZodSymbol:()=>U8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>R8,ZodRecord:()=>_1,ZodReadonly:()=>v8,ZodPromise:()=>u8,ZodPreprocess:()=>Z8,ZodPrefault:()=>w8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>r2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>M8,ZodNull:()=>W8,ZodNonOptional:()=>LW,ZodNever:()=>Y8,ZodNanoID:()=>pJ,ZodNaN:()=>S8,ZodMap:()=>V8,ZodMAC:()=>e9,ZodLiteral:()=>A8,ZodLazy:()=>x8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIntersection:()=>O8,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>d8,ZodFile:()=>E8,ZodExactOptional:()=>K8,ZodEnum:()=>U1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>q8,ZodDefault:()=>I8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>C8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>D8,ZodAny:()=>G8});function nJ($,_,U){let W=Object.getPrototypeOf($),J=DV.get(W);if(!J)J=new Set,DV.set(W,J);if(J.has(_))return;J.add(_);for(let X in U){let G=U[X];Object.defineProperty(W,X,{configurable:!0,enumerable:!1,get(){let Q=G.bind(this);return Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q}),Q},set(Q){Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q})}})}}function m2($){return v7(J1,$)}function zz($){return N9(iJ,$)}function qz($){return MJ(u2,$)}function Oz($){return B9(B6,$)}function Lz($){return H9(B6,$)}function Nz($){return V9(B6,$)}function Bz($){return R9(B6,$)}function Hz($){return IJ(n2,$)}function Vz($){return IJ(n2,{protocol:f_.httpProtocol,hostname:f_.domain,...P.normalizeParams($)})}function Rz($){return A9(rJ,$)}function Az($){return E9(pJ,$)}function Ez($){return F9(oJ,$)}function Fz($){return K9(tJ,$)}function Kz($){return b9(aJ,$)}function bz($){return M9(sJ,$)}function Mz($){return I9(eJ,$)}function Iz($){return g9($W,$)}function gz($){return h7(e9,$)}function wz($){return w9(_W,$)}function kz($){return k9(UW,$)}function Pz($){return P9(JW,$)}function fz($){return f9(WW,$)}function Cz($){return C9(XW,$)}function Tz($){return T9(GW,$)}function Sz($){return S9(QW,$)}function Zz($,_,U={}){return h2(W1,$,_,U)}function vz($){return h2(W1,"hostname",f_.hostname,$)}function yz($){return h2(W1,"hex",f_.hex,$)}function hz($,_){let U=_?.enc??"hex",W=`${$}_${U}`,J=f_[W];if(!J)throw Error(`Unrecognized hash format: ${W}`);return h2(W1,W,J,_)}function $8($){return c7(X1,$)}function dJ($){return l7(a4,$)}function xz($){return i7(a4,$)}function mz($){return r7(a4,$)}function uz($){return p7(a4,$)}function dz($){return o7(a4,$)}function _8($){return t7(G1,$)}function cz($){return s7(Q1,$)}function nz($){return $D(YW,$)}function lz($){return _D(YW,$)}function iz($){return UD(U8,$)}function rz($){return JD(J8,$)}function X8($){return WD(W8,$)}function pz(){return XD(G8)}function t4(){return GD(Q8)}function jW($){return QD(Y8,$)}function oz($){return YD(j8,$)}function tz($){return jD(l2,$)}function i2($,_){return qD(D8,$,_)}function az($){let _=$._zod.def.shape;return zW(Object.keys(_))}function sz($,_){let U={type:"object",shape:$??{},...P.normalizeParams(_)};return new r2(U)}function ez($,_){return new r2({type:"object",shape:$,catchall:jW(),...P.normalizeParams(_)})}function $q($,_){return new r2({type:"object",shape:$,catchall:t4(),...P.normalizeParams(_)})}function DW($,_){return new p2({type:"union",options:$,...P.normalizeParams(_)})}function _q($,_){return new z8({type:"union",options:$,inclusive:!1,...P.normalizeParams(_)})}function Uq($,_,U){return new q8({type:"union",options:_,discriminator:$,...P.normalizeParams(U)})}function L8($,_){return new O8({type:"intersection",left:$,right:_})}function B8($,_,U){let W=_ instanceof D$,J=W?U:_;return new N8({type:"tuple",items:$,rest:W?_:null,...P.normalizeParams(J)})}function H8($,_,U){if(!_||!_._zod)return new _1({type:"record",keyType:m2(),valueType:$,...P.normalizeParams(_)});return new _1({type:"record",keyType:$,valueType:_,...P.normalizeParams(U)})}function Jq($,_,U){let W=N_($);return W._zod.values=void 0,new _1({type:"record",keyType:W,valueType:_,...P.normalizeParams(U)})}function Wq($,_,U){return new _1({type:"record",keyType:$,valueType:_,mode:"loose",...P.normalizeParams(U)})}function Xq($,_,U){return new V8({type:"map",keyType:$,valueType:_,...P.normalizeParams(U)})}function Gq($,_){return new R8({type:"set",valueType:$,...P.normalizeParams(_)})}function zW($,_){let U=Array.isArray($)?Object.fromEntries($.map((W)=>[W,W])):$;return new U1({type:"enum",entries:U,...P.normalizeParams(_)})}function Qq($,_){return new U1({type:"enum",entries:$,...P.normalizeParams(_)})}function Yq($,_){return new A8({type:"literal",values:Array.isArray($)?$:[$],...P.normalizeParams(_)})}function jq($){return OD(E8,$)}function qW($){return new F8({type:"transform",transform:$})}function d2($){return new OW({type:"optional",innerType:$})}function b8($){return new K8({type:"optional",innerType:$})}function c2($){return new M8({type:"nullable",innerType:$})}function Dq($){return d2(c2($))}function g8($,_){return new I8({type:"default",innerType:$,get defaultValue(){return typeof _==="function"?_():P.shallowClone(_)}})}function k8($,_){return new w8({type:"prefault",innerType:$,get defaultValue(){return typeof _==="function"?_():P.shallowClone(_)}})}function P8($,_){return new LW({type:"nonoptional",innerType:$,...P.normalizeParams(_)})}function zq($){return new f8({type:"success",innerType:$})}function T8($,_){return new C8({type:"catch",innerType:$,catchValue:typeof _==="function"?_:()=>_})}function qq($){return zD(S8,$)}function cJ($,_){return new o2({type:"pipe",in:$,out:_})}function Oq($,_,U){return new t2({type:"pipe",in:$,out:_,transform:U.decode,reverseTransform:U.encode})}function Lq($){let _=$._zod.def;return new t2({type:"pipe",in:_.out,out:_.in,transform:_.reverseTransform,reverseTransform:_.transform})}function y8($){return new v8({type:"readonly",innerType:$})}function Nq($,_){return new h8({type:"template_literal",parts:$,...P.normalizeParams(_)})}function m8($){return new x8({type:"lazy",getter:$})}function Bq($){return new u8({type:"promise",innerType:$})}function Hq($){return new d8({type:"function",input:Array.isArray($?.input)?B8($?.input):$?.input??i2(t4()),output:$?.output??t4()})}function Vq($){let _=new c$({check:"custom"});return _._zod.check=$,_}function Rq($,_){return LD(a2,$??(()=>!0),_)}function c8($,_={}){return ND(a2,$,_)}function n8($,_){return BD($,_)}function Fq($,_={}){let U=new a2({type:"custom",check:"custom",fn:(W)=>W instanceof $,abort:!0,...P.normalizeParams(_)});return U._zod.bag.Class=$,U._zod.check=(W)=>{if(!(W.value instanceof $))W.issues.push({code:"invalid_type",expected:$.name,input:W.value,inst:U,path:[...U._zod.def.path??[]]})},U}function bq($){let _=m8(()=>{return DW([m2($),$8(),_8(),X8(),i2(_),H8(m2(),_)])});return _}function Mq($,_){return new Z8({type:"pipe",in:qW($),out:_})}var DV,q$,lJ,J1,y$,iJ,u2,B6,n2,rJ,pJ,oJ,tJ,aJ,sJ,eJ,$W,e9,_W,UW,JW,WW,XW,GW,QW,W1,X1,a4,G1,Q1,YW,U8,J8,W8,G8,Q8,Y8,j8,l2,D8,r2,p2,z8,q8,O8,N8,_1,V8,R8,U1,A8,E8,F8,OW,K8,M8,I8,w8,LW,f8,C8,S8,o2,t2,Z8,v8,h8,x8,u8,d8,a2,Aq,Eq,Kq=(...$)=>RD({Codec:t2,Boolean:G1,String:J1},...$);var uJ=y(()=>{m_();m_();SJ();CJ();m9();xJ();Dz();DV=new WeakMap;q$=F("ZodType",($,_)=>{return D$.init($,_),Object.assign($["~standard"],{jsonSchema:{input:x2($,"input"),output:x2($,"output")}}),$.toJSONSchema=AD($,{}),$.def=_,$.type=_.type,Object.defineProperty($,"_def",{value:_}),$.parse=(U,W)=>u9($,U,W,{callee:$.parse}),$.safeParse=(U,W)=>c9($,U,W),$.parseAsync=async(U,W)=>d9($,U,W,{callee:$.parseAsync}),$.safeParseAsync=async(U,W)=>n9($,U,W),$.spa=$.safeParseAsync,$.encode=(U,W)=>l9($,U,W),$.decode=(U,W)=>i9($,U,W),$.encodeAsync=async(U,W)=>r9($,U,W),$.decodeAsync=async(U,W)=>p9($,U,W),$.safeEncode=(U,W)=>o9($,U,W),$.safeDecode=(U,W)=>t9($,U,W),$.safeEncodeAsync=async(U,W)=>a9($,U,W),$.safeDecodeAsync=async(U,W)=>s9($,U,W),nJ($,"ZodType",{check(...U){let W=this.def;return this.clone(P.mergeDefs(W,{checks:[...W.checks??[],...U.map((J)=>typeof J==="function"?{_zod:{check:J,def:{check:"custom"},onattach:[]}}:J)]}),{parent:!0})},with(...U){return this.check(...U)},clone(U,W){return N_(this,U,W)},brand(){return this},register(U,W){return U.add(this,W),this},refine(U,W){return this.check(c8(U,W))},superRefine(U,W){return this.check(n8(U,W))},overwrite(U){return this.check(a_(U))},optional(){return d2(this)},exactOptional(){return b8(this)},nullable(){return c2(this)},nullish(){return d2(c2(this))},nonoptional(U){return P8(this,U)},array(){return i2(this)},or(U){return DW([this,U])},and(U){return L8(this,U)},transform(U){return cJ(this,qW(U))},default(U){return g8(this,U)},prefault(U){return k8(this,U)},catch(U){return T8(this,U)},pipe(U){return cJ(this,U)},readonly(){return y8(this)},describe(U){let W=this.clone();return D_.add(W,{description:U}),W},meta(...U){if(U.length===0)return D_.get(this);let W=this.clone();return D_.add(W,U[0]),W},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty($,"description",{get(){return D_.get($)?.description},configurable:!0}),$}),lJ=F("_ZodString",($,_)=>{u0.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>ED($,W,J,X);let U=$._zod.bag;$.format=U.format??null,$.minLength=U.minimum??null,$.maxLength=U.maximum??null,nJ($,"_ZodString",{regex(...W){return this.check(d0(...W))},includes(...W){return this.check(l0(...W))},startsWith(...W){return this.check(i0(...W))},endsWith(...W){return this.check(r0(...W))},min(...W){return this.check(h6(...W))},max(...W){return this.check(l4(...W))},length(...W){return this.check(i4(...W))},nonempty(...W){return this.check(h6(1,...W))},lowercase(W){return this.check(c0(W))},uppercase(W){return this.check(n0(W))},trim(){return this.check(t0())},normalize(...W){return this.check(o0(...W))},toLowerCase(){return this.check(a0())},toUpperCase(){return this.check(s0())},slugify(){return this.check(e0())}})}),J1=F("ZodString",($,_)=>{u0.init($,_),lJ.init($,_),$.email=(U)=>$.check(N9(iJ,U)),$.url=(U)=>$.check(IJ(n2,U)),$.jwt=(U)=>$.check(S9(QW,U)),$.emoji=(U)=>$.check(A9(rJ,U)),$.guid=(U)=>$.check(MJ(u2,U)),$.uuid=(U)=>$.check(B9(B6,U)),$.uuidv4=(U)=>$.check(H9(B6,U)),$.uuidv6=(U)=>$.check(V9(B6,U)),$.uuidv7=(U)=>$.check(R9(B6,U)),$.nanoid=(U)=>$.check(E9(pJ,U)),$.guid=(U)=>$.check(MJ(u2,U)),$.cuid=(U)=>$.check(F9(oJ,U)),$.cuid2=(U)=>$.check(K9(tJ,U)),$.ulid=(U)=>$.check(b9(aJ,U)),$.base64=(U)=>$.check(f9(WW,U)),$.base64url=(U)=>$.check(C9(XW,U)),$.xid=(U)=>$.check(M9(sJ,U)),$.ksuid=(U)=>$.check(I9(eJ,U)),$.ipv4=(U)=>$.check(g9($W,U)),$.ipv6=(U)=>$.check(w9(_W,U)),$.cidrv4=(U)=>$.check(k9(UW,U)),$.cidrv6=(U)=>$.check(P9(JW,U)),$.e164=(U)=>$.check(T9(GW,U)),$.datetime=(U)=>$.check(Xz(U)),$.date=(U)=>$.check(Gz(U)),$.time=(U)=>$.check(Qz(U)),$.duration=(U)=>$.check(Yz(U))});y$=F("ZodStringFormat",($,_)=>{u$.init($,_),lJ.init($,_)}),iJ=F("ZodEmail",($,_)=>{wY.init($,_),y$.init($,_)});u2=F("ZodGUID",($,_)=>{IY.init($,_),y$.init($,_)});B6=F("ZodUUID",($,_)=>{gY.init($,_),y$.init($,_)});n2=F("ZodURL",($,_)=>{kY.init($,_),y$.init($,_)});rJ=F("ZodEmoji",($,_)=>{PY.init($,_),y$.init($,_)});pJ=F("ZodNanoID",($,_)=>{fY.init($,_),y$.init($,_)});oJ=F("ZodCUID",($,_)=>{CY.init($,_),y$.init($,_)});tJ=F("ZodCUID2",($,_)=>{TY.init($,_),y$.init($,_)});aJ=F("ZodULID",($,_)=>{SY.init($,_),y$.init($,_)});sJ=F("ZodXID",($,_)=>{ZY.init($,_),y$.init($,_)});eJ=F("ZodKSUID",($,_)=>{vY.init($,_),y$.init($,_)});$W=F("ZodIPv4",($,_)=>{uY.init($,_),y$.init($,_)});e9=F("ZodMAC",($,_)=>{cY.init($,_),y$.init($,_)});_W=F("ZodIPv6",($,_)=>{dY.init($,_),y$.init($,_)});UW=F("ZodCIDRv4",($,_)=>{nY.init($,_),y$.init($,_)});JW=F("ZodCIDRv6",($,_)=>{lY.init($,_),y$.init($,_)});WW=F("ZodBase64",($,_)=>{rY.init($,_),y$.init($,_)});XW=F("ZodBase64URL",($,_)=>{pY.init($,_),y$.init($,_)});GW=F("ZodE164",($,_)=>{oY.init($,_),y$.init($,_)});QW=F("ZodJWT",($,_)=>{tY.init($,_),y$.init($,_)});W1=F("ZodCustomStringFormat",($,_)=>{aY.init($,_),y$.init($,_)});X1=F("ZodNumber",($,_)=>{Y9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>FD($,W,J,X),nJ($,"ZodNumber",{gt(W,J){return this.check(L6(W,J))},gte(W,J){return this.check(B_(W,J))},min(W,J){return this.check(B_(W,J))},lt(W,J){return this.check(O6(W,J))},lte(W,J){return this.check(C_(W,J))},max(W,J){return this.check(C_(W,J))},int(W){return this.check(dJ(W))},safe(W){return this.check(dJ(W))},positive(W){return this.check(L6(0,W))},nonnegative(W){return this.check(B_(0,W))},negative(W){return this.check(O6(0,W))},nonpositive(W){return this.check(C_(0,W))},multipleOf(W,J){return this.check(j4(W,J))},step(W,J){return this.check(j4(W,J))},finite(){return this}});let U=$._zod.bag;$.minValue=Math.max(U.minimum??Number.NEGATIVE_INFINITY,U.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(U.maximum??Number.POSITIVE_INFINITY,U.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(U.format??"").includes("int")||Number.isSafeInteger(U.multipleOf??0.5),$.isFinite=!0,$.format=U.format??null});a4=F("ZodNumberFormat",($,_)=>{sY.init($,_),X1.init($,_)});G1=F("ZodBoolean",($,_)=>{BJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>KD($,U,W,J)});Q1=F("ZodBigInt",($,_)=>{j9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>bD($,W,J,X),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.gt=(W,J)=>$.check(L6(W,J)),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.lt=(W,J)=>$.check(O6(W,J)),$.lte=(W,J)=>$.check(C_(W,J)),$.max=(W,J)=>$.check(C_(W,J)),$.positive=(W)=>$.check(L6(BigInt(0),W)),$.negative=(W)=>$.check(O6(BigInt(0),W)),$.nonpositive=(W)=>$.check(C_(BigInt(0),W)),$.nonnegative=(W)=>$.check(B_(BigInt(0),W)),$.multipleOf=(W,J)=>$.check(j4(W,J));let U=$._zod.bag;$.minValue=U.minimum??null,$.maxValue=U.maximum??null,$.format=U.format??null});YW=F("ZodBigIntFormat",($,_)=>{eY.init($,_),Q1.init($,_)});U8=F("ZodSymbol",($,_)=>{$j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>MD($,U,W,J)});J8=F("ZodUndefined",($,_)=>{_j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>gD($,U,W,J)});W8=F("ZodNull",($,_)=>{Uj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>ID($,U,W,J)});G8=F("ZodAny",($,_)=>{Jj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>PD($,U,W,J)});Q8=F("ZodUnknown",($,_)=>{Wj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>fD($,U,W,J)});Y8=F("ZodNever",($,_)=>{Xj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>kD($,U,W,J)});j8=F("ZodVoid",($,_)=>{Gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>wD($,U,W,J)});l2=F("ZodDate",($,_)=>{Qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>CD($,W,J,X),$.min=(W,J)=>$.check(B_(W,J)),$.max=(W,J)=>$.check(C_(W,J));let U=$._zod.bag;$.minDate=U.minimum?new Date(U.minimum):null,$.maxDate=U.maximum?new Date(U.maximum):null});D8=F("ZodArray",($,_)=>{Yj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>nD($,U,W,J),$.element=_.element,nJ($,"ZodArray",{min(U,W){return this.check(h6(U,W))},nonempty(U){return this.check(h6(1,U))},max(U,W){return this.check(l4(U,W))},length(U,W){return this.check(i4(U,W))},unwrap(){return this.element}})});r2=F("ZodObject",($,_)=>{jj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>lD($,U,W,J),P.defineLazy($,"shape",()=>{return _.shape}),nJ($,"ZodObject",{keyof(){return zW(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:t4()})},loose(){return this.clone({...this._zod.def,catchall:t4()})},strict(){return this.clone({...this._zod.def,catchall:jW()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(U){return P.extend(this,U)},safeExtend(U){return P.safeExtend(this,U)},merge(U){return P.merge(this,U)},pick(U){return P.pick(this,U)},omit(U){return P.omit(this,U)},partial(...U){return P.partial(OW,this,U[0])},required(...U){return P.required(LW,this,U[0])}})});p2=F("ZodUnion",($,_)=>{HJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>y9($,U,W,J),$.options=_.options});z8=F("ZodXor",($,_)=>{p2.init($,_),Dj.init($,_),$._zod.processJSONSchema=(U,W,J)=>y9($,U,W,J),$.options=_.options});q8=F("ZodDiscriminatedUnion",($,_)=>{p2.init($,_),zj.init($,_)});O8=F("ZodIntersection",($,_)=>{qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>iD($,U,W,J)});N8=F("ZodTuple",($,_)=>{D9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>rD($,U,W,J),$.rest=(U)=>$.clone({...$._zod.def,rest:U})});_1=F("ZodRecord",($,_)=>{Oj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>pD($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType});V8=F("ZodMap",($,_)=>{Lj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>dD($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType,$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(n4(...U))});R8=F("ZodSet",($,_)=>{Nj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>cD($,U,W,J),$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(n4(...U))});U1=F("ZodEnum",($,_)=>{Bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>TD($,W,J,X),$.enum=_.entries,$.options=Object.values(_.entries);let U=new Set(Object.keys(_.entries));$.extract=(W,J)=>{let X={};for(let G of W)if(U.has(G))X[G]=_.entries[G];else throw Error(`Key ${G} not found in enum`);return new U1({..._,checks:[],...P.normalizeParams(J),entries:X})},$.exclude=(W,J)=>{let X={..._.entries};for(let G of W)if(U.has(G))delete X[G];else throw Error(`Key ${G} not found in enum`);return new U1({..._,checks:[],...P.normalizeParams(J),entries:X})}});A8=F("ZodLiteral",($,_)=>{Hj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>SD($,U,W,J),$.values=new Set(_.values),Object.defineProperty($,"value",{get(){if(_.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return _.values[0]}})});E8=F("ZodFile",($,_)=>{Vj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>yD($,U,W,J),$.min=(U,W)=>$.check(N6(U,W)),$.max=(U,W)=>$.check(D4(U,W)),$.mime=(U,W)=>$.check(p0(Array.isArray(U)?U:[U],W))});F8=F("ZodTransform",($,_)=>{Rj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>uD($,U,W,J),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new y0($.constructor.name);U.addIssue=(X)=>{if(typeof X==="string")U.issues.push(P.issue(X,U.value,_));else{let G=X;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=U.value),G.inst??(G.inst=$),U.issues.push(P.issue(G))}};let J=_.transform(U.value,U);if(J instanceof Promise)return J.then((X)=>{return U.value=X,U.fallback=!0,U});return U.value=J,U.fallback=!0,U}});OW=F("ZodOptional",($,_)=>{z9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>h9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});K8=F("ZodExactOptional",($,_)=>{Aj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>h9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});M8=F("ZodNullable",($,_)=>{Ej.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>oD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});I8=F("ZodDefault",($,_)=>{Fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>aD($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});w8=F("ZodPrefault",($,_)=>{Kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>sD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});LW=F("ZodNonOptional",($,_)=>{bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>tD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});f8=F("ZodSuccess",($,_)=>{Mj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>hD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});C8=F("ZodCatch",($,_)=>{Ij.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>eD($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});S8=F("ZodNaN",($,_)=>{gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>ZD($,U,W,J)});o2=F("ZodPipe",($,_)=>{q9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>$z($,U,W,J),$.in=_.in,$.out=_.out});t2=F("ZodCodec",($,_)=>{o2.init($,_),VJ.init($,_)});Z8=F("ZodPreprocess",($,_)=>{o2.init($,_),wj.init($,_)}),v8=F("ZodReadonly",($,_)=>{kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>_z($,U,W,J),$.unwrap=()=>$._zod.def.innerType});h8=F("ZodTemplateLiteral",($,_)=>{Pj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>vD($,U,W,J)});x8=F("ZodLazy",($,_)=>{Tj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Jz($,U,W,J),$.unwrap=()=>$._zod.def.getter()});u8=F("ZodPromise",($,_)=>{Cj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Uz($,U,W,J),$.unwrap=()=>$._zod.def.innerType});d8=F("ZodFunction",($,_)=>{fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>mD($,U,W,J)});a2=F("ZodCustom",($,_)=>{Sj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>xD($,U,W,J)});Aq=HD,Eq=VD});function qV($){__({customError:$})}function OV(){return __().customError}var zV,l8;var LV=y(()=>{m_();zV={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function($){})(l8||(l8={}))});function gZ($,_){let U=$.$schema;if(U==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(U==="http://json-schema.org/draft-07/schema#")return"draft-7";if(U==="http://json-schema.org/draft-04/schema#")return"draft-4";return _??"draft-2020-12"}function wZ($,_){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let U=$.slice(1).split("/").filter(Boolean);if(U.length===0)return _.rootSchema;let W=_.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===W){let J=U[1];if(!J||!_.defs[J])throw Error(`Reference not found: ${$}`);return _.defs[J]}throw Error(`Reference not found: ${$}`)}function NV($,_){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return m.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let J=$.$ref;if(_.refs.has(J))return _.refs.get(J);if(_.processing.has(J))return m.lazy(()=>{if(!_.refs.has(J))throw Error(`Circular reference not resolved: ${J}`);return _.refs.get(J)});_.processing.add(J);let X=wZ(J,_),G=H_(X,_);return _.refs.set(J,G),_.processing.delete(J),G}if($.enum!==void 0){let J=$.enum;if(_.version==="openapi-3.0"&&$.nullable===!0&&J.length===1&&J[0]===null)return m.null();if(J.length===0)return m.never();if(J.length===1)return m.literal(J[0]);if(J.every((G)=>typeof G==="string"))return m.enum(J);let X=J.map((G)=>m.literal(G));if(X.length<2)return X[0];return m.union([X[0],X[1],...X.slice(2)])}if($.const!==void 0)return m.literal($.const);let U=$.type;if(Array.isArray(U)){let J=U.map((X)=>{let G={...$,type:X};return NV(G,_)});if(J.length===0)return m.never();if(J.length===1)return J[0];return m.union(J)}if(!U)return m.any();let W;switch(U){case"string":{let J=m.string();if($.format){let X=$.format;if(X==="email")J=J.check(m.email());else if(X==="uri"||X==="uri-reference")J=J.check(m.url());else if(X==="uuid"||X==="guid")J=J.check(m.uuid());else if(X==="date-time")J=J.check(m.iso.datetime());else if(X==="date")J=J.check(m.iso.date());else if(X==="time")J=J.check(m.iso.time());else if(X==="duration")J=J.check(m.iso.duration());else if(X==="ipv4")J=J.check(m.ipv4());else if(X==="ipv6")J=J.check(m.ipv6());else if(X==="mac")J=J.check(m.mac());else if(X==="cidr")J=J.check(m.cidrv4());else if(X==="cidr-v6")J=J.check(m.cidrv6());else if(X==="base64")J=J.check(m.base64());else if(X==="base64url")J=J.check(m.base64url());else if(X==="e164")J=J.check(m.e164());else if(X==="jwt")J=J.check(m.jwt());else if(X==="emoji")J=J.check(m.emoji());else if(X==="nanoid")J=J.check(m.nanoid());else if(X==="cuid")J=J.check(m.cuid());else if(X==="cuid2")J=J.check(m.cuid2());else if(X==="ulid")J=J.check(m.ulid());else if(X==="xid")J=J.check(m.xid());else if(X==="ksuid")J=J.check(m.ksuid())}if(typeof $.minLength==="number")J=J.min($.minLength);if(typeof $.maxLength==="number")J=J.max($.maxLength);if($.pattern)J=J.regex(new RegExp($.pattern));W=J;break}case"number":case"integer":{let J=U==="integer"?m.number().int():m.number();if(typeof $.minimum==="number")J=J.min($.minimum);if(typeof $.maximum==="number")J=J.max($.maximum);if(typeof $.exclusiveMinimum==="number")J=J.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")J=J.gt($.minimum);if(typeof $.exclusiveMaximum==="number")J=J.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")J=J.lt($.maximum);if(typeof $.multipleOf==="number")J=J.multipleOf($.multipleOf);W=J;break}case"boolean":{W=m.boolean();break}case"null":{W=m.null();break}case"object":{let J={},X=$.properties||{},G=new Set($.required||[]);for(let[Y,j]of Object.entries(X)){let O=H_(j,_);J[Y]=G.has(Y)?O:O.optional()}if($.propertyNames){let Y=H_($.propertyNames,_),j=$.additionalProperties&&typeof $.additionalProperties==="object"?H_($.additionalProperties,_):m.any();if(Object.keys(J).length===0){W=m.record(Y,j);break}let O=m.object(J).passthrough(),B=m.looseRecord(Y,j);W=m.intersection(O,B);break}if($.patternProperties){let Y=$.patternProperties,j=Object.keys(Y),O=[];for(let V of j){let L=H_(Y[V],_),N=m.string().regex(new RegExp(V));O.push(m.looseRecord(N,L))}let B=[];if(Object.keys(J).length>0)B.push(m.object(J).passthrough());if(B.push(...O),B.length===0)W=m.object({}).passthrough();else if(B.length===1)W=B[0];else{let V=m.intersection(B[0],B[1]);for(let L=2;L<B.length;L++)V=m.intersection(V,B[L]);W=V}break}let Q=m.object(J);if($.additionalProperties===!1)W=Q.strict();else if(typeof $.additionalProperties==="object")W=Q.catchall(H_($.additionalProperties,_));else W=Q.passthrough();break}case"array":{let{prefixItems:J,items:X}=$;if(J&&Array.isArray(J)){let G=J.map((Y)=>H_(Y,_)),Q=X&&typeof X==="object"&&!Array.isArray(X)?H_(X,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(Array.isArray(X)){let G=X.map((Y)=>H_(Y,_)),Q=$.additionalItems&&typeof $.additionalItems==="object"?H_($.additionalItems,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(X!==void 0){let G=H_(X,_),Q=m.array(G);if(typeof $.minItems==="number")Q=Q.min($.minItems);if(typeof $.maxItems==="number")Q=Q.max($.maxItems);W=Q}else W=m.array(m.any());break}default:throw Error(`Unsupported type: ${U}`)}return W}function H_($,_){if(typeof $==="boolean")return $?m.any():m.never();let U=NV($,_),W=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let Q=$.anyOf.map((j)=>H_(j,_)),Y=m.union(Q);U=W?m.intersection(U,Y):Y}if($.oneOf&&Array.isArray($.oneOf)){let Q=$.oneOf.map((j)=>H_(j,_)),Y=m.xor(Q);U=W?m.intersection(U,Y):Y}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)U=W?U:m.any();else{let Q=W?U:H_($.allOf[0],_),Y=W?0:1;for(let j=Y;j<$.allOf.length;j++)Q=m.intersection(Q,H_($.allOf[j],_));U=Q}if($.nullable===!0&&_.version==="openapi-3.0")U=m.nullable(U);if($.readOnly===!0)U=m.readonly(U);if($.default!==void 0)U=U.default($.default);let J={},X=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let Q of X)if(Q in $)J[Q]=$[Q];let G=["contentEncoding","contentMediaType","contentSchema"];for(let Q of G)if(Q in $)J[Q]=$[Q];for(let Q of Object.keys($))if(!IZ.has(Q))J[Q]=$[Q];if(Object.keys(J).length>0)_.registry.add(U,J);if($.description)U=U.describe($.description);return U}function Iq($,_){if(typeof $==="boolean")return $?m.any():m.never();let U;try{U=JSON.parse(JSON.stringify($))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let W=gZ(U,_?.defaultTarget),J=U.$defs||U.definitions||{},X={version:W,defs:J,refs:new Map,processing:new Set,rootSchema:U,registry:_?.registry??D_};return H_(U,X)}var m,IZ;var BV=y(()=>{bJ();m9();xJ();uJ();m={...mJ,...x9,iso:$1},IZ=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var i8={};I6(i8,{string:()=>kZ,number:()=>PZ,date:()=>TZ,boolean:()=>fZ,bigint:()=>CZ});function kZ($){return y7(J1,$)}function PZ($){return n7(X1,$)}function fZ($){return a7(G1,$)}function CZ($){return e7(Q1,$)}function TZ($){return DD(l2,$)}var HV=y(()=>{m_();uJ()});var r8={};I6(r8,{xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,util:()=>P,url:()=>Hz,uppercase:()=>n0,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>B8,trim:()=>t0,treeifyError:()=>mX,transform:()=>qW,toUpperCase:()=>s0,toLowerCase:()=>a0,toJSONSchema:()=>TJ,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>n8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>m2,strictObject:()=>ez,startsWith:()=>i0,slugify:()=>e0,size:()=>n4,setErrorMap:()=>qV,set:()=>Gq,safeParseAsync:()=>n9,safeParse:()=>c9,safeEncodeAsync:()=>a9,safeEncode:()=>o9,safeDecodeAsync:()=>s9,safeDecode:()=>t9,registry:()=>KJ,regexes:()=>f_,regex:()=>d0,refine:()=>c8,record:()=>H8,readonly:()=>y8,property:()=>fJ,promise:()=>Bq,prettifyError:()=>uX,preprocess:()=>Mq,prefault:()=>k8,positive:()=>gJ,pipe:()=>cJ,partialRecord:()=>Jq,parseAsync:()=>d9,parse:()=>u9,overwrite:()=>a_,optional:()=>d2,object:()=>sz,number:()=>$8,nullish:()=>Dq,nullable:()=>c2,null:()=>X8,normalize:()=>o0,nonpositive:()=>kJ,nonoptional:()=>P8,nonnegative:()=>PJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,meta:()=>Eq,maxSize:()=>D4,maxLength:()=>l4,map:()=>Xq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>c0,looseRecord:()=>Wq,looseObject:()=>$q,locales:()=>y2,literal:()=>Yq,length:()=>i4,lazy:()=>m8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,iso:()=>$1,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>L8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Fq,includes:()=>l0,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>OV,function:()=>Hq,fromJSONSchema:()=>Iq,formatError:()=>P2,float64:()=>mz,float32:()=>xz,flattenError:()=>k2,file:()=>jq,exactOptional:()=>b8,enum:()=>zW,endsWith:()=>r0,encodeAsync:()=>r9,encode:()=>l9,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,decodeAsync:()=>p9,decode:()=>i9,date:()=>tz,custom:()=>Rq,cuid2:()=>Fz,cuid:()=>Ez,core:()=>x6,config:()=>__,coerce:()=>i8,codec:()=>Oq,clone:()=>N_,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>T8,boolean:()=>_8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>i2,any:()=>pz,_function:()=>Hq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>z8,ZodXID:()=>sJ,ZodVoid:()=>j8,ZodUnknown:()=>Q8,ZodUnion:()=>p2,ZodUndefined:()=>J8,ZodUUID:()=>B6,ZodURL:()=>n2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>N8,ZodTransform:()=>F8,ZodTemplateLiteral:()=>h8,ZodSymbol:()=>U8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>R8,ZodRecord:()=>_1,ZodRealError:()=>I_,ZodReadonly:()=>v8,ZodPromise:()=>u8,ZodPreprocess:()=>Z8,ZodPrefault:()=>w8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>r2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>M8,ZodNull:()=>W8,ZodNonOptional:()=>LW,ZodNever:()=>Y8,ZodNanoID:()=>pJ,ZodNaN:()=>S8,ZodMap:()=>V8,ZodMAC:()=>e9,ZodLiteral:()=>A8,ZodLazy:()=>x8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>zV,ZodIntersection:()=>O8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>d8,ZodFirstPartyTypeKind:()=>l8,ZodFile:()=>E8,ZodExactOptional:()=>K8,ZodError:()=>jV,ZodEnum:()=>U1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>q8,ZodDefault:()=>I8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>C8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>D8,ZodAny:()=>G8,TimePrecision:()=>Z9,NEVER:()=>vX,$output:()=>O9,$input:()=>L9,$brand:()=>yX});var gq=y(()=>{m_();m_();lj();m_();SJ();BV();S7();xJ();xJ();HV();uJ();m9();jz();Dz();LV();__(RJ())});var VV={};I6(VV,{z:()=>r8,xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,util:()=>P,url:()=>Hz,uppercase:()=>n0,unknown:()=>t4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>B8,trim:()=>t0,treeifyError:()=>mX,transform:()=>qW,toUpperCase:()=>s0,toLowerCase:()=>a0,toJSONSchema:()=>TJ,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>n8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>m2,strictObject:()=>ez,startsWith:()=>i0,slugify:()=>e0,size:()=>n4,setErrorMap:()=>qV,set:()=>Gq,safeParseAsync:()=>n9,safeParse:()=>c9,safeEncodeAsync:()=>a9,safeEncode:()=>o9,safeDecodeAsync:()=>s9,safeDecode:()=>t9,registry:()=>KJ,regexes:()=>f_,regex:()=>d0,refine:()=>c8,record:()=>H8,readonly:()=>y8,property:()=>fJ,promise:()=>Bq,prettifyError:()=>uX,preprocess:()=>Mq,prefault:()=>k8,positive:()=>gJ,pipe:()=>cJ,partialRecord:()=>Jq,parseAsync:()=>d9,parse:()=>u9,overwrite:()=>a_,optional:()=>d2,object:()=>sz,number:()=>$8,nullish:()=>Dq,nullable:()=>c2,null:()=>X8,normalize:()=>o0,nonpositive:()=>kJ,nonoptional:()=>P8,nonnegative:()=>PJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>p0,meta:()=>Eq,maxSize:()=>D4,maxLength:()=>l4,map:()=>Xq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>c0,looseRecord:()=>Wq,looseObject:()=>$q,locales:()=>y2,literal:()=>Yq,length:()=>i4,lazy:()=>m8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,iso:()=>$1,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>L8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Fq,includes:()=>l0,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>OV,function:()=>Hq,fromJSONSchema:()=>Iq,formatError:()=>P2,float64:()=>mz,float32:()=>xz,flattenError:()=>k2,file:()=>jq,exactOptional:()=>b8,enum:()=>zW,endsWith:()=>r0,encodeAsync:()=>r9,encode:()=>l9,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,default:()=>SZ,decodeAsync:()=>p9,decode:()=>i9,date:()=>tz,custom:()=>Rq,cuid2:()=>Fz,cuid:()=>Ez,core:()=>x6,config:()=>__,coerce:()=>i8,codec:()=>Oq,clone:()=>N_,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>T8,boolean:()=>_8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>i2,any:()=>pz,_function:()=>Hq,_default:()=>g8,_ZodString:()=>lJ,ZodXor:()=>z8,ZodXID:()=>sJ,ZodVoid:()=>j8,ZodUnknown:()=>Q8,ZodUnion:()=>p2,ZodUndefined:()=>J8,ZodUUID:()=>B6,ZodURL:()=>n2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>N8,ZodTransform:()=>F8,ZodTemplateLiteral:()=>h8,ZodSymbol:()=>U8,ZodSuccess:()=>f8,ZodStringFormat:()=>y$,ZodString:()=>J1,ZodSet:()=>R8,ZodRecord:()=>_1,ZodRealError:()=>I_,ZodReadonly:()=>v8,ZodPromise:()=>u8,ZodPreprocess:()=>Z8,ZodPrefault:()=>w8,ZodPipe:()=>o2,ZodOptional:()=>OW,ZodObject:()=>r2,ZodNumberFormat:()=>a4,ZodNumber:()=>X1,ZodNullable:()=>M8,ZodNull:()=>W8,ZodNonOptional:()=>LW,ZodNever:()=>Y8,ZodNanoID:()=>pJ,ZodNaN:()=>S8,ZodMap:()=>V8,ZodMAC:()=>e9,ZodLiteral:()=>A8,ZodLazy:()=>x8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>zV,ZodIntersection:()=>O8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>u2,ZodFunction:()=>d8,ZodFirstPartyTypeKind:()=>l8,ZodFile:()=>E8,ZodExactOptional:()=>K8,ZodError:()=>jV,ZodEnum:()=>U1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>q8,ZodDefault:()=>I8,ZodDate:()=>l2,ZodCustomStringFormat:()=>W1,ZodCustom:()=>a2,ZodCodec:()=>t2,ZodCatch:()=>C8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>G1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Q1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>D8,ZodAny:()=>G8,TimePrecision:()=>Z9,NEVER:()=>vX,$output:()=>O9,$input:()=>L9,$brand:()=>yX});var SZ;var RV=y(()=>{gq();gq();SZ=r8});var ZW=G0((Iu)=>{class NO extends Error{constructor($,_,U){super(U);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=_,this.exitCode=$,this.nestedError=void 0}}class hA extends NO{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Iu.CommanderError=NO;Iu.InvalidArgumentError=hA});var gG=G0((fu)=>{var{InvalidArgumentError:ku}=ZW();class xA{constructor($,_){switch(this.description=_||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new ku(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Pu($){let _=$.name()+($.variadic===!0?"...":"");return $.required?"<"+_+">":"["+_+"]"}fu.Argument=xA;fu.humanReadableArgName=Pu});var BO=G0((Zu)=>{var{humanReadableArgName:Su}=gG();class mA{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let _=$.commands.filter((W)=>!W._hidden),U=$._getHelpCommand();if(U&&!U._hidden)_.push(U);if(this.sortSubcommands)_.sort((W,J)=>{return W.name().localeCompare(J.name())});return _}compareOptions($,_){let U=(W)=>{return W.short?W.short.replace(/^-/,""):W.long.replace(/^--/,"")};return U($).localeCompare(U(_))}visibleOptions($){let _=$.options.filter((W)=>!W.hidden),U=$._getHelpOption();if(U&&!U.hidden){let W=U.short&&$._findOption(U.short),J=U.long&&$._findOption(U.long);if(!W&&!J)_.push(U);else if(U.long&&!J)_.push($.createOption(U.long,U.description));else if(U.short&&!W)_.push($.createOption(U.short,U.description))}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let _=[];for(let U=$.parent;U;U=U.parent){let W=U.options.filter((J)=>!J.hidden);_.push(...W)}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((_)=>{_.description=_.description||$._argsDescription[_.name()]||""});if($.registeredArguments.find((_)=>_.description))return $.registeredArguments;return[]}subcommandTerm($){let _=$.registeredArguments.map((U)=>Su(U)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(_?" "+_:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,_){return _.visibleCommands($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleSubcommandTerm(_.subcommandTerm(W))))},0)}longestOptionTermLength($,_){return _.visibleOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestGlobalOptionTermLength($,_){return _.visibleGlobalOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestArgumentTermLength($,_){return _.visibleArguments($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleArgumentTerm(_.argumentTerm(W))))},0)}commandUsage($){let _=$._name;if($._aliases[0])_=_+"|"+$._aliases[0];let U="";for(let W=$.parent;W;W=W.parent)U=W.name()+" "+U;return U+_+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)_.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)_.push(`env: ${$.envVar}`);if(_.length>0)return`${$.description} (${_.join(", ")})`;return $.description}argumentDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0)_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(_.length>0){let U=`(${_.join(", ")})`;if($.description)return`${$.description} ${U}`;return U}return $.description}formatHelp($,_){let U=_.padWidth($,_),W=_.helpWidth??80;function J(O,B){return _.formatItem(O,U,B,_)}let X=[`${_.styleTitle("Usage:")} ${_.styleUsage(_.commandUsage($))}`,""],G=_.commandDescription($);if(G.length>0)X=X.concat([_.boxWrap(_.styleCommandDescription(G),W),""]);let Q=_.visibleArguments($).map((O)=>{return J(_.styleArgumentTerm(_.argumentTerm(O)),_.styleArgumentDescription(_.argumentDescription(O)))});if(Q.length>0)X=X.concat([_.styleTitle("Arguments:"),...Q,""]);let Y=_.visibleOptions($).map((O)=>{return J(_.styleOptionTerm(_.optionTerm(O)),_.styleOptionDescription(_.optionDescription(O)))});if(Y.length>0)X=X.concat([_.styleTitle("Options:"),...Y,""]);if(_.showGlobalOptions){let O=_.visibleGlobalOptions($).map((B)=>{return J(_.styleOptionTerm(_.optionTerm(B)),_.styleOptionDescription(_.optionDescription(B)))});if(O.length>0)X=X.concat([_.styleTitle("Global Options:"),...O,""])}let j=_.visibleCommands($).map((O)=>{return J(_.styleSubcommandTerm(_.subcommandTerm(O)),_.styleSubcommandDescription(_.subcommandDescription(O)))});if(j.length>0)X=X.concat([_.styleTitle("Commands:"),...j,""]);return X.join(` -`)}displayWidth($){return uA($).length}styleTitle($){return $}styleUsage($){return $.split(" ").map((_)=>{if(_==="[options]")return this.styleOptionText(_);if(_==="[command]")return this.styleSubcommandText(_);if(_[0]==="["||_[0]==="<")return this.styleArgumentText(_);return this.styleCommandText(_)}).join(" ")}styleCommandDescription($){return this.styleDescriptionText($)}styleOptionDescription($){return this.styleDescriptionText($)}styleSubcommandDescription($){return this.styleDescriptionText($)}styleArgumentDescription($){return this.styleDescriptionText($)}styleDescriptionText($){return $}styleOptionTerm($){return this.styleOptionText($)}styleSubcommandTerm($){return $.split(" ").map((_)=>{if(_==="[options]")return this.styleOptionText(_);if(_[0]==="["||_[0]==="<")return this.styleArgumentText(_);return this.styleSubcommandText(_)}).join(" ")}styleArgumentTerm($){return this.styleArgumentText($)}styleOptionText($){return $}styleArgumentText($){return $}styleSubcommandText($){return $}styleCommandText($){return $}padWidth($,_){return Math.max(_.longestOptionTermLength($,_),_.longestGlobalOptionTermLength($,_),_.longestSubcommandTermLength($,_),_.longestArgumentTermLength($,_))}preformatted($){return/\n[^\S\r\n]/.test($)}formatItem($,_,U,W){let X=" ".repeat(2);if(!U)return X+$;let G=$.padEnd(_+$.length-W.displayWidth($)),Q=2,j=(this.helpWidth??80)-_-Q-2,O;if(j<this.minWidthToWrap||W.preformatted(U))O=U;else O=W.boxWrap(U,j).replace(/\n/g,` +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let G of $.seen.entries()){let Q=G[1];if(_===G[0]){X(G);continue}if($.external){let j=$.external.registry.get(G[0])?.id;if(_!==G[0]&&j){X(G);continue}}if($.metadataRegistry.get(G[0])?.id){X(G);continue}if(Q.cycle){X(G);continue}if(Q.count>1){if($.reused==="ref"){X(G);continue}}}}function t4($,_){let U=$.seen.get(_);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let W=(Q)=>{let Y=$.seen.get(Q);if(Y.ref===null)return;let j=Y.def??Y.schema,O={...j},B=Y.ref;if(Y.ref=null,B){W(B);let L=$.seen.get(B),N=L.schema;if(N.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))j.allOf=j.allOf??[],j.allOf.push(N);else Object.assign(j,N);if(Object.assign(j,O),Q._zod.parent===B)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(!(R in O))delete j[R]}if(N.$ref&&L.def)for(let R in j){if(R==="$ref"||R==="allOf")continue;if(R in L.def&&JSON.stringify(j[R])===JSON.stringify(L.def[R]))delete j[R]}}let V=Q._zod.parent;if(V&&V!==B){W(V);let L=$.seen.get(V);if(L?.schema.$ref){if(j.$ref=L.schema.$ref,L.def)for(let N in j){if(N==="$ref"||N==="allOf")continue;if(N in L.def&&JSON.stringify(j[N])===JSON.stringify(L.def[N]))delete j[N]}}}$.override({zodSchema:Q,jsonSchema:j,path:Y.path??[]})};for(let Q of[...$.seen.entries()].reverse())W(Q[0]);let J={};if($.target==="draft-2020-12")J.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")J.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")J.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let Q=$.external.registry.get(_)?.id;if(!Q)throw Error("Schema is missing an `id` property");J.$id=$.external.uri(Q)}Object.assign(J,U.def??U.schema);let X=$.metadataRegistry.get(_)?.id;if(X!==void 0&&J.id===X)delete J.id;let G=$.external?.defs??{};for(let Q of $.seen.entries()){let Y=Q[1];if(Y.def&&Y.defId){if(Y.def.id===Y.defId)delete Y.def.id;G[Y.defId]=Y.def}}if($.external);else if(Object.keys(G).length>0)if($.target==="draft-2020-12")J.$defs=G;else J.definitions=G;try{let Q=JSON.parse(JSON.stringify(J));return Object.defineProperty(Q,"~standard",{value:{..._["~standard"],jsonSchema:{input:m2(_,"input",$.processors),output:m2(_,"output",$.processors)}},enumerable:!1,writable:!1}),Q}catch(Q){throw Error("Error converting schema to JSON.")}}function M_($,_){let U=_??{seen:new Set};if(U.seen.has($))return!1;U.seen.add($);let W=$._zod.def;if(W.type==="transform")return!0;if(W.type==="array")return M_(W.element,U);if(W.type==="set")return M_(W.valueType,U);if(W.type==="lazy")return M_(W.getter(),U);if(W.type==="promise"||W.type==="optional"||W.type==="nonoptional"||W.type==="nullable"||W.type==="readonly"||W.type==="default"||W.type==="prefault")return M_(W.innerType,U);if(W.type==="intersection")return M_(W.left,U)||M_(W.right,U);if(W.type==="record"||W.type==="map")return M_(W.keyType,U)||M_(W.valueType,U);if(W.type==="pipe"){if($._zod.traits.has("$ZodCodec"))return!0;return M_(W.in,U)||M_(W.out,U)}if(W.type==="object"){for(let J in W.shape)if(M_(W.shape[J],U))return!0;return!1}if(W.type==="union"){for(let J of W.options)if(M_(J,U))return!0;return!1}if(W.type==="tuple"){for(let J of W.items)if(M_(J,U))return!0;if(W.rest&&M_(W.rest,U))return!0;return!1}return!1}var AD=($,_={})=>(U)=>{let W=p4({...U,processors:_});return T$($,W),o4(W,$),t4(W,$)},m2=($,_,U={})=>(W)=>{let{libraryOptions:J,target:X}=W??{},G=p4({...J??{},target:X,io:_,processors:U});return T$($,G),o4(G,$),t4(G,$)};var CJ=y(()=>{bJ()});function TJ($,_){if("_idmap"in $){let W=$,J=p4({..._,processors:y9}),X={};for(let Y of W._idmap.entries()){let[j,O]=Y;T$(O,J)}let G={},Q={registry:W,uri:_?.uri,defs:X};J.external=Q;for(let Y of W._idmap.entries()){let[j,O]=Y;o4(J,O),G[j]=t4(J,O)}if(Object.keys(X).length>0){let Y=J.target==="draft-2020-12"?"$defs":"definitions";G.__shared={[Y]:X}}return{schemas:G}}let U=p4({..._,processors:y9});return T$($,U),o4(U,$),t4(U,$)}var IZ,FD=($,_,U,W)=>{let J=U;J.type="string";let{minimum:X,maximum:G,format:Q,patterns:Y,contentEncoding:j}=$._zod.bag;if(typeof X==="number")J.minLength=X;if(typeof G==="number")J.maxLength=G;if(Q){if(J.format=IZ[Q]??Q,J.format==="")delete J.format;if(Q==="time")delete J.format}if(j)J.contentEncoding=j;if(Y&&Y.size>0){let O=[...Y];if(O.length===1)J.pattern=O[0].source;else if(O.length>1)J.allOf=[...O.map((B)=>({..._.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"?{type:"string"}:{},pattern:B.source}))]}},ED=($,_,U,W)=>{let J=U,{minimum:X,maximum:G,format:Q,multipleOf:Y,exclusiveMaximum:j,exclusiveMinimum:O}=$._zod.bag;if(typeof Q==="string"&&Q.includes("int"))J.type="integer";else J.type="number";let B=typeof O==="number"&&O>=(X??Number.NEGATIVE_INFINITY),V=typeof j==="number"&&j<=(G??Number.POSITIVE_INFINITY),L=_.target==="draft-04"||_.target==="openapi-3.0";if(B)if(L)J.minimum=O,J.exclusiveMinimum=!0;else J.exclusiveMinimum=O;else if(typeof X==="number")J.minimum=X;if(V)if(L)J.maximum=j,J.exclusiveMaximum=!0;else J.exclusiveMaximum=j;else if(typeof G==="number")J.maximum=G;if(typeof Y==="number")J.multipleOf=Y},KD=($,_,U,W)=>{U.type="boolean"},bD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},MD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},ID=($,_,U,W)=>{if(_.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},gD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},wD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},kD=($,_,U,W)=>{U.not={}},PD=($,_,U,W)=>{},fD=($,_,U,W)=>{},CD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},TD=($,_,U,W)=>{let J=$._zod.def,X=QJ(J.entries);if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";U.enum=X},SD=($,_,U,W)=>{let J=$._zod.def,X=[];for(let G of J.values)if(G===void 0){if(_.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof G==="bigint")if(_.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else X.push(Number(G));else X.push(G);if(X.length===0);else if(X.length===1){let G=X[0];if(U.type=G===null?"null":typeof G,_.target==="draft-04"||_.target==="openapi-3.0")U.enum=[G];else U.const=G}else{if(X.every((G)=>typeof G==="number"))U.type="number";if(X.every((G)=>typeof G==="string"))U.type="string";if(X.every((G)=>typeof G==="boolean"))U.type="boolean";if(X.every((G)=>G===null))U.type="null";U.enum=X}},ZD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},vD=($,_,U,W)=>{let J=U,X=$._zod.pattern;if(!X)throw Error("Pattern not found in template literal");J.type="string",J.pattern=X.source},yD=($,_,U,W)=>{let J=U,X={type:"string",format:"binary",contentEncoding:"binary"},{minimum:G,maximum:Q,mime:Y}=$._zod.bag;if(G!==void 0)X.minLength=G;if(Q!==void 0)X.maxLength=Q;if(Y)if(Y.length===1)X.contentMediaType=Y[0],Object.assign(J,X);else Object.assign(J,X),J.anyOf=Y.map((j)=>({contentMediaType:j}));else Object.assign(J,X)},hD=($,_,U,W)=>{U.type="boolean"},xD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},mD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},uD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},dD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},cD=($,_,U,W)=>{if(_.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},nD=($,_,U,W)=>{let J=U,X=$._zod.def,{minimum:G,maximum:Q}=$._zod.bag;if(typeof G==="number")J.minItems=G;if(typeof Q==="number")J.maxItems=Q;J.type="array",J.items=T$(X.element,_,{...W,path:[...W.path,"items"]})},lD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object",J.properties={};let G=X.shape;for(let j in G)J.properties[j]=T$(G[j],_,{...W,path:[...W.path,"properties",j]});let Q=new Set(Object.keys(G)),Y=new Set([...Q].filter((j)=>{let O=X.shape[j]._zod;if(_.io==="input")return O.optin===void 0;else return O.optout===void 0}));if(Y.size>0)J.required=Array.from(Y);if(X.catchall?._zod.def.type==="never")J.additionalProperties=!1;else if(!X.catchall){if(_.io==="output")J.additionalProperties=!1}else if(X.catchall)J.additionalProperties=T$(X.catchall,_,{...W,path:[...W.path,"additionalProperties"]})},h9=($,_,U,W)=>{let J=$._zod.def,X=J.inclusive===!1,G=J.options.map((Q,Y)=>T$(Q,_,{...W,path:[...W.path,X?"oneOf":"anyOf",Y]}));if(X)U.oneOf=G;else U.anyOf=G},iD=($,_,U,W)=>{let J=$._zod.def,X=T$(J.left,_,{...W,path:[...W.path,"allOf",0]}),G=T$(J.right,_,{...W,path:[...W.path,"allOf",1]}),Q=(j)=>("allOf"in j)&&Object.keys(j).length===1,Y=[...Q(X)?X.allOf:[X],...Q(G)?G.allOf:[G]];U.allOf=Y},rD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="array";let G=_.target==="draft-2020-12"?"prefixItems":"items",Q=_.target==="draft-2020-12"?"items":_.target==="openapi-3.0"?"items":"additionalItems",Y=X.items.map((V,L)=>T$(V,_,{...W,path:[...W.path,G,L]})),j=X.rest?T$(X.rest,_,{...W,path:[...W.path,Q,..._.target==="openapi-3.0"?[X.items.length]:[]]}):null;if(_.target==="draft-2020-12"){if(J.prefixItems=Y,j)J.items=j}else if(_.target==="openapi-3.0"){if(J.items={anyOf:Y},j)J.items.anyOf.push(j);if(J.minItems=Y.length,!j)J.maxItems=Y.length}else if(J.items=Y,j)J.additionalItems=j;let{minimum:O,maximum:B}=$._zod.bag;if(typeof O==="number")J.minItems=O;if(typeof B==="number")J.maxItems=B},pD=($,_,U,W)=>{let J=U,X=$._zod.def;J.type="object";let G=X.keyType,Y=G._zod.bag?.patterns;if(X.mode==="loose"&&Y&&Y.size>0){let O=T$(X.valueType,_,{...W,path:[...W.path,"patternProperties","*"]});J.patternProperties={};for(let B of Y)J.patternProperties[B.source]=O}else{if(_.target==="draft-07"||_.target==="draft-2020-12")J.propertyNames=T$(X.keyType,_,{...W,path:[...W.path,"propertyNames"]});J.additionalProperties=T$(X.valueType,_,{...W,path:[...W.path,"additionalProperties"]})}let j=G._zod.values;if(j){let O=[...j].filter((B)=>typeof B==="string"||typeof B==="number");if(O.length>0)J.required=O}},oD=($,_,U,W)=>{let J=$._zod.def,X=T$(J.innerType,_,W),G=_.seen.get($);if(_.target==="openapi-3.0")G.ref=J.innerType,U.nullable=!0;else U.anyOf=[X,{type:"null"}]},tD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},aD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.default=JSON.parse(JSON.stringify(J.defaultValue))},sD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);if(X.ref=J.innerType,_.io==="input")U._prefault=JSON.parse(JSON.stringify(J.defaultValue))},eD=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType;let G;try{G=J.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=G},$z=($,_,U,W)=>{let J=$._zod.def,X=J.in._zod.traits.has("$ZodTransform"),G=_.io==="input"?X?J.out:J.in:J.out;T$(G,_,W);let Q=_.seen.get($);Q.ref=G},_z=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType,U.readOnly=!0},Uz=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},x9=($,_,U,W)=>{let J=$._zod.def;T$(J.innerType,_,W);let X=_.seen.get($);X.ref=J.innerType},Jz=($,_,U,W)=>{let J=$._zod.innerType;T$(J,_,W);let X=_.seen.get($);X.ref=J},y9;var SJ=y(()=>{CJ();p();IZ={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},y9={string:FD,number:ED,boolean:KD,bigint:bD,symbol:MD,null:ID,undefined:gD,void:wD,never:kD,any:PD,unknown:fD,date:CD,enum:TD,literal:SD,nan:ZD,template_literal:vD,file:yD,success:hD,custom:xD,function:mD,transform:uD,map:dD,set:cD,array:nD,object:lD,union:h9,intersection:iD,tuple:rD,record:pD,nullable:oD,nonoptional:tD,default:aD,prefault:sD,catch:eD,pipe:$z,readonly:_z,promise:Uz,optional:x9,lazy:Jz}});class Wz{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let _=$?.target??"draft-2020-12";if(_==="draft-4")_="draft-04";if(_==="draft-7")_="draft-07";this.ctx=p4({processors:y9,target:_,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,_={path:[],schemaPath:[]}){return T$($,this.ctx,_)}emit($,_){if(_){if(_.cycles)this.ctx.cycles=_.cycles;if(_.reused)this.ctx.reused=_.reused;if(_.external)this.ctx.external=_.external}o4(this.ctx,$);let U=t4(this.ctx,$),{"~standard":W,...J}=U;return J}}var YV=y(()=>{SJ();CJ()});var jV={};var DV=()=>{};var x6={};I6(x6,{version:()=>KY,util:()=>P,treeifyError:()=>uX,toJSONSchema:()=>TJ,toDotPath:()=>SH,safeParseAsync:()=>wQ,safeParse:()=>gQ,safeEncodeAsync:()=>kT,safeEncode:()=>gT,safeDecodeAsync:()=>PT,safeDecode:()=>wT,registry:()=>KJ,regexes:()=>f_,process:()=>T$,prettifyError:()=>dX,parseAsync:()=>nX,parse:()=>cX,meta:()=>VD,locales:()=>h2,isValidJWT:()=>U3,isValidBase64URL:()=>_3,isValidBase64:()=>iY,initializeContext:()=>p4,globalRegistry:()=>D_,globalConfig:()=>y0,formatError:()=>f2,flattenError:()=>P2,finalize:()=>t4,extractDefs:()=>o4,encodeAsync:()=>MT,encode:()=>KT,describe:()=>HD,decodeAsync:()=>IT,decode:()=>bT,createToJSONSchemaMethod:()=>AD,createStandardJSONSchemaMethod:()=>m2,config:()=>__,clone:()=>N_,_xor:()=>WZ,_xid:()=>I9,_void:()=>YD,_uuidv7:()=>A9,_uuidv6:()=>R9,_uuidv4:()=>V9,_uuid:()=>H9,_url:()=>IJ,_uppercase:()=>l0,_unknown:()=>GD,_union:()=>JZ,_undefined:()=>JD,_ulid:()=>M9,_uint64:()=>_D,_uint32:()=>o7,_tuple:()=>QZ,_trim:()=>a0,_transform:()=>LZ,_toUpperCase:()=>e0,_toLowerCase:()=>s0,_templateLiteral:()=>KZ,_symbol:()=>UD,_superRefine:()=>BD,_success:()=>RZ,_stringbool:()=>RD,_stringFormat:()=>x2,_string:()=>v7,_startsWith:()=>r0,_slugify:()=>$1,_size:()=>l4,_set:()=>DZ,_safeParseAsync:()=>Z2,_safeParse:()=>S2,_safeEncodeAsync:()=>aX,_safeEncode:()=>oX,_safeDecodeAsync:()=>sX,_safeDecode:()=>tX,_regex:()=>c0,_refine:()=>ND,_record:()=>YZ,_readonly:()=>EZ,_property:()=>fJ,_promise:()=>MZ,_positive:()=>gJ,_pipe:()=>FZ,_parseAsync:()=>T2,_parse:()=>C2,_overwrite:()=>a_,_optional:()=>NZ,_number:()=>c7,_nullable:()=>BZ,_null:()=>WD,_normalize:()=>t0,_nonpositive:()=>kJ,_nonoptional:()=>VZ,_nonnegative:()=>PJ,_never:()=>QD,_negative:()=>wJ,_nativeEnum:()=>qZ,_nanoid:()=>E9,_nan:()=>zD,_multipleOf:()=>j4,_minSize:()=>N6,_minLength:()=>h6,_min:()=>B_,_mime:()=>o0,_maxSize:()=>D4,_maxLength:()=>i4,_max:()=>C_,_map:()=>jZ,_mac:()=>h7,_lte:()=>C_,_lt:()=>O6,_lowercase:()=>n0,_literal:()=>OZ,_length:()=>r4,_lazy:()=>bZ,_ksuid:()=>g9,_jwt:()=>Z9,_isoTime:()=>u7,_isoDuration:()=>d7,_isoDateTime:()=>x7,_isoDate:()=>m7,_ipv6:()=>k9,_ipv4:()=>w9,_intersection:()=>GZ,_int64:()=>$D,_int32:()=>p7,_int:()=>l7,_includes:()=>i0,_guid:()=>MJ,_gte:()=>B_,_gt:()=>L6,_float64:()=>r7,_float32:()=>i7,_file:()=>OD,_enum:()=>zZ,_endsWith:()=>p0,_encodeAsync:()=>rX,_encode:()=>lX,_emoji:()=>F9,_email:()=>B9,_e164:()=>S9,_discriminatedUnion:()=>XZ,_default:()=>HZ,_decodeAsync:()=>pX,_decode:()=>iX,_date:()=>jD,_custom:()=>LD,_cuid2:()=>b9,_cuid:()=>K9,_coercedString:()=>y7,_coercedNumber:()=>n7,_coercedDate:()=>DD,_coercedBoolean:()=>a7,_coercedBigint:()=>e7,_cidrv6:()=>f9,_cidrv4:()=>P9,_check:()=>GV,_catch:()=>AZ,_boolean:()=>t7,_bigint:()=>s7,_base64url:()=>T9,_base64:()=>C9,_array:()=>qD,_any:()=>XD,TimePrecision:()=>v9,NEVER:()=>yX,JSONSchemaGenerator:()=>Wz,JSONSchema:()=>jV,Doc:()=>W9,$output:()=>L9,$input:()=>N9,$constructor:()=>E,$brand:()=>hX,$ZodXor:()=>Dj,$ZodXID:()=>ZY,$ZodVoid:()=>Gj,$ZodUnknown:()=>Wj,$ZodUnion:()=>HJ,$ZodUndefined:()=>_j,$ZodUUID:()=>gY,$ZodURL:()=>kY,$ZodULID:()=>SY,$ZodType:()=>D$,$ZodTuple:()=>z9,$ZodTransform:()=>Rj,$ZodTemplateLiteral:()=>Pj,$ZodSymbol:()=>$j,$ZodSuccess:()=>Mj,$ZodStringFormat:()=>u$,$ZodString:()=>d0,$ZodSet:()=>Nj,$ZodRegistry:()=>Z7,$ZodRecord:()=>Oj,$ZodRealError:()=>P_,$ZodReadonly:()=>kj,$ZodPromise:()=>Cj,$ZodPreprocess:()=>wj,$ZodPrefault:()=>Kj,$ZodPipe:()=>O9,$ZodOptional:()=>q9,$ZodObjectJIT:()=>jj,$ZodObject:()=>X3,$ZodNumberFormat:()=>sY,$ZodNumber:()=>j9,$ZodNullable:()=>Fj,$ZodNull:()=>Uj,$ZodNonOptional:()=>bj,$ZodNever:()=>Xj,$ZodNanoID:()=>fY,$ZodNaN:()=>gj,$ZodMap:()=>Lj,$ZodMAC:()=>cY,$ZodLiteral:()=>Hj,$ZodLazy:()=>Tj,$ZodKSUID:()=>vY,$ZodJWT:()=>tY,$ZodIntersection:()=>qj,$ZodISOTime:()=>xY,$ZodISODuration:()=>mY,$ZodISODateTime:()=>yY,$ZodISODate:()=>hY,$ZodIPv6:()=>dY,$ZodIPv4:()=>uY,$ZodGUID:()=>IY,$ZodFunction:()=>fj,$ZodFile:()=>Vj,$ZodExactOptional:()=>Aj,$ZodError:()=>qJ,$ZodEnum:()=>Bj,$ZodEncodeError:()=>h0,$ZodEmoji:()=>PY,$ZodEmail:()=>wY,$ZodE164:()=>oY,$ZodDiscriminatedUnion:()=>zj,$ZodDefault:()=>Ej,$ZodDate:()=>Qj,$ZodCustomStringFormat:()=>aY,$ZodCustom:()=>Sj,$ZodCodec:()=>VJ,$ZodCheckUpperCase:()=>BY,$ZodCheckStringFormat:()=>v2,$ZodCheckStartsWith:()=>VY,$ZodCheckSizeEquals:()=>DY,$ZodCheckRegex:()=>LY,$ZodCheckProperty:()=>AY,$ZodCheckOverwrite:()=>EY,$ZodCheckNumberFormat:()=>GY,$ZodCheckMultipleOf:()=>XY,$ZodCheckMinSize:()=>jY,$ZodCheckMinLength:()=>qY,$ZodCheckMimeType:()=>FY,$ZodCheckMaxSize:()=>YY,$ZodCheckMaxLength:()=>zY,$ZodCheckLowerCase:()=>NY,$ZodCheckLessThan:()=>_9,$ZodCheckLengthEquals:()=>OY,$ZodCheckIncludes:()=>HY,$ZodCheckGreaterThan:()=>U9,$ZodCheckEndsWith:()=>RY,$ZodCheckBigIntFormat:()=>QY,$ZodCheck:()=>c$,$ZodCatch:()=>Ij,$ZodCUID2:()=>TY,$ZodCUID:()=>CY,$ZodCIDRv6:()=>lY,$ZodCIDRv4:()=>nY,$ZodBoolean:()=>BJ,$ZodBigIntFormat:()=>eY,$ZodBigInt:()=>D9,$ZodBase64URL:()=>pY,$ZodBase64:()=>rY,$ZodAsyncError:()=>y6,$ZodArray:()=>Yj,$ZodAny:()=>Jj});var m_=y(()=>{p();$9();S7();SJ();YV();DV();x0();kQ();IQ();Zj();J9();bY();bJ();QV();CJ()});var m9={};I6(m9,{uppercase:()=>l0,trim:()=>a0,toUpperCase:()=>e0,toLowerCase:()=>s0,startsWith:()=>r0,slugify:()=>$1,size:()=>l4,regex:()=>c0,property:()=>fJ,positive:()=>gJ,overwrite:()=>a_,normalize:()=>t0,nonpositive:()=>kJ,nonnegative:()=>PJ,negative:()=>wJ,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>o0,maxSize:()=>D4,maxLength:()=>i4,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,length:()=>r4,includes:()=>i0,gte:()=>B_,gt:()=>L6,endsWith:()=>p0});var u9=y(()=>{m_()});var _1={};I6(_1,{time:()=>Qz,duration:()=>Yz,datetime:()=>Xz,date:()=>Gz,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ});function Xz($){return x7(ZJ,$)}function Gz($){return m7(vJ,$)}function Qz($){return u7(yJ,$)}function Yz($){return d7(hJ,$)}var ZJ,vJ,yJ,hJ;var xJ=y(()=>{m_();uJ();ZJ=E("ZodISODateTime",($,_)=>{yY.init($,_),y$.init($,_)});vJ=E("ZodISODate",($,_)=>{hY.init($,_),y$.init($,_)});yJ=E("ZodISOTime",($,_)=>{xY.init($,_),y$.init($,_)});hJ=E("ZodISODuration",($,_)=>{mY.init($,_),y$.init($,_)})});var zV=($,_)=>{qJ.init($,_),$.name="ZodError",Object.defineProperties($,{format:{value:(U)=>f2($,U)},flatten:{value:(U)=>P2($,U)},addIssue:{value:(U)=>{$.issues.push(U),$.message=JSON.stringify($.issues,g2,2)}},addIssues:{value:(U)=>{$.issues.push(...U),$.message=JSON.stringify($.issues,g2,2)}},isEmpty:{get(){return $.issues.length===0}}})},qV,I_;var jz=y(()=>{m_();m_();p();qV=E("ZodError",zV),I_=E("ZodError",zV,{Parent:Error})});var d9,c9,n9,l9,i9,r9,p9,o9,t9,a9,s9,e9;var Dz=y(()=>{m_();jz();d9=C2(I_),c9=T2(I_),n9=S2(I_),l9=Z2(I_),i9=lX(I_),r9=iX(I_),p9=rX(I_),o9=pX(I_),t9=oX(I_),a9=tX(I_),s9=aX(I_),e9=sX(I_)});var mJ={};I6(mJ,{xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,url:()=>Hz,unknown:()=>a4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>H8,transform:()=>qW,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>l8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>u2,strictObject:()=>ez,set:()=>Gq,refine:()=>n8,record:()=>V8,readonly:()=>h8,promise:()=>Bq,preprocess:()=>Mq,prefault:()=>P8,pipe:()=>cJ,partialRecord:()=>Jq,optional:()=>c2,object:()=>sz,number:()=>_8,nullish:()=>Dq,nullable:()=>n2,null:()=>G8,nonoptional:()=>f8,never:()=>jW,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,meta:()=>Fq,map:()=>Xq,mac:()=>gz,looseRecord:()=>Wq,looseObject:()=>$q,literal:()=>Yq,lazy:()=>u8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>N8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Eq,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,function:()=>Hq,float64:()=>mz,float32:()=>xz,file:()=>jq,exactOptional:()=>M8,enum:()=>zW,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,date:()=>tz,custom:()=>Rq,cuid2:()=>Ez,cuid:()=>Fz,codec:()=>Oq,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>S8,boolean:()=>U8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>r2,any:()=>pz,_function:()=>Hq,_default:()=>w8,_ZodString:()=>lJ,ZodXor:()=>q8,ZodXID:()=>sJ,ZodVoid:()=>D8,ZodUnknown:()=>Y8,ZodUnion:()=>o2,ZodUndefined:()=>W8,ZodUUID:()=>B6,ZodURL:()=>l2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>B8,ZodTransform:()=>K8,ZodTemplateLiteral:()=>x8,ZodSymbol:()=>J8,ZodSuccess:()=>C8,ZodStringFormat:()=>y$,ZodString:()=>W1,ZodSet:()=>A8,ZodRecord:()=>U1,ZodReadonly:()=>y8,ZodPromise:()=>d8,ZodPreprocess:()=>v8,ZodPrefault:()=>k8,ZodPipe:()=>t2,ZodOptional:()=>OW,ZodObject:()=>p2,ZodNumberFormat:()=>s4,ZodNumber:()=>G1,ZodNullable:()=>I8,ZodNull:()=>X8,ZodNonOptional:()=>LW,ZodNever:()=>j8,ZodNanoID:()=>pJ,ZodNaN:()=>Z8,ZodMap:()=>R8,ZodMAC:()=>$8,ZodLiteral:()=>F8,ZodLazy:()=>m8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIntersection:()=>L8,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>d2,ZodFunction:()=>c8,ZodFile:()=>E8,ZodExactOptional:()=>b8,ZodEnum:()=>J1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>O8,ZodDefault:()=>g8,ZodDate:()=>i2,ZodCustomStringFormat:()=>X1,ZodCustom:()=>s2,ZodCodec:()=>a2,ZodCatch:()=>T8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>Q1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Y1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>z8,ZodAny:()=>Q8});function nJ($,_,U){let W=Object.getPrototypeOf($),J=OV.get(W);if(!J)J=new Set,OV.set(W,J);if(J.has(_))return;J.add(_);for(let X in U){let G=U[X];Object.defineProperty(W,X,{configurable:!0,enumerable:!1,get(){let Q=G.bind(this);return Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q}),Q},set(Q){Object.defineProperty(this,X,{configurable:!0,writable:!0,enumerable:!0,value:Q})}})}}function u2($){return v7(W1,$)}function zz($){return B9(iJ,$)}function qz($){return MJ(d2,$)}function Oz($){return H9(B6,$)}function Lz($){return V9(B6,$)}function Nz($){return R9(B6,$)}function Bz($){return A9(B6,$)}function Hz($){return IJ(l2,$)}function Vz($){return IJ(l2,{protocol:f_.httpProtocol,hostname:f_.domain,...P.normalizeParams($)})}function Rz($){return F9(rJ,$)}function Az($){return E9(pJ,$)}function Fz($){return K9(oJ,$)}function Ez($){return b9(tJ,$)}function Kz($){return M9(aJ,$)}function bz($){return I9(sJ,$)}function Mz($){return g9(eJ,$)}function Iz($){return w9($W,$)}function gz($){return h7($8,$)}function wz($){return k9(_W,$)}function kz($){return P9(UW,$)}function Pz($){return f9(JW,$)}function fz($){return C9(WW,$)}function Cz($){return T9(XW,$)}function Tz($){return S9(GW,$)}function Sz($){return Z9(QW,$)}function Zz($,_,U={}){return x2(X1,$,_,U)}function vz($){return x2(X1,"hostname",f_.hostname,$)}function yz($){return x2(X1,"hex",f_.hex,$)}function hz($,_){let U=_?.enc??"hex",W=`${$}_${U}`,J=f_[W];if(!J)throw Error(`Unrecognized hash format: ${W}`);return x2(X1,W,J,_)}function _8($){return c7(G1,$)}function dJ($){return l7(s4,$)}function xz($){return i7(s4,$)}function mz($){return r7(s4,$)}function uz($){return p7(s4,$)}function dz($){return o7(s4,$)}function U8($){return t7(Q1,$)}function cz($){return s7(Y1,$)}function nz($){return $D(YW,$)}function lz($){return _D(YW,$)}function iz($){return UD(J8,$)}function rz($){return JD(W8,$)}function G8($){return WD(X8,$)}function pz(){return XD(Q8)}function a4(){return GD(Y8)}function jW($){return QD(j8,$)}function oz($){return YD(D8,$)}function tz($){return jD(i2,$)}function r2($,_){return qD(z8,$,_)}function az($){let _=$._zod.def.shape;return zW(Object.keys(_))}function sz($,_){let U={type:"object",shape:$??{},...P.normalizeParams(_)};return new p2(U)}function ez($,_){return new p2({type:"object",shape:$,catchall:jW(),...P.normalizeParams(_)})}function $q($,_){return new p2({type:"object",shape:$,catchall:a4(),...P.normalizeParams(_)})}function DW($,_){return new o2({type:"union",options:$,...P.normalizeParams(_)})}function _q($,_){return new q8({type:"union",options:$,inclusive:!1,...P.normalizeParams(_)})}function Uq($,_,U){return new O8({type:"union",options:_,discriminator:$,...P.normalizeParams(U)})}function N8($,_){return new L8({type:"intersection",left:$,right:_})}function H8($,_,U){let W=_ instanceof D$,J=W?U:_;return new B8({type:"tuple",items:$,rest:W?_:null,...P.normalizeParams(J)})}function V8($,_,U){if(!_||!_._zod)return new U1({type:"record",keyType:u2(),valueType:$,...P.normalizeParams(_)});return new U1({type:"record",keyType:$,valueType:_,...P.normalizeParams(U)})}function Jq($,_,U){let W=N_($);return W._zod.values=void 0,new U1({type:"record",keyType:W,valueType:_,...P.normalizeParams(U)})}function Wq($,_,U){return new U1({type:"record",keyType:$,valueType:_,mode:"loose",...P.normalizeParams(U)})}function Xq($,_,U){return new R8({type:"map",keyType:$,valueType:_,...P.normalizeParams(U)})}function Gq($,_){return new A8({type:"set",valueType:$,...P.normalizeParams(_)})}function zW($,_){let U=Array.isArray($)?Object.fromEntries($.map((W)=>[W,W])):$;return new J1({type:"enum",entries:U,...P.normalizeParams(_)})}function Qq($,_){return new J1({type:"enum",entries:$,...P.normalizeParams(_)})}function Yq($,_){return new F8({type:"literal",values:Array.isArray($)?$:[$],...P.normalizeParams(_)})}function jq($){return OD(E8,$)}function qW($){return new K8({type:"transform",transform:$})}function c2($){return new OW({type:"optional",innerType:$})}function M8($){return new b8({type:"optional",innerType:$})}function n2($){return new I8({type:"nullable",innerType:$})}function Dq($){return c2(n2($))}function w8($,_){return new g8({type:"default",innerType:$,get defaultValue(){return typeof _==="function"?_():P.shallowClone(_)}})}function P8($,_){return new k8({type:"prefault",innerType:$,get defaultValue(){return typeof _==="function"?_():P.shallowClone(_)}})}function f8($,_){return new LW({type:"nonoptional",innerType:$,...P.normalizeParams(_)})}function zq($){return new C8({type:"success",innerType:$})}function S8($,_){return new T8({type:"catch",innerType:$,catchValue:typeof _==="function"?_:()=>_})}function qq($){return zD(Z8,$)}function cJ($,_){return new t2({type:"pipe",in:$,out:_})}function Oq($,_,U){return new a2({type:"pipe",in:$,out:_,transform:U.decode,reverseTransform:U.encode})}function Lq($){let _=$._zod.def;return new a2({type:"pipe",in:_.out,out:_.in,transform:_.reverseTransform,reverseTransform:_.transform})}function h8($){return new y8({type:"readonly",innerType:$})}function Nq($,_){return new x8({type:"template_literal",parts:$,...P.normalizeParams(_)})}function u8($){return new m8({type:"lazy",getter:$})}function Bq($){return new d8({type:"promise",innerType:$})}function Hq($){return new c8({type:"function",input:Array.isArray($?.input)?H8($?.input):$?.input??r2(a4()),output:$?.output??a4()})}function Vq($){let _=new c$({check:"custom"});return _._zod.check=$,_}function Rq($,_){return LD(s2,$??(()=>!0),_)}function n8($,_={}){return ND(s2,$,_)}function l8($,_){return BD($,_)}function Eq($,_={}){let U=new s2({type:"custom",check:"custom",fn:(W)=>W instanceof $,abort:!0,...P.normalizeParams(_)});return U._zod.bag.Class=$,U._zod.check=(W)=>{if(!(W.value instanceof $))W.issues.push({code:"invalid_type",expected:$.name,input:W.value,inst:U,path:[...U._zod.def.path??[]]})},U}function bq($){let _=u8(()=>{return DW([u2($),_8(),U8(),G8(),r2(_),V8(u2(),_)])});return _}function Mq($,_){return new v8({type:"pipe",in:qW($),out:_})}var OV,q$,lJ,W1,y$,iJ,d2,B6,l2,rJ,pJ,oJ,tJ,aJ,sJ,eJ,$W,$8,_W,UW,JW,WW,XW,GW,QW,X1,G1,s4,Q1,Y1,YW,J8,W8,X8,Q8,Y8,j8,D8,i2,z8,p2,o2,q8,O8,L8,B8,U1,R8,A8,J1,F8,E8,K8,OW,b8,I8,g8,k8,LW,C8,T8,Z8,t2,a2,v8,y8,x8,m8,d8,c8,s2,Aq,Fq,Kq=(...$)=>RD({Codec:a2,Boolean:Q1,String:W1},...$);var uJ=y(()=>{m_();m_();SJ();CJ();u9();xJ();Dz();OV=new WeakMap;q$=E("ZodType",($,_)=>{return D$.init($,_),Object.assign($["~standard"],{jsonSchema:{input:m2($,"input"),output:m2($,"output")}}),$.toJSONSchema=AD($,{}),$.def=_,$.type=_.type,Object.defineProperty($,"_def",{value:_}),$.parse=(U,W)=>d9($,U,W,{callee:$.parse}),$.safeParse=(U,W)=>n9($,U,W),$.parseAsync=async(U,W)=>c9($,U,W,{callee:$.parseAsync}),$.safeParseAsync=async(U,W)=>l9($,U,W),$.spa=$.safeParseAsync,$.encode=(U,W)=>i9($,U,W),$.decode=(U,W)=>r9($,U,W),$.encodeAsync=async(U,W)=>p9($,U,W),$.decodeAsync=async(U,W)=>o9($,U,W),$.safeEncode=(U,W)=>t9($,U,W),$.safeDecode=(U,W)=>a9($,U,W),$.safeEncodeAsync=async(U,W)=>s9($,U,W),$.safeDecodeAsync=async(U,W)=>e9($,U,W),nJ($,"ZodType",{check(...U){let W=this.def;return this.clone(P.mergeDefs(W,{checks:[...W.checks??[],...U.map((J)=>typeof J==="function"?{_zod:{check:J,def:{check:"custom"},onattach:[]}}:J)]}),{parent:!0})},with(...U){return this.check(...U)},clone(U,W){return N_(this,U,W)},brand(){return this},register(U,W){return U.add(this,W),this},refine(U,W){return this.check(n8(U,W))},superRefine(U,W){return this.check(l8(U,W))},overwrite(U){return this.check(a_(U))},optional(){return c2(this)},exactOptional(){return M8(this)},nullable(){return n2(this)},nullish(){return c2(n2(this))},nonoptional(U){return f8(this,U)},array(){return r2(this)},or(U){return DW([this,U])},and(U){return N8(this,U)},transform(U){return cJ(this,qW(U))},default(U){return w8(this,U)},prefault(U){return P8(this,U)},catch(U){return S8(this,U)},pipe(U){return cJ(this,U)},readonly(){return h8(this)},describe(U){let W=this.clone();return D_.add(W,{description:U}),W},meta(...U){if(U.length===0)return D_.get(this);let W=this.clone();return D_.add(W,U[0]),W},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty($,"description",{get(){return D_.get($)?.description},configurable:!0}),$}),lJ=E("_ZodString",($,_)=>{d0.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>FD($,W,J,X);let U=$._zod.bag;$.format=U.format??null,$.minLength=U.minimum??null,$.maxLength=U.maximum??null,nJ($,"_ZodString",{regex(...W){return this.check(c0(...W))},includes(...W){return this.check(i0(...W))},startsWith(...W){return this.check(r0(...W))},endsWith(...W){return this.check(p0(...W))},min(...W){return this.check(h6(...W))},max(...W){return this.check(i4(...W))},length(...W){return this.check(r4(...W))},nonempty(...W){return this.check(h6(1,...W))},lowercase(W){return this.check(n0(W))},uppercase(W){return this.check(l0(W))},trim(){return this.check(a0())},normalize(...W){return this.check(t0(...W))},toLowerCase(){return this.check(s0())},toUpperCase(){return this.check(e0())},slugify(){return this.check($1())}})}),W1=E("ZodString",($,_)=>{d0.init($,_),lJ.init($,_),$.email=(U)=>$.check(B9(iJ,U)),$.url=(U)=>$.check(IJ(l2,U)),$.jwt=(U)=>$.check(Z9(QW,U)),$.emoji=(U)=>$.check(F9(rJ,U)),$.guid=(U)=>$.check(MJ(d2,U)),$.uuid=(U)=>$.check(H9(B6,U)),$.uuidv4=(U)=>$.check(V9(B6,U)),$.uuidv6=(U)=>$.check(R9(B6,U)),$.uuidv7=(U)=>$.check(A9(B6,U)),$.nanoid=(U)=>$.check(E9(pJ,U)),$.guid=(U)=>$.check(MJ(d2,U)),$.cuid=(U)=>$.check(K9(oJ,U)),$.cuid2=(U)=>$.check(b9(tJ,U)),$.ulid=(U)=>$.check(M9(aJ,U)),$.base64=(U)=>$.check(C9(WW,U)),$.base64url=(U)=>$.check(T9(XW,U)),$.xid=(U)=>$.check(I9(sJ,U)),$.ksuid=(U)=>$.check(g9(eJ,U)),$.ipv4=(U)=>$.check(w9($W,U)),$.ipv6=(U)=>$.check(k9(_W,U)),$.cidrv4=(U)=>$.check(P9(UW,U)),$.cidrv6=(U)=>$.check(f9(JW,U)),$.e164=(U)=>$.check(S9(GW,U)),$.datetime=(U)=>$.check(Xz(U)),$.date=(U)=>$.check(Gz(U)),$.time=(U)=>$.check(Qz(U)),$.duration=(U)=>$.check(Yz(U))});y$=E("ZodStringFormat",($,_)=>{u$.init($,_),lJ.init($,_)}),iJ=E("ZodEmail",($,_)=>{wY.init($,_),y$.init($,_)});d2=E("ZodGUID",($,_)=>{IY.init($,_),y$.init($,_)});B6=E("ZodUUID",($,_)=>{gY.init($,_),y$.init($,_)});l2=E("ZodURL",($,_)=>{kY.init($,_),y$.init($,_)});rJ=E("ZodEmoji",($,_)=>{PY.init($,_),y$.init($,_)});pJ=E("ZodNanoID",($,_)=>{fY.init($,_),y$.init($,_)});oJ=E("ZodCUID",($,_)=>{CY.init($,_),y$.init($,_)});tJ=E("ZodCUID2",($,_)=>{TY.init($,_),y$.init($,_)});aJ=E("ZodULID",($,_)=>{SY.init($,_),y$.init($,_)});sJ=E("ZodXID",($,_)=>{ZY.init($,_),y$.init($,_)});eJ=E("ZodKSUID",($,_)=>{vY.init($,_),y$.init($,_)});$W=E("ZodIPv4",($,_)=>{uY.init($,_),y$.init($,_)});$8=E("ZodMAC",($,_)=>{cY.init($,_),y$.init($,_)});_W=E("ZodIPv6",($,_)=>{dY.init($,_),y$.init($,_)});UW=E("ZodCIDRv4",($,_)=>{nY.init($,_),y$.init($,_)});JW=E("ZodCIDRv6",($,_)=>{lY.init($,_),y$.init($,_)});WW=E("ZodBase64",($,_)=>{rY.init($,_),y$.init($,_)});XW=E("ZodBase64URL",($,_)=>{pY.init($,_),y$.init($,_)});GW=E("ZodE164",($,_)=>{oY.init($,_),y$.init($,_)});QW=E("ZodJWT",($,_)=>{tY.init($,_),y$.init($,_)});X1=E("ZodCustomStringFormat",($,_)=>{aY.init($,_),y$.init($,_)});G1=E("ZodNumber",($,_)=>{j9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>ED($,W,J,X),nJ($,"ZodNumber",{gt(W,J){return this.check(L6(W,J))},gte(W,J){return this.check(B_(W,J))},min(W,J){return this.check(B_(W,J))},lt(W,J){return this.check(O6(W,J))},lte(W,J){return this.check(C_(W,J))},max(W,J){return this.check(C_(W,J))},int(W){return this.check(dJ(W))},safe(W){return this.check(dJ(W))},positive(W){return this.check(L6(0,W))},nonnegative(W){return this.check(B_(0,W))},negative(W){return this.check(O6(0,W))},nonpositive(W){return this.check(C_(0,W))},multipleOf(W,J){return this.check(j4(W,J))},step(W,J){return this.check(j4(W,J))},finite(){return this}});let U=$._zod.bag;$.minValue=Math.max(U.minimum??Number.NEGATIVE_INFINITY,U.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(U.maximum??Number.POSITIVE_INFINITY,U.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(U.format??"").includes("int")||Number.isSafeInteger(U.multipleOf??0.5),$.isFinite=!0,$.format=U.format??null});s4=E("ZodNumberFormat",($,_)=>{sY.init($,_),G1.init($,_)});Q1=E("ZodBoolean",($,_)=>{BJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>KD($,U,W,J)});Y1=E("ZodBigInt",($,_)=>{D9.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>bD($,W,J,X),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.gt=(W,J)=>$.check(L6(W,J)),$.gte=(W,J)=>$.check(B_(W,J)),$.min=(W,J)=>$.check(B_(W,J)),$.lt=(W,J)=>$.check(O6(W,J)),$.lte=(W,J)=>$.check(C_(W,J)),$.max=(W,J)=>$.check(C_(W,J)),$.positive=(W)=>$.check(L6(BigInt(0),W)),$.negative=(W)=>$.check(O6(BigInt(0),W)),$.nonpositive=(W)=>$.check(C_(BigInt(0),W)),$.nonnegative=(W)=>$.check(B_(BigInt(0),W)),$.multipleOf=(W,J)=>$.check(j4(W,J));let U=$._zod.bag;$.minValue=U.minimum??null,$.maxValue=U.maximum??null,$.format=U.format??null});YW=E("ZodBigIntFormat",($,_)=>{eY.init($,_),Y1.init($,_)});J8=E("ZodSymbol",($,_)=>{$j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>MD($,U,W,J)});W8=E("ZodUndefined",($,_)=>{_j.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>gD($,U,W,J)});X8=E("ZodNull",($,_)=>{Uj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>ID($,U,W,J)});Q8=E("ZodAny",($,_)=>{Jj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>PD($,U,W,J)});Y8=E("ZodUnknown",($,_)=>{Wj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>fD($,U,W,J)});j8=E("ZodNever",($,_)=>{Xj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>kD($,U,W,J)});D8=E("ZodVoid",($,_)=>{Gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>wD($,U,W,J)});i2=E("ZodDate",($,_)=>{Qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>CD($,W,J,X),$.min=(W,J)=>$.check(B_(W,J)),$.max=(W,J)=>$.check(C_(W,J));let U=$._zod.bag;$.minDate=U.minimum?new Date(U.minimum):null,$.maxDate=U.maximum?new Date(U.maximum):null});z8=E("ZodArray",($,_)=>{Yj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>nD($,U,W,J),$.element=_.element,nJ($,"ZodArray",{min(U,W){return this.check(h6(U,W))},nonempty(U){return this.check(h6(1,U))},max(U,W){return this.check(i4(U,W))},length(U,W){return this.check(r4(U,W))},unwrap(){return this.element}})});p2=E("ZodObject",($,_)=>{jj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>lD($,U,W,J),P.defineLazy($,"shape",()=>{return _.shape}),nJ($,"ZodObject",{keyof(){return zW(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:a4()})},loose(){return this.clone({...this._zod.def,catchall:a4()})},strict(){return this.clone({...this._zod.def,catchall:jW()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(U){return P.extend(this,U)},safeExtend(U){return P.safeExtend(this,U)},merge(U){return P.merge(this,U)},pick(U){return P.pick(this,U)},omit(U){return P.omit(this,U)},partial(...U){return P.partial(OW,this,U[0])},required(...U){return P.required(LW,this,U[0])}})});o2=E("ZodUnion",($,_)=>{HJ.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>h9($,U,W,J),$.options=_.options});q8=E("ZodXor",($,_)=>{o2.init($,_),Dj.init($,_),$._zod.processJSONSchema=(U,W,J)=>h9($,U,W,J),$.options=_.options});O8=E("ZodDiscriminatedUnion",($,_)=>{o2.init($,_),zj.init($,_)});L8=E("ZodIntersection",($,_)=>{qj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>iD($,U,W,J)});B8=E("ZodTuple",($,_)=>{z9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>rD($,U,W,J),$.rest=(U)=>$.clone({...$._zod.def,rest:U})});U1=E("ZodRecord",($,_)=>{Oj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>pD($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType});R8=E("ZodMap",($,_)=>{Lj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>dD($,U,W,J),$.keyType=_.keyType,$.valueType=_.valueType,$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(l4(...U))});A8=E("ZodSet",($,_)=>{Nj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>cD($,U,W,J),$.min=(...U)=>$.check(N6(...U)),$.nonempty=(U)=>$.check(N6(1,U)),$.max=(...U)=>$.check(D4(...U)),$.size=(...U)=>$.check(l4(...U))});J1=E("ZodEnum",($,_)=>{Bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(W,J,X)=>TD($,W,J,X),$.enum=_.entries,$.options=Object.values(_.entries);let U=new Set(Object.keys(_.entries));$.extract=(W,J)=>{let X={};for(let G of W)if(U.has(G))X[G]=_.entries[G];else throw Error(`Key ${G} not found in enum`);return new J1({..._,checks:[],...P.normalizeParams(J),entries:X})},$.exclude=(W,J)=>{let X={..._.entries};for(let G of W)if(U.has(G))delete X[G];else throw Error(`Key ${G} not found in enum`);return new J1({..._,checks:[],...P.normalizeParams(J),entries:X})}});F8=E("ZodLiteral",($,_)=>{Hj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>SD($,U,W,J),$.values=new Set(_.values),Object.defineProperty($,"value",{get(){if(_.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return _.values[0]}})});E8=E("ZodFile",($,_)=>{Vj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>yD($,U,W,J),$.min=(U,W)=>$.check(N6(U,W)),$.max=(U,W)=>$.check(D4(U,W)),$.mime=(U,W)=>$.check(o0(Array.isArray(U)?U:[U],W))});K8=E("ZodTransform",($,_)=>{Rj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>uD($,U,W,J),$._zod.parse=(U,W)=>{if(W.direction==="backward")throw new h0($.constructor.name);U.addIssue=(X)=>{if(typeof X==="string")U.issues.push(P.issue(X,U.value,_));else{let G=X;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=U.value),G.inst??(G.inst=$),U.issues.push(P.issue(G))}};let J=_.transform(U.value,U);if(J instanceof Promise)return J.then((X)=>{return U.value=X,U.fallback=!0,U});return U.value=J,U.fallback=!0,U}});OW=E("ZodOptional",($,_)=>{q9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>x9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});b8=E("ZodExactOptional",($,_)=>{Aj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>x9($,U,W,J),$.unwrap=()=>$._zod.def.innerType});I8=E("ZodNullable",($,_)=>{Fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>oD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});g8=E("ZodDefault",($,_)=>{Ej.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>aD($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});k8=E("ZodPrefault",($,_)=>{Kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>sD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});LW=E("ZodNonOptional",($,_)=>{bj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>tD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});C8=E("ZodSuccess",($,_)=>{Mj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>hD($,U,W,J),$.unwrap=()=>$._zod.def.innerType});T8=E("ZodCatch",($,_)=>{Ij.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>eD($,U,W,J),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});Z8=E("ZodNaN",($,_)=>{gj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>ZD($,U,W,J)});t2=E("ZodPipe",($,_)=>{O9.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>$z($,U,W,J),$.in=_.in,$.out=_.out});a2=E("ZodCodec",($,_)=>{t2.init($,_),VJ.init($,_)});v8=E("ZodPreprocess",($,_)=>{t2.init($,_),wj.init($,_)}),y8=E("ZodReadonly",($,_)=>{kj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>_z($,U,W,J),$.unwrap=()=>$._zod.def.innerType});x8=E("ZodTemplateLiteral",($,_)=>{Pj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>vD($,U,W,J)});m8=E("ZodLazy",($,_)=>{Tj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Jz($,U,W,J),$.unwrap=()=>$._zod.def.getter()});d8=E("ZodPromise",($,_)=>{Cj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>Uz($,U,W,J),$.unwrap=()=>$._zod.def.innerType});c8=E("ZodFunction",($,_)=>{fj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>mD($,U,W,J)});s2=E("ZodCustom",($,_)=>{Sj.init($,_),q$.init($,_),$._zod.processJSONSchema=(U,W,J)=>xD($,U,W,J)});Aq=HD,Fq=VD});function NV($){__({customError:$})}function BV(){return __().customError}var LV,i8;var HV=y(()=>{m_();LV={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function($){})(i8||(i8={}))});function PZ($,_){let U=$.$schema;if(U==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(U==="http://json-schema.org/draft-07/schema#")return"draft-7";if(U==="http://json-schema.org/draft-04/schema#")return"draft-4";return _??"draft-2020-12"}function fZ($,_){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let U=$.slice(1).split("/").filter(Boolean);if(U.length===0)return _.rootSchema;let W=_.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===W){let J=U[1];if(!J||!_.defs[J])throw Error(`Reference not found: ${$}`);return _.defs[J]}throw Error(`Reference not found: ${$}`)}function VV($,_){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return m.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let J=$.$ref;if(_.refs.has(J))return _.refs.get(J);if(_.processing.has(J))return m.lazy(()=>{if(!_.refs.has(J))throw Error(`Circular reference not resolved: ${J}`);return _.refs.get(J)});_.processing.add(J);let X=fZ(J,_),G=H_(X,_);return _.refs.set(J,G),_.processing.delete(J),G}if($.enum!==void 0){let J=$.enum;if(_.version==="openapi-3.0"&&$.nullable===!0&&J.length===1&&J[0]===null)return m.null();if(J.length===0)return m.never();if(J.length===1)return m.literal(J[0]);if(J.every((G)=>typeof G==="string"))return m.enum(J);let X=J.map((G)=>m.literal(G));if(X.length<2)return X[0];return m.union([X[0],X[1],...X.slice(2)])}if($.const!==void 0)return m.literal($.const);let U=$.type;if(Array.isArray(U)){let J=U.map((X)=>{let G={...$,type:X};return VV(G,_)});if(J.length===0)return m.never();if(J.length===1)return J[0];return m.union(J)}if(!U)return m.any();let W;switch(U){case"string":{let J=m.string();if($.format){let X=$.format;if(X==="email")J=J.check(m.email());else if(X==="uri"||X==="uri-reference")J=J.check(m.url());else if(X==="uuid"||X==="guid")J=J.check(m.uuid());else if(X==="date-time")J=J.check(m.iso.datetime());else if(X==="date")J=J.check(m.iso.date());else if(X==="time")J=J.check(m.iso.time());else if(X==="duration")J=J.check(m.iso.duration());else if(X==="ipv4")J=J.check(m.ipv4());else if(X==="ipv6")J=J.check(m.ipv6());else if(X==="mac")J=J.check(m.mac());else if(X==="cidr")J=J.check(m.cidrv4());else if(X==="cidr-v6")J=J.check(m.cidrv6());else if(X==="base64")J=J.check(m.base64());else if(X==="base64url")J=J.check(m.base64url());else if(X==="e164")J=J.check(m.e164());else if(X==="jwt")J=J.check(m.jwt());else if(X==="emoji")J=J.check(m.emoji());else if(X==="nanoid")J=J.check(m.nanoid());else if(X==="cuid")J=J.check(m.cuid());else if(X==="cuid2")J=J.check(m.cuid2());else if(X==="ulid")J=J.check(m.ulid());else if(X==="xid")J=J.check(m.xid());else if(X==="ksuid")J=J.check(m.ksuid())}if(typeof $.minLength==="number")J=J.min($.minLength);if(typeof $.maxLength==="number")J=J.max($.maxLength);if($.pattern)J=J.regex(new RegExp($.pattern));W=J;break}case"number":case"integer":{let J=U==="integer"?m.number().int():m.number();if(typeof $.minimum==="number")J=J.min($.minimum);if(typeof $.maximum==="number")J=J.max($.maximum);if(typeof $.exclusiveMinimum==="number")J=J.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")J=J.gt($.minimum);if(typeof $.exclusiveMaximum==="number")J=J.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")J=J.lt($.maximum);if(typeof $.multipleOf==="number")J=J.multipleOf($.multipleOf);W=J;break}case"boolean":{W=m.boolean();break}case"null":{W=m.null();break}case"object":{let J={},X=$.properties||{},G=new Set($.required||[]);for(let[Y,j]of Object.entries(X)){let O=H_(j,_);J[Y]=G.has(Y)?O:O.optional()}if($.propertyNames){let Y=H_($.propertyNames,_),j=$.additionalProperties&&typeof $.additionalProperties==="object"?H_($.additionalProperties,_):m.any();if(Object.keys(J).length===0){W=m.record(Y,j);break}let O=m.object(J).passthrough(),B=m.looseRecord(Y,j);W=m.intersection(O,B);break}if($.patternProperties){let Y=$.patternProperties,j=Object.keys(Y),O=[];for(let V of j){let L=H_(Y[V],_),N=m.string().regex(new RegExp(V));O.push(m.looseRecord(N,L))}let B=[];if(Object.keys(J).length>0)B.push(m.object(J).passthrough());if(B.push(...O),B.length===0)W=m.object({}).passthrough();else if(B.length===1)W=B[0];else{let V=m.intersection(B[0],B[1]);for(let L=2;L<B.length;L++)V=m.intersection(V,B[L]);W=V}break}let Q=m.object(J);if($.additionalProperties===!1)W=Q.strict();else if(typeof $.additionalProperties==="object")W=Q.catchall(H_($.additionalProperties,_));else W=Q.passthrough();break}case"array":{let{prefixItems:J,items:X}=$;if(J&&Array.isArray(J)){let G=J.map((Y)=>H_(Y,_)),Q=X&&typeof X==="object"&&!Array.isArray(X)?H_(X,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(Array.isArray(X)){let G=X.map((Y)=>H_(Y,_)),Q=$.additionalItems&&typeof $.additionalItems==="object"?H_($.additionalItems,_):void 0;if(Q)W=m.tuple(G).rest(Q);else W=m.tuple(G);if(typeof $.minItems==="number")W=W.check(m.minLength($.minItems));if(typeof $.maxItems==="number")W=W.check(m.maxLength($.maxItems))}else if(X!==void 0){let G=H_(X,_),Q=m.array(G);if(typeof $.minItems==="number")Q=Q.min($.minItems);if(typeof $.maxItems==="number")Q=Q.max($.maxItems);W=Q}else W=m.array(m.any());break}default:throw Error(`Unsupported type: ${U}`)}return W}function H_($,_){if(typeof $==="boolean")return $?m.any():m.never();let U=VV($,_),W=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let Q=$.anyOf.map((j)=>H_(j,_)),Y=m.union(Q);U=W?m.intersection(U,Y):Y}if($.oneOf&&Array.isArray($.oneOf)){let Q=$.oneOf.map((j)=>H_(j,_)),Y=m.xor(Q);U=W?m.intersection(U,Y):Y}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)U=W?U:m.any();else{let Q=W?U:H_($.allOf[0],_),Y=W?0:1;for(let j=Y;j<$.allOf.length;j++)Q=m.intersection(Q,H_($.allOf[j],_));U=Q}if($.nullable===!0&&_.version==="openapi-3.0")U=m.nullable(U);if($.readOnly===!0)U=m.readonly(U);if($.default!==void 0)U=U.default($.default);let J={},X=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let Q of X)if(Q in $)J[Q]=$[Q];let G=["contentEncoding","contentMediaType","contentSchema"];for(let Q of G)if(Q in $)J[Q]=$[Q];for(let Q of Object.keys($))if(!kZ.has(Q))J[Q]=$[Q];if(Object.keys(J).length>0)_.registry.add(U,J);if($.description)U=U.describe($.description);return U}function Iq($,_){if(typeof $==="boolean")return $?m.any():m.never();let U;try{U=JSON.parse(JSON.stringify($))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let W=PZ(U,_?.defaultTarget),J=U.$defs||U.definitions||{},X={version:W,defs:J,refs:new Map,processing:new Set,rootSchema:U,registry:_?.registry??D_};return H_(U,X)}var m,kZ;var RV=y(()=>{bJ();u9();xJ();uJ();m={...mJ,...m9,iso:_1},kZ=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var r8={};I6(r8,{string:()=>CZ,number:()=>TZ,date:()=>vZ,boolean:()=>SZ,bigint:()=>ZZ});function CZ($){return y7(W1,$)}function TZ($){return n7(G1,$)}function SZ($){return a7(Q1,$)}function ZZ($){return e7(Y1,$)}function vZ($){return DD(i2,$)}var AV=y(()=>{m_();uJ()});var p8={};I6(p8,{xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,util:()=>P,url:()=>Hz,uppercase:()=>l0,unknown:()=>a4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>H8,trim:()=>a0,treeifyError:()=>uX,transform:()=>qW,toUpperCase:()=>e0,toLowerCase:()=>s0,toJSONSchema:()=>TJ,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>l8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>u2,strictObject:()=>ez,startsWith:()=>r0,slugify:()=>$1,size:()=>l4,setErrorMap:()=>NV,set:()=>Gq,safeParseAsync:()=>l9,safeParse:()=>n9,safeEncodeAsync:()=>s9,safeEncode:()=>t9,safeDecodeAsync:()=>e9,safeDecode:()=>a9,registry:()=>KJ,regexes:()=>f_,regex:()=>c0,refine:()=>n8,record:()=>V8,readonly:()=>h8,property:()=>fJ,promise:()=>Bq,prettifyError:()=>dX,preprocess:()=>Mq,prefault:()=>P8,positive:()=>gJ,pipe:()=>cJ,partialRecord:()=>Jq,parseAsync:()=>c9,parse:()=>d9,overwrite:()=>a_,optional:()=>c2,object:()=>sz,number:()=>_8,nullish:()=>Dq,nullable:()=>n2,null:()=>G8,normalize:()=>t0,nonpositive:()=>kJ,nonoptional:()=>f8,nonnegative:()=>PJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>o0,meta:()=>Fq,maxSize:()=>D4,maxLength:()=>i4,map:()=>Xq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,looseRecord:()=>Wq,looseObject:()=>$q,locales:()=>h2,literal:()=>Yq,length:()=>r4,lazy:()=>u8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,iso:()=>_1,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>N8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Eq,includes:()=>i0,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>BV,function:()=>Hq,fromJSONSchema:()=>Iq,formatError:()=>f2,float64:()=>mz,float32:()=>xz,flattenError:()=>P2,file:()=>jq,exactOptional:()=>M8,enum:()=>zW,endsWith:()=>p0,encodeAsync:()=>p9,encode:()=>i9,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,decodeAsync:()=>o9,decode:()=>r9,date:()=>tz,custom:()=>Rq,cuid2:()=>Ez,cuid:()=>Fz,core:()=>x6,config:()=>__,coerce:()=>r8,codec:()=>Oq,clone:()=>N_,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>S8,boolean:()=>U8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>r2,any:()=>pz,_function:()=>Hq,_default:()=>w8,_ZodString:()=>lJ,ZodXor:()=>q8,ZodXID:()=>sJ,ZodVoid:()=>D8,ZodUnknown:()=>Y8,ZodUnion:()=>o2,ZodUndefined:()=>W8,ZodUUID:()=>B6,ZodURL:()=>l2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>B8,ZodTransform:()=>K8,ZodTemplateLiteral:()=>x8,ZodSymbol:()=>J8,ZodSuccess:()=>C8,ZodStringFormat:()=>y$,ZodString:()=>W1,ZodSet:()=>A8,ZodRecord:()=>U1,ZodRealError:()=>I_,ZodReadonly:()=>y8,ZodPromise:()=>d8,ZodPreprocess:()=>v8,ZodPrefault:()=>k8,ZodPipe:()=>t2,ZodOptional:()=>OW,ZodObject:()=>p2,ZodNumberFormat:()=>s4,ZodNumber:()=>G1,ZodNullable:()=>I8,ZodNull:()=>X8,ZodNonOptional:()=>LW,ZodNever:()=>j8,ZodNanoID:()=>pJ,ZodNaN:()=>Z8,ZodMap:()=>R8,ZodMAC:()=>$8,ZodLiteral:()=>F8,ZodLazy:()=>m8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>LV,ZodIntersection:()=>L8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>d2,ZodFunction:()=>c8,ZodFirstPartyTypeKind:()=>i8,ZodFile:()=>E8,ZodExactOptional:()=>b8,ZodError:()=>qV,ZodEnum:()=>J1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>O8,ZodDefault:()=>g8,ZodDate:()=>i2,ZodCustomStringFormat:()=>X1,ZodCustom:()=>s2,ZodCodec:()=>a2,ZodCatch:()=>T8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>Q1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Y1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>z8,ZodAny:()=>Q8,TimePrecision:()=>v9,NEVER:()=>yX,$output:()=>L9,$input:()=>N9,$brand:()=>hX});var gq=y(()=>{m_();m_();lj();m_();SJ();RV();S7();xJ();xJ();AV();uJ();u9();jz();Dz();HV();__(RJ())});var FV={};I6(FV,{z:()=>p8,xor:()=>_q,xid:()=>bz,void:()=>oz,uuidv7:()=>Bz,uuidv6:()=>Nz,uuidv4:()=>Lz,uuid:()=>Oz,util:()=>P,url:()=>Hz,uppercase:()=>l0,unknown:()=>a4,union:()=>DW,undefined:()=>rz,ulid:()=>Kz,uint64:()=>lz,uint32:()=>dz,tuple:()=>H8,trim:()=>a0,treeifyError:()=>uX,transform:()=>qW,toUpperCase:()=>e0,toLowerCase:()=>s0,toJSONSchema:()=>TJ,templateLiteral:()=>Nq,symbol:()=>iz,superRefine:()=>l8,success:()=>zq,stringbool:()=>Kq,stringFormat:()=>Zz,string:()=>u2,strictObject:()=>ez,startsWith:()=>r0,slugify:()=>$1,size:()=>l4,setErrorMap:()=>NV,set:()=>Gq,safeParseAsync:()=>l9,safeParse:()=>n9,safeEncodeAsync:()=>s9,safeEncode:()=>t9,safeDecodeAsync:()=>e9,safeDecode:()=>a9,registry:()=>KJ,regexes:()=>f_,regex:()=>c0,refine:()=>n8,record:()=>V8,readonly:()=>h8,property:()=>fJ,promise:()=>Bq,prettifyError:()=>dX,preprocess:()=>Mq,prefault:()=>P8,positive:()=>gJ,pipe:()=>cJ,partialRecord:()=>Jq,parseAsync:()=>c9,parse:()=>d9,overwrite:()=>a_,optional:()=>c2,object:()=>sz,number:()=>_8,nullish:()=>Dq,nullable:()=>n2,null:()=>G8,normalize:()=>t0,nonpositive:()=>kJ,nonoptional:()=>f8,nonnegative:()=>PJ,never:()=>jW,negative:()=>wJ,nativeEnum:()=>Qq,nanoid:()=>Az,nan:()=>qq,multipleOf:()=>j4,minSize:()=>N6,minLength:()=>h6,mime:()=>o0,meta:()=>Fq,maxSize:()=>D4,maxLength:()=>i4,map:()=>Xq,mac:()=>gz,lte:()=>C_,lt:()=>O6,lowercase:()=>n0,looseRecord:()=>Wq,looseObject:()=>$q,locales:()=>h2,literal:()=>Yq,length:()=>r4,lazy:()=>u8,ksuid:()=>Mz,keyof:()=>az,jwt:()=>Sz,json:()=>bq,iso:()=>_1,ipv6:()=>wz,ipv4:()=>Iz,invertCodec:()=>Lq,intersection:()=>N8,int64:()=>nz,int32:()=>uz,int:()=>dJ,instanceof:()=>Eq,includes:()=>i0,httpUrl:()=>Vz,hostname:()=>vz,hex:()=>yz,hash:()=>hz,guid:()=>qz,gte:()=>B_,gt:()=>L6,globalRegistry:()=>D_,getErrorMap:()=>BV,function:()=>Hq,fromJSONSchema:()=>Iq,formatError:()=>f2,float64:()=>mz,float32:()=>xz,flattenError:()=>P2,file:()=>jq,exactOptional:()=>M8,enum:()=>zW,endsWith:()=>p0,encodeAsync:()=>p9,encode:()=>i9,emoji:()=>Rz,email:()=>zz,e164:()=>Tz,discriminatedUnion:()=>Uq,describe:()=>Aq,default:()=>yZ,decodeAsync:()=>o9,decode:()=>r9,date:()=>tz,custom:()=>Rq,cuid2:()=>Ez,cuid:()=>Fz,core:()=>x6,config:()=>__,coerce:()=>r8,codec:()=>Oq,clone:()=>N_,cidrv6:()=>Pz,cidrv4:()=>kz,check:()=>Vq,catch:()=>S8,boolean:()=>U8,bigint:()=>cz,base64url:()=>Cz,base64:()=>fz,array:()=>r2,any:()=>pz,_function:()=>Hq,_default:()=>w8,_ZodString:()=>lJ,ZodXor:()=>q8,ZodXID:()=>sJ,ZodVoid:()=>D8,ZodUnknown:()=>Y8,ZodUnion:()=>o2,ZodUndefined:()=>W8,ZodUUID:()=>B6,ZodURL:()=>l2,ZodULID:()=>aJ,ZodType:()=>q$,ZodTuple:()=>B8,ZodTransform:()=>K8,ZodTemplateLiteral:()=>x8,ZodSymbol:()=>J8,ZodSuccess:()=>C8,ZodStringFormat:()=>y$,ZodString:()=>W1,ZodSet:()=>A8,ZodRecord:()=>U1,ZodRealError:()=>I_,ZodReadonly:()=>y8,ZodPromise:()=>d8,ZodPreprocess:()=>v8,ZodPrefault:()=>k8,ZodPipe:()=>t2,ZodOptional:()=>OW,ZodObject:()=>p2,ZodNumberFormat:()=>s4,ZodNumber:()=>G1,ZodNullable:()=>I8,ZodNull:()=>X8,ZodNonOptional:()=>LW,ZodNever:()=>j8,ZodNanoID:()=>pJ,ZodNaN:()=>Z8,ZodMap:()=>R8,ZodMAC:()=>$8,ZodLiteral:()=>F8,ZodLazy:()=>m8,ZodKSUID:()=>eJ,ZodJWT:()=>QW,ZodIssueCode:()=>LV,ZodIntersection:()=>L8,ZodISOTime:()=>yJ,ZodISODuration:()=>hJ,ZodISODateTime:()=>ZJ,ZodISODate:()=>vJ,ZodIPv6:()=>_W,ZodIPv4:()=>$W,ZodGUID:()=>d2,ZodFunction:()=>c8,ZodFirstPartyTypeKind:()=>i8,ZodFile:()=>E8,ZodExactOptional:()=>b8,ZodError:()=>qV,ZodEnum:()=>J1,ZodEmoji:()=>rJ,ZodEmail:()=>iJ,ZodE164:()=>GW,ZodDiscriminatedUnion:()=>O8,ZodDefault:()=>g8,ZodDate:()=>i2,ZodCustomStringFormat:()=>X1,ZodCustom:()=>s2,ZodCodec:()=>a2,ZodCatch:()=>T8,ZodCUID2:()=>tJ,ZodCUID:()=>oJ,ZodCIDRv6:()=>JW,ZodCIDRv4:()=>UW,ZodBoolean:()=>Q1,ZodBigIntFormat:()=>YW,ZodBigInt:()=>Y1,ZodBase64URL:()=>XW,ZodBase64:()=>WW,ZodArray:()=>z8,ZodAny:()=>Q8,TimePrecision:()=>v9,NEVER:()=>yX,$output:()=>L9,$input:()=>N9,$brand:()=>hX});var yZ;var EV=y(()=>{gq();gq();yZ=p8});var ZW=Q0((ku)=>{class NO extends Error{constructor($,_,U){super(U);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=_,this.exitCode=$,this.nestedError=void 0}}class uA extends NO{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}ku.CommanderError=NO;ku.InvalidArgumentError=uA});var w5=Q0((Su)=>{var{InvalidArgumentError:Cu}=ZW();class dA{constructor($,_){switch(this.description=_||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new Cu(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Tu($){let _=$.name()+($.variadic===!0?"...":"");return $.required?"<"+_+">":"["+_+"]"}Su.Argument=dA;Su.humanReadableArgName=Tu});var BO=Q0((hu)=>{var{humanReadableArgName:yu}=w5();class cA{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let _=$.commands.filter((W)=>!W._hidden),U=$._getHelpCommand();if(U&&!U._hidden)_.push(U);if(this.sortSubcommands)_.sort((W,J)=>{return W.name().localeCompare(J.name())});return _}compareOptions($,_){let U=(W)=>{return W.short?W.short.replace(/^-/,""):W.long.replace(/^--/,"")};return U($).localeCompare(U(_))}visibleOptions($){let _=$.options.filter((W)=>!W.hidden),U=$._getHelpOption();if(U&&!U.hidden){let W=U.short&&$._findOption(U.short),J=U.long&&$._findOption(U.long);if(!W&&!J)_.push(U);else if(U.long&&!J)_.push($.createOption(U.long,U.description));else if(U.short&&!W)_.push($.createOption(U.short,U.description))}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let _=[];for(let U=$.parent;U;U=U.parent){let W=U.options.filter((J)=>!J.hidden);_.push(...W)}if(this.sortOptions)_.sort(this.compareOptions);return _}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((_)=>{_.description=_.description||$._argsDescription[_.name()]||""});if($.registeredArguments.find((_)=>_.description))return $.registeredArguments;return[]}subcommandTerm($){let _=$.registeredArguments.map((U)=>yu(U)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(_?" "+_:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,_){return _.visibleCommands($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleSubcommandTerm(_.subcommandTerm(W))))},0)}longestOptionTermLength($,_){return _.visibleOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestGlobalOptionTermLength($,_){return _.visibleGlobalOptions($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleOptionTerm(_.optionTerm(W))))},0)}longestArgumentTermLength($,_){return _.visibleArguments($).reduce((U,W)=>{return Math.max(U,this.displayWidth(_.styleArgumentTerm(_.argumentTerm(W))))},0)}commandUsage($){let _=$._name;if($._aliases[0])_=_+"|"+$._aliases[0];let U="";for(let W=$.parent;W;W=W.parent)U=W.name()+" "+U;return U+_+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)_.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)_.push(`env: ${$.envVar}`);if(_.length>0)return`${$.description} (${_.join(", ")})`;return $.description}argumentDescription($){let _=[];if($.argChoices)_.push(`choices: ${$.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if($.defaultValue!==void 0)_.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(_.length>0){let U=`(${_.join(", ")})`;if($.description)return`${$.description} ${U}`;return U}return $.description}formatHelp($,_){let U=_.padWidth($,_),W=_.helpWidth??80;function J(O,B){return _.formatItem(O,U,B,_)}let X=[`${_.styleTitle("Usage:")} ${_.styleUsage(_.commandUsage($))}`,""],G=_.commandDescription($);if(G.length>0)X=X.concat([_.boxWrap(_.styleCommandDescription(G),W),""]);let Q=_.visibleArguments($).map((O)=>{return J(_.styleArgumentTerm(_.argumentTerm(O)),_.styleArgumentDescription(_.argumentDescription(O)))});if(Q.length>0)X=X.concat([_.styleTitle("Arguments:"),...Q,""]);let Y=_.visibleOptions($).map((O)=>{return J(_.styleOptionTerm(_.optionTerm(O)),_.styleOptionDescription(_.optionDescription(O)))});if(Y.length>0)X=X.concat([_.styleTitle("Options:"),...Y,""]);if(_.showGlobalOptions){let O=_.visibleGlobalOptions($).map((B)=>{return J(_.styleOptionTerm(_.optionTerm(B)),_.styleOptionDescription(_.optionDescription(B)))});if(O.length>0)X=X.concat([_.styleTitle("Global Options:"),...O,""])}let j=_.visibleCommands($).map((O)=>{return J(_.styleSubcommandTerm(_.subcommandTerm(O)),_.styleSubcommandDescription(_.subcommandDescription(O)))});if(j.length>0)X=X.concat([_.styleTitle("Commands:"),...j,""]);return X.join(` +`)}displayWidth($){return nA($).length}styleTitle($){return $}styleUsage($){return $.split(" ").map((_)=>{if(_==="[options]")return this.styleOptionText(_);if(_==="[command]")return this.styleSubcommandText(_);if(_[0]==="["||_[0]==="<")return this.styleArgumentText(_);return this.styleCommandText(_)}).join(" ")}styleCommandDescription($){return this.styleDescriptionText($)}styleOptionDescription($){return this.styleDescriptionText($)}styleSubcommandDescription($){return this.styleDescriptionText($)}styleArgumentDescription($){return this.styleDescriptionText($)}styleDescriptionText($){return $}styleOptionTerm($){return this.styleOptionText($)}styleSubcommandTerm($){return $.split(" ").map((_)=>{if(_==="[options]")return this.styleOptionText(_);if(_[0]==="["||_[0]==="<")return this.styleArgumentText(_);return this.styleSubcommandText(_)}).join(" ")}styleArgumentTerm($){return this.styleArgumentText($)}styleOptionText($){return $}styleArgumentText($){return $}styleSubcommandText($){return $}styleCommandText($){return $}padWidth($,_){return Math.max(_.longestOptionTermLength($,_),_.longestGlobalOptionTermLength($,_),_.longestSubcommandTermLength($,_),_.longestArgumentTermLength($,_))}preformatted($){return/\n[^\S\r\n]/.test($)}formatItem($,_,U,W){let X=" ".repeat(2);if(!U)return X+$;let G=$.padEnd(_+$.length-W.displayWidth($)),Q=2,j=(this.helpWidth??80)-_-Q-2,O;if(j<this.minWidthToWrap||W.preformatted(U))O=U;else O=W.boxWrap(U,j).replace(/\n/g,` `+" ".repeat(_+Q));return X+G+" ".repeat(Q)+O.replace(/\n/g,` ${X}`)}boxWrap($,_){if(_<this.minWidthToWrap)return $;let U=$.split(/\r\n|\n/),W=/[\s]*[^\s]+/g,J=[];return U.forEach((X)=>{let G=X.match(W);if(G===null){J.push("");return}let Q=[G.shift()],Y=this.displayWidth(Q[0]);G.forEach((j)=>{let O=this.displayWidth(j);if(Y+O<=_){Q.push(j),Y+=O;return}J.push(Q.join(""));let B=j.trimStart();Q=[B],Y=this.displayWidth(B)}),J.push(Q.join(""))}),J.join(` -`)}}function uA($){let _=/\x1b\[\d*(;\d*)*m/g;return $.replace(_,"")}Zu.Help=mA;Zu.stripColor=uA});var HO=G0((mu)=>{var{InvalidArgumentError:hu}=ZW();class cA{constructor($,_){this.flags=$,this.description=_||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let U=xu($);if(this.short=U.shortFlag,this.long=U.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let _=$;if(typeof $==="string")_={[$]:!0};return this.implied=Object.assign(this.implied||{},_),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new hu(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return dA(this.name().replace(/^no-/,""));return dA(this.name())}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class nA{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((_)=>{if(_.negate)this.negativeOptions.set(_.attributeName(),_);else this.positiveOptions.set(_.attributeName(),_)}),this.negativeOptions.forEach((_,U)=>{if(this.positiveOptions.has(U))this.dualOptions.add(U)})}valueFromOption($,_){let U=_.attributeName();if(!this.dualOptions.has(U))return!0;let W=this.negativeOptions.get(U).presetArg,J=W!==void 0?W:!1;return _.negate===(J===$)}}function dA($){return $.split("-").reduce((_,U)=>{return _+U[0].toUpperCase()+U.slice(1)})}function xu($){let _,U,W=/^-[^-]$/,J=/^--[^-]/,X=$.split(/[ |,]+/).concat("guard");if(W.test(X[0]))_=X.shift();if(J.test(X[0]))U=X.shift();if(!_&&W.test(X[0]))_=X.shift();if(!_&&J.test(X[0]))_=U,U=X.shift();if(X[0].startsWith("-")){let G=X[0],Q=`option creation failed due to '${G}' in option flags '${$}'`;if(/^-[^-][^-]/.test(G))throw Error(`${Q} +`)}}function nA($){let _=/\x1b\[\d*(;\d*)*m/g;return $.replace(_,"")}hu.Help=cA;hu.stripColor=nA});var HO=Q0((cu)=>{var{InvalidArgumentError:uu}=ZW();class iA{constructor($,_){this.flags=$,this.description=_||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let U=du($);if(this.short=U.shortFlag,this.long=U.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default($,_){return this.defaultValue=$,this.defaultValueDescription=_,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let _=$;if(typeof $==="string")_={[$]:!0};return this.implied=Object.assign(this.implied||{},_),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_concatValue($,_){if(_===this.defaultValue||!Array.isArray(_))return[$];return _.concat($)}choices($){return this.argChoices=$.slice(),this.parseArg=(_,U)=>{if(!this.argChoices.includes(_))throw new uu(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(_,U);return _},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return lA(this.name().replace(/^no-/,""));return lA(this.name())}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class rA{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((_)=>{if(_.negate)this.negativeOptions.set(_.attributeName(),_);else this.positiveOptions.set(_.attributeName(),_)}),this.negativeOptions.forEach((_,U)=>{if(this.positiveOptions.has(U))this.dualOptions.add(U)})}valueFromOption($,_){let U=_.attributeName();if(!this.dualOptions.has(U))return!0;let W=this.negativeOptions.get(U).presetArg,J=W!==void 0?W:!1;return _.negate===(J===$)}}function lA($){return $.split("-").reduce((_,U)=>{return _+U[0].toUpperCase()+U.slice(1)})}function du($){let _,U,W=/^-[^-]$/,J=/^--[^-]/,X=$.split(/[ |,]+/).concat("guard");if(W.test(X[0]))_=X.shift();if(J.test(X[0]))U=X.shift();if(!_&&W.test(X[0]))_=X.shift();if(!_&&J.test(X[0]))_=U,U=X.shift();if(X[0].startsWith("-")){let G=X[0],Q=`option creation failed due to '${G}' in option flags '${$}'`;if(/^-[^-][^-]/.test(G))throw Error(`${Q} - a short flag is a single dash and a single character - either use a single dash and a single character (for a short flag) - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(W.test(G))throw Error(`${Q} - too many short flags`);if(J.test(G))throw Error(`${Q} - too many long flags`);throw Error(`${Q} -- unrecognised flag format`)}if(_===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:_,longFlag:U}}mu.Option=cA;mu.DualOptions=nA});var lA=G0((lu)=>{function cu($,_){if(Math.abs($.length-_.length)>3)return Math.max($.length,_.length);let U=[];for(let W=0;W<=$.length;W++)U[W]=[W];for(let W=0;W<=_.length;W++)U[0][W]=W;for(let W=1;W<=_.length;W++)for(let J=1;J<=$.length;J++){let X=1;if($[J-1]===_[W-1])X=0;else X=1;if(U[J][W]=Math.min(U[J-1][W]+1,U[J][W-1]+1,U[J-1][W-1]+X),J>1&&W>1&&$[J-1]===_[W-2]&&$[J-2]===_[W-1])U[J][W]=Math.min(U[J][W],U[J-2][W-2]+1)}return U[$.length][_.length]}function nu($,_){if(!_||_.length===0)return"";_=Array.from(new Set(_));let U=$.startsWith("--");if(U)$=$.slice(2),_=_.map((G)=>G.slice(2));let W=[],J=3,X=0.4;if(_.forEach((G)=>{if(G.length<=1)return;let Q=cu($,G),Y=Math.max($.length,G.length);if((Y-Q)/Y>X){if(Q<J)J=Q,W=[G];else if(Q===J)W.push(G)}}),W.sort((G,Q)=>G.localeCompare(Q)),U)W=W.map((G)=>`--${G}`);if(W.length>1)return` +- unrecognised flag format`)}if(_===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:_,longFlag:U}}cu.Option=iA;cu.DualOptions=rA});var pA=Q0((pu)=>{function iu($,_){if(Math.abs($.length-_.length)>3)return Math.max($.length,_.length);let U=[];for(let W=0;W<=$.length;W++)U[W]=[W];for(let W=0;W<=_.length;W++)U[0][W]=W;for(let W=1;W<=_.length;W++)for(let J=1;J<=$.length;J++){let X=1;if($[J-1]===_[W-1])X=0;else X=1;if(U[J][W]=Math.min(U[J-1][W]+1,U[J][W-1]+1,U[J-1][W-1]+X),J>1&&W>1&&$[J-1]===_[W-2]&&$[J-2]===_[W-1])U[J][W]=Math.min(U[J][W],U[J-2][W-2]+1)}return U[$.length][_.length]}function ru($,_){if(!_||_.length===0)return"";_=Array.from(new Set(_));let U=$.startsWith("--");if(U)$=$.slice(2),_=_.map((G)=>G.slice(2));let W=[],J=3,X=0.4;if(_.forEach((G)=>{if(G.length<=1)return;let Q=iu($,G),Y=Math.max($.length,G.length);if((Y-Q)/Y>X){if(Q<J)J=Q,W=[G];else if(Q===J)W.push(G)}}),W.sort((G,Q)=>G.localeCompare(Q)),U)W=W.map((G)=>`--${G}`);if(W.length>1)return` (Did you mean one of ${W.join(", ")}?)`;if(W.length===1)return` -(Did you mean ${W[0]}?)`;return""}lu.suggestSimilar=nu});var oA=G0((eu)=>{var ru=C$("events").EventEmitter,VO=C$("child_process"),E4=C$("path"),wG=C$("fs"),P$=C$("process"),{Argument:pu,humanReadableArgName:ou}=gG(),{CommanderError:RO}=ZW(),{Help:tu,stripColor:au}=BO(),{Option:iA,DualOptions:su}=HO(),{suggestSimilar:rA}=lA();class EO extends ru{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(_)=>P$.stdout.write(_),writeErr:(_)=>P$.stderr.write(_),outputError:(_,U)=>U(_),getOutHelpWidth:()=>P$.stdout.isTTY?P$.stdout.columns:void 0,getErrHelpWidth:()=>P$.stderr.isTTY?P$.stderr.columns:void 0,getOutHasColors:()=>AO()??(P$.stdout.isTTY&&P$.stdout.hasColors?.()),getErrHasColors:()=>AO()??(P$.stderr.isTTY&&P$.stderr.hasColors?.()),stripColor:(_)=>au(_)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let _=this;_;_=_.parent)$.push(_);return $}command($,_,U){let W=_,J=U;if(typeof W==="object"&&W!==null)J=W,W=null;J=J||{};let[,X,G]=$.match(/([^ ]+) *(.*)/),Q=this.createCommand(X);if(W)Q.description(W),Q._executableHandler=!0;if(J.isDefault)this._defaultCommandName=Q._name;if(Q._hidden=!!(J.noHelp||J.hidden),Q._executableFile=J.executableFile||null,G)Q.arguments(G);if(this._registerCommand(Q),Q.parent=this,Q.copyInheritedSettings(this),W)return this;return Q}createCommand($){return new EO($)}createHelp(){return Object.assign(new tu,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,$),this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,_){if(!$._name)throw Error(`Command passed to .addCommand() must have a name -- specify the name in Command constructor or using .name()`);if(_=_||{},_.isDefault)this._defaultCommandName=$._name;if(_.noHelp||_.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,_){return new pu($,_)}argument($,_,U,W){let J=this.createArgument($,_);if(typeof U==="function")J.default(W).argParser(U);else J.default(U);return this.addArgument(J),this}arguments($){return $.trim().split(/ +/).forEach((_)=>{this.argument(_)}),this}addArgument($){let _=this.registeredArguments.slice(-1)[0];if(_&&_.variadic)throw Error(`only the last argument can be variadic '${_.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,_){if(typeof $==="boolean")return this._addImplicitHelpCommand=$,this;$=$??"help [command]";let[,U,W]=$.match(/([^ ]+) *(.*)/),J=_??"display help for command",X=this.createCommand(U);if(X.helpOption(!1),W)X.arguments(W);if(J)X.description(J);return this._addImplicitHelpCommand=!0,this._helpCommand=X,this}addHelpCommand($,_){if(typeof $!=="object")return this.helpCommand($,_),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,_){let U=["preSubcommand","preAction","postAction"];if(!U.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'. -Expecting one of '${U.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(_);else this._lifeCycleHooks[$]=[_];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(_)=>{if(_.code!=="commander.executeSubCommandAsync")throw _};return this}_exit($,_,U){if(this._exitCallback)this._exitCallback(new RO($,_,U));P$.exit($)}action($){let _=(U)=>{let W=this.registeredArguments.length,J=U.slice(0,W);if(this._storeOptionsAsProperties)J[W]=this;else J[W]=this.opts();return J.push(this),$.apply(this,J)};return this._actionHandler=_,this}createOption($,_){return new iA($,_)}_callParseArg($,_,U,W){try{return $.parseArg(_,U)}catch(J){if(J.code==="commander.invalidArgument"){let X=`${W} ${J.message}`;this.error(X,{exitCode:J.exitCode,code:J.code})}throw J}}_registerOption($){let _=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(_){let U=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${U}' -- already used by option '${_.flags}'`)}this.options.push($)}_registerCommand($){let _=(W)=>{return[W.name()].concat(W.aliases())},U=_($).find((W)=>this._findCommand(W));if(U){let W=_(this._findCommand(U)).join("|"),J=_($).join("|");throw Error(`cannot add command '${J}' as already have command '${W}'`)}this.commands.push($)}addOption($){this._registerOption($);let _=$.name(),U=$.attributeName();if($.negate){let J=$.long.replace(/^--no-/,"--");if(!this._findOption(J))this.setOptionValueWithSource(U,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(U,$.defaultValue,"default");let W=(J,X,G)=>{if(J==null&&$.presetArg!==void 0)J=$.presetArg;let Q=this.getOptionValue(U);if(J!==null&&$.parseArg)J=this._callParseArg($,J,Q,X);else if(J!==null&&$.variadic)J=$._concatValue(J,Q);if(J==null)if($.negate)J=!1;else if($.isBoolean()||$.optional)J=!0;else J="";this.setOptionValueWithSource(U,J,G)};if(this.on("option:"+_,(J)=>{let X=`error: option '${$.flags}' argument '${J}' is invalid.`;W(J,X,"cli")}),$.envVar)this.on("optionEnv:"+_,(J)=>{let X=`error: option '${$.flags}' value '${J}' from env '${$.envVar}' is invalid.`;W(J,X,"env")});return this}_optionEx($,_,U,W,J){if(typeof _==="object"&&_ instanceof iA)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let X=this.createOption(_,U);if(X.makeOptionMandatory(!!$.mandatory),typeof W==="function")X.default(J).argParser(W);else if(W instanceof RegExp){let G=W;W=(Q,Y)=>{let j=G.exec(Q);return j?j[0]:Y},X.default(J).argParser(W)}else X.default(W);return this.addOption(X)}option($,_,U,W){return this._optionEx({},$,_,U,W)}requiredOption($,_,U,W){return this._optionEx({mandatory:!0},$,_,U,W)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,_){return this.setOptionValueWithSource($,_,void 0)}setOptionValueWithSource($,_,U){if(this._storeOptionsAsProperties)this[$]=_;else this._optionValues[$]=_;return this._optionValueSources[$]=U,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let _;return this._getCommandAndAncestors().forEach((U)=>{if(U.getOptionValueSource($)!==void 0)_=U.getOptionValueSource($)}),_}_prepareUserArgs($,_){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(_=_||{},$===void 0&&_.from===void 0){if(P$.versions?.electron)_.from="electron";let W=P$.execArgv??[];if(W.includes("-e")||W.includes("--eval")||W.includes("-p")||W.includes("--print"))_.from="eval"}if($===void 0)$=P$.argv;this.rawArgs=$.slice();let U;switch(_.from){case void 0:case"node":this._scriptPath=$[1],U=$.slice(2);break;case"electron":if(P$.defaultApp)this._scriptPath=$[1],U=$.slice(2);else U=$.slice(1);break;case"user":U=$.slice(0);break;case"eval":U=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${_.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",U}parse($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return this._parseCommand([],U),this}async parseAsync($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return await this._parseCommand([],U),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true. -- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable($,_,U){if(wG.existsSync($))return;let W=_?`searched for local subcommand relative to directory '${_}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",J=`'${$}' does not exist +(Did you mean ${W[0]}?)`;return""}pu.suggestSimilar=ru});var sA=Q0((Ud)=>{var tu=C$("events").EventEmitter,VO=C$("child_process"),F4=C$("path"),k5=C$("fs"),P$=C$("process"),{Argument:au,humanReadableArgName:su}=w5(),{CommanderError:RO}=ZW(),{Help:eu,stripColor:$d}=BO(),{Option:oA,DualOptions:_d}=HO(),{suggestSimilar:tA}=pA();class FO extends tu{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(_)=>P$.stdout.write(_),writeErr:(_)=>P$.stderr.write(_),outputError:(_,U)=>U(_),getOutHelpWidth:()=>P$.stdout.isTTY?P$.stdout.columns:void 0,getErrHelpWidth:()=>P$.stderr.isTTY?P$.stderr.columns:void 0,getOutHasColors:()=>AO()??(P$.stdout.isTTY&&P$.stdout.hasColors?.()),getErrHasColors:()=>AO()??(P$.stderr.isTTY&&P$.stderr.hasColors?.()),stripColor:(_)=>$d(_)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let _=this;_;_=_.parent)$.push(_);return $}command($,_,U){let W=_,J=U;if(typeof W==="object"&&W!==null)J=W,W=null;J=J||{};let[,X,G]=$.match(/([^ ]+) *(.*)/),Q=this.createCommand(X);if(W)Q.description(W),Q._executableHandler=!0;if(J.isDefault)this._defaultCommandName=Q._name;if(Q._hidden=!!(J.noHelp||J.hidden),Q._executableFile=J.executableFile||null,G)Q.arguments(G);if(this._registerCommand(Q),Q.parent=this,Q.copyInheritedSettings(this),W)return this;return Q}createCommand($){return new FO($)}createHelp(){return Object.assign(new eu,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,$),this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,_){if(!$._name)throw Error(`Command passed to .addCommand() must have a name +- specify the name in Command constructor or using .name()`);if(_=_||{},_.isDefault)this._defaultCommandName=$._name;if(_.noHelp||_.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,_){return new au($,_)}argument($,_,U,W){let J=this.createArgument($,_);if(typeof U==="function")J.default(W).argParser(U);else J.default(U);return this.addArgument(J),this}arguments($){return $.trim().split(/ +/).forEach((_)=>{this.argument(_)}),this}addArgument($){let _=this.registeredArguments.slice(-1)[0];if(_&&_.variadic)throw Error(`only the last argument can be variadic '${_.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,_){if(typeof $==="boolean")return this._addImplicitHelpCommand=$,this;$=$??"help [command]";let[,U,W]=$.match(/([^ ]+) *(.*)/),J=_??"display help for command",X=this.createCommand(U);if(X.helpOption(!1),W)X.arguments(W);if(J)X.description(J);return this._addImplicitHelpCommand=!0,this._helpCommand=X,this}addHelpCommand($,_){if(typeof $!=="object")return this.helpCommand($,_),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,_){let U=["preSubcommand","preAction","postAction"];if(!U.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'. +Expecting one of '${U.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(_);else this._lifeCycleHooks[$]=[_];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(_)=>{if(_.code!=="commander.executeSubCommandAsync")throw _};return this}_exit($,_,U){if(this._exitCallback)this._exitCallback(new RO($,_,U));P$.exit($)}action($){let _=(U)=>{let W=this.registeredArguments.length,J=U.slice(0,W);if(this._storeOptionsAsProperties)J[W]=this;else J[W]=this.opts();return J.push(this),$.apply(this,J)};return this._actionHandler=_,this}createOption($,_){return new oA($,_)}_callParseArg($,_,U,W){try{return $.parseArg(_,U)}catch(J){if(J.code==="commander.invalidArgument"){let X=`${W} ${J.message}`;this.error(X,{exitCode:J.exitCode,code:J.code})}throw J}}_registerOption($){let _=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(_){let U=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${U}' +- already used by option '${_.flags}'`)}this.options.push($)}_registerCommand($){let _=(W)=>{return[W.name()].concat(W.aliases())},U=_($).find((W)=>this._findCommand(W));if(U){let W=_(this._findCommand(U)).join("|"),J=_($).join("|");throw Error(`cannot add command '${J}' as already have command '${W}'`)}this.commands.push($)}addOption($){this._registerOption($);let _=$.name(),U=$.attributeName();if($.negate){let J=$.long.replace(/^--no-/,"--");if(!this._findOption(J))this.setOptionValueWithSource(U,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(U,$.defaultValue,"default");let W=(J,X,G)=>{if(J==null&&$.presetArg!==void 0)J=$.presetArg;let Q=this.getOptionValue(U);if(J!==null&&$.parseArg)J=this._callParseArg($,J,Q,X);else if(J!==null&&$.variadic)J=$._concatValue(J,Q);if(J==null)if($.negate)J=!1;else if($.isBoolean()||$.optional)J=!0;else J="";this.setOptionValueWithSource(U,J,G)};if(this.on("option:"+_,(J)=>{let X=`error: option '${$.flags}' argument '${J}' is invalid.`;W(J,X,"cli")}),$.envVar)this.on("optionEnv:"+_,(J)=>{let X=`error: option '${$.flags}' value '${J}' from env '${$.envVar}' is invalid.`;W(J,X,"env")});return this}_optionEx($,_,U,W,J){if(typeof _==="object"&&_ instanceof oA)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let X=this.createOption(_,U);if(X.makeOptionMandatory(!!$.mandatory),typeof W==="function")X.default(J).argParser(W);else if(W instanceof RegExp){let G=W;W=(Q,Y)=>{let j=G.exec(Q);return j?j[0]:Y},X.default(J).argParser(W)}else X.default(W);return this.addOption(X)}option($,_,U,W){return this._optionEx({},$,_,U,W)}requiredOption($,_,U,W){return this._optionEx({mandatory:!0},$,_,U,W)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,_){return this.setOptionValueWithSource($,_,void 0)}setOptionValueWithSource($,_,U){if(this._storeOptionsAsProperties)this[$]=_;else this._optionValues[$]=_;return this._optionValueSources[$]=U,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let _;return this._getCommandAndAncestors().forEach((U)=>{if(U.getOptionValueSource($)!==void 0)_=U.getOptionValueSource($)}),_}_prepareUserArgs($,_){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(_=_||{},$===void 0&&_.from===void 0){if(P$.versions?.electron)_.from="electron";let W=P$.execArgv??[];if(W.includes("-e")||W.includes("--eval")||W.includes("-p")||W.includes("--print"))_.from="eval"}if($===void 0)$=P$.argv;this.rawArgs=$.slice();let U;switch(_.from){case void 0:case"node":this._scriptPath=$[1],U=$.slice(2);break;case"electron":if(P$.defaultApp)this._scriptPath=$[1],U=$.slice(2);else U=$.slice(1);break;case"user":U=$.slice(0);break;case"eval":U=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${_.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",U}parse($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return this._parseCommand([],U),this}async parseAsync($,_){this._prepareForParse();let U=this._prepareUserArgs($,_);return await this._parseCommand([],U),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true. +- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable($,_,U){if(k5.existsSync($))return;let W=_?`searched for local subcommand relative to directory '${_}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",J=`'${$}' does not exist - if '${U}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead - if the default executable name is not suitable, use the executableFile option to supply a custom name or path - - ${W}`;throw Error(J)}_executeSubCommand($,_){_=_.slice();let U=!1,W=[".js",".ts",".tsx",".mjs",".cjs"];function J(j,O){let B=E4.resolve(j,O);if(wG.existsSync(B))return B;if(W.includes(E4.extname(O)))return;let V=W.find((L)=>wG.existsSync(`${B}${L}`));if(V)return`${B}${V}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let X=$._executableFile||`${this._name}-${$._name}`,G=this._executableDir||"";if(this._scriptPath){let j;try{j=wG.realpathSync(this._scriptPath)}catch{j=this._scriptPath}G=E4.resolve(E4.dirname(j),G)}if(G){let j=J(G,X);if(!j&&!$._executableFile&&this._scriptPath){let O=E4.basename(this._scriptPath,E4.extname(this._scriptPath));if(O!==this._name)j=J(G,`${O}-${$._name}`)}X=j||X}U=W.includes(E4.extname(X));let Q;if(P$.platform!=="win32")if(U)_.unshift(X),_=pA(P$.execArgv).concat(_),Q=VO.spawn(P$.argv[0],_,{stdio:"inherit"});else Q=VO.spawn(X,_,{stdio:"inherit"});else this._checkForMissingExecutable(X,G,$._name),_.unshift(X),_=pA(P$.execArgv).concat(_),Q=VO.spawn(P$.execPath,_,{stdio:"inherit"});if(!Q.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((O)=>{P$.on(O,()=>{if(Q.killed===!1&&Q.exitCode===null)Q.kill(O)})});let Y=this._exitCallback;Q.on("close",(j)=>{if(j=j??1,!Y)P$.exit(j);else Y(new RO(j,"commander.executeSubCommandAsync","(close)"))}),Q.on("error",(j)=>{if(j.code==="ENOENT")this._checkForMissingExecutable(X,G,$._name);else if(j.code==="EACCES")throw Error(`'${X}' not executable`);if(!Y)P$.exit(1);else{let O=new RO(1,"commander.executeSubCommandAsync","(error)");O.nestedError=j,Y(O)}}),this.runningCommand=Q}_dispatchSubcommand($,_,U){let W=this._findCommand($);if(!W)this.help({error:!0});W._prepareForParse();let J;return J=this._chainOrCallSubCommandHook(J,W,"preSubcommand"),J=this._chainOrCall(J,()=>{if(W._executableHandler)this._executeSubCommand(W,_.concat(U));else return W._parseCommand(_,U)}),J}_dispatchHelpCommand($){if(!$)this.help();let _=this._findCommand($);if(_&&!_._executableHandler)_.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,_)=>{if($.required&&this.args[_]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(U,W,J)=>{let X=W;if(W!==null&&U.parseArg){let G=`error: command-argument value '${W}' is invalid for argument '${U.name()}'.`;X=this._callParseArg(U,W,J,G)}return X};this._checkNumberOfArguments();let _=[];this.registeredArguments.forEach((U,W)=>{let J=U.defaultValue;if(U.variadic){if(W<this.args.length){if(J=this.args.slice(W),U.parseArg)J=J.reduce((X,G)=>{return $(U,G,X)},U.defaultValue)}else if(J===void 0)J=[]}else if(W<this.args.length){if(J=this.args[W],U.parseArg)J=$(U,J,U.defaultValue)}_[W]=J}),this.processedArgs=_}_chainOrCall($,_){if($&&$.then&&typeof $.then==="function")return $.then(()=>_());return _()}_chainOrCallHooks($,_){let U=$,W=[];if(this._getCommandAndAncestors().reverse().filter((J)=>J._lifeCycleHooks[_]!==void 0).forEach((J)=>{J._lifeCycleHooks[_].forEach((X)=>{W.push({hookedCommand:J,callback:X})})}),_==="postAction")W.reverse();return W.forEach((J)=>{U=this._chainOrCall(U,()=>{return J.callback(J.hookedCommand,this)})}),U}_chainOrCallSubCommandHook($,_,U){let W=$;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((J)=>{W=this._chainOrCall(W,()=>{return J(this,_)})});return W}_parseCommand($,_){let U=this.parseOptions(_);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(U.operands),_=U.unknown,this.args=$.concat(_),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),_);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(_),this._dispatchSubcommand(this._defaultCommandName,$,_);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(U.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let W=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},J=`command:${this.name()}`;if(this._actionHandler){W(),this._processArguments();let X;if(X=this._chainOrCallHooks(X,"preAction"),X=this._chainOrCall(X,()=>this._actionHandler(this.processedArgs)),this.parent)X=this._chainOrCall(X,()=>{this.parent.emit(J,$,_)});return X=this._chainOrCallHooks(X,"postAction"),X}if(this.parent&&this.parent.listenerCount(J))W(),this._processArguments(),this.parent.emit(J,$,_);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,_);if(this.listenerCount("command:*"))this.emit("command:*",$,_);else if(this.commands.length)this.unknownCommand();else W(),this._processArguments()}else if(this.commands.length)W(),this.help({error:!0});else W(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((_)=>_._name===$||_._aliases.includes($))}_findOption($){return this.options.find((_)=>_.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((_)=>{if(_.mandatory&&$.getOptionValue(_.attributeName())===void 0)$.missingMandatoryOptionValue(_)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((U)=>{let W=U.attributeName();if(this.getOptionValue(W)===void 0)return!1;return this.getOptionValueSource(W)!=="default"});$.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let W=$.find((J)=>U.conflictsWith.includes(J.attributeName()));if(W)this._conflictingOption(U,W)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let _=[],U=[],W=_,J=$.slice();function X(Q){return Q.length>1&&Q[0]==="-"}let G=null;while(J.length){let Q=J.shift();if(Q==="--"){if(W===U)W.push(Q);W.push(...J);break}if(G&&!X(Q)){this.emit(`option:${G.name()}`,Q);continue}if(G=null,X(Q)){let Y=this._findOption(Q);if(Y){if(Y.required){let j=J.shift();if(j===void 0)this.optionMissingArgument(Y);this.emit(`option:${Y.name()}`,j)}else if(Y.optional){let j=null;if(J.length>0&&!X(J[0]))j=J.shift();this.emit(`option:${Y.name()}`,j)}else this.emit(`option:${Y.name()}`);G=Y.variadic?Y:null;continue}}if(Q.length>2&&Q[0]==="-"&&Q[1]!=="-"){let Y=this._findOption(`-${Q[1]}`);if(Y){if(Y.required||Y.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${Y.name()}`,Q.slice(2));else this.emit(`option:${Y.name()}`),J.unshift(`-${Q.slice(2)}`);continue}}if(/^--[^=]+=/.test(Q)){let Y=Q.indexOf("="),j=this._findOption(Q.slice(0,Y));if(j&&(j.required||j.optional)){this.emit(`option:${j.name()}`,Q.slice(Y+1));continue}}if(X(Q))W=U;if((this._enablePositionalOptions||this._passThroughOptions)&&_.length===0&&U.length===0){if(this._findCommand(Q)){if(_.push(Q),J.length>0)U.push(...J);break}else if(this._getHelpCommand()&&Q===this._getHelpCommand().name()){if(_.push(Q),J.length>0)_.push(...J);break}else if(this._defaultCommandName){if(U.push(Q),J.length>0)U.push(...J);break}}if(this._passThroughOptions){if(W.push(Q),J.length>0)W.push(...J);break}W.push(Q)}return{operands:_,unknown:U}}opts(){if(this._storeOptionsAsProperties){let $={},_=this.options.length;for(let U=0;U<_;U++){let W=this.options[U].attributeName();$[W]=W===this._versionOptionName?this._version:this[W]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,_)=>Object.assign($,_.opts()),{})}error($,_){if(this._outputConfiguration.outputError(`${$} + - ${W}`;throw Error(J)}_executeSubCommand($,_){_=_.slice();let U=!1,W=[".js",".ts",".tsx",".mjs",".cjs"];function J(j,O){let B=F4.resolve(j,O);if(k5.existsSync(B))return B;if(W.includes(F4.extname(O)))return;let V=W.find((L)=>k5.existsSync(`${B}${L}`));if(V)return`${B}${V}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let X=$._executableFile||`${this._name}-${$._name}`,G=this._executableDir||"";if(this._scriptPath){let j;try{j=k5.realpathSync(this._scriptPath)}catch{j=this._scriptPath}G=F4.resolve(F4.dirname(j),G)}if(G){let j=J(G,X);if(!j&&!$._executableFile&&this._scriptPath){let O=F4.basename(this._scriptPath,F4.extname(this._scriptPath));if(O!==this._name)j=J(G,`${O}-${$._name}`)}X=j||X}U=W.includes(F4.extname(X));let Q;if(P$.platform!=="win32")if(U)_.unshift(X),_=aA(P$.execArgv).concat(_),Q=VO.spawn(P$.argv[0],_,{stdio:"inherit"});else Q=VO.spawn(X,_,{stdio:"inherit"});else this._checkForMissingExecutable(X,G,$._name),_.unshift(X),_=aA(P$.execArgv).concat(_),Q=VO.spawn(P$.execPath,_,{stdio:"inherit"});if(!Q.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((O)=>{P$.on(O,()=>{if(Q.killed===!1&&Q.exitCode===null)Q.kill(O)})});let Y=this._exitCallback;Q.on("close",(j)=>{if(j=j??1,!Y)P$.exit(j);else Y(new RO(j,"commander.executeSubCommandAsync","(close)"))}),Q.on("error",(j)=>{if(j.code==="ENOENT")this._checkForMissingExecutable(X,G,$._name);else if(j.code==="EACCES")throw Error(`'${X}' not executable`);if(!Y)P$.exit(1);else{let O=new RO(1,"commander.executeSubCommandAsync","(error)");O.nestedError=j,Y(O)}}),this.runningCommand=Q}_dispatchSubcommand($,_,U){let W=this._findCommand($);if(!W)this.help({error:!0});W._prepareForParse();let J;return J=this._chainOrCallSubCommandHook(J,W,"preSubcommand"),J=this._chainOrCall(J,()=>{if(W._executableHandler)this._executeSubCommand(W,_.concat(U));else return W._parseCommand(_,U)}),J}_dispatchHelpCommand($){if(!$)this.help();let _=this._findCommand($);if(_&&!_._executableHandler)_.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,_)=>{if($.required&&this.args[_]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(U,W,J)=>{let X=W;if(W!==null&&U.parseArg){let G=`error: command-argument value '${W}' is invalid for argument '${U.name()}'.`;X=this._callParseArg(U,W,J,G)}return X};this._checkNumberOfArguments();let _=[];this.registeredArguments.forEach((U,W)=>{let J=U.defaultValue;if(U.variadic){if(W<this.args.length){if(J=this.args.slice(W),U.parseArg)J=J.reduce((X,G)=>{return $(U,G,X)},U.defaultValue)}else if(J===void 0)J=[]}else if(W<this.args.length){if(J=this.args[W],U.parseArg)J=$(U,J,U.defaultValue)}_[W]=J}),this.processedArgs=_}_chainOrCall($,_){if($&&$.then&&typeof $.then==="function")return $.then(()=>_());return _()}_chainOrCallHooks($,_){let U=$,W=[];if(this._getCommandAndAncestors().reverse().filter((J)=>J._lifeCycleHooks[_]!==void 0).forEach((J)=>{J._lifeCycleHooks[_].forEach((X)=>{W.push({hookedCommand:J,callback:X})})}),_==="postAction")W.reverse();return W.forEach((J)=>{U=this._chainOrCall(U,()=>{return J.callback(J.hookedCommand,this)})}),U}_chainOrCallSubCommandHook($,_,U){let W=$;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((J)=>{W=this._chainOrCall(W,()=>{return J(this,_)})});return W}_parseCommand($,_){let U=this.parseOptions(_);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(U.operands),_=U.unknown,this.args=$.concat(_),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),_);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(_),this._dispatchSubcommand(this._defaultCommandName,$,_);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(U.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let W=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},J=`command:${this.name()}`;if(this._actionHandler){W(),this._processArguments();let X;if(X=this._chainOrCallHooks(X,"preAction"),X=this._chainOrCall(X,()=>this._actionHandler(this.processedArgs)),this.parent)X=this._chainOrCall(X,()=>{this.parent.emit(J,$,_)});return X=this._chainOrCallHooks(X,"postAction"),X}if(this.parent&&this.parent.listenerCount(J))W(),this._processArguments(),this.parent.emit(J,$,_);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,_);if(this.listenerCount("command:*"))this.emit("command:*",$,_);else if(this.commands.length)this.unknownCommand();else W(),this._processArguments()}else if(this.commands.length)W(),this.help({error:!0});else W(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((_)=>_._name===$||_._aliases.includes($))}_findOption($){return this.options.find((_)=>_.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((_)=>{if(_.mandatory&&$.getOptionValue(_.attributeName())===void 0)$.missingMandatoryOptionValue(_)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((U)=>{let W=U.attributeName();if(this.getOptionValue(W)===void 0)return!1;return this.getOptionValueSource(W)!=="default"});$.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let W=$.find((J)=>U.conflictsWith.includes(J.attributeName()));if(W)this._conflictingOption(U,W)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let _=[],U=[],W=_,J=$.slice();function X(Q){return Q.length>1&&Q[0]==="-"}let G=null;while(J.length){let Q=J.shift();if(Q==="--"){if(W===U)W.push(Q);W.push(...J);break}if(G&&!X(Q)){this.emit(`option:${G.name()}`,Q);continue}if(G=null,X(Q)){let Y=this._findOption(Q);if(Y){if(Y.required){let j=J.shift();if(j===void 0)this.optionMissingArgument(Y);this.emit(`option:${Y.name()}`,j)}else if(Y.optional){let j=null;if(J.length>0&&!X(J[0]))j=J.shift();this.emit(`option:${Y.name()}`,j)}else this.emit(`option:${Y.name()}`);G=Y.variadic?Y:null;continue}}if(Q.length>2&&Q[0]==="-"&&Q[1]!=="-"){let Y=this._findOption(`-${Q[1]}`);if(Y){if(Y.required||Y.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${Y.name()}`,Q.slice(2));else this.emit(`option:${Y.name()}`),J.unshift(`-${Q.slice(2)}`);continue}}if(/^--[^=]+=/.test(Q)){let Y=Q.indexOf("="),j=this._findOption(Q.slice(0,Y));if(j&&(j.required||j.optional)){this.emit(`option:${j.name()}`,Q.slice(Y+1));continue}}if(X(Q))W=U;if((this._enablePositionalOptions||this._passThroughOptions)&&_.length===0&&U.length===0){if(this._findCommand(Q)){if(_.push(Q),J.length>0)U.push(...J);break}else if(this._getHelpCommand()&&Q===this._getHelpCommand().name()){if(_.push(Q),J.length>0)_.push(...J);break}else if(this._defaultCommandName){if(U.push(Q),J.length>0)U.push(...J);break}}if(this._passThroughOptions){if(W.push(Q),J.length>0)W.push(...J);break}W.push(Q)}return{operands:_,unknown:U}}opts(){if(this._storeOptionsAsProperties){let $={},_=this.options.length;for(let U=0;U<_;U++){let W=this.options[U].attributeName();$[W]=W===this._versionOptionName?this._version:this[W]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,_)=>Object.assign($,_.opts()),{})}error($,_){if(this._outputConfiguration.outputError(`${$} `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError} `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(` -`),this.outputHelp({error:!0});let U=_||{},W=U.exitCode||1,J=U.code||"commander.error";this._exit(W,J,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in P$.env){let _=$.attributeName();if(this.getOptionValue(_)===void 0||["default","config","env"].includes(this.getOptionValueSource(_)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,P$.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new su(this.options),_=(U)=>{return this.getOptionValue(U)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(U))};this.options.filter((U)=>U.implied!==void 0&&_(U.attributeName())&&$.valueFromOption(this.getOptionValue(U.attributeName()),U)).forEach((U)=>{Object.keys(U.implied).filter((W)=>!_(W)).forEach((W)=>{this.setOptionValueWithSource(W,U.implied[W],"implied")})})}missingArgument($){let _=`error: missing required argument '${$}'`;this.error(_,{code:"commander.missingArgument"})}optionMissingArgument($){let _=`error: option '${$.flags}' argument missing`;this.error(_,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let _=`error: required option '${$.flags}' not specified`;this.error(_,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,_){let U=(X)=>{let G=X.attributeName(),Q=this.getOptionValue(G),Y=this.options.find((O)=>O.negate&&G===O.attributeName()),j=this.options.find((O)=>!O.negate&&G===O.attributeName());if(Y&&(Y.presetArg===void 0&&Q===!1||Y.presetArg!==void 0&&Q===Y.presetArg))return Y;return j||X},W=(X)=>{let G=U(X),Q=G.attributeName();if(this.getOptionValueSource(Q)==="env")return`environment variable '${G.envVar}'`;return`option '${G.flags}'`},J=`error: ${W($)} cannot be used with ${W(_)}`;this.error(J,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let _="";if($.startsWith("--")&&this._showSuggestionAfterError){let W=[],J=this;do{let X=J.createHelp().visibleOptions(J).filter((G)=>G.long).map((G)=>G.long);W=W.concat(X),J=J.parent}while(J&&!J._enablePositionalOptions);_=rA($,W)}let U=`error: unknown option '${$}'${_}`;this.error(U,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let _=this.registeredArguments.length,U=_===1?"":"s",J=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${_} argument${U} but got ${$.length}.`;this.error(J,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],_="";if(this._showSuggestionAfterError){let W=[];this.createHelp().visibleCommands(this).forEach((J)=>{if(W.push(J.name()),J.alias())W.push(J.alias())}),_=rA($,W)}let U=`error: unknown command '${$}'${_}`;this.error(U,{code:"commander.unknownCommand"})}version($,_,U){if($===void 0)return this._version;this._version=$,_=_||"-V, --version",U=U||"output the version number";let W=this.createOption(_,U);return this._versionOptionName=W.attributeName(),this._registerOption(W),this.on("option:"+W.name(),()=>{this._outputConfiguration.writeOut(`${$} -`),this._exit(0,"commander.version",$)}),this}description($,_){if($===void 0&&_===void 0)return this._description;if(this._description=$,_)this._argsDescription=_;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let _=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)_=this.commands[this.commands.length-1];if($===_._name)throw Error("Command alias can't be the same as its name");let U=this.parent?._findCommand($);if(U){let W=[U.name()].concat(U.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${W}'`)}return _._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((_)=>this.alias(_)),this}usage($){if($===void 0){if(this._usage)return this._usage;let _=this.registeredArguments.map((U)=>{return ou(U)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?_:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}nameFromFilename($){return this._name=E4.basename($,E4.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let _=this.createHelp(),U=this._getOutputContext($);_.prepareContext({error:U.error,helpWidth:U.helpWidth,outputHasColors:U.hasColors});let W=_.formatHelp(this,_);if(U.hasColors)return W;return this._outputConfiguration.stripColor(W)}_getOutputContext($){$=$||{};let _=!!$.error,U,W,J;if(_)U=(G)=>this._outputConfiguration.writeErr(G),W=this._outputConfiguration.getErrHasColors(),J=this._outputConfiguration.getErrHelpWidth();else U=(G)=>this._outputConfiguration.writeOut(G),W=this._outputConfiguration.getOutHasColors(),J=this._outputConfiguration.getOutHelpWidth();return{error:_,write:(G)=>{if(!W)G=this._outputConfiguration.stripColor(G);return U(G)},hasColors:W,helpWidth:J}}outputHelp($){let _;if(typeof $==="function")_=$,$=void 0;let U=this._getOutputContext($),W={error:U.error,write:U.write,command:this};this._getCommandAndAncestors().reverse().forEach((X)=>X.emit("beforeAllHelp",W)),this.emit("beforeHelp",W);let J=this.helpInformation({error:U.error});if(_){if(J=_(J),typeof J!=="string"&&!Buffer.isBuffer(J))throw Error("outputHelp callback must return a string or a Buffer")}if(U.write(J),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",W),this._getCommandAndAncestors().forEach((X)=>X.emit("afterAllHelp",W))}helpOption($,_){if(typeof $==="boolean"){if($)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return $=$??"-h, --help",_=_??"display help for command",this._helpOption=this.createOption($,_),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this}help($){this.outputHelp($);let _=Number(P$.exitCode??0);if(_===0&&$&&typeof $!=="function"&&$.error)_=1;this._exit(_,"commander.help","(outputHelp)")}addHelpText($,_){let U=["beforeAll","before","after","afterAll"];if(!U.includes($))throw Error(`Unexpected value for position to addHelpText. +`),this.outputHelp({error:!0});let U=_||{},W=U.exitCode||1,J=U.code||"commander.error";this._exit(W,J,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in P$.env){let _=$.attributeName();if(this.getOptionValue(_)===void 0||["default","config","env"].includes(this.getOptionValueSource(_)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,P$.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new _d(this.options),_=(U)=>{return this.getOptionValue(U)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(U))};this.options.filter((U)=>U.implied!==void 0&&_(U.attributeName())&&$.valueFromOption(this.getOptionValue(U.attributeName()),U)).forEach((U)=>{Object.keys(U.implied).filter((W)=>!_(W)).forEach((W)=>{this.setOptionValueWithSource(W,U.implied[W],"implied")})})}missingArgument($){let _=`error: missing required argument '${$}'`;this.error(_,{code:"commander.missingArgument"})}optionMissingArgument($){let _=`error: option '${$.flags}' argument missing`;this.error(_,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let _=`error: required option '${$.flags}' not specified`;this.error(_,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,_){let U=(X)=>{let G=X.attributeName(),Q=this.getOptionValue(G),Y=this.options.find((O)=>O.negate&&G===O.attributeName()),j=this.options.find((O)=>!O.negate&&G===O.attributeName());if(Y&&(Y.presetArg===void 0&&Q===!1||Y.presetArg!==void 0&&Q===Y.presetArg))return Y;return j||X},W=(X)=>{let G=U(X),Q=G.attributeName();if(this.getOptionValueSource(Q)==="env")return`environment variable '${G.envVar}'`;return`option '${G.flags}'`},J=`error: ${W($)} cannot be used with ${W(_)}`;this.error(J,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let _="";if($.startsWith("--")&&this._showSuggestionAfterError){let W=[],J=this;do{let X=J.createHelp().visibleOptions(J).filter((G)=>G.long).map((G)=>G.long);W=W.concat(X),J=J.parent}while(J&&!J._enablePositionalOptions);_=tA($,W)}let U=`error: unknown option '${$}'${_}`;this.error(U,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let _=this.registeredArguments.length,U=_===1?"":"s",J=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${_} argument${U} but got ${$.length}.`;this.error(J,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],_="";if(this._showSuggestionAfterError){let W=[];this.createHelp().visibleCommands(this).forEach((J)=>{if(W.push(J.name()),J.alias())W.push(J.alias())}),_=tA($,W)}let U=`error: unknown command '${$}'${_}`;this.error(U,{code:"commander.unknownCommand"})}version($,_,U){if($===void 0)return this._version;this._version=$,_=_||"-V, --version",U=U||"output the version number";let W=this.createOption(_,U);return this._versionOptionName=W.attributeName(),this._registerOption(W),this.on("option:"+W.name(),()=>{this._outputConfiguration.writeOut(`${$} +`),this._exit(0,"commander.version",$)}),this}description($,_){if($===void 0&&_===void 0)return this._description;if(this._description=$,_)this._argsDescription=_;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let _=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)_=this.commands[this.commands.length-1];if($===_._name)throw Error("Command alias can't be the same as its name");let U=this.parent?._findCommand($);if(U){let W=[U.name()].concat(U.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${W}'`)}return _._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((_)=>this.alias(_)),this}usage($){if($===void 0){if(this._usage)return this._usage;let _=this.registeredArguments.map((U)=>{return su(U)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?_:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}nameFromFilename($){return this._name=F4.basename($,F4.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let _=this.createHelp(),U=this._getOutputContext($);_.prepareContext({error:U.error,helpWidth:U.helpWidth,outputHasColors:U.hasColors});let W=_.formatHelp(this,_);if(U.hasColors)return W;return this._outputConfiguration.stripColor(W)}_getOutputContext($){$=$||{};let _=!!$.error,U,W,J;if(_)U=(G)=>this._outputConfiguration.writeErr(G),W=this._outputConfiguration.getErrHasColors(),J=this._outputConfiguration.getErrHelpWidth();else U=(G)=>this._outputConfiguration.writeOut(G),W=this._outputConfiguration.getOutHasColors(),J=this._outputConfiguration.getOutHelpWidth();return{error:_,write:(G)=>{if(!W)G=this._outputConfiguration.stripColor(G);return U(G)},hasColors:W,helpWidth:J}}outputHelp($){let _;if(typeof $==="function")_=$,$=void 0;let U=this._getOutputContext($),W={error:U.error,write:U.write,command:this};this._getCommandAndAncestors().reverse().forEach((X)=>X.emit("beforeAllHelp",W)),this.emit("beforeHelp",W);let J=this.helpInformation({error:U.error});if(_){if(J=_(J),typeof J!=="string"&&!Buffer.isBuffer(J))throw Error("outputHelp callback must return a string or a Buffer")}if(U.write(J),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",W),this._getCommandAndAncestors().forEach((X)=>X.emit("afterAllHelp",W))}helpOption($,_){if(typeof $==="boolean"){if($)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return $=$??"-h, --help",_=_??"display help for command",this._helpOption=this.createOption($,_),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this}help($){this.outputHelp($);let _=Number(P$.exitCode??0);if(_===0&&$&&typeof $!=="function"&&$.error)_=1;this._exit(_,"commander.help","(outputHelp)")}addHelpText($,_){let U=["beforeAll","before","after","afterAll"];if(!U.includes($))throw Error(`Unexpected value for position to addHelpText. Expecting one of '${U.join("', '")}'`);let W=`${$}Help`;return this.on(W,(J)=>{let X;if(typeof _==="function")X=_({error:J.error,command:J.command});else X=_;if(X)J.write(`${X} -`)}),this}_outputHelpIfRequested($){let _=this._getHelpOption();if(_&&$.find((W)=>_.is(W)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function pA($){return $.map((_)=>{if(!_.startsWith("--inspect"))return _;let U,W="127.0.0.1",J="9229",X;if((X=_.match(/^(--inspect(-brk)?)$/))!==null)U=X[1];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=X[1],/^\d+$/.test(X[3]))J=X[3];else W=X[3];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=X[1],W=X[3],J=X[4];if(U&&J!=="0")return`${U}=${W}:${parseInt(J)+1}`;return _})}function AO(){if(P$.env.NO_COLOR||P$.env.FORCE_COLOR==="0"||P$.env.FORCE_COLOR==="false")return!1;if(P$.env.FORCE_COLOR||P$.env.CLICOLOR_FORCE!==void 0)return!0;return}eu.Command=EO;eu.useColor=AO});var eA=G0((Wd)=>{var{Argument:tA}=gG(),{Command:FO}=oA(),{CommanderError:Ud,InvalidArgumentError:aA}=ZW(),{Help:Jd}=BO(),{Option:sA}=HO();Wd.program=new FO;Wd.createCommand=($)=>new FO($);Wd.createOption=($,_)=>new sA($,_);Wd.createArgument=($,_)=>new tA($,_);Wd.Command=FO;Wd.Option=sA;Wd.Argument=tA;Wd.Help=Jd;Wd.CommanderError=Ud;Wd.InvalidArgumentError=aA;Wd.InvalidOptionArgumentError=aA});import{chmodSync as uO,closeSync as IU,existsSync as g1,fsyncSync as lG,lstatSync as iE,openSync as iG,readFileSync as gU,renameSync as dO,unlinkSync as rG,writeFileSync as pG}from"fs";import{randomUUID as wU}from"crypto";import{basename as rE,dirname as cO,join as nG}from"path";import{chmodSync as CO,existsSync as uE,mkdirSync as yG,readFileSync as dE,writeFileSync as TO}from"fs";import{homedir as hG}from"os";import{dirname as cE,join as q_,resolve as SO}from"path";var n6=q_(".hasna","knowledge"),ZO=q_(".hasna","apps","knowledge"),S$={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:n6,s3:{bucket:"example-knowledge-prod",region:"us-east-1",profile:"example-infra",prefix:".hasna/knowledge",server_side_encryption:"AES256"},secrets:{env:"example/knowledge/prod/env",aws:"example/knowledge/prod/aws",s3:"example/knowledge/prod/s3",rds:null,future_rds:"example/knowledge/prod/rds"},source_owner:"open-files",evidence_doc:"docs/canonical-secrets-bootstrap-2026-06-08.md"};function vO(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:S$.s3.bucket,prefix:S$.s3.prefix,region:S$.s3.region,profile:S$.s3.profile,server_side_encryption:S$.s3.server_side_encryption}}}function bU(){return q_(hG(),".open-knowledge","db.json")}function uW(){return q_(hG(),".hasna","knowledge")}function xG($=process.cwd()){return SO($,n6)}function nE(){return q_(hG(),ZO)}function lE($=process.cwd()){return SO($,ZO)}function mG($,_=process.cwd()){if($==="project"||$==="local")return T_(lE(_));return T_(nE())}function T_($){return{home:$,configPath:q_($,"config.json"),jsonStorePath:q_($,"db.json"),knowledgeDbPath:q_($,"knowledge.db"),artifactsDir:q_($,"artifacts"),cacheDir:q_($,"cache"),exportsDir:q_($,"exports"),indexesDir:q_($,"indexes"),logsDir:q_($,"logs"),runsDir:q_($,"runs"),schemasDir:q_($,"schemas"),wikiDir:q_($,"wiki")}}function MU(){return{version:1,mode:"local",hosted:{api_url:"https://knowledge.md"},storage:{type:"local",artifacts_root:"artifacts"},sources:{preferred_ref:"open-files",allowed_schemes:["open-files","s3","file","https","http"]},providers:{default_model:"openai:gpt-5.2",aliases:{fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"},openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},embeddings:{default_model:"openai:text-embedding-3-small",dimensions:1536,batch_size:64,max_parallel_calls:4},safety:{network:{web_search_enabled:!1,s3_reads_enabled:!1,allowed_s3_buckets:[]},redaction:{enabled:!0},approvals:{generated_writes_require_approval:!0}}}}function I1($){let _=T_($);yG(_.home,{recursive:!0,mode:448});for(let U of[_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir])yG(U,{recursive:!0,mode:448});if(!uE(_.configPath))TO(_.configPath,`${JSON.stringify(MU(),null,2)} -`,{mode:384}),CO(_.configPath,384);return _}function dW($,_=process.cwd()){if($==="project"||$==="local")return T_(xG(_));return T_(uW())}function K4($){yG(cE($),{recursive:!0})}function uG($){let _=dE($,"utf8");return JSON.parse(_)}function yO($,_){K4($),TO($,`${JSON.stringify(_,null,2)} -`,{mode:384}),CO($,384)}function nW(){return T_(uW()).jsonStorePath}function kU($){if($===nW()&&g1(bU()))tG();if(!g1($))K4($),iO($,`${JSON.stringify({items:[]},null,2)} -`)}function pE($){return $.toISOString().replace(/[:.]/g,"-")}function oG($){let _=[`id:${$.id}`];if(typeof $.short_id==="string"&&$.short_id.length>0)_.push(`short_id:${$.short_id}`);return _}function oE($){let _=new Set;for(let U of $)for(let W of oG(U))_.add(W);return _}function tE($,_){return oG(_).some((U)=>$.has(U))}function dG($,_){K4($),pG($,`${JSON.stringify(_,null,2)} -`,{mode:384}),uO($,384)}function hO($){let _=JSON.parse(gU($,"utf8"));if(!_||typeof _!=="object"||!Array.isArray(_.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},W=0;for(let J of _.items)if(J&&typeof J==="object"&&typeof J.id==="string"&&J.id.length>0)U.items.push(J);else W+=1;return{store:U,skippedInvalid:W}}function tG($={}){if($.dryRun===!0)return xO($);return g6(nW(),()=>xO($),{createParent:!0})}function xO($={}){let _=$.dryRun===!0,U=$.now??new Date,W=T_(uW()),J=bU(),X=W.jsonStorePath,G=g1(J),Q=g1(X),Y={ok:!0,dry_run:_,legacy_path:J,canonical_path:X,legacy_exists:G,canonical_existed:Q,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:G?"Legacy global store already imported":"No legacy global store found"};if(!G)return Y;let j;try{let N=hO(J);j=N.store,Y.skipped_invalid=N.skippedInvalid}catch(N){return Y.ok=!1,Y.errors.push(`Could not read legacy store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let O={items:[]};if(Q)try{O=hO(X).store}catch(N){return Y.ok=!1,Y.errors.push(`Could not read canonical store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let B=oE(O.items),V={items:[...O.items]};for(let N of j.items){if(!N?.id){Y.skipped_invalid+=1;continue}if(tE(B,N)){Y.skipped_existing+=1;continue}V.items.push(N);for(let H of oG(N))B.add(H);Y.imported+=1}if(Y.would_create_canonical=!Q&&Y.imported>0,Y.canonical_created=!_&&Y.would_create_canonical,Y.message=Y.imported>0?`Imported ${Y.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",_||Y.imported===0)return Y;let L=`${pE(U)}-${wU().slice(0,8)}`;if(Q)Y.backup_path=nG(W.exportsDir,`legacy-open-knowledge-db-before-import-${L}.json`),dG(Y.backup_path,O);return dG(X,V),Y.report_path=nG(W.runsDir,`legacy-open-knowledge-import-${L}.json`),dG(Y.report_path,Y),Y}function w1($){if(!g1($))return{exists:!1,items:[]};let _=gU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function aE($){return`${$}.lock`}var cW=1e4,nO=25,mO=120000,sE=new Int32Array(new SharedArrayBuffer(4));function aG($){return typeof $==="object"&&$!==null&&"code"in $?String($.code):void 0}function lO($){let _=null;try{_=iG(cO($),"r"),lG(_)}catch{}finally{if(_!==null)try{IU(_)}catch{}}}var cG=new Set;function iO($,_){K4($);let U=nG(cO($),`.${rE($)}.tmp.${wU()}`),W=null;try{W=iG(U,"wx",384),pG(W,_),lG(W),IU(W),W=null,dO(U,$);try{uO($,384)}catch{}lO($)}catch(J){if(W!==null)try{IU(W)}catch{}try{rG(U)}catch{}throw J}}function rO($){Atomics.wait(sE,0,0,$)}function eE($){if(typeof $!=="number"||!Number.isInteger($)||$<=0)return!1;try{return process.kill($,0),!0}catch(_){return aG(_)!=="ESRCH"}}function pO($,_){try{let U=gU($,"utf8"),W=JSON.parse(U);if(typeof W.ts==="number")return _-W.ts>mO&&!eE(W.pid)}catch{}try{return _-iE($).mtimeMs>mO}catch{return!1}}function $F($){let _=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${$}.stale.${_}.${wU()}`;try{dO($,U)}catch(W){if(aG(W)!=="ENOENT")throw W;return}}function _F($){let _=wU(),U=`${$}.breaker`,W=Date.now();while(Date.now()-W<cW){if(oO(U,_)){try{if(pO($,Date.now()))$F($)}finally{tO(U,_)}return}rO(nO)}throw Error(`Could not acquire stale-lock breaker on ${U} after ${cW}ms`)}function oO($,_){let U=null,W=!1;try{return U=iG($,"wx",384),W=!0,pG(U,`${JSON.stringify({owner:_,pid:process.pid,ts:Date.now()})} -`),lG(U),IU(U),U=null,lO($),!0}catch(J){if(U!==null)try{IU(U)}catch{}if(W)try{rG($)}catch{}if(aG(J)==="EEXIST")return!1;throw J}}function UF($,_){let U=Date.now();while(Date.now()-U<cW){if(oO($,_))return;if(pO($,Date.now()))_F($);rO(nO)}throw Error(`Could not acquire lock on ${$} after ${cW}ms`)}function tO($,_){try{if(g1($)){if(JSON.parse(gU($,"utf8")).owner===_)rG($)}}catch{}}function PU($){kU($);let _=gU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{items:[]};return U}function l6($,_){iO($,`${JSON.stringify(_,null,2)} -`)}function g6($,_,U={}){let W=wU(),J=aE($);if(cG.has(J))return _();if(U.createParent)K4(J);UF(J,W),cG.add(J);try{return _()}finally{cG.delete(J),tO(J,W)}}function aO(){return`k_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function sO($){return $.replace(/^k_/,"").slice(0,12)}import{existsSync as Pw}from"fs";var JF=Object.defineProperty,WF=($)=>$;function XF($,_){this[$]=WF.bind(null,_)}var GF=($,_)=>{for(var U in _)JF($,U,{get:_[U],enumerable:!0,configurable:!0,set:XF.bind(_,U)})},D={};GF(D,{void:()=>nF,util:()=>M$,unknown:()=>dF,union:()=>pF,undefined:()=>xF,tuple:()=>aF,transformer:()=>_L,symbol:()=>hF,string:()=>zL,strictObject:()=>rF,setErrorMap:()=>jF,set:()=>$K,record:()=>sF,quotelessJson:()=>QF,promise:()=>GK,preprocess:()=>jK,pipeline:()=>DK,ostring:()=>zK,optional:()=>QK,onumber:()=>qK,oboolean:()=>OK,objectUtil:()=>U5,object:()=>iF,number:()=>qL,nullable:()=>YK,null:()=>mF,never:()=>cF,nativeEnum:()=>XK,nan:()=>ZF,map:()=>eF,makeIssue:()=>rW,literal:()=>JK,lazy:()=>UK,late:()=>TF,isValid:()=>Q0,isDirty:()=>W5,isAsync:()=>fU,isAborted:()=>J5,intersection:()=>tF,instanceof:()=>SF,getParsedType:()=>r6,getErrorMap:()=>iW,function:()=>_K,enum:()=>WK,effect:()=>_L,discriminatedUnion:()=>oF,defaultErrorMap:()=>C1,datetimeRegex:()=>YL,date:()=>yF,custom:()=>DL,coerce:()=>LK,boolean:()=>OL,bigint:()=>vF,array:()=>lF,any:()=>uF,addIssueToContext:()=>h,ZodVoid:()=>TU,ZodUnknown:()=>b4,ZodUnion:()=>v1,ZodUndefined:()=>S1,ZodType:()=>V$,ZodTuple:()=>k6,ZodTransformer:()=>l_,ZodSymbol:()=>CU,ZodString:()=>_6,ZodSet:()=>D0,ZodSchema:()=>V$,ZodRecord:()=>SU,ZodReadonly:()=>c1,ZodPromise:()=>z0,ZodPipeline:()=>yU,ZodParsedType:()=>c,ZodOptional:()=>J6,ZodObject:()=>s$,ZodNumber:()=>M4,ZodNullable:()=>p6,ZodNull:()=>Z1,ZodNever:()=>w6,ZodNativeEnum:()=>m1,ZodNaN:()=>vU,ZodMap:()=>ZU,ZodLiteral:()=>x1,ZodLazy:()=>h1,ZodIssueCode:()=>f,ZodIntersection:()=>y1,ZodFunction:()=>f1,ZodFirstPartyTypeKind:()=>X$,ZodError:()=>S_,ZodEnum:()=>g4,ZodEffects:()=>l_,ZodDiscriminatedUnion:()=>oW,ZodDefault:()=>u1,ZodDate:()=>Y0,ZodCatch:()=>d1,ZodBranded:()=>tW,ZodBoolean:()=>T1,ZodBigInt:()=>I4,ZodArray:()=>U6,ZodAny:()=>j0,Schema:()=>V$,ParseStatus:()=>O_,OK:()=>F_,NEVER:()=>NK,INVALID:()=>U$,EMPTY_PATH:()=>DF,DIRTY:()=>P1,BRAND:()=>CF});var M$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(M$||(M$={}));var U5;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(U5||(U5={}));var c=M$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),r6=($)=>{switch(typeof $){case"undefined":return c.undefined;case"string":return c.string;case"number":return Number.isNaN($)?c.nan:c.number;case"boolean":return c.boolean;case"function":return c.function;case"bigint":return c.bigint;case"symbol":return c.symbol;case"object":if(Array.isArray($))return c.array;if($===null)return c.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return c.promise;if(typeof Map<"u"&&$ instanceof Map)return c.map;if(typeof Set<"u"&&$ instanceof Set)return c.set;if(typeof Date<"u"&&$ instanceof Date)return c.date;return c.object;default:return c.unknown}},f=M$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),QF=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class S_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof S_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,M$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}S_.create=($)=>{return new S_($)};var YF=($,_)=>{let U;switch($.code){case f.invalid_type:if($.received===c.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case f.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,M$.jsonStringifyReplacer)}`;break;case f.unrecognized_keys:U=`Unrecognized key(s) in object: ${M$.joinValues($.keys,", ")}`;break;case f.invalid_union:U="Invalid input";break;case f.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${M$.joinValues($.options)}`;break;case f.invalid_enum_value:U=`Invalid enum value. Expected ${M$.joinValues($.options)}, received '${$.received}'`;break;case f.invalid_arguments:U="Invalid function arguments";break;case f.invalid_return_type:U="Invalid function return type";break;case f.invalid_date:U="Invalid date";break;case f.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else M$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case f.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case f.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case f.custom:U="Invalid input";break;case f.invalid_intersection_types:U="Intersection results could not be merged";break;case f.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case f.not_finite:U="Number must be finite";break;default:U=_.defaultError,M$.assertNever($)}return{message:U}},C1=YF,XL=C1;function jF($){XL=$}function iW(){return XL}var rW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},DF=[];function h($,_){let U=iW(),W=rW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===C1?void 0:C1].filter((J)=>!!J)});$.common.issues.push(W)}class O_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return U$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return O_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return U$;if(X.status==="aborted")return U$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var U$=Object.freeze({status:"aborted"}),P1=($)=>({status:"dirty",value:$}),F_=($)=>({status:"valid",value:$}),J5=($)=>$.status==="aborted",W5=($)=>$.status==="dirty",Q0=($)=>$.status==="valid",fU=($)=>typeof Promise<"u"&&$ instanceof Promise,t;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(t||(t={}));class W6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var eO=($,_)=>{if(Q0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new S_($.common.issues);return this._error=U,this._error}}}};function L$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class V${get description(){return this._def.description}_getType($){return r6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:r6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O_,ctx:{common:$.parent.common,data:$.data,parsedType:r6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(fU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)},W=this._parseSync({data:$,path:U.path,parent:U});return eO(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return Q0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>Q0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(fU(W)?W:Promise.resolve(W));return eO(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:f.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new l_({schema:this,typeName:X$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return J6.create(this,this._def)}nullable(){return p6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return U6.create(this)}promise(){return z0.create(this,this._def)}or($){return v1.create([this,$],this._def)}and($){return y1.create(this,$,this._def)}transform($){return new l_({...L$(this._def),schema:this,typeName:X$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new u1({...L$(this._def),innerType:this,defaultValue:_,typeName:X$.ZodDefault})}brand(){return new tW({typeName:X$.ZodBranded,type:this,...L$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new d1({...L$(this._def),innerType:this,catchValue:_,typeName:X$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return yU.create(this,$)}readonly(){return c1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var zF=/^c[^\s-]{8,}$/i,qF=/^[0-9a-z]+$/,OF=/^[0-9A-HJKMNP-TV-Z]{26}$/i,LF=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,NF=/^[a-z0-9_-]{21}$/i,BF=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,HF=/^[-+]?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)?)??$/,VF=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,RF="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",sG,AF=/^(?:(?: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])$/,EF=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,FF=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,KF=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,bF=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,MF=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,GL="((\\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])))",IF=new RegExp(`^${GL}$`);function QL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function gF($){return new RegExp(`^${QL($)}$`)}function YL($){let _=`${GL}T${QL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function wF($,_){if((_==="v4"||!_)&&AF.test($))return!0;if((_==="v6"||!_)&&FF.test($))return!0;return!1}function kF($,_){if(!BF.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function PF($,_){if((_==="v4"||!_)&&EF.test($))return!0;if((_==="v6"||!_)&&KF.test($))return!0;return!1}class _6 extends V${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==c.string){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.string,received:J.parsedType}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)h(W,{code:f.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)h(W,{code:f.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!VF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"email",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!sG)sG=new RegExp(RF,"u");if(!sG.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"emoji",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!LF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"uuid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!NF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"nanoid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!zF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"cuid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!qF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"cuid2",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!OF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"ulid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),h(W,{validation:"url",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"regex",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!YL(J).test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!IF.test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!gF(J).test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!HF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"duration",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!wF($.data,J.version))W=this._getOrReturnCtx($,W),h(W,{validation:"ip",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!kF($.data,J.alg))W=this._getOrReturnCtx($,W),h(W,{validation:"jwt",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!PF($.data,J.version))W=this._getOrReturnCtx($,W),h(W,{validation:"cidr",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!bF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"base64",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!MF.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"base64url",code:f.invalid_string,message:J.message}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:f.invalid_string,...t.errToObj(U)})}_addCheck($){return new _6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...t.errToObj($)})}url($){return this._addCheck({kind:"url",...t.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...t.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...t.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...t.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...t.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...t.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...t.errToObj($)})}base64($){return this._addCheck({kind:"base64",...t.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...t.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...t.errToObj($)})}ip($){return this._addCheck({kind:"ip",...t.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...t.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...t.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...t.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...t.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...t.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...t.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...t.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...t.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...t.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...t.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...t.errToObj(_)})}nonempty($){return this.min(1,t.errToObj($))}trim(){return new _6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}_6.create=($)=>{return new _6({checks:[],typeName:X$.ZodString,coerce:$?.coerce??!1,...L$($)})};function fF($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class M4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==c.number){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.number,received:J.parsedType}),U$}let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="int"){if(!M$.isInteger($.data))U=this._getOrReturnCtx($,U),h(U,{code:f.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(fF($.data,J.value)!==0)U=this._getOrReturnCtx($,U),h(U,{code:f.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),h(U,{code:f.not_finite,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new M4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new M4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:t.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}finite($){return this._addCheck({kind:"finite",message:t.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:t.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:t.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&M$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}M4.create=($)=>{return new M4({checks:[],typeName:X$.ZodNumber,coerce:$?.coerce||!1,...L$($)})};class I4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==c.bigint)return this._getInvalidInput($);let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),h(U,{code:f.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return h(_,{code:f.invalid_type,expected:c.bigint,received:_.parsedType}),U$}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new I4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new I4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}I4.create=($)=>{return new I4({checks:[],typeName:X$.ZodBigInt,coerce:$?.coerce??!1,...L$($)})};class T1 extends V${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==c.boolean){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.boolean,received:U.parsedType}),U$}return F_($.data)}}T1.create=($)=>{return new T1({typeName:X$.ZodBoolean,coerce:$?.coerce||!1,...L$($)})};class Y0 extends V${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==c.date){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.date,received:J.parsedType}),U$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_date}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new Y0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:t.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:t.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}Y0.create=($)=>{return new Y0({checks:[],coerce:$?.coerce||!1,typeName:X$.ZodDate,...L$($)})};class CU extends V${_parse($){if(this._getType($)!==c.symbol){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.symbol,received:U.parsedType}),U$}return F_($.data)}}CU.create=($)=>{return new CU({typeName:X$.ZodSymbol,...L$($)})};class S1 extends V${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.undefined,received:U.parsedType}),U$}return F_($.data)}}S1.create=($)=>{return new S1({typeName:X$.ZodUndefined,...L$($)})};class Z1 extends V${_parse($){if(this._getType($)!==c.null){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.null,received:U.parsedType}),U$}return F_($.data)}}Z1.create=($)=>{return new Z1({typeName:X$.ZodNull,...L$($)})};class j0 extends V${constructor(){super(...arguments);this._any=!0}_parse($){return F_($.data)}}j0.create=($)=>{return new j0({typeName:X$.ZodAny,...L$($)})};class b4 extends V${constructor(){super(...arguments);this._unknown=!0}_parse($){return F_($.data)}}b4.create=($)=>{return new b4({typeName:X$.ZodUnknown,...L$($)})};class w6 extends V${_parse($){let _=this._getOrReturnCtx($);return h(_,{code:f.invalid_type,expected:c.never,received:_.parsedType}),U$}}w6.create=($)=>{return new w6({typeName:X$.ZodNever,...L$($)})};class TU extends V${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.void,received:U.parsedType}),U$}return F_($.data)}}TU.create=($)=>{return new TU({typeName:X$.ZodVoid,...L$($)})};class U6 extends V${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==c.array)return h(_,{code:f.invalid_type,expected:c.array,received:_.parsedType}),U$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)h(_,{code:X?f.too_big:f.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)h(_,{code:f.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)h(_,{code:f.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new W6(_,X,_.path,G))})).then((X)=>{return O_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new W6(_,X,_.path,G))});return O_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new U6({...this._def,minLength:{value:$,message:t.toString(_)}})}max($,_){return new U6({...this._def,maxLength:{value:$,message:t.toString(_)}})}length($,_){return new U6({...this._def,exactLength:{value:$,message:t.toString(_)}})}nonempty($){return this.min(1,$)}}U6.create=($,_)=>{return new U6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:X$.ZodArray,...L$(_)})};function k1($){if($ instanceof s$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=J6.create(k1(W))}return new s$({...$._def,shape:()=>_})}else if($ instanceof U6)return new U6({...$._def,type:k1($.element)});else if($ instanceof J6)return J6.create(k1($.unwrap()));else if($ instanceof p6)return p6.create(k1($.unwrap()));else if($ instanceof k6)return k6.create($.items.map((_)=>k1(_)));else return $}class s$ extends V${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=M$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==c.object){let Y=this._getOrReturnCtx($);return h(Y,{code:f.invalid_type,expected:c.object,received:Y.parsedType}),U$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof w6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new W6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof w6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)h(W,{code:f.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new W6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return O_.mergeObjectSync(U,Y)});else return O_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return t.errToObj,new s$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:t.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new s$({...this._def,unknownKeys:"strip"})}passthrough(){return new s$({...this._def,unknownKeys:"passthrough"})}extend($){return new s$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new s$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:X$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new s$({...this._def,catchall:$})}pick($){let _={};for(let U of M$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}omit($){let _={};for(let U of M$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}deepPartial(){return k1(this)}partial($){let _={};for(let U of M$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new s$({...this._def,shape:()=>_})}required($){let _={};for(let U of M$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof J6)J=J._def.innerType;_[U]=J}return new s$({...this._def,shape:()=>_})}keyof(){return jL(M$.objectKeys(this.shape))}}s$.create=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.strictCreate=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strict",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.lazycreate=($,_)=>{return new s$({shape:$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};class v1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new S_(G.ctx.common.issues));return h(_,{code:f.invalid_union,unionErrors:X}),U$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new S_(Q));return h(_,{code:f.invalid_union,unionErrors:G}),U$}}get options(){return this._def.options}}v1.create=($,_)=>{return new v1({options:$,typeName:X$.ZodUnion,...L$(_)})};var i6=($)=>{if($ instanceof h1)return i6($.schema);else if($ instanceof l_)return i6($.innerType());else if($ instanceof x1)return[$.value];else if($ instanceof g4)return $.options;else if($ instanceof m1)return M$.objectValues($.enum);else if($ instanceof u1)return i6($._def.innerType);else if($ instanceof S1)return[void 0];else if($ instanceof Z1)return[null];else if($ instanceof J6)return[void 0,...i6($.unwrap())];else if($ instanceof p6)return[null,...i6($.unwrap())];else if($ instanceof tW)return i6($.unwrap());else if($ instanceof c1)return i6($.unwrap());else if($ instanceof d1)return i6($._def.innerType);else return[]};class oW extends V${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.object)return h(_,{code:f.invalid_type,expected:c.object,received:_.parsedType}),U$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return h(_,{code:f.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),U$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=i6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new oW({typeName:X$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...L$(U)})}}function X5($,_){let U=r6($),W=r6(_);if($===_)return{valid:!0,data:$};else if(U===c.object&&W===c.object){let J=M$.objectKeys(_),X=M$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=X5($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===c.array&&W===c.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=X5(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===c.date&&W===c.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class y1 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(J5(J)||J5(X))return U$;let G=X5(J.value,X.value);if(!G.valid)return h(U,{code:f.invalid_intersection_types}),U$;if(W5(J)||W5(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}y1.create=($,_,U)=>{return new y1({left:$,right:_,typeName:X$.ZodIntersection,...L$(U)})};class k6 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.array)return h(U,{code:f.invalid_type,expected:c.array,received:U.parsedType}),U$;if(U.data.length<this._def.items.length)return h(U,{code:f.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),U$;if(!this._def.rest&&U.data.length>this._def.items.length)h(U,{code:f.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new W6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return O_.mergeArray(_,X)});else return O_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new k6({...this._def,rest:$})}}k6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new k6({items:$,typeName:X$.ZodTuple,rest:null,...L$(_)})};class SU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.object)return h(U,{code:f.invalid_type,expected:c.object,received:U.parsedType}),U$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new W6(U,G,U.path,G)),value:X._parse(new W6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return O_.mergeObjectAsync(_,W);else return O_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof V$)return new SU({keyType:$,valueType:_,typeName:X$.ZodRecord,...L$(U)});return new SU({keyType:_6.create(),valueType:$,typeName:X$.ZodRecord,...L$(_)})}}class ZU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.map)return h(U,{code:f.invalid_type,expected:c.map,received:U.parsedType}),U$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new W6(U,G,U.path,[Y,"key"])),value:J._parse(new W6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}ZU.create=($,_,U)=>{return new ZU({valueType:_,keyType:$,typeName:X$.ZodMap,...L$(U)})};class D0 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.set)return h(U,{code:f.invalid_type,expected:c.set,received:U.parsedType}),U$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)h(U,{code:f.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)h(U,{code:f.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return U$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new W6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new D0({...this._def,minSize:{value:$,message:t.toString(_)}})}max($,_){return new D0({...this._def,maxSize:{value:$,message:t.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}D0.create=($,_)=>{return new D0({valueType:$,minSize:null,maxSize:null,typeName:X$.ZodSet,...L$(_)})};class f1 extends V${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.function)return h(_,{code:f.invalid_type,expected:c.function,received:_.parsedType}),U$;function U(G,Q){return rW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,iW(),C1].filter((Y)=>!!Y),issueData:{code:f.invalid_arguments,argumentsError:Q}})}function W(G,Q){return rW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,iW(),C1].filter((Y)=>!!Y),issueData:{code:f.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof z0){let G=this;return F_(async function(...Q){let Y=new S_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return F_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new S_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new S_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new f1({...this._def,args:k6.create($).rest(b4.create())})}returns($){return new f1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new f1({args:$?$:k6.create([]).rest(b4.create()),returns:_||b4.create(),typeName:X$.ZodFunction,...L$(U)})}}class h1 extends V${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}h1.create=($,_)=>{return new h1({getter:$,typeName:X$.ZodLazy,...L$(_)})};class x1 extends V${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return h(_,{received:_.data,code:f.invalid_literal,expected:this._def.value}),U$}return{status:"valid",value:$.data}}get value(){return this._def.value}}x1.create=($,_)=>{return new x1({value:$,typeName:X$.ZodLiteral,...L$(_)})};function jL($,_){return new g4({values:$,typeName:X$.ZodEnum,...L$(_)})}class g4 extends V${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{expected:M$.joinValues(U),received:_.parsedType,code:f.invalid_type}),U$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{received:_.data,code:f.invalid_enum_value,options:U}),U$}return F_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return g4.create($,{...this._def,..._})}exclude($,_=this._def){return g4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}g4.create=jL;class m1 extends V${_parse($){let _=M$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==c.string&&U.parsedType!==c.number){let W=M$.objectValues(_);return h(U,{expected:M$.joinValues(W),received:U.parsedType,code:f.invalid_type}),U$}if(!this._cache)this._cache=new Set(M$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=M$.objectValues(_);return h(U,{received:U.data,code:f.invalid_enum_value,options:W}),U$}return F_($.data)}get enum(){return this._def.values}}m1.create=($,_)=>{return new m1({values:$,typeName:X$.ZodNativeEnum,...L$(_)})};class z0 extends V${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.promise&&_.common.async===!1)return h(_,{code:f.invalid_type,expected:c.promise,received:_.parsedType}),U$;let U=_.parsedType===c.promise?_.data:Promise.resolve(_.data);return F_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}z0.create=($,_)=>{return new z0({type:$,typeName:X$.ZodPromise,...L$(_)})};class l_ extends V${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===X$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(h(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return U$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return U$;if(Q.status==="dirty")return P1(Q.value);if(_.value==="dirty")return P1(Q.value);return Q});else{if(_.value==="aborted")return U$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")return P1(G.value);if(_.value==="dirty")return P1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!Q0(X))return U$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!Q0(X))return U$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});M$.assertNever(W)}}l_.create=($,_,U)=>{return new l_({schema:$,typeName:X$.ZodEffects,effect:_,...L$(U)})};l_.createWithPreprocess=($,_,U)=>{return new l_({schema:_,effect:{type:"preprocess",transform:$},typeName:X$.ZodEffects,...L$(U)})};class J6 extends V${_parse($){if(this._getType($)===c.undefined)return F_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}J6.create=($,_)=>{return new J6({innerType:$,typeName:X$.ZodOptional,...L$(_)})};class p6 extends V${_parse($){if(this._getType($)===c.null)return F_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}p6.create=($,_)=>{return new p6({innerType:$,typeName:X$.ZodNullable,...L$(_)})};class u1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===c.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}u1.create=($,_)=>{return new u1({innerType:$,typeName:X$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...L$(_)})};class d1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(fU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}d1.create=($,_)=>{return new d1({innerType:$,typeName:X$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...L$(_)})};class vU extends V${_parse($){if(this._getType($)!==c.nan){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.nan,received:U.parsedType}),U$}return{status:"valid",value:$.data}}}vU.create=($)=>{return new vU({typeName:X$.ZodNaN,...L$($)})};var CF=Symbol("zod_brand");class tW extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class yU extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return U$;if(J.status==="dirty")return _.dirty(),P1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return U$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new yU({in:$,out:_,typeName:X$.ZodPipeline})}}class c1 extends V${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(Q0(W))W.value=Object.freeze(W.value);return W};return fU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}c1.create=($,_)=>{return new c1({innerType:$,typeName:X$.ZodReadonly,...L$(_)})};function $L($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function DL($,_={},U){if($)return j0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=$L(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=$L(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return j0.create()}var TF={object:s$.lazycreate},X$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(X$||(X$={}));var SF=($,_={message:`Input not instance of ${$.name}`})=>DL((U)=>U instanceof $,_),zL=_6.create,qL=M4.create,ZF=vU.create,vF=I4.create,OL=T1.create,yF=Y0.create,hF=CU.create,xF=S1.create,mF=Z1.create,uF=j0.create,dF=b4.create,cF=w6.create,nF=TU.create,lF=U6.create,iF=s$.create,rF=s$.strictCreate,pF=v1.create,oF=oW.create,tF=y1.create,aF=k6.create,sF=SU.create,eF=ZU.create,$K=D0.create,_K=f1.create,UK=h1.create,JK=x1.create,WK=g4.create,XK=m1.create,GK=z0.create,_L=l_.create,QK=J6.create,YK=p6.create,jK=l_.createWithPreprocess,DK=yU.create,zK=()=>zL().optional(),qK=()=>qL().optional(),OK=()=>OL().optional(),LK={string:($)=>_6.create({...$,coerce:!0}),number:($)=>M4.create({...$,coerce:!0}),boolean:($)=>T1.create({...$,coerce:!0}),bigint:($)=>I4.create({...$,coerce:!0}),date:($)=>Y0.create({...$,coerce:!0})},NK=U$;var o={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},LL=D.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),Z_=D.string().datetime(),Y$=D.string().trim().min(1),o6=Y$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),NL=D.string().regex(/^[a-fA-F0-9]{64}$/),BL=D.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),t6=D.record(D.unknown()),i1=D.array(D.string().min(1)).default([]),q0=Z_.nullable().optional(),BK=new Set(["succeeded","failed","cancelled","blocked","skipped"]),L0=D.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function Z$($){return D.object({schema:D.literal($),id:D.string().min(1),createdAt:Z_,updatedAt:q0,metadata:t6.optional()}).strict()}var pc=D.object({schema:LL,id:D.string().min(1),createdAt:Z_,updatedAt:q0,metadata:t6.optional()}).strict(),HL=D.enum(["agent","human","service","model","workflow","system"]),HK=Z$(o.actorRef).extend({kind:HL,name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional(),capabilities:D.array(D.string().min(1)).default([])}).strict(),P6=D.object({kind:HL,id:D.string().min(1),name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional()}).strict(),VL=D.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),VK=Z$(o.resourceRef).extend({kind:VL,name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:i1}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),H$=D.object({kind:VL,id:D.string().min(1),name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:i1}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),Q5=D.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),RK=D.enum(["none","partial","full","unknown"]),AK=Z$(o.evidenceRef).extend({kind:Q5,uri:o6,sha256:NL.optional(),summary:D.string().min(1).optional(),contentType:D.string().min(1).optional(),sizeBytes:D.number().int().nonnegative().optional(),redaction:RK.default("unknown"),producer:P6.optional(),resourceRefs:D.array(H$).default([]),tags:i1}).strict(),n$=D.object({id:D.string().min(1),kind:Q5.optional(),uri:o6.optional(),sha256:NL.optional(),summary:D.string().min(1).optional()}).strict(),hU=Z$(o.costEstimate).extend({currency:D.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:D.number().int().nonnegative(),provider:D.string().min(1).optional(),model:D.string().min(1).optional(),accountId:D.string().min(1).optional(),promptTokens:D.number().int().nonnegative().optional(),completionTokens:D.number().int().nonnegative().optional(),totalTokens:D.number().int().nonnegative().optional(),basis:D.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:D.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),EK=D.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),RL=Z$(o.decisionEnvelope).extend({decisionType:D.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:EK,actor:P6.optional(),traceId:D.string().min(1).optional(),inputHash:BL.optional(),policyBundleId:D.string().min(1).optional(),selected:D.array(H$).default([]),skipped:D.array(H$).default([]),reason:D.string().min(1),obligations:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),costEstimate:hU.optional(),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),FK=Z$(o.capabilityCard).extend({kind:D.enum(["model","tool","machine","agent","lane","connector","service"]),name:D.string().min(1),version:D.string().min(1).optional(),status:D.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:D.array(D.string().min(1)).default([]),limitations:D.array(D.string().min(1)).default([]),riskLevel:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:hU.optional(),evidenceRefs:D.array(n$).default([])}).strict(),n1=D.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),KK=D.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),bK=D.object({refName:Y$,requiredForModes:D.array(n1).min(1),allowedSecretInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:Y$,revocationCheck:D.boolean().default(!0)}).strict(),MK=D.object({operation:Y$,supportedModes:D.array(n1).min(1),sideEffectClass:KK,requiresApproval:D.boolean().default(!1),requiresIdempotencyKey:D.boolean().default(!1),requiresSandboxEvidence:D.boolean().default(!1),requiresRollbackOrRevocation:D.boolean().default(!1),rollbackOrRevocation:Y$.optional(),noSideEffectSmoke:Y$.optional(),reconciliation:Y$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),IK=D.object({providerId:Y$,appId:Y$,adapterId:Y$,ownerPackage:Y$,modes:D.array(n1).min(1),defaultMode:n1,credentialRequirements:D.array(bK).default([]),operations:D.array(MK).min(1),rateLimitPosture:Y$,costPosture:Y$.optional(),auditEvents:D.array(Y$).default([]),redactionRules:D.array(Y$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:D.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),gK=D.object({appId:Y$,repo:Y$,priority:D.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:D.array(Y$).min(1),firstOperations:D.array(Y$).min(1),blockedUntil:D.array(Y$).default([])}).strict(),wK=Z$(o.providerLiveModeStandard).extend({name:Y$,version:Y$,modes:D.array(n1).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:D.array(Y$).min(1),liveMutationGate:D.object({requiredMode:D.literal("live_mutating"),requiredChecks:D.array(Y$).min(1),forbiddenBypassSignals:D.array(Y$).min(1),disabledLiveSmoke:Y$}).strict(),noSideEffectSmoke:D.object({requiredForModes:D.array(n1).min(1),commandEvidence:D.array(Y$).min(1),secretOutputScan:D.boolean().default(!0)}).strict(),credentialPolicy:D.object({acceptedInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:D.literal(!1),missingCredentialBehavior:D.literal("fail_closed"),revocationCheckRequired:D.boolean().default(!0)}).strict(),operationCards:D.array(IK).min(1),firstAdoptionTargets:D.array(gK).min(1),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),kK=D.object({id:D.string().min(1),title:D.string().min(1).optional(),summary:D.string().min(1),text:D.string().optional(),tokens:D.number().int().nonnegative().optional(),source:n$,resourceRefs:D.array(H$).default([])}).strict(),AL=Z$(o.contextPack).extend({objective:D.string().min(1),budget:D.object({maxTokens:D.number().int().positive().optional(),maxBytes:D.number().int().positive().optional()}).strict().optional(),items:D.array(kK).default([]),citations:D.array(n$).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),permissions:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),conflicts:D.array(D.string().min(1)).default([]),uncertainty:D.string().min(1).optional()}).strict(),$6=Y$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),O0=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),PK=D.enum(["public","internal","private","sensitive"]),fK=D.enum(["draft","active","paused","archived"]),Y5=D.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),EL=Z$(o.integrationRef).extend({kind:Y5,name:D.string().min(1),projectId:O0.optional(),sourcePackage:Y$.optional(),externalId:Y$.optional(),uri:o6.optional(),enabled:D.boolean().default(!0),readOnly:D.boolean().default(!0),capabilities:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:H$.optional(),evidenceRefs:D.array(n$).default([]),config:t6.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),CK=D.object({schemaRoot:$6.default(".hasna/project"),dashboardManifest:$6.default(".hasna/project/dashboard.render.json"),snapshotsDir:$6.default(".hasna/project/snapshots"),documentsDir:$6.default("documents"),reportsDir:$6.default("reports"),evidenceDir:$6.default(".hasna/project/evidence"),privateDir:$6.default(".hasna/project/private")}).strict(),TK=Z$(o.projectManifest).extend({projectId:O0,slug:O0,name:D.string().min(1),summary:D.string().min(1).optional(),status:fK.default("active"),classification:PK.default("private"),owner:P6.optional(),layout:CK.default({}),integrations:D.array(EL).default([]),renderManifests:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),tags:i1}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:D.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),SK=D.enum(["local","package","provider","url"]),j5=D.object({id:D.string().min(1),kind:SK,specifier:D.string().min(1),path:$6.optional(),packageName:D.string().min(1).optional(),uri:o6.optional(),provider:Y5.optional(),schemaId:LL.optional(),integrity:BL.optional(),resourceRef:H$.optional(),optional:D.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:D.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:D.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:D.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ZK=D.enum(["dashboard","canvas","panel","report","document","custom"]),vK=D.object({id:D.string().min(1),title:D.string().min(1),kind:ZK,default:D.boolean().default(!1),entry:$6.optional(),imports:D.array(j5).default([]),panelRefs:D.array(H$).default([]),dataRefs:D.array(H$).default([]),layout:t6.optional()}).strict(),yK=Z$(o.renderManifest).extend({projectId:O0,name:D.string().min(1),version:D.string().min(1),manifestPath:$6.default(".hasna/project/dashboard.render.json"),renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:D.array(vK).min(1),imports:D.array(j5).default([]),theme:t6.optional(),compatibility:D.object({minProjectsVersion:D.string().min(1).optional(),minContractsVersion:D.string().min(1).optional()}).strict().optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:D.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),hK=D.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),xK=D.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),mK=D.object({id:D.string().min(1),label:D.string().min(1),value:D.union([D.string(),D.number(),D.boolean()]),unit:D.string().min(1).optional(),status:D.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:D.array(H$).default([])}).strict(),uK=D.object({id:D.string().min(1),title:D.string().min(1),summary:D.string().min(1).optional(),status:D.string().min(1).optional(),priority:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:Z_.optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),metadata:t6.optional()}).strict(),dK=D.object({renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:D.string().min(1).optional(),entry:$6.optional(),imports:D.array(j5).default([]),spec:t6.default({})}).strict(),FL=Z$(o.projectPanel).extend({projectId:O0,provider:D.object({kind:Y5,id:D.string().min(1),name:D.string().min(1).optional(),sourcePackage:Y$.optional(),externalId:Y$.optional()}).strict(),kind:xK,title:D.string().min(1),summary:D.string().min(1).optional(),state:hK.default("ready"),stateReason:D.string().min(1).optional(),generatedAt:Z_,freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),metrics:D.array(mK).default([]),items:D.array(uK).default([]),actions:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),renderFragment:dK.optional(),warnings:D.array(D.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:D.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),cK=Z$(o.projectSnapshot).extend({projectId:O0,generatedAt:Z_,status:L0.default("unknown"),manifestRef:H$,renderManifestRef:H$.optional(),panels:D.array(FL).default([]),contextPacks:D.array(AL).default([]),proofBundleRefs:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),warnings:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),KL=D.object({id:D.string().min(1),kind:D.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),expected:D.string().min(1).optional(),timeoutMs:D.number().int().positive().optional(),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:D.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),nK=Z$(o.validationPlan).extend({objective:D.string().min(1),subject:H$.optional(),checks:D.array(KL).min(1),verifier:P6.optional(),requiredEvidenceKinds:D.array(Q5).default([])}).strict(),lK=D.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),iK=D.enum(["draft","active","deprecated","archived"]),rK=D.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),pK=D.object({key:D.string().regex(/^[A-Z][A-Z0-9_]*$/),description:D.string().min(1),required:D.boolean().default(!1),["secret"]:D.boolean().default(!1),group:D.string().min(1).optional(),default:D.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),oK=D.object({name:D.string().min(1),command:D.string().min(1),description:D.string().min(1).optional(),required:D.boolean().default(!1)}).strict(),tK=D.object({packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:D.array(D.string().min(1)).default([]),requiredFiles:D.array(D.string().min(1)).default([]),requiredDirectories:D.array(D.string().min(1)).default([]),optionalDirectories:D.array(D.string().min(1)).default([])}).strict(),aK=Z$(o.scaffoldManifest).extend({name:D.string().min(1),version:D.string().min(1),summary:D.string().min(1),type:lK,status:iK.default("draft"),capabilities:D.array(rK).default([]),techStack:D.array(D.string().min(1)).default([]),tags:i1,source:H$.optional(),output:tK,env:D.array(pK).default([]),scripts:D.array(oK).default([]),validationChecks:D.array(KL).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:D.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),sK=D.enum(["installed","failed","cancelled","partial","unknown"]),eK=Z$(o.scaffoldInstallRecord).extend({scaffoldId:D.string().min(1),scaffoldVersion:D.string().min(1).optional(),manifestRef:H$.optional(),target:H$,status:sK,installedAt:Z_.optional(),installer:P6.optional(),packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:t6.optional(),generatedFiles:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),l1=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),D5=D.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),bL=D.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),$b=D.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),_b=Y$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Ub=D.enum(["active","stub","deprecated","archived"]),Jb=D.enum(["stable","beta","canary","internal"]),Wb=D.object({transport:D.enum(["http","stdio"]).default("http"),bin:D.string().min(1).optional(),url:o6.optional()}).strict(),Xb=D.object({healthPath:D.string().min(1).default("/health"),port:D.number().int().positive().optional(),baseUrl:o6.optional()}).strict(),Gb=D.object({bins:D.array(D.string().min(1)).default([]),mcp:Wb.optional(),http:Xb.optional()}).strict(),Qb=Z$(o.app).extend({appId:l1,npmName:D5,repoFolder:l1,githubUrl:_b,projectSlug:O0,surfaces:Gb.default({}),lifecycle:Ub,releaseChannel:Jb.default("stable"),summary:D.string().min(1).optional(),tags:i1}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),Yb=D.enum(["skill","ci","backfilled"]),jb=Z$(o.release).extend({appId:l1,package:D5,version:bL,gitSha:$b,publishedAt:Z_,publishPath:Yb,changelogRef:H$.optional(),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Db=D.enum(["install","update","rollback","freeze-blocked"]),zb=D.object({cliVersion:D.string().min(1).optional(),mcpHealth:D.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),qb=Z$(o.rolloutRecord).extend({appId:l1,package:D5,version:bL,machine:Y$,action:Db,result:L0,verifiedBy:zb.optional(),at:Z_,evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:D.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Ob=D.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),Lb=D.enum(["pending","queued","sent","failed","skipped","suppressed"]),Nb=D.object({channel:Ob,status:Lb,deliveredAt:Z_.optional(),detail:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Bb=Z$(o.announcement).extend({campaignId:Y$,appId:l1.optional(),releaseRef:H$.optional(),channels:D.array(Nb).min(1),audienceRef:H$,sentAt:Z_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Hb=D.enum(["tag","attribute","group"]),Vb=D.enum(["eq","neq","in","not_in","exists","not_exists"]),UL=D.union([D.string(),D.number(),D.boolean()]),Rb=D.object({kind:Hb,key:D.string().min(1).optional(),op:Vb.default("eq"),value:UL.optional(),values:D.array(UL).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:D.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),Ab=D.object({match:D.enum(["all","any"]).default("all"),predicates:D.array(Rb).min(1)}).strict(),Eb=D.enum(["opt_in","opt_out","transactional","none"]),Fb=Z$(o.audience).extend({audienceId:l1,name:Y$,definition:Ab,consentPolicy:Eb,suppressionSyncedAt:q0}).strict(),eG=["@hasna/cloud","open-cloud"],Kb=D.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),bb=D.object({id:D.string().min(1),provider:Kb,kind:D.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:D.string().min(1),region:D.string().min(1).optional(),accountId:D.string().min(1).optional(),uri:o6.optional(),machineScoped:D.boolean().default(!1)}).strict(),ML=Z$(o.appCloudManifest).extend({packageName:D.string().min(1),packageVersion:D.string().min(1).optional(),appId:D.string().min(1),repository:H$.optional(),storageMode:D.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:D.enum(["none","app_owned","external_service","local_cache"]),cloudResources:D.array(bb).default([]),localCache:D.object({path:D.string().min(1).optional(),pullMode:D.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:D.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:D.array(D.string().min(1)).default([...eG]),dependencies:D.array(D.string().min(1)).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...eG,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:D.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of eG)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:D.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:D.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),IL=D.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),Mb=D.enum(["low","medium","high","critical"]),gL=D.object({id:D.string().min(1),kind:IL,severity:Mb,path:D.string().min(1).optional(),packageName:D.string().min(1).optional(),pattern:D.string().min(1),message:D.string().min(1),evidenceRefs:D.array(n$).default([])}).strict(),Ib=D.object({id:D.string().min(1),kind:IL,status:L0,target:D.string().min(1),command:D.string().min(1).optional(),evidenceRefs:D.array(n$).default([]),findings:D.array(gL).default([])}).strict(),gb=Z$(o.noCloudEvidencePack).extend({subject:H$,packageName:D.string().min(1).optional(),packageVersion:D.string().min(1).optional(),generatedBy:P6.optional(),scanMode:D.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:L0,verdict:D.enum(["passed","failed","warning","not_run"]),appCloudManifest:ML.optional(),checks:D.array(Ib).min(1),findings:D.array(gL).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),wb=D.object({checkId:D.string().min(1),status:L0,summary:D.string().min(1).optional(),startedAt:q0,finishedAt:q0,evidenceRefs:D.array(n$).default([])}).strict(),kb=Z$(o.proofBundle).extend({subject:H$,validationPlanRef:H$.optional(),status:L0,verdict:D.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:D.array(wb).default([]),verifier:P6.optional(),evidenceRefs:D.array(n$).default([]),residualRisks:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),Pb=Z$(o.workRun).extend({objective:D.string().min(1),status:L0,actor:P6,traceId:D.string().min(1).optional(),startedAt:q0,finishedAt:q0,constraints:D.array(D.string().min(1)).default([]),resourceRefs:D.array(H$).default([]),decisions:D.array(RL).default([]),costEstimates:D.array(hU).default([]),evidenceRefs:D.array(n$).default([]),validationPlanRefs:D.array(H$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:D.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(BK.has($.status)&&!$.finishedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),fb=D.object({id:D.string().min(1),at:Z_,kind:D.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:D.string().min(1),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),costEstimate:hU.optional()}).strict(),Cb=Z$(o.agentTrajectory).extend({actor:P6,workRunRef:H$.optional(),events:D.array(fb).default([]),outcome:D.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:H$.optional()}).strict(),Tb="v1",Sb=D.enum(["library","cli-with-store","service","saas"]),Zb=["local","self-hosted","cloud"],wL=D.enum(Zb),vb=D.enum(["supported","deferred","unsupported"]),yb=D.enum(["none","local-only","api-key","session","service-token","custom"]),$5=D.object({method:D.enum(["GET","POST","PUT","PATCH","DELETE"]),path:D.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:D.boolean().default(!1),description:D.string().min(1).optional()}).strict(),hb=D.object({id:D.string().min(1),kind:D.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),evidenceRef:n$.optional(),status:D.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),xb=D.object({name:D.string().min(1),status:vb,bin:D.string().min(1).optional(),mcpBin:D.string().min(1).optional(),authMode:yb,deploymentModes:D.array(wL).min(1),health:$5.optional(),readiness:$5.optional(),version:$5.optional(),apiBasePath:D.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:D.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:D.string().min(1).optional(),readinessGates:D.array(hb).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:D.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:D.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:D.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),mb=["local","cloud"],kL=D.enum(mb),ub=["remote","hybrid","self_hosted"],db=D.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),cb=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function nb($){return cb.map((_)=>`${$}${_}`)}function JL($){return`hasna/oss/${$}/database-url`}var lb=D.object({mode:kL,envPrefix:D.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:D.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:D.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:D.string().min(1).optional()}).strict(),ib=D.object({$schema:D.string().min(1).optional(),schema:D.literal(o.serviceContract),name:db,class:Sb,contractVersion:D.literal(Tb),kitVersion:D.string().min(1),description:D.string().min(1).optional(),bins:D.array(D.string().min(1)).default([]),storage:lb.optional(),deploymentModes:D.array(wL).default(["local"]),serviceSurfaces:D.array(xb).default([]),metadata:t6.optional()}).strict().superRefine(($,_)=>{let U=new Set(nb($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:D.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==JL($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${JL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:D.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:D.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),oc=D.object({status:D.enum(["ok","degraded","unavailable"]),version:D.string().min(1),mode:kL}).strict(),tc=D.object({ready:D.boolean(),reason:D.string().min(1).optional()}).strict(),ac=D.object({version:D.string().min(1)}).strict(),rb=D.enum(["info","notice","breaking","critical"]),pb=D.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),ob=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],tb=D.enum(ob);var ab=D.enum(["fleet","package","machine"]),PL=Z$(o.commsEventEnvelope).extend({type:pb,severity:rb,scope:ab,summary:D.string().min(1).optional(),source:P6.optional(),affected_packages:D.array(Y$).default([]),affected_machines:D.array(Y$).default([]),action_required:D.boolean().default(!1),ack_by:Z_.optional(),dedupe_key:Y$,resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),sb=D.enum(["fleet","package","product","loop-lane","initiative","personal"]),eb=D.enum(["quiet","work","firehose"]),$M=Y$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),_M=Z$(o.commsChannelMetadata).extend({class:sb,noise:eb.optional(),owner:Y$.optional(),until:$M.optional(),successor:Y$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),WL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},UM=Z$(o.commsMessageMetadata).extend({tag:tb,envelope:PL}).strict().superRefine(($,_)=>{let U=WL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(WL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var sc={[o.actorRef]:HK,[o.resourceRef]:VK,[o.evidenceRef]:AK,[o.workRun]:Pb,[o.decisionEnvelope]:RL,[o.costEstimate]:hU,[o.capabilityCard]:FK,[o.providerLiveModeStandard]:wK,[o.contextPack]:AL,[o.integrationRef]:EL,[o.projectManifest]:TK,[o.projectPanel]:FL,[o.projectSnapshot]:cK,[o.renderManifest]:yK,[o.agentTrajectory]:Cb,[o.validationPlan]:nK,[o.proofBundle]:kb,[o.scaffoldManifest]:aK,[o.scaffoldInstallRecord]:eK,[o.appCloudManifest]:ML,[o.noCloudEvidencePack]:gb,[o.serviceContract]:ib,[o.commsEventEnvelope]:PL,[o.commsChannelMetadata]:_M,[o.commsMessageMetadata]:UM,[o.app]:Qb,[o.release]:jb,[o.rolloutRecord]:qb,[o.announcement]:Bb,[o.audience]:Fb};function JM($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(ub.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}function WM($){return $.toUpperCase().replace(/-/g,"_")}function XM($){return`https://${$}.hasna.xyz`}function fL($){let _=WM($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}function lW($,_){for(let U of _){let W=$[U]?.trim();if(W)return{key:U,value:W}}return null}function GM($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U.endsWith("/v1"))U=U.slice(0,-3);return _.pathname=`${U}/v1`,_.search="",_.hash="",_.toString().replace(/\/+$/,"")}function QM($,_=process.env){let U=fL($),W=lW(_,U.modeKeys),J=lW(_,U.apiUrlKeys),X=lW(_,U.apiKeyKeys),G="local",Q=null,Y="default",j=[];if(W){let L=JM(W.value);if(G=L.mode,Q=L.deprecatedAlias,Y=W.key,Q)j.push(`Deprecated mode '${Q}' from ${W.key} is treated as 'cloud'. Prefer ${U.modeKeys[0]}=cloud.`)}else if(J&&X)G="cloud",Y=`${J.key}+${X.key}`;if(G==="local")return{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(X),apiKeySource:X?X.key:null,misconfigured:!1,warning:j.length>0?j.join(" "):null};if(!X)return j.push(`${Y}=cloud but no API key is set (${U.apiKeyKeys[0]}). Refusing to route to cloud; using local store. Set ${U.apiKeyKeys[0]} to enable the cloud client.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,misconfigured:!0,warning:j.join(" ")};let O=J?.value??XM($),B=J?J.key:"default",V;try{V=GM(O)}catch(L){let N=L instanceof Error?L.message:String(L);return j.push(`Invalid API URL from ${B}: ${N}. Using local store.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!0,warning:j.join(" ")}}return{transport:"cloud-http",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:V,apiUrlSource:B,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!1,warning:j.length>0?j.join(" "):null}}class pW extends Error{status;method;path;body;constructor($,_,U,W){super(`Hasna cloud request failed: ${$} ${_} -> ${U}`);this.name="HasnaHttpError",this.status=U,this.method=$,this.path=_,this.body=W}}var YM=[408,425,429,500,502,503,504],jM=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]);function DM($,_){if(!_)return $;let U=_ instanceof URLSearchParams?_:new URLSearchParams;if(!(_ instanceof URLSearchParams))for(let[J,X]of Object.entries(_)){if(X===null||X===void 0)continue;if(Array.isArray(X))for(let G of X)U.append(J,String(G));else U.append(J,String(X))}let W=U.toString();if(!W)return $;return`${$}${$.includes("?")?"&":"?"}${W}`}var zM=($)=>new Promise((_)=>setTimeout(_,$));function qM($){let _=$.fetchImpl??((j,O)=>fetch(j,O)),U=$.baseUrl.replace(/\/+$/,""),W=$.timeoutMs??30000,J=$.sleepImpl??zM,X=$.retry;function G(j){let O=j!==void 0?j:X;if(O===!1)return null;let B=O??{};return{retries:B.retries??2,baseDelayMs:B.baseDelayMs??200,maxDelayMs:B.maxDelayMs??2000,retryStatuses:B.retryStatuses??[...YM]}}async function Q(j,O,B,V,L){let N={"x-api-key":$.apiKey,Authorization:`Bearer ${$.apiKey}`,Accept:"application/json",...$.headers??{},...L.headers??{}};if(L.idempotencyKey)N["Idempotency-Key"]=L.idempotencyKey;let H={method:j,headers:N};if(V!==void 0)N["Content-Type"]="application/json",H.body=JSON.stringify(V);let R=new AbortController,E=()=>R.abort();if(L.signal)if(L.signal.aborted)R.abort();else L.signal.addEventListener("abort",E,{once:!0});let A=setTimeout(()=>R.abort(),L.timeoutMs??W);H.signal=R.signal;let M;try{M=await _(B,H)}catch(Z){let k=Z instanceof Error?Z:Error(String(Z));if(L.signal?.aborted)return{ok:!1,retryable:!1,error:k};return{ok:!1,retryable:!0,error:k}}finally{if(clearTimeout(A),L.signal)L.signal.removeEventListener("abort",E)}let K=await M.text(),I=void 0;if(K.length>0)try{I=JSON.parse(K)}catch{I=K}if(!M.ok){let Z=G(L.retry);return{ok:!1,retryable:Z?Z.retryStatuses.includes(M.status):!1,error:new pW(j,O,M.status,I)}}return{ok:!0,value:I}}async function Y(j,O,B,V={}){let L=j.toUpperCase(),N=DM(O.startsWith("/")?O:`/${O}`,V.query),H=`${U}${N}`,R=G(V.retry),E=jM.has(L)||Boolean(V.idempotencyKey),A=R&&E?R.retries+1:1,M=null;for(let K=1;K<=A;K++){let I=await Q(L,N,H,B,V);if(I.ok)return I.value;if(M=I,!(R!==null&&E&&I.retryable&&K<A))break;let k=Math.min(R.maxDelayMs,R.baseDelayMs*2**(K-1)),i=Math.floor(Math.random()*(k/2+1));await J(k+i)}throw M.error}return{baseUrl:U,request:Y,get:(j,O)=>Y("GET",j,void 0,O),post:(j,O,B)=>Y("POST",j,O,B),put:(j,O,B)=>Y("PUT",j,O,B),patch:(j,O,B)=>Y("PATCH",j,O,B),del:(j,O,B)=>Y("DELETE",j,O,B)}}function OM($,_=process.env,U){let W=QM($,_);if(W.misconfigured)throw Error(W.warning??`Client for '${$}' is misconfigured for cloud mode.`);if(W.transport==="local"||!W.baseUrl)return{transport:"local",client:null,resolution:W};let J=fL($),X=lW(_,J.apiKeyKeys)?.value;if(!X)throw Error(`Client for '${$}' resolved to cloud-http without an API key.`);return{transport:"cloud-http",client:qM({name:$,baseUrl:W.baseUrl,apiKey:X,...U?.fetchImpl?{fetchImpl:U.fetchImpl}:{},...U?.headers?{headers:U.headers}:{},...U?.timeoutMs?{timeoutMs:U.timeoutMs}:{},...U?.retry!==void 0?{retry:U.retry}:{},...U?.sleepImpl?{sleepImpl:U.sleepImpl}:{}}),resolution:W}}function G5($){let _=$.replace(/^\/+|\/+$/g,"");if(!_)throw Error("resource must be a non-empty path segment");return`/${_}`}function _5($,_){if(_===void 0||_===null||`${_}`.length===0)throw Error("id must be a non-empty string");return`${G5($)}/${encodeURIComponent(String(_))}`}function LM(){let $=globalThis;if($.crypto?.randomUUID)return $.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function NM($){if(Array.isArray($))return $;if($&&typeof $==="object"){let _=$;for(let U of["items","data","results","rows","records"])if(Array.isArray(_[U]))return _[U]}return[]}function BM($){if($&&typeof $==="object"){let _=$;for(let U of["total","count","totalCount","total_count"])if(typeof _[U]==="number")return _[U]}return null}function HM($){if($&&typeof $==="object"){let _=$;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof _[U]==="string")return _[U]}return null}function VM($,_){return{name:$,baseUrl:_.baseUrl,transport:_,async list(U,W={}){let J=await _.get(G5(U),W);return{items:NM(J),total:BM(J),cursor:HM(J),raw:J}},async get(U,W,J={}){try{return await _.get(_5(U,W),J)}catch(X){if(X instanceof pW&&X.status===404)return null;throw X}},async create(U,W,J={}){let{idempotencyKey:X,...G}=J;return _.post(G5(U),W,{...G,idempotencyKey:X??LM()})},async update(U,W,J,X={}){let{method:G="PATCH",idempotencyKey:Q,...Y}=X;return(G==="PUT"?_.put:_.patch)(_5(U,W),J,{...Y,...Q?{idempotencyKey:Q}:{}})},async delete(U,W,J={}){try{await _.del(_5(U,W),void 0,J)}catch(X){if(X instanceof pW&&X.status===404)return;throw X}}}}function z5($,_=process.env,U){let W=OM($,_,U);if(W.transport==="cloud-http")return{transport:"cloud-http",client:VM($,W.client)};return{transport:"local",client:null}}var RM=Object.defineProperty,AM=($)=>$;function EM($,_){this[$]=AM.bind(null,_)}var FM=($,_)=>{for(var U in _)RM($,U,{get:_[U],enumerable:!0,configurable:!0,set:EM.bind(_,U)})},z={};FM(z,{void:()=>GI,util:()=>I$,unknown:()=>WI,union:()=>DI,undefined:()=>_I,tuple:()=>OI,transformer:()=>SL,symbol:()=>$I,string:()=>nL,strictObject:()=>jI,setErrorMap:()=>MM,set:()=>BI,record:()=>LI,quotelessJson:()=>KM,promise:()=>FI,preprocess:()=>MI,pipeline:()=>II,ostring:()=>gI,optional:()=>KI,onumber:()=>wI,oboolean:()=>kI,objectUtil:()=>N5,object:()=>YI,number:()=>lL,nullable:()=>bI,null:()=>UI,never:()=>XI,nativeEnum:()=>EI,nan:()=>aM,map:()=>NI,makeIssue:()=>sW,literal:()=>RI,lazy:()=>VI,late:()=>oM,isValid:()=>N0,isDirty:()=>H5,isAsync:()=>xU,isAborted:()=>B5,intersection:()=>qI,instanceof:()=>tM,getParsedType:()=>s6,getErrorMap:()=>aW,function:()=>HI,enum:()=>AI,effect:()=>SL,discriminatedUnion:()=>zI,defaultErrorMap:()=>t1,datetimeRegex:()=>uL,date:()=>eM,custom:()=>cL,coerce:()=>PI,boolean:()=>iL,bigint:()=>sM,array:()=>QI,any:()=>JI,addIssueToContext:()=>x,ZodVoid:()=>uU,ZodUnknown:()=>w4,ZodUnion:()=>$2,ZodUndefined:()=>s1,ZodType:()=>A$,ZodTuple:()=>C6,ZodTransformer:()=>i_,ZodSymbol:()=>mU,ZodString:()=>G6,ZodSet:()=>V0,ZodSchema:()=>A$,ZodRecord:()=>dU,ZodReadonly:()=>Q2,ZodPromise:()=>R0,ZodPipeline:()=>lU,ZodParsedType:()=>n,ZodOptional:()=>Y6,ZodObject:()=>e$,ZodNumber:()=>k4,ZodNullable:()=>e6,ZodNull:()=>e1,ZodNever:()=>f6,ZodNativeEnum:()=>W2,ZodNaN:()=>nU,ZodMap:()=>cU,ZodLiteral:()=>J2,ZodLazy:()=>U2,ZodIssueCode:()=>C,ZodIntersection:()=>_2,ZodFunction:()=>o1,ZodFirstPartyTypeKind:()=>G$,ZodError:()=>v_,ZodEnum:()=>f4,ZodEffects:()=>i_,ZodDiscriminatedUnion:()=>eW,ZodDefault:()=>X2,ZodDate:()=>B0,ZodCatch:()=>G2,ZodBranded:()=>$X,ZodBoolean:()=>a1,ZodBigInt:()=>P4,ZodArray:()=>Q6,ZodAny:()=>H0,Schema:()=>A$,ParseStatus:()=>L_,OK:()=>K_,NEVER:()=>fI,INVALID:()=>J$,EMPTY_PATH:()=>IM,DIRTY:()=>p1,BRAND:()=>pM});var I$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(I$||(I$={}));var N5;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(N5||(N5={}));var n=I$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),s6=($)=>{switch(typeof $){case"undefined":return n.undefined;case"string":return n.string;case"number":return Number.isNaN($)?n.nan:n.number;case"boolean":return n.boolean;case"function":return n.function;case"bigint":return n.bigint;case"symbol":return n.symbol;case"object":if(Array.isArray($))return n.array;if($===null)return n.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return n.promise;if(typeof Map<"u"&&$ instanceof Map)return n.map;if(typeof Set<"u"&&$ instanceof Set)return n.set;if(typeof Date<"u"&&$ instanceof Date)return n.date;return n.object;default:return n.unknown}},C=I$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),KM=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class v_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof v_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,I$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}v_.create=($)=>{return new v_($)};var bM=($,_)=>{let U;switch($.code){case C.invalid_type:if($.received===n.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case C.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,I$.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:U=`Unrecognized key(s) in object: ${I$.joinValues($.keys,", ")}`;break;case C.invalid_union:U="Invalid input";break;case C.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${I$.joinValues($.options)}`;break;case C.invalid_enum_value:U=`Invalid enum value. Expected ${I$.joinValues($.options)}, received '${$.received}'`;break;case C.invalid_arguments:U="Invalid function arguments";break;case C.invalid_return_type:U="Invalid function return type";break;case C.invalid_date:U="Invalid date";break;case C.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else I$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case C.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case C.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case C.custom:U="Invalid input";break;case C.invalid_intersection_types:U="Intersection results could not be merged";break;case C.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case C.not_finite:U="Number must be finite";break;default:U=_.defaultError,I$.assertNever($)}return{message:U}},t1=bM,hL=t1;function MM($){hL=$}function aW(){return hL}var sW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},IM=[];function x($,_){let U=aW(),W=sW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===t1?void 0:t1].filter((J)=>!!J)});$.common.issues.push(W)}class L_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return J$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return L_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return J$;if(X.status==="aborted")return J$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var J$=Object.freeze({status:"aborted"}),p1=($)=>({status:"dirty",value:$}),K_=($)=>({status:"valid",value:$}),B5=($)=>$.status==="aborted",H5=($)=>$.status==="dirty",N0=($)=>$.status==="valid",xU=($)=>typeof Promise<"u"&&$ instanceof Promise,s;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(s||(s={}));class j6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var CL=($,_)=>{if(N0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new v_($.common.issues);return this._error=U,this._error}}}};function N$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class A${get description(){return this._def.description}_getType($){return s6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new L_,ctx:{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(xU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parseSync({data:$,path:U.path,parent:U});return CL(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return N0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>N0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(xU(W)?W:Promise.resolve(W));return CL(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:C.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new i_({schema:this,typeName:G$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return Y6.create(this,this._def)}nullable(){return e6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Q6.create(this)}promise(){return R0.create(this,this._def)}or($){return $2.create([this,$],this._def)}and($){return _2.create(this,$,this._def)}transform($){return new i_({...N$(this._def),schema:this,typeName:G$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new X2({...N$(this._def),innerType:this,defaultValue:_,typeName:G$.ZodDefault})}brand(){return new $X({typeName:G$.ZodBranded,type:this,...N$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new G2({...N$(this._def),innerType:this,catchValue:_,typeName:G$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return lU.create(this,$)}readonly(){return Q2.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var gM=/^c[^\s-]{8,}$/i,wM=/^[0-9a-z]+$/,kM=/^[0-9A-HJKMNP-TV-Z]{26}$/i,PM=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,fM=/^[a-z0-9_-]{21}$/i,CM=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,TM=/^[-+]?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)?)??$/,SM=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ZM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",q5,vM=/^(?:(?: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])$/,yM=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,hM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,xM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mM=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,uM=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,xL="((\\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])))",dM=new RegExp(`^${xL}$`);function mL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function cM($){return new RegExp(`^${mL($)}$`)}function uL($){let _=`${xL}T${mL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function nM($,_){if((_==="v4"||!_)&&vM.test($))return!0;if((_==="v6"||!_)&&hM.test($))return!0;return!1}function lM($,_){if(!CM.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function iM($,_){if((_==="v4"||!_)&&yM.test($))return!0;if((_==="v6"||!_)&&xM.test($))return!0;return!1}class G6 extends A${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==n.string){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.string,received:J.parsedType}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)x(W,{code:C.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!SM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"email",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!q5)q5=new RegExp(ZM,"u");if(!q5.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"emoji",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!PM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"uuid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!fM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"nanoid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!gM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"cuid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!wM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"cuid2",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!kM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"ulid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),x(W,{validation:"url",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"regex",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!uL(J).test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!dM.test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!cM(J).test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!TM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"duration",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!nM($.data,J.version))W=this._getOrReturnCtx($,W),x(W,{validation:"ip",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!lM($.data,J.alg))W=this._getOrReturnCtx($,W),x(W,{validation:"jwt",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!iM($.data,J.version))W=this._getOrReturnCtx($,W),x(W,{validation:"cidr",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!mM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"base64",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!uM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"base64url",code:C.invalid_string,message:J.message}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:C.invalid_string,...s.errToObj(U)})}_addCheck($){return new G6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...s.errToObj($)})}url($){return this._addCheck({kind:"url",...s.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...s.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...s.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...s.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...s.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...s.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...s.errToObj($)})}base64($){return this._addCheck({kind:"base64",...s.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...s.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...s.errToObj($)})}ip($){return this._addCheck({kind:"ip",...s.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...s.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...s.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...s.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...s.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...s.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...s.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...s.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...s.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...s.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...s.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...s.errToObj(_)})}nonempty($){return this.min(1,s.errToObj($))}trim(){return new G6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}G6.create=($)=>{return new G6({checks:[],typeName:G$.ZodString,coerce:$?.coerce??!1,...N$($)})};function rM($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class k4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==n.number){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.number,received:J.parsedType}),J$}let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="int"){if(!I$.isInteger($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(rM($.data,J.value)!==0)U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.not_finite,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new k4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new k4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:s.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}finite($){return this._addCheck({kind:"finite",message:s.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&I$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}k4.create=($)=>{return new k4({checks:[],typeName:G$.ZodNumber,coerce:$?.coerce||!1,...N$($)})};class P4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==n.bigint)return this._getInvalidInput($);let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:n.bigint,received:_.parsedType}),J$}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new P4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new P4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}P4.create=($)=>{return new P4({checks:[],typeName:G$.ZodBigInt,coerce:$?.coerce??!1,...N$($)})};class a1 extends A${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==n.boolean){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.boolean,received:U.parsedType}),J$}return K_($.data)}}a1.create=($)=>{return new a1({typeName:G$.ZodBoolean,coerce:$?.coerce||!1,...N$($)})};class B0 extends A${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==n.date){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.date,received:J.parsedType}),J$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_date}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new B0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:s.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:s.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}B0.create=($)=>{return new B0({checks:[],coerce:$?.coerce||!1,typeName:G$.ZodDate,...N$($)})};class mU extends A${_parse($){if(this._getType($)!==n.symbol){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.symbol,received:U.parsedType}),J$}return K_($.data)}}mU.create=($)=>{return new mU({typeName:G$.ZodSymbol,...N$($)})};class s1 extends A${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.undefined,received:U.parsedType}),J$}return K_($.data)}}s1.create=($)=>{return new s1({typeName:G$.ZodUndefined,...N$($)})};class e1 extends A${_parse($){if(this._getType($)!==n.null){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.null,received:U.parsedType}),J$}return K_($.data)}}e1.create=($)=>{return new e1({typeName:G$.ZodNull,...N$($)})};class H0 extends A${constructor(){super(...arguments);this._any=!0}_parse($){return K_($.data)}}H0.create=($)=>{return new H0({typeName:G$.ZodAny,...N$($)})};class w4 extends A${constructor(){super(...arguments);this._unknown=!0}_parse($){return K_($.data)}}w4.create=($)=>{return new w4({typeName:G$.ZodUnknown,...N$($)})};class f6 extends A${_parse($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:n.never,received:_.parsedType}),J$}}f6.create=($)=>{return new f6({typeName:G$.ZodNever,...N$($)})};class uU extends A${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.void,received:U.parsedType}),J$}return K_($.data)}}uU.create=($)=>{return new uU({typeName:G$.ZodVoid,...N$($)})};class Q6 extends A${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==n.array)return x(_,{code:C.invalid_type,expected:n.array,received:_.parsedType}),J$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)x(_,{code:X?C.too_big:C.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)x(_,{code:C.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)x(_,{code:C.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new j6(_,X,_.path,G))})).then((X)=>{return L_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new j6(_,X,_.path,G))});return L_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new Q6({...this._def,minLength:{value:$,message:s.toString(_)}})}max($,_){return new Q6({...this._def,maxLength:{value:$,message:s.toString(_)}})}length($,_){return new Q6({...this._def,exactLength:{value:$,message:s.toString(_)}})}nonempty($){return this.min(1,$)}}Q6.create=($,_)=>{return new Q6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:G$.ZodArray,...N$(_)})};function r1($){if($ instanceof e$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=Y6.create(r1(W))}return new e$({...$._def,shape:()=>_})}else if($ instanceof Q6)return new Q6({...$._def,type:r1($.element)});else if($ instanceof Y6)return Y6.create(r1($.unwrap()));else if($ instanceof e6)return e6.create(r1($.unwrap()));else if($ instanceof C6)return C6.create($.items.map((_)=>r1(_)));else return $}class e$ extends A${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=I$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==n.object){let Y=this._getOrReturnCtx($);return x(Y,{code:C.invalid_type,expected:n.object,received:Y.parsedType}),J$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof f6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new j6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof f6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)x(W,{code:C.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new j6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return L_.mergeObjectSync(U,Y)});else return L_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return s.errToObj,new e$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:s.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new e$({...this._def,unknownKeys:"strip"})}passthrough(){return new e$({...this._def,unknownKeys:"passthrough"})}extend($){return new e$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new e$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:G$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new e$({...this._def,catchall:$})}pick($){let _={};for(let U of I$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}omit($){let _={};for(let U of I$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}deepPartial(){return r1(this)}partial($){let _={};for(let U of I$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new e$({...this._def,shape:()=>_})}required($){let _={};for(let U of I$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof Y6)J=J._def.innerType;_[U]=J}return new e$({...this._def,shape:()=>_})}keyof(){return dL(I$.objectKeys(this.shape))}}e$.create=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strip",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};e$.strictCreate=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strict",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};e$.lazycreate=($,_)=>{return new e$({shape:$,unknownKeys:"strip",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};class $2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new v_(G.ctx.common.issues));return x(_,{code:C.invalid_union,unionErrors:X}),J$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new v_(Q));return x(_,{code:C.invalid_union,unionErrors:G}),J$}}get options(){return this._def.options}}$2.create=($,_)=>{return new $2({options:$,typeName:G$.ZodUnion,...N$(_)})};var a6=($)=>{if($ instanceof U2)return a6($.schema);else if($ instanceof i_)return a6($.innerType());else if($ instanceof J2)return[$.value];else if($ instanceof f4)return $.options;else if($ instanceof W2)return I$.objectValues($.enum);else if($ instanceof X2)return a6($._def.innerType);else if($ instanceof s1)return[void 0];else if($ instanceof e1)return[null];else if($ instanceof Y6)return[void 0,...a6($.unwrap())];else if($ instanceof e6)return[null,...a6($.unwrap())];else if($ instanceof $X)return a6($.unwrap());else if($ instanceof Q2)return a6($.unwrap());else if($ instanceof G2)return a6($._def.innerType);else return[]};class eW extends A${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.object)return x(_,{code:C.invalid_type,expected:n.object,received:_.parsedType}),J$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return x(_,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),J$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=a6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new eW({typeName:G$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...N$(U)})}}function V5($,_){let U=s6($),W=s6(_);if($===_)return{valid:!0,data:$};else if(U===n.object&&W===n.object){let J=I$.objectKeys(_),X=I$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=V5($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===n.array&&W===n.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=V5(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===n.date&&W===n.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class _2 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(B5(J)||B5(X))return J$;let G=V5(J.value,X.value);if(!G.valid)return x(U,{code:C.invalid_intersection_types}),J$;if(H5(J)||H5(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}_2.create=($,_,U)=>{return new _2({left:$,right:_,typeName:G$.ZodIntersection,...N$(U)})};class C6 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.array)return x(U,{code:C.invalid_type,expected:n.array,received:U.parsedType}),J$;if(U.data.length<this._def.items.length)return x(U,{code:C.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J$;if(!this._def.rest&&U.data.length>this._def.items.length)x(U,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new j6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return L_.mergeArray(_,X)});else return L_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new C6({...this._def,rest:$})}}C6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new C6({items:$,typeName:G$.ZodTuple,rest:null,...N$(_)})};class dU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.object)return x(U,{code:C.invalid_type,expected:n.object,received:U.parsedType}),J$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new j6(U,G,U.path,G)),value:X._parse(new j6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return L_.mergeObjectAsync(_,W);else return L_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof A$)return new dU({keyType:$,valueType:_,typeName:G$.ZodRecord,...N$(U)});return new dU({keyType:G6.create(),valueType:$,typeName:G$.ZodRecord,...N$(_)})}}class cU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.map)return x(U,{code:C.invalid_type,expected:n.map,received:U.parsedType}),J$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new j6(U,G,U.path,[Y,"key"])),value:J._parse(new j6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}cU.create=($,_,U)=>{return new cU({valueType:_,keyType:$,typeName:G$.ZodMap,...N$(U)})};class V0 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.set)return x(U,{code:C.invalid_type,expected:n.set,received:U.parsedType}),J$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)x(U,{code:C.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)x(U,{code:C.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return J$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new j6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new V0({...this._def,minSize:{value:$,message:s.toString(_)}})}max($,_){return new V0({...this._def,maxSize:{value:$,message:s.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}V0.create=($,_)=>{return new V0({valueType:$,minSize:null,maxSize:null,typeName:G$.ZodSet,...N$(_)})};class o1 extends A${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.function)return x(_,{code:C.invalid_type,expected:n.function,received:_.parsedType}),J$;function U(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),t1].filter((Y)=>!!Y),issueData:{code:C.invalid_arguments,argumentsError:Q}})}function W(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),t1].filter((Y)=>!!Y),issueData:{code:C.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof R0){let G=this;return K_(async function(...Q){let Y=new v_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return K_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new v_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new v_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new o1({...this._def,args:C6.create($).rest(w4.create())})}returns($){return new o1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new o1({args:$?$:C6.create([]).rest(w4.create()),returns:_||w4.create(),typeName:G$.ZodFunction,...N$(U)})}}class U2 extends A${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}U2.create=($,_)=>{return new U2({getter:$,typeName:G$.ZodLazy,...N$(_)})};class J2 extends A${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return x(_,{received:_.data,code:C.invalid_literal,expected:this._def.value}),J$}return{status:"valid",value:$.data}}get value(){return this._def.value}}J2.create=($,_)=>{return new J2({value:$,typeName:G$.ZodLiteral,...N$(_)})};function dL($,_){return new f4({values:$,typeName:G$.ZodEnum,...N$(_)})}class f4 extends A${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{expected:I$.joinValues(U),received:_.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{received:_.data,code:C.invalid_enum_value,options:U}),J$}return K_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return f4.create($,{...this._def,..._})}exclude($,_=this._def){return f4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}f4.create=dL;class W2 extends A${_parse($){let _=I$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==n.string&&U.parsedType!==n.number){let W=I$.objectValues(_);return x(U,{expected:I$.joinValues(W),received:U.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(I$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=I$.objectValues(_);return x(U,{received:U.data,code:C.invalid_enum_value,options:W}),J$}return K_($.data)}get enum(){return this._def.values}}W2.create=($,_)=>{return new W2({values:$,typeName:G$.ZodNativeEnum,...N$(_)})};class R0 extends A${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.promise&&_.common.async===!1)return x(_,{code:C.invalid_type,expected:n.promise,received:_.parsedType}),J$;let U=_.parsedType===n.promise?_.data:Promise.resolve(_.data);return K_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}R0.create=($,_)=>{return new R0({type:$,typeName:G$.ZodPromise,...N$(_)})};class i_ extends A${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===G$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(x(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return J$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return J$;if(Q.status==="dirty")return p1(Q.value);if(_.value==="dirty")return p1(Q.value);return Q});else{if(_.value==="aborted")return J$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")return p1(G.value);if(_.value==="dirty")return p1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!N0(X))return J$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!N0(X))return J$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});I$.assertNever(W)}}i_.create=($,_,U)=>{return new i_({schema:$,typeName:G$.ZodEffects,effect:_,...N$(U)})};i_.createWithPreprocess=($,_,U)=>{return new i_({schema:_,effect:{type:"preprocess",transform:$},typeName:G$.ZodEffects,...N$(U)})};class Y6 extends A${_parse($){if(this._getType($)===n.undefined)return K_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}Y6.create=($,_)=>{return new Y6({innerType:$,typeName:G$.ZodOptional,...N$(_)})};class e6 extends A${_parse($){if(this._getType($)===n.null)return K_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}e6.create=($,_)=>{return new e6({innerType:$,typeName:G$.ZodNullable,...N$(_)})};class X2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===n.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}X2.create=($,_)=>{return new X2({innerType:$,typeName:G$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...N$(_)})};class G2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(xU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}G2.create=($,_)=>{return new G2({innerType:$,typeName:G$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...N$(_)})};class nU extends A${_parse($){if(this._getType($)!==n.nan){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.nan,received:U.parsedType}),J$}return{status:"valid",value:$.data}}}nU.create=($)=>{return new nU({typeName:G$.ZodNaN,...N$($)})};var pM=Symbol("zod_brand");class $X extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class lU extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return J$;if(J.status==="dirty")return _.dirty(),p1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return J$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new lU({in:$,out:_,typeName:G$.ZodPipeline})}}class Q2 extends A${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(N0(W))W.value=Object.freeze(W.value);return W};return xU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}Q2.create=($,_)=>{return new Q2({innerType:$,typeName:G$.ZodReadonly,...N$(_)})};function TL($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function cL($,_={},U){if($)return H0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=TL(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=TL(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return H0.create()}var oM={object:e$.lazycreate},G$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(G$||(G$={}));var tM=($,_={message:`Input not instance of ${$.name}`})=>cL((U)=>U instanceof $,_),nL=G6.create,lL=k4.create,aM=nU.create,sM=P4.create,iL=a1.create,eM=B0.create,$I=mU.create,_I=s1.create,UI=e1.create,JI=H0.create,WI=w4.create,XI=f6.create,GI=uU.create,QI=Q6.create,YI=e$.create,jI=e$.strictCreate,DI=$2.create,zI=eW.create,qI=_2.create,OI=C6.create,LI=dU.create,NI=cU.create,BI=V0.create,HI=o1.create,VI=U2.create,RI=J2.create,AI=f4.create,EI=W2.create,FI=R0.create,SL=i_.create,KI=Y6.create,bI=e6.create,MI=i_.createWithPreprocess,II=lU.create,gI=()=>nL().optional(),wI=()=>lL().optional(),kI=()=>iL().optional(),PI={string:($)=>G6.create({...$,coerce:!0}),number:($)=>k4.create({...$,coerce:!0}),boolean:($)=>a1.create({...$,coerce:!0}),bigint:($)=>P4.create({...$,coerce:!0}),date:($)=>B0.create({...$,coerce:!0})},fI=J$;var a={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},rL=z.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),y_=z.string().datetime(),j$=z.string().trim().min(1),$4=j$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),pL=z.string().regex(/^[a-fA-F0-9]{64}$/),oL=z.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),_4=z.record(z.unknown()),D2=z.array(z.string().min(1)).default([]),A0=y_.nullable().optional(),CI=new Set(["succeeded","failed","cancelled","blocked","skipped"]),F0=z.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function v$($){return z.object({schema:z.literal($),id:z.string().min(1),createdAt:y_,updatedAt:A0,metadata:_4.optional()}).strict()}var $n=z.object({schema:rL,id:z.string().min(1),createdAt:y_,updatedAt:A0,metadata:_4.optional()}).strict(),tL=z.enum(["agent","human","service","model","workflow","system"]),TI=v$(a.actorRef).extend({kind:tL,name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional(),capabilities:z.array(z.string().min(1)).default([])}).strict(),T6=z.object({kind:tL,id:z.string().min(1),name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional()}).strict(),aL=z.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),SI=v$(a.resourceRef).extend({kind:aL,name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:D2}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),R$=z.object({kind:aL,id:z.string().min(1),name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:D2}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),R5=z.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),ZI=z.enum(["none","partial","full","unknown"]),vI=v$(a.evidenceRef).extend({kind:R5,uri:$4,sha256:pL.optional(),summary:z.string().min(1).optional(),contentType:z.string().min(1).optional(),sizeBytes:z.number().int().nonnegative().optional(),redaction:ZI.default("unknown"),producer:T6.optional(),resourceRefs:z.array(R$).default([]),tags:D2}).strict(),l$=z.object({id:z.string().min(1),kind:R5.optional(),uri:$4.optional(),sha256:pL.optional(),summary:z.string().min(1).optional()}).strict(),iU=v$(a.costEstimate).extend({currency:z.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:z.number().int().nonnegative(),provider:z.string().min(1).optional(),model:z.string().min(1).optional(),accountId:z.string().min(1).optional(),promptTokens:z.number().int().nonnegative().optional(),completionTokens:z.number().int().nonnegative().optional(),totalTokens:z.number().int().nonnegative().optional(),basis:z.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:z.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),yI=z.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),sL=v$(a.decisionEnvelope).extend({decisionType:z.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:yI,actor:T6.optional(),traceId:z.string().min(1).optional(),inputHash:oL.optional(),policyBundleId:z.string().min(1).optional(),selected:z.array(R$).default([]),skipped:z.array(R$).default([]),reason:z.string().min(1),obligations:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),costEstimate:iU.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),hI=v$(a.capabilityCard).extend({kind:z.enum(["model","tool","machine","agent","lane","connector","service"]),name:z.string().min(1),version:z.string().min(1).optional(),status:z.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:z.array(z.string().min(1)).default([]),limitations:z.array(z.string().min(1)).default([]),riskLevel:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:iU.optional(),evidenceRefs:z.array(l$).default([])}).strict(),Y2=z.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),xI=z.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),mI=z.object({refName:j$,requiredForModes:z.array(Y2).min(1),allowedSecretInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:j$,revocationCheck:z.boolean().default(!0)}).strict(),uI=z.object({operation:j$,supportedModes:z.array(Y2).min(1),sideEffectClass:xI,requiresApproval:z.boolean().default(!1),requiresIdempotencyKey:z.boolean().default(!1),requiresSandboxEvidence:z.boolean().default(!1),requiresRollbackOrRevocation:z.boolean().default(!1),rollbackOrRevocation:j$.optional(),noSideEffectSmoke:j$.optional(),reconciliation:j$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),dI=z.object({providerId:j$,appId:j$,adapterId:j$,ownerPackage:j$,modes:z.array(Y2).min(1),defaultMode:Y2,credentialRequirements:z.array(mI).default([]),operations:z.array(uI).min(1),rateLimitPosture:j$,costPosture:j$.optional(),auditEvents:z.array(j$).default([]),redactionRules:z.array(j$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:z.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),cI=z.object({appId:j$,repo:j$,priority:z.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:z.array(j$).min(1),firstOperations:z.array(j$).min(1),blockedUntil:z.array(j$).default([])}).strict(),nI=v$(a.providerLiveModeStandard).extend({name:j$,version:j$,modes:z.array(Y2).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:z.array(j$).min(1),liveMutationGate:z.object({requiredMode:z.literal("live_mutating"),requiredChecks:z.array(j$).min(1),forbiddenBypassSignals:z.array(j$).min(1),disabledLiveSmoke:j$}).strict(),noSideEffectSmoke:z.object({requiredForModes:z.array(Y2).min(1),commandEvidence:z.array(j$).min(1),secretOutputScan:z.boolean().default(!0)}).strict(),credentialPolicy:z.object({acceptedInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:z.literal(!1),missingCredentialBehavior:z.literal("fail_closed"),revocationCheckRequired:z.boolean().default(!0)}).strict(),operationCards:z.array(dI).min(1),firstAdoptionTargets:z.array(cI).min(1),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),lI=z.object({id:z.string().min(1),title:z.string().min(1).optional(),summary:z.string().min(1),text:z.string().optional(),tokens:z.number().int().nonnegative().optional(),source:l$,resourceRefs:z.array(R$).default([])}).strict(),eL=v$(a.contextPack).extend({objective:z.string().min(1),budget:z.object({maxTokens:z.number().int().positive().optional(),maxBytes:z.number().int().positive().optional()}).strict().optional(),items:z.array(lI).default([]),citations:z.array(l$).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),permissions:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),conflicts:z.array(z.string().min(1)).default([]),uncertainty:z.string().min(1).optional()}).strict(),X6=j$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),E0=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),iI=z.enum(["public","internal","private","sensitive"]),rI=z.enum(["draft","active","paused","archived"]),A5=z.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),$N=v$(a.integrationRef).extend({kind:A5,name:z.string().min(1),projectId:E0.optional(),sourcePackage:j$.optional(),externalId:j$.optional(),uri:$4.optional(),enabled:z.boolean().default(!0),readOnly:z.boolean().default(!0),capabilities:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:R$.optional(),evidenceRefs:z.array(l$).default([]),config:_4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),pI=z.object({schemaRoot:X6.default(".hasna/project"),dashboardManifest:X6.default(".hasna/project/dashboard.render.json"),snapshotsDir:X6.default(".hasna/project/snapshots"),documentsDir:X6.default("documents"),reportsDir:X6.default("reports"),evidenceDir:X6.default(".hasna/project/evidence"),privateDir:X6.default(".hasna/project/private")}).strict(),oI=v$(a.projectManifest).extend({projectId:E0,slug:E0,name:z.string().min(1),summary:z.string().min(1).optional(),status:rI.default("active"),classification:iI.default("private"),owner:T6.optional(),layout:pI.default({}),integrations:z.array($N).default([]),renderManifests:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),tags:D2}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:z.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),tI=z.enum(["local","package","provider","url"]),E5=z.object({id:z.string().min(1),kind:tI,specifier:z.string().min(1),path:X6.optional(),packageName:z.string().min(1).optional(),uri:$4.optional(),provider:A5.optional(),schemaId:rL.optional(),integrity:oL.optional(),resourceRef:R$.optional(),optional:z.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:z.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:z.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:z.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),aI=z.enum(["dashboard","canvas","panel","report","document","custom"]),sI=z.object({id:z.string().min(1),title:z.string().min(1),kind:aI,default:z.boolean().default(!1),entry:X6.optional(),imports:z.array(E5).default([]),panelRefs:z.array(R$).default([]),dataRefs:z.array(R$).default([]),layout:_4.optional()}).strict(),eI=v$(a.renderManifest).extend({projectId:E0,name:z.string().min(1),version:z.string().min(1),manifestPath:X6.default(".hasna/project/dashboard.render.json"),renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:z.array(sI).min(1),imports:z.array(E5).default([]),theme:_4.optional(),compatibility:z.object({minProjectsVersion:z.string().min(1).optional(),minContractsVersion:z.string().min(1).optional()}).strict().optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:z.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),$g=z.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),_g=z.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Ug=z.object({id:z.string().min(1),label:z.string().min(1),value:z.union([z.string(),z.number(),z.boolean()]),unit:z.string().min(1).optional(),status:z.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:z.array(R$).default([])}).strict(),Jg=z.object({id:z.string().min(1),title:z.string().min(1),summary:z.string().min(1).optional(),status:z.string().min(1).optional(),priority:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:y_.optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),metadata:_4.optional()}).strict(),Wg=z.object({renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:z.string().min(1).optional(),entry:X6.optional(),imports:z.array(E5).default([]),spec:_4.default({})}).strict(),_N=v$(a.projectPanel).extend({projectId:E0,provider:z.object({kind:A5,id:z.string().min(1),name:z.string().min(1).optional(),sourcePackage:j$.optional(),externalId:j$.optional()}).strict(),kind:_g,title:z.string().min(1),summary:z.string().min(1).optional(),state:$g.default("ready"),stateReason:z.string().min(1).optional(),generatedAt:y_,freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),metrics:z.array(Ug).default([]),items:z.array(Jg).default([]),actions:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),renderFragment:Wg.optional(),warnings:z.array(z.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:z.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),Xg=v$(a.projectSnapshot).extend({projectId:E0,generatedAt:y_,status:F0.default("unknown"),manifestRef:R$,renderManifestRef:R$.optional(),panels:z.array(_N).default([]),contextPacks:z.array(eL).default([]),proofBundleRefs:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),warnings:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),UN=z.object({id:z.string().min(1),kind:z.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),expected:z.string().min(1).optional(),timeoutMs:z.number().int().positive().optional(),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:z.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Gg=v$(a.validationPlan).extend({objective:z.string().min(1),subject:R$.optional(),checks:z.array(UN).min(1),verifier:T6.optional(),requiredEvidenceKinds:z.array(R5).default([])}).strict(),Qg=z.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Yg=z.enum(["draft","active","deprecated","archived"]),jg=z.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Dg=z.object({key:z.string().regex(/^[A-Z][A-Z0-9_]*$/),description:z.string().min(1),required:z.boolean().default(!1),["secret"]:z.boolean().default(!1),group:z.string().min(1).optional(),default:z.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),zg=z.object({name:z.string().min(1),command:z.string().min(1),description:z.string().min(1).optional(),required:z.boolean().default(!1)}).strict(),qg=z.object({packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:z.array(z.string().min(1)).default([]),requiredFiles:z.array(z.string().min(1)).default([]),requiredDirectories:z.array(z.string().min(1)).default([]),optionalDirectories:z.array(z.string().min(1)).default([])}).strict(),Og=v$(a.scaffoldManifest).extend({name:z.string().min(1),version:z.string().min(1),summary:z.string().min(1),type:Qg,status:Yg.default("draft"),capabilities:z.array(jg).default([]),techStack:z.array(z.string().min(1)).default([]),tags:D2,source:R$.optional(),output:qg,env:z.array(Dg).default([]),scripts:z.array(zg).default([]),validationChecks:z.array(UN).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:z.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Lg=z.enum(["installed","failed","cancelled","partial","unknown"]),Ng=v$(a.scaffoldInstallRecord).extend({scaffoldId:z.string().min(1),scaffoldVersion:z.string().min(1).optional(),manifestRef:R$.optional(),target:R$,status:Lg,installedAt:y_.optional(),installer:T6.optional(),packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:_4.optional(),generatedFiles:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),j2=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),F5=z.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),JN=z.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Bg=z.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Hg=j$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Vg=z.enum(["active","stub","deprecated","archived"]),Rg=z.enum(["stable","beta","canary","internal"]),Ag=z.object({transport:z.enum(["http","stdio"]).default("http"),bin:z.string().min(1).optional(),url:$4.optional()}).strict(),Eg=z.object({healthPath:z.string().min(1).default("/health"),port:z.number().int().positive().optional(),baseUrl:$4.optional()}).strict(),Fg=z.object({bins:z.array(z.string().min(1)).default([]),mcp:Ag.optional(),http:Eg.optional()}).strict(),Kg=v$(a.app).extend({appId:j2,npmName:F5,repoFolder:j2,githubUrl:Hg,projectSlug:E0,surfaces:Fg.default({}),lifecycle:Vg,releaseChannel:Rg.default("stable"),summary:z.string().min(1).optional(),tags:D2}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),bg=z.enum(["skill","ci","backfilled"]),Mg=v$(a.release).extend({appId:j2,package:F5,version:JN,gitSha:Bg,publishedAt:y_,publishPath:bg,changelogRef:R$.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Ig=z.enum(["install","update","rollback","freeze-blocked"]),gg=z.object({cliVersion:z.string().min(1).optional(),mcpHealth:z.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),wg=v$(a.rolloutRecord).extend({appId:j2,package:F5,version:JN,machine:j$,action:Ig,result:F0,verifiedBy:gg.optional(),at:y_,evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:z.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),kg=z.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),Pg=z.enum(["pending","queued","sent","failed","skipped","suppressed"]),fg=z.object({channel:kg,status:Pg,deliveredAt:y_.optional(),detail:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Cg=v$(a.announcement).extend({campaignId:j$,appId:j2.optional(),releaseRef:R$.optional(),channels:z.array(fg).min(1),audienceRef:R$,sentAt:y_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Tg=z.enum(["tag","attribute","group"]),Sg=z.enum(["eq","neq","in","not_in","exists","not_exists"]),ZL=z.union([z.string(),z.number(),z.boolean()]),Zg=z.object({kind:Tg,key:z.string().min(1).optional(),op:Sg.default("eq"),value:ZL.optional(),values:z.array(ZL).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:z.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),vg=z.object({match:z.enum(["all","any"]).default("all"),predicates:z.array(Zg).min(1)}).strict(),yg=z.enum(["opt_in","opt_out","transactional","none"]),hg=v$(a.audience).extend({audienceId:j2,name:j$,definition:vg,consentPolicy:yg,suppressionSyncedAt:A0}).strict(),O5=["@hasna/cloud","open-cloud"],xg=z.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),mg=z.object({id:z.string().min(1),provider:xg,kind:z.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:z.string().min(1),region:z.string().min(1).optional(),accountId:z.string().min(1).optional(),uri:$4.optional(),machineScoped:z.boolean().default(!1)}).strict(),WN=v$(a.appCloudManifest).extend({packageName:z.string().min(1),packageVersion:z.string().min(1).optional(),appId:z.string().min(1),repository:R$.optional(),storageMode:z.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:z.enum(["none","app_owned","external_service","local_cache"]),cloudResources:z.array(mg).default([]),localCache:z.object({path:z.string().min(1).optional(),pullMode:z.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:z.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:z.array(z.string().min(1)).default([...O5]),dependencies:z.array(z.string().min(1)).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...O5,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:z.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of O5)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:z.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:z.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),XN=z.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),ug=z.enum(["low","medium","high","critical"]),GN=z.object({id:z.string().min(1),kind:XN,severity:ug,path:z.string().min(1).optional(),packageName:z.string().min(1).optional(),pattern:z.string().min(1),message:z.string().min(1),evidenceRefs:z.array(l$).default([])}).strict(),dg=z.object({id:z.string().min(1),kind:XN,status:F0,target:z.string().min(1),command:z.string().min(1).optional(),evidenceRefs:z.array(l$).default([]),findings:z.array(GN).default([])}).strict(),cg=v$(a.noCloudEvidencePack).extend({subject:R$,packageName:z.string().min(1).optional(),packageVersion:z.string().min(1).optional(),generatedBy:T6.optional(),scanMode:z.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:F0,verdict:z.enum(["passed","failed","warning","not_run"]),appCloudManifest:WN.optional(),checks:z.array(dg).min(1),findings:z.array(GN).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),ng=z.object({checkId:z.string().min(1),status:F0,summary:z.string().min(1).optional(),startedAt:A0,finishedAt:A0,evidenceRefs:z.array(l$).default([])}).strict(),lg=v$(a.proofBundle).extend({subject:R$,validationPlanRef:R$.optional(),status:F0,verdict:z.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:z.array(ng).default([]),verifier:T6.optional(),evidenceRefs:z.array(l$).default([]),residualRisks:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),ig=v$(a.workRun).extend({objective:z.string().min(1),status:F0,actor:T6,traceId:z.string().min(1).optional(),startedAt:A0,finishedAt:A0,constraints:z.array(z.string().min(1)).default([]),resourceRefs:z.array(R$).default([]),decisions:z.array(sL).default([]),costEstimates:z.array(iU).default([]),evidenceRefs:z.array(l$).default([]),validationPlanRefs:z.array(R$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:z.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(CI.has($.status)&&!$.finishedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),rg=z.object({id:z.string().min(1),at:y_,kind:z.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:z.string().min(1),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),costEstimate:iU.optional()}).strict(),pg=v$(a.agentTrajectory).extend({actor:T6,workRunRef:R$.optional(),events:z.array(rg).default([]),outcome:z.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:R$.optional()}).strict(),og="v1",tg=z.enum(["library","cli-with-store","service","saas"]),ag=["local","self-hosted","cloud"],QN=z.enum(ag),sg=z.enum(["supported","deferred","unsupported"]),eg=z.enum(["none","local-only","api-key","session","service-token","custom"]),L5=z.object({method:z.enum(["GET","POST","PUT","PATCH","DELETE"]),path:z.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:z.boolean().default(!1),description:z.string().min(1).optional()}).strict(),$w=z.object({id:z.string().min(1),kind:z.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),evidenceRef:l$.optional(),status:z.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),_w=z.object({name:z.string().min(1),status:sg,bin:z.string().min(1).optional(),mcpBin:z.string().min(1).optional(),authMode:eg,deploymentModes:z.array(QN).min(1),health:L5.optional(),readiness:L5.optional(),version:L5.optional(),apiBasePath:z.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:z.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:z.string().min(1).optional(),readinessGates:z.array($w).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:z.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:z.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:z.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),Uw=["local","cloud"],YN=z.enum(Uw);var Jw=z.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Ww=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Xw($){return Ww.map((_)=>`${$}${_}`)}function vL($){return`hasna/oss/${$}/database-url`}var Gw=z.object({mode:YN,envPrefix:z.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:z.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:z.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:z.string().min(1).optional()}).strict(),Qw=z.object({$schema:z.string().min(1).optional(),schema:z.literal(a.serviceContract),name:Jw,class:tg,contractVersion:z.literal(og),kitVersion:z.string().min(1),description:z.string().min(1).optional(),bins:z.array(z.string().min(1)).default([]),storage:Gw.optional(),deploymentModes:z.array(QN).default(["local"]),serviceSurfaces:z.array(_w).default([]),metadata:_4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Xw($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:z.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==vL($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${vL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:z.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:z.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),_n=z.object({status:z.enum(["ok","degraded","unavailable"]),version:z.string().min(1),mode:YN}).strict(),Un=z.object({ready:z.boolean(),reason:z.string().min(1).optional()}).strict(),Jn=z.object({version:z.string().min(1)}).strict(),Yw=z.enum(["info","notice","breaking","critical"]),jw=z.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),Dw=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],zw=z.enum(Dw);var qw=z.enum(["fleet","package","machine"]),jN=v$(a.commsEventEnvelope).extend({type:jw,severity:Yw,scope:qw,summary:z.string().min(1).optional(),source:T6.optional(),affected_packages:z.array(j$).default([]),affected_machines:z.array(j$).default([]),action_required:z.boolean().default(!1),ack_by:y_.optional(),dedupe_key:j$,resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),Ow=z.enum(["fleet","package","product","loop-lane","initiative","personal"]),Lw=z.enum(["quiet","work","firehose"]),Nw=j$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),Bw=v$(a.commsChannelMetadata).extend({class:Ow,noise:Lw.optional(),owner:j$.optional(),until:Nw.optional(),successor:j$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),yL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Hw=v$(a.commsMessageMetadata).extend({tag:zw,envelope:jN}).strict().superRefine(($,_)=>{let U=yL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(yL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Wn={[a.actorRef]:TI,[a.resourceRef]:SI,[a.evidenceRef]:vI,[a.workRun]:ig,[a.decisionEnvelope]:sL,[a.costEstimate]:iU,[a.capabilityCard]:hI,[a.providerLiveModeStandard]:nI,[a.contextPack]:eL,[a.integrationRef]:$N,[a.projectManifest]:oI,[a.projectPanel]:_N,[a.projectSnapshot]:Xg,[a.renderManifest]:eI,[a.agentTrajectory]:pg,[a.validationPlan]:Gg,[a.proofBundle]:lg,[a.scaffoldManifest]:Og,[a.scaffoldInstallRecord]:Ng,[a.appCloudManifest]:WN,[a.noCloudEvidencePack]:cg,[a.serviceContract]:Qw,[a.commsEventEnvelope]:jN,[a.commsChannelMetadata]:Bw,[a.commsMessageMetadata]:Hw,[a.app]:Kg,[a.release]:Mg,[a.rolloutRecord]:wg,[a.announcement]:Cg,[a.audience]:hg};function Vw($){return $.toUpperCase().replace(/-/g,"_")}function DN($){let _=Vw($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}var Rw=["remote","hybrid","self_hosted"];function K5($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(Rw.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}import zn from"pg";class b5 extends Error{scheme;port;constructor($,_){super($);this.name="KnowledgeNetworkGuardError",this.scheme=_.scheme,this.port=_.port}}function rU($=process.env){return($.NODE_ENV??"").trim().toLowerCase()==="test"}function zN($){let _=$.split(".");if(_.length!==4)return!1;if(!_.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return _[0]==="127"}function bw($){let _=$.trim().toLowerCase();if(_.length===0)return!1;if(_==="localhost"||_.endsWith(".localhost"))return!0;if(zN(_))return!0;if(!_.startsWith("[")||!_.endsWith("]"))return!1;let U=_.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let W=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&zN(W))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function Mw($){if(typeof $==="string")return $;if($ instanceof URL)return $.href;return $.url}function Iw($,_=process.env){if(!rU(_))return;let U=Mw($),W;try{W=new URL(U)}catch{throw new b5("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(bw(W.hostname))return;throw new b5(`knowledge: refused a non-loopback ${W.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=local) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:W.protocol.replace(":",""),port:W.port})}function _X($,_){return Iw($),fetch($,_)}var UX="knowledge",I5=DN(UX),z2=I5.modeKeys,g5=I5.apiUrlKeys,JX=I5.apiKeyKeys;function M5($,_){return _.filter((U)=>($[U]??"").trim().length>0)}function WX($=process.env){let _=[...M5($,g5),...M5($,JX)],U=z2[0];for(let W of z2){let J=$[W]?.trim();if(!J)continue;let X;try{X=K5(J)}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw Error(`knowledge: ${W}=${J} is not a valid mode. ${Y}`)}let G=[];if(X.deprecatedAlias)G.push(`Deprecated mode '${X.deprecatedAlias}' from ${W} is treated as 'cloud'. Prefer ${U}=cloud.`);if(W!==U)G.push(`Using alias env ${W}; the canonical key is ${U}.`);if(X.mode==="local"&&_.length>0)G.push(`${W}=local pins the on-box store; ${_.join(", ")} are set but ignored.`);return{mode:X.mode,source:{kind:"env",name:W,value:J},pointer_env_present:_,pointer_ignored:X.mode==="local"&&_.length>0,warning:G.length>0?G.join(" "):null}}return{mode:"local",source:{kind:"default",name:null,value:null},pointer_env_present:_,pointer_ignored:_.length>0,warning:_.length>0?`${_.join(", ")} are set but do NOT select a backend: mode is local by default. Set ${U}=cloud to route reads and writes to the API, or unset those vars to silence this note.`:null}}function w5($,_){return{...$,[z2[0]]:_}}function qN($=process.env){let _=WX($);return{..._,store_transport:_.mode==="cloud"?"api":"local",api_key_present:M5($,JX).length>0,network_guard_active:rU($)}}function ON($){return{fetchImpl:_X,...rU($)?{retry:!1}:{}}}var q2="notes";function gw($){let _={};if($.search)_.search=$.search;if($.limit!==void 0)_.limit=$.limit;if($.offset!==void 0)_.offset=$.offset;if($.includeArchived||$.archivedOnly)_.includeArchived=!0;return _}function ww($){return{baseUrl:$.baseUrl,async list(_={}){let U=_.limit??200,W=gw({..._,limit:Math.min(Math.max(U,1),200)}),J=await $.list(q2,{query:W}),X=J.items;if(_.archivedOnly)X=X.filter((G)=>G.archived===!0);if(_.tag){let G=_.tag.toLowerCase();X=X.filter((Q)=>(Q.tags??[]).some((Y)=>Y.toLowerCase()===G))}return{items:X,total:J.total}},async get(_){return $.get(q2,_)},async create(_){return $.create(q2,{..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})},async update(_,U){try{return await $.update(q2,_,U)}catch(W){if(kw(W))return null;throw W}},async delete(_){let U=await $.get(q2,_);if(!U)return!1;return await $.delete(q2,U.id),!0}}}function kw($){return Boolean($&&typeof $==="object"&&$.status===404)}function pU($=process.env){if(WX($).mode!=="cloud")return null;let _=z5(UX,w5($,"cloud"),ON($));if(_.transport!=="cloud-http")return null;return ww(_.client)}function C4($=process.env){if(WX($).mode!=="cloud")return!1;return z5(UX,w5($,"cloud"),ON($)).transport==="cloud-http"}async function XX($){let U=[];for(let W=0;;W+=200){let{items:J}=await $.list({includeArchived:!0,limit:200,offset:W});if(U.push(...J),J.length<200)break;if(W>1e5)break}return U}function k5($,_){return $.id===_||$.short_id===_}class LN{storePath;kind="local";constructor($){this.storePath=$}get location(){return this.storePath}get exists(){return Pw(this.storePath)}async listAll(){let $=w1(this.storePath);return{items:$.items,exists:$.exists}}async get($){return w1(this.storePath).items.find((U)=>k5(U,$))??null}async create($){return g6(this.storePath,()=>{let _=PU(this.storePath),U=new Date().toISOString(),W=$.id??aO(),J={id:W,short_id:sO(W),title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:!1,created_at:U,updated_at:U};return _.items.push(J),l6(this.storePath,_),J},{createParent:!0})}async update($,_){return g6(this.storePath,()=>{let U=PU(this.storePath),W=U.items.findIndex((X)=>k5(X,$));if(W===-1)return null;let J=U.items[W];if(_.title!==void 0)J.title=_.title;if(_.content!==void 0)J.content=_.content;if(_.url!==void 0)J.url=_.url;if(_.tags!==void 0)J.tags=_.tags;if(_.metadata!==void 0)J.metadata=_.metadata;if(_.archived!==void 0)J.archived=_.archived;return J.updated_at=new Date().toISOString(),U.items[W]=J,l6(this.storePath,U),J},{createParent:!0})}async delete($){return g6(this.storePath,()=>{let _=PU(this.storePath),U=_.items.length;_.items=_.items.filter((J)=>!k5(J,$));let W=U!==_.items.length;if(W)l6(this.storePath,_);return W},{createParent:!0})}async deleteMany($){if($.length===0)return 0;let _=new Set($);return g6(this.storePath,()=>{let U=PU(this.storePath),W=U.items.length;U.items=U.items.filter((X)=>!_.has(X.id)&&!(X.short_id!=null&&_.has(X.short_id)));let J=W-U.items.length;if(J>0)l6(this.storePath,U);return J},{createParent:!0})}}class NN{cloud;kind="api";exists=!0;constructor($){this.cloud=$}get location(){return this.cloud.baseUrl}async listAll(){return{items:await XX(this.cloud),exists:!0}}async get($){return this.cloud.get($)}async create($){return this.cloud.create({...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})}async update($,_){return this.cloud.update($,_)}async delete($){return this.cloud.delete($)}async deleteMany($){let _=0;for(let U of $)if(await this.cloud.delete(U))_+=1;return _}}function GX($){let _=$.storePathOverridden?null:pU($.env??process.env);if(_)return new NN(_);return new LN($.storePath)}import{Database as BN}from"bun:sqlite";function QX($="catalog"){if(C4())throw Error(`knowledge: ${$} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`)}var fw="porter unicode61 remove_diacritics 2",HN=` +`)}),this}_outputHelpIfRequested($){let _=this._getHelpOption();if(_&&$.find((W)=>_.is(W)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function aA($){return $.map((_)=>{if(!_.startsWith("--inspect"))return _;let U,W="127.0.0.1",J="9229",X;if((X=_.match(/^(--inspect(-brk)?)$/))!==null)U=X[1];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=X[1],/^\d+$/.test(X[3]))J=X[3];else W=X[3];else if((X=_.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=X[1],W=X[3],J=X[4];if(U&&J!=="0")return`${U}=${W}:${parseInt(J)+1}`;return _})}function AO(){if(P$.env.NO_COLOR||P$.env.FORCE_COLOR==="0"||P$.env.FORCE_COLOR==="false")return!1;if(P$.env.FORCE_COLOR||P$.env.CLICOLOR_FORCE!==void 0)return!0;return}Ud.Command=FO;Ud.useColor=AO});var UF=Q0((Qd)=>{var{Argument:eA}=w5(),{Command:EO}=sA(),{CommanderError:Xd,InvalidArgumentError:$F}=ZW(),{Help:Gd}=BO(),{Option:_F}=HO();Qd.program=new EO;Qd.createCommand=($)=>new EO($);Qd.createOption=($,_)=>new _F($,_);Qd.createArgument=($,_)=>new eA($,_);Qd.Command=EO;Qd.Option=_F;Qd.Argument=eA;Qd.Help=Gd;Qd.CommanderError=Xd;Qd.InvalidArgumentError=$F;Qd.InvalidOptionArgumentError=$F});import{chmodSync as uO,closeSync as gU,existsSync as w1,fsyncSync as i5,lstatSync as oF,openSync as r5,readFileSync as wU,renameSync as dO,unlinkSync as p5,writeFileSync as o5}from"fs";import{randomUUID as kU}from"crypto";import{basename as tF,dirname as cO,join as l5}from"path";import{chmodSync as CO,existsSync as nF,mkdirSync as h5,readFileSync as lF,writeFileSync as TO}from"fs";import{homedir as x5}from"os";import{dirname as iF,join as q_,resolve as SO}from"path";var n6=q_(".hasna","knowledge"),ZO=q_(".hasna","apps","knowledge"),S$={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:n6,s3:{bucket:"example-knowledge-prod",region:"us-east-1",profile:"example-infra",prefix:".hasna/knowledge",server_side_encryption:"AES256"},secrets:{env:"example/knowledge/prod/env",aws:"example/knowledge/prod/aws",s3:"example/knowledge/prod/s3",rds:null,future_rds:"example/knowledge/prod/rds"},source_owner:"open-files",evidence_doc:"docs/canonical-secrets-bootstrap-2026-06-08.md"};function vO(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:S$.s3.bucket,prefix:S$.s3.prefix,region:S$.s3.region,profile:S$.s3.profile,server_side_encryption:S$.s3.server_side_encryption}}}function MU(){return q_(x5(),".open-knowledge","db.json")}function uW(){return q_(x5(),".hasna","knowledge")}function m5($=process.cwd()){return SO($,n6)}function rF(){return q_(x5(),ZO)}function pF($=process.cwd()){return SO($,ZO)}function u5($,_=process.cwd()){if($==="project"||$==="local")return T_(pF(_));return T_(rF())}function T_($){return{home:$,configPath:q_($,"config.json"),jsonStorePath:q_($,"db.json"),knowledgeDbPath:q_($,"knowledge.db"),artifactsDir:q_($,"artifacts"),cacheDir:q_($,"cache"),exportsDir:q_($,"exports"),indexesDir:q_($,"indexes"),logsDir:q_($,"logs"),runsDir:q_($,"runs"),schemasDir:q_($,"schemas"),wikiDir:q_($,"wiki")}}function IU(){return{version:1,mode:"local",hosted:{api_url:"https://knowledge.md"},storage:{type:"local",artifacts_root:"artifacts"},sources:{preferred_ref:"open-files",allowed_schemes:["open-files","s3","file","https","http"]},providers:{default_model:"openai:gpt-5.2",aliases:{fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"},openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},embeddings:{default_model:"openai:text-embedding-3-small",dimensions:1536,batch_size:64,max_parallel_calls:4},safety:{network:{web_search_enabled:!1,s3_reads_enabled:!1,allowed_s3_buckets:[]},redaction:{enabled:!0},approvals:{generated_writes_require_approval:!0}}}}function g1($){let _=T_($);h5(_.home,{recursive:!0,mode:448});for(let U of[_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir])h5(U,{recursive:!0,mode:448});if(!nF(_.configPath))TO(_.configPath,`${JSON.stringify(IU(),null,2)} +`,{mode:384}),CO(_.configPath,384);return _}function dW($,_=process.cwd()){if($==="project"||$==="local")return T_(m5(_));return T_(uW())}function K4($){h5(iF($),{recursive:!0})}function d5($){let _=lF($,"utf8");return JSON.parse(_)}function yO($,_){K4($),TO($,`${JSON.stringify(_,null,2)} +`,{mode:384}),CO($,384)}function nW(){return T_(uW()).jsonStorePath}function PU($){if($===nW()&&w1(MU()))a5();if(!w1($))K4($),iO($,`${JSON.stringify({items:[]},null,2)} +`)}function aF($){return $.toISOString().replace(/[:.]/g,"-")}function t5($){let _=[`id:${$.id}`];if(typeof $.short_id==="string"&&$.short_id.length>0)_.push(`short_id:${$.short_id}`);return _}function sF($){let _=new Set;for(let U of $)for(let W of t5(U))_.add(W);return _}function eF($,_){return t5(_).some((U)=>$.has(U))}function c5($,_){K4($),o5($,`${JSON.stringify(_,null,2)} +`,{mode:384}),uO($,384)}function hO($){let _=JSON.parse(wU($,"utf8"));if(!_||typeof _!=="object"||!Array.isArray(_.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},W=0;for(let J of _.items)if(J&&typeof J==="object"&&typeof J.id==="string"&&J.id.length>0)U.items.push(J);else W+=1;return{store:U,skippedInvalid:W}}function a5($={}){if($.dryRun===!0)return xO($);return g6(nW(),()=>xO($),{createParent:!0})}function xO($={}){let _=$.dryRun===!0,U=$.now??new Date,W=T_(uW()),J=MU(),X=W.jsonStorePath,G=w1(J),Q=w1(X),Y={ok:!0,dry_run:_,legacy_path:J,canonical_path:X,legacy_exists:G,canonical_existed:Q,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:G?"Legacy global store already imported":"No legacy global store found"};if(!G)return Y;let j;try{let N=hO(J);j=N.store,Y.skipped_invalid=N.skippedInvalid}catch(N){return Y.ok=!1,Y.errors.push(`Could not read legacy store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let O={items:[]};if(Q)try{O=hO(X).store}catch(N){return Y.ok=!1,Y.errors.push(`Could not read canonical store: ${N instanceof Error?N.message:String(N)}`),Y.message="Legacy global store import failed",Y}let B=sF(O.items),V={items:[...O.items]};for(let N of j.items){if(!N?.id){Y.skipped_invalid+=1;continue}if(eF(B,N)){Y.skipped_existing+=1;continue}V.items.push(N);for(let H of t5(N))B.add(H);Y.imported+=1}if(Y.would_create_canonical=!Q&&Y.imported>0,Y.canonical_created=!_&&Y.would_create_canonical,Y.message=Y.imported>0?`Imported ${Y.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",_||Y.imported===0)return Y;let L=`${aF(U)}-${kU().slice(0,8)}`;if(Q)Y.backup_path=l5(W.exportsDir,`legacy-open-knowledge-db-before-import-${L}.json`),c5(Y.backup_path,O);return c5(X,V),Y.report_path=l5(W.runsDir,`legacy-open-knowledge-import-${L}.json`),c5(Y.report_path,Y),Y}function k1($){if(!w1($))return{exists:!1,items:[]};let _=wU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function $E($){return`${$}.lock`}var cW=1e4,nO=25,mO=120000,_E=new Int32Array(new SharedArrayBuffer(4));function s5($){return typeof $==="object"&&$!==null&&"code"in $?String($.code):void 0}function lO($){let _=null;try{_=r5(cO($),"r"),i5(_)}catch{}finally{if(_!==null)try{gU(_)}catch{}}}var n5=new Set;function iO($,_){K4($);let U=l5(cO($),`.${tF($)}.tmp.${kU()}`),W=null;try{W=r5(U,"wx",384),o5(W,_),i5(W),gU(W),W=null,dO(U,$);try{uO($,384)}catch{}lO($)}catch(J){if(W!==null)try{gU(W)}catch{}try{p5(U)}catch{}throw J}}function rO($){Atomics.wait(_E,0,0,$)}function UE($){if(typeof $!=="number"||!Number.isInteger($)||$<=0)return!1;try{return process.kill($,0),!0}catch(_){return s5(_)!=="ESRCH"}}function pO($,_){try{let U=wU($,"utf8"),W=JSON.parse(U);if(typeof W.ts==="number")return _-W.ts>mO&&!UE(W.pid)}catch{}try{return _-oF($).mtimeMs>mO}catch{return!1}}function JE($){let _=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${$}.stale.${_}.${kU()}`;try{dO($,U)}catch(W){if(s5(W)!=="ENOENT")throw W;return}}function WE($){let _=kU(),U=`${$}.breaker`,W=Date.now();while(Date.now()-W<cW){if(oO(U,_)){try{if(pO($,Date.now()))JE($)}finally{tO(U,_)}return}rO(nO)}throw Error(`Could not acquire stale-lock breaker on ${U} after ${cW}ms`)}function oO($,_){let U=null,W=!1;try{return U=r5($,"wx",384),W=!0,o5(U,`${JSON.stringify({owner:_,pid:process.pid,ts:Date.now()})} +`),i5(U),gU(U),U=null,lO($),!0}catch(J){if(U!==null)try{gU(U)}catch{}if(W)try{p5($)}catch{}if(s5(J)==="EEXIST")return!1;throw J}}function XE($,_){let U=Date.now();while(Date.now()-U<cW){if(oO($,_))return;if(pO($,Date.now()))WE($);rO(nO)}throw Error(`Could not acquire lock on ${$} after ${cW}ms`)}function tO($,_){try{if(w1($)){if(JSON.parse(wU($,"utf8")).owner===_)p5($)}}catch{}}function fU($){PU($);let _=wU($,"utf8"),U=JSON.parse(_);if(!U||!Array.isArray(U.items))return{items:[]};return U}function l6($,_){iO($,`${JSON.stringify(_,null,2)} +`)}function g6($,_,U={}){let W=kU(),J=$E($);if(n5.has(J))return _();if(U.createParent)K4(J);XE(J,W),n5.add(J);try{return _()}finally{n5.delete(J),tO(J,W)}}function aO(){return`k_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function sO($){return $.replace(/^k_/,"").slice(0,12)}import{existsSync as Tw}from"fs";var GE=Object.defineProperty,QE=($)=>$;function YE($,_){this[$]=QE.bind(null,_)}var jE=($,_)=>{for(var U in _)GE($,U,{get:_[U],enumerable:!0,configurable:!0,set:YE.bind(_,U)})},D={};jE(D,{void:()=>rE,util:()=>M$,unknown:()=>lE,union:()=>aE,undefined:()=>dE,tuple:()=>$K,transformer:()=>_L,symbol:()=>uE,string:()=>zL,strictObject:()=>tE,setErrorMap:()=>qE,set:()=>JK,record:()=>_K,quotelessJson:()=>DE,promise:()=>jK,preprocess:()=>qK,pipeline:()=>OK,ostring:()=>LK,optional:()=>DK,onumber:()=>NK,oboolean:()=>BK,objectUtil:()=>JG,object:()=>oE,number:()=>qL,nullable:()=>zK,null:()=>cE,never:()=>iE,nativeEnum:()=>YK,nan:()=>hE,map:()=>UK,makeIssue:()=>rW,literal:()=>GK,lazy:()=>XK,late:()=>vE,isValid:()=>Y0,isDirty:()=>XG,isAsync:()=>CU,isAborted:()=>WG,intersection:()=>eE,instanceof:()=>yE,getParsedType:()=>r6,getErrorMap:()=>iW,function:()=>WK,enum:()=>QK,effect:()=>_L,discriminatedUnion:()=>sE,defaultErrorMap:()=>T1,datetimeRegex:()=>YL,date:()=>mE,custom:()=>DL,coerce:()=>HK,boolean:()=>OL,bigint:()=>xE,array:()=>pE,any:()=>nE,addIssueToContext:()=>h,ZodVoid:()=>SU,ZodUnknown:()=>b4,ZodUnion:()=>y1,ZodUndefined:()=>Z1,ZodType:()=>V$,ZodTuple:()=>k6,ZodTransformer:()=>l_,ZodSymbol:()=>TU,ZodString:()=>_6,ZodSet:()=>z0,ZodSchema:()=>V$,ZodRecord:()=>ZU,ZodReadonly:()=>n1,ZodPromise:()=>q0,ZodPipeline:()=>hU,ZodParsedType:()=>c,ZodOptional:()=>J6,ZodObject:()=>s$,ZodNumber:()=>M4,ZodNullable:()=>p6,ZodNull:()=>v1,ZodNever:()=>w6,ZodNativeEnum:()=>u1,ZodNaN:()=>yU,ZodMap:()=>vU,ZodLiteral:()=>m1,ZodLazy:()=>x1,ZodIssueCode:()=>f,ZodIntersection:()=>h1,ZodFunction:()=>C1,ZodFirstPartyTypeKind:()=>X$,ZodError:()=>S_,ZodEnum:()=>g4,ZodEffects:()=>l_,ZodDiscriminatedUnion:()=>oW,ZodDefault:()=>d1,ZodDate:()=>j0,ZodCatch:()=>c1,ZodBranded:()=>tW,ZodBoolean:()=>S1,ZodBigInt:()=>I4,ZodArray:()=>U6,ZodAny:()=>D0,Schema:()=>V$,ParseStatus:()=>O_,OK:()=>E_,NEVER:()=>VK,INVALID:()=>U$,EMPTY_PATH:()=>OE,DIRTY:()=>f1,BRAND:()=>ZE});var M$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(M$||(M$={}));var JG;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(JG||(JG={}));var c=M$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),r6=($)=>{switch(typeof $){case"undefined":return c.undefined;case"string":return c.string;case"number":return Number.isNaN($)?c.nan:c.number;case"boolean":return c.boolean;case"function":return c.function;case"bigint":return c.bigint;case"symbol":return c.symbol;case"object":if(Array.isArray($))return c.array;if($===null)return c.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return c.promise;if(typeof Map<"u"&&$ instanceof Map)return c.map;if(typeof Set<"u"&&$ instanceof Set)return c.set;if(typeof Date<"u"&&$ instanceof Date)return c.date;return c.object;default:return c.unknown}},f=M$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),DE=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class S_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof S_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,M$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}S_.create=($)=>{return new S_($)};var zE=($,_)=>{let U;switch($.code){case f.invalid_type:if($.received===c.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case f.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,M$.jsonStringifyReplacer)}`;break;case f.unrecognized_keys:U=`Unrecognized key(s) in object: ${M$.joinValues($.keys,", ")}`;break;case f.invalid_union:U="Invalid input";break;case f.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${M$.joinValues($.options)}`;break;case f.invalid_enum_value:U=`Invalid enum value. Expected ${M$.joinValues($.options)}, received '${$.received}'`;break;case f.invalid_arguments:U="Invalid function arguments";break;case f.invalid_return_type:U="Invalid function return type";break;case f.invalid_date:U="Invalid date";break;case f.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else M$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case f.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case f.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case f.custom:U="Invalid input";break;case f.invalid_intersection_types:U="Intersection results could not be merged";break;case f.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case f.not_finite:U="Number must be finite";break;default:U=_.defaultError,M$.assertNever($)}return{message:U}},T1=zE,XL=T1;function qE($){XL=$}function iW(){return XL}var rW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},OE=[];function h($,_){let U=iW(),W=rW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===T1?void 0:T1].filter((J)=>!!J)});$.common.issues.push(W)}class O_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return U$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return O_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return U$;if(X.status==="aborted")return U$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var U$=Object.freeze({status:"aborted"}),f1=($)=>({status:"dirty",value:$}),E_=($)=>({status:"valid",value:$}),WG=($)=>$.status==="aborted",XG=($)=>$.status==="dirty",Y0=($)=>$.status==="valid",CU=($)=>typeof Promise<"u"&&$ instanceof Promise,t;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(t||(t={}));class W6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var eO=($,_)=>{if(Y0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new S_($.common.issues);return this._error=U,this._error}}}};function L$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class V${get description(){return this._def.description}_getType($){return r6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:r6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O_,ctx:{common:$.parent.common,data:$.data,parsedType:r6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(CU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)},W=this._parseSync({data:$,path:U.path,parent:U});return eO(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return Y0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>Y0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:r6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(CU(W)?W:Promise.resolve(W));return eO(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:f.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new l_({schema:this,typeName:X$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return J6.create(this,this._def)}nullable(){return p6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return U6.create(this)}promise(){return q0.create(this,this._def)}or($){return y1.create([this,$],this._def)}and($){return h1.create(this,$,this._def)}transform($){return new l_({...L$(this._def),schema:this,typeName:X$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new d1({...L$(this._def),innerType:this,defaultValue:_,typeName:X$.ZodDefault})}brand(){return new tW({typeName:X$.ZodBranded,type:this,...L$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new c1({...L$(this._def),innerType:this,catchValue:_,typeName:X$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return hU.create(this,$)}readonly(){return n1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var LE=/^c[^\s-]{8,}$/i,NE=/^[0-9a-z]+$/,BE=/^[0-9A-HJKMNP-TV-Z]{26}$/i,HE=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,VE=/^[a-z0-9_-]{21}$/i,RE=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,AE=/^[-+]?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)?)??$/,FE=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,EE="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",e5,KE=/^(?:(?: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])$/,bE=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ME=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,IE=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,gE=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,wE=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,GL="((\\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])))",kE=new RegExp(`^${GL}$`);function QL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function PE($){return new RegExp(`^${QL($)}$`)}function YL($){let _=`${GL}T${QL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function fE($,_){if((_==="v4"||!_)&&KE.test($))return!0;if((_==="v6"||!_)&&ME.test($))return!0;return!1}function CE($,_){if(!RE.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function TE($,_){if((_==="v4"||!_)&&bE.test($))return!0;if((_==="v6"||!_)&&IE.test($))return!0;return!1}class _6 extends V${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==c.string){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.string,received:J.parsedType}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)h(W,{code:f.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)h(W,{code:f.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!FE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"email",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!e5)e5=new RegExp(EE,"u");if(!e5.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"emoji",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!HE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"uuid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!VE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"nanoid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!LE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"cuid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!NE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"cuid2",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!BE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"ulid",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),h(W,{validation:"url",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"regex",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!YL(J).test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!kE.test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!PE(J).test($.data))W=this._getOrReturnCtx($,W),h(W,{code:f.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!AE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"duration",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!fE($.data,J.version))W=this._getOrReturnCtx($,W),h(W,{validation:"ip",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!CE($.data,J.alg))W=this._getOrReturnCtx($,W),h(W,{validation:"jwt",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!TE($.data,J.version))W=this._getOrReturnCtx($,W),h(W,{validation:"cidr",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!gE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"base64",code:f.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!wE.test($.data))W=this._getOrReturnCtx($,W),h(W,{validation:"base64url",code:f.invalid_string,message:J.message}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:f.invalid_string,...t.errToObj(U)})}_addCheck($){return new _6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...t.errToObj($)})}url($){return this._addCheck({kind:"url",...t.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...t.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...t.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...t.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...t.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...t.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...t.errToObj($)})}base64($){return this._addCheck({kind:"base64",...t.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...t.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...t.errToObj($)})}ip($){return this._addCheck({kind:"ip",...t.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...t.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...t.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...t.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...t.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...t.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...t.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...t.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...t.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...t.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...t.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...t.errToObj(_)})}nonempty($){return this.min(1,t.errToObj($))}trim(){return new _6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}_6.create=($)=>{return new _6({checks:[],typeName:X$.ZodString,coerce:$?.coerce??!1,...L$($)})};function SE($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class M4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==c.number){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.number,received:J.parsedType}),U$}let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="int"){if(!M$.isInteger($.data))U=this._getOrReturnCtx($,U),h(U,{code:f.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(SE($.data,J.value)!==0)U=this._getOrReturnCtx($,U),h(U,{code:f.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),h(U,{code:f.not_finite,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new M4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new M4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:t.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}finite($){return this._addCheck({kind:"finite",message:t.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:t.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:t.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&M$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}M4.create=($)=>{return new M4({checks:[],typeName:X$.ZodNumber,coerce:$?.coerce||!1,...L$($)})};class I4 extends V${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==c.bigint)return this._getInvalidInput($);let U=void 0,W=new O_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),h(U,{code:f.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),h(U,{code:f.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else M$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return h(_,{code:f.invalid_type,expected:c.bigint,received:_.parsedType}),U$}gte($,_){return this.setLimit("min",$,!0,t.toString(_))}gt($,_){return this.setLimit("min",$,!1,t.toString(_))}lte($,_){return this.setLimit("max",$,!0,t.toString(_))}lt($,_){return this.setLimit("max",$,!1,t.toString(_))}setLimit($,_,U,W){return new I4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:t.toString(W)}]})}_addCheck($){return new I4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:t.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:t.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:t.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:t.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:t.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}I4.create=($)=>{return new I4({checks:[],typeName:X$.ZodBigInt,coerce:$?.coerce??!1,...L$($)})};class S1 extends V${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==c.boolean){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.boolean,received:U.parsedType}),U$}return E_($.data)}}S1.create=($)=>{return new S1({typeName:X$.ZodBoolean,coerce:$?.coerce||!1,...L$($)})};class j0 extends V${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==c.date){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_type,expected:c.date,received:J.parsedType}),U$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return h(J,{code:f.invalid_date}),U$}let U=new O_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),h(W,{code:f.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else M$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new j0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:t.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:t.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}j0.create=($)=>{return new j0({checks:[],coerce:$?.coerce||!1,typeName:X$.ZodDate,...L$($)})};class TU extends V${_parse($){if(this._getType($)!==c.symbol){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.symbol,received:U.parsedType}),U$}return E_($.data)}}TU.create=($)=>{return new TU({typeName:X$.ZodSymbol,...L$($)})};class Z1 extends V${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.undefined,received:U.parsedType}),U$}return E_($.data)}}Z1.create=($)=>{return new Z1({typeName:X$.ZodUndefined,...L$($)})};class v1 extends V${_parse($){if(this._getType($)!==c.null){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.null,received:U.parsedType}),U$}return E_($.data)}}v1.create=($)=>{return new v1({typeName:X$.ZodNull,...L$($)})};class D0 extends V${constructor(){super(...arguments);this._any=!0}_parse($){return E_($.data)}}D0.create=($)=>{return new D0({typeName:X$.ZodAny,...L$($)})};class b4 extends V${constructor(){super(...arguments);this._unknown=!0}_parse($){return E_($.data)}}b4.create=($)=>{return new b4({typeName:X$.ZodUnknown,...L$($)})};class w6 extends V${_parse($){let _=this._getOrReturnCtx($);return h(_,{code:f.invalid_type,expected:c.never,received:_.parsedType}),U$}}w6.create=($)=>{return new w6({typeName:X$.ZodNever,...L$($)})};class SU extends V${_parse($){if(this._getType($)!==c.undefined){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.void,received:U.parsedType}),U$}return E_($.data)}}SU.create=($)=>{return new SU({typeName:X$.ZodVoid,...L$($)})};class U6 extends V${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==c.array)return h(_,{code:f.invalid_type,expected:c.array,received:_.parsedType}),U$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)h(_,{code:X?f.too_big:f.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)h(_,{code:f.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)h(_,{code:f.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new W6(_,X,_.path,G))})).then((X)=>{return O_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new W6(_,X,_.path,G))});return O_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new U6({...this._def,minLength:{value:$,message:t.toString(_)}})}max($,_){return new U6({...this._def,maxLength:{value:$,message:t.toString(_)}})}length($,_){return new U6({...this._def,exactLength:{value:$,message:t.toString(_)}})}nonempty($){return this.min(1,$)}}U6.create=($,_)=>{return new U6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:X$.ZodArray,...L$(_)})};function P1($){if($ instanceof s$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=J6.create(P1(W))}return new s$({...$._def,shape:()=>_})}else if($ instanceof U6)return new U6({...$._def,type:P1($.element)});else if($ instanceof J6)return J6.create(P1($.unwrap()));else if($ instanceof p6)return p6.create(P1($.unwrap()));else if($ instanceof k6)return k6.create($.items.map((_)=>P1(_)));else return $}class s$ extends V${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=M$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==c.object){let Y=this._getOrReturnCtx($);return h(Y,{code:f.invalid_type,expected:c.object,received:Y.parsedType}),U$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof w6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new W6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof w6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)h(W,{code:f.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new W6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return O_.mergeObjectSync(U,Y)});else return O_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return t.errToObj,new s$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:t.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new s$({...this._def,unknownKeys:"strip"})}passthrough(){return new s$({...this._def,unknownKeys:"passthrough"})}extend($){return new s$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new s$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:X$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new s$({...this._def,catchall:$})}pick($){let _={};for(let U of M$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}omit($){let _={};for(let U of M$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new s$({...this._def,shape:()=>_})}deepPartial(){return P1(this)}partial($){let _={};for(let U of M$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new s$({...this._def,shape:()=>_})}required($){let _={};for(let U of M$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof J6)J=J._def.innerType;_[U]=J}return new s$({...this._def,shape:()=>_})}keyof(){return jL(M$.objectKeys(this.shape))}}s$.create=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.strictCreate=($,_)=>{return new s$({shape:()=>$,unknownKeys:"strict",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};s$.lazycreate=($,_)=>{return new s$({shape:$,unknownKeys:"strip",catchall:w6.create(),typeName:X$.ZodObject,...L$(_)})};class y1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new S_(G.ctx.common.issues));return h(_,{code:f.invalid_union,unionErrors:X}),U$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new S_(Q));return h(_,{code:f.invalid_union,unionErrors:G}),U$}}get options(){return this._def.options}}y1.create=($,_)=>{return new y1({options:$,typeName:X$.ZodUnion,...L$(_)})};var i6=($)=>{if($ instanceof x1)return i6($.schema);else if($ instanceof l_)return i6($.innerType());else if($ instanceof m1)return[$.value];else if($ instanceof g4)return $.options;else if($ instanceof u1)return M$.objectValues($.enum);else if($ instanceof d1)return i6($._def.innerType);else if($ instanceof Z1)return[void 0];else if($ instanceof v1)return[null];else if($ instanceof J6)return[void 0,...i6($.unwrap())];else if($ instanceof p6)return[null,...i6($.unwrap())];else if($ instanceof tW)return i6($.unwrap());else if($ instanceof n1)return i6($.unwrap());else if($ instanceof c1)return i6($._def.innerType);else return[]};class oW extends V${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.object)return h(_,{code:f.invalid_type,expected:c.object,received:_.parsedType}),U$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return h(_,{code:f.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),U$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=i6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new oW({typeName:X$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...L$(U)})}}function GG($,_){let U=r6($),W=r6(_);if($===_)return{valid:!0,data:$};else if(U===c.object&&W===c.object){let J=M$.objectKeys(_),X=M$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=GG($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===c.array&&W===c.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=GG(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===c.date&&W===c.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class h1 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(WG(J)||WG(X))return U$;let G=GG(J.value,X.value);if(!G.valid)return h(U,{code:f.invalid_intersection_types}),U$;if(XG(J)||XG(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}h1.create=($,_,U)=>{return new h1({left:$,right:_,typeName:X$.ZodIntersection,...L$(U)})};class k6 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.array)return h(U,{code:f.invalid_type,expected:c.array,received:U.parsedType}),U$;if(U.data.length<this._def.items.length)return h(U,{code:f.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),U$;if(!this._def.rest&&U.data.length>this._def.items.length)h(U,{code:f.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new W6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return O_.mergeArray(_,X)});else return O_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new k6({...this._def,rest:$})}}k6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new k6({items:$,typeName:X$.ZodTuple,rest:null,...L$(_)})};class ZU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.object)return h(U,{code:f.invalid_type,expected:c.object,received:U.parsedType}),U$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new W6(U,G,U.path,G)),value:X._parse(new W6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return O_.mergeObjectAsync(_,W);else return O_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof V$)return new ZU({keyType:$,valueType:_,typeName:X$.ZodRecord,...L$(U)});return new ZU({keyType:_6.create(),valueType:$,typeName:X$.ZodRecord,...L$(_)})}}class vU extends V${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.map)return h(U,{code:f.invalid_type,expected:c.map,received:U.parsedType}),U$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new W6(U,G,U.path,[Y,"key"])),value:J._parse(new W6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return U$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}vU.create=($,_,U)=>{return new vU({valueType:_,keyType:$,typeName:X$.ZodMap,...L$(U)})};class z0 extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==c.set)return h(U,{code:f.invalid_type,expected:c.set,received:U.parsedType}),U$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)h(U,{code:f.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)h(U,{code:f.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return U$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new W6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new z0({...this._def,minSize:{value:$,message:t.toString(_)}})}max($,_){return new z0({...this._def,maxSize:{value:$,message:t.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}z0.create=($,_)=>{return new z0({valueType:$,minSize:null,maxSize:null,typeName:X$.ZodSet,...L$(_)})};class C1 extends V${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.function)return h(_,{code:f.invalid_type,expected:c.function,received:_.parsedType}),U$;function U(G,Q){return rW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,iW(),T1].filter((Y)=>!!Y),issueData:{code:f.invalid_arguments,argumentsError:Q}})}function W(G,Q){return rW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,iW(),T1].filter((Y)=>!!Y),issueData:{code:f.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof q0){let G=this;return E_(async function(...Q){let Y=new S_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return E_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new S_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new S_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new C1({...this._def,args:k6.create($).rest(b4.create())})}returns($){return new C1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new C1({args:$?$:k6.create([]).rest(b4.create()),returns:_||b4.create(),typeName:X$.ZodFunction,...L$(U)})}}class x1 extends V${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}x1.create=($,_)=>{return new x1({getter:$,typeName:X$.ZodLazy,...L$(_)})};class m1 extends V${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return h(_,{received:_.data,code:f.invalid_literal,expected:this._def.value}),U$}return{status:"valid",value:$.data}}get value(){return this._def.value}}m1.create=($,_)=>{return new m1({value:$,typeName:X$.ZodLiteral,...L$(_)})};function jL($,_){return new g4({values:$,typeName:X$.ZodEnum,...L$(_)})}class g4 extends V${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{expected:M$.joinValues(U),received:_.parsedType,code:f.invalid_type}),U$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return h(_,{received:_.data,code:f.invalid_enum_value,options:U}),U$}return E_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return g4.create($,{...this._def,..._})}exclude($,_=this._def){return g4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}g4.create=jL;class u1 extends V${_parse($){let _=M$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==c.string&&U.parsedType!==c.number){let W=M$.objectValues(_);return h(U,{expected:M$.joinValues(W),received:U.parsedType,code:f.invalid_type}),U$}if(!this._cache)this._cache=new Set(M$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=M$.objectValues(_);return h(U,{received:U.data,code:f.invalid_enum_value,options:W}),U$}return E_($.data)}get enum(){return this._def.values}}u1.create=($,_)=>{return new u1({values:$,typeName:X$.ZodNativeEnum,...L$(_)})};class q0 extends V${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==c.promise&&_.common.async===!1)return h(_,{code:f.invalid_type,expected:c.promise,received:_.parsedType}),U$;let U=_.parsedType===c.promise?_.data:Promise.resolve(_.data);return E_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}q0.create=($,_)=>{return new q0({type:$,typeName:X$.ZodPromise,...L$(_)})};class l_ extends V${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===X$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(h(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return U$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return U$;if(Q.status==="dirty")return f1(Q.value);if(_.value==="dirty")return f1(Q.value);return Q});else{if(_.value==="aborted")return U$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")return f1(G.value);if(_.value==="dirty")return f1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return U$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!Y0(X))return U$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!Y0(X))return U$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});M$.assertNever(W)}}l_.create=($,_,U)=>{return new l_({schema:$,typeName:X$.ZodEffects,effect:_,...L$(U)})};l_.createWithPreprocess=($,_,U)=>{return new l_({schema:_,effect:{type:"preprocess",transform:$},typeName:X$.ZodEffects,...L$(U)})};class J6 extends V${_parse($){if(this._getType($)===c.undefined)return E_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}J6.create=($,_)=>{return new J6({innerType:$,typeName:X$.ZodOptional,...L$(_)})};class p6 extends V${_parse($){if(this._getType($)===c.null)return E_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}p6.create=($,_)=>{return new p6({innerType:$,typeName:X$.ZodNullable,...L$(_)})};class d1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===c.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}d1.create=($,_)=>{return new d1({innerType:$,typeName:X$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...L$(_)})};class c1 extends V${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(CU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new S_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}c1.create=($,_)=>{return new c1({innerType:$,typeName:X$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...L$(_)})};class yU extends V${_parse($){if(this._getType($)!==c.nan){let U=this._getOrReturnCtx($);return h(U,{code:f.invalid_type,expected:c.nan,received:U.parsedType}),U$}return{status:"valid",value:$.data}}}yU.create=($)=>{return new yU({typeName:X$.ZodNaN,...L$($)})};var ZE=Symbol("zod_brand");class tW extends V${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class hU extends V${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return U$;if(J.status==="dirty")return _.dirty(),f1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return U$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new hU({in:$,out:_,typeName:X$.ZodPipeline})}}class n1 extends V${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(Y0(W))W.value=Object.freeze(W.value);return W};return CU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}n1.create=($,_)=>{return new n1({innerType:$,typeName:X$.ZodReadonly,...L$(_)})};function $L($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function DL($,_={},U){if($)return D0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=$L(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=$L(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return D0.create()}var vE={object:s$.lazycreate},X$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(X$||(X$={}));var yE=($,_={message:`Input not instance of ${$.name}`})=>DL((U)=>U instanceof $,_),zL=_6.create,qL=M4.create,hE=yU.create,xE=I4.create,OL=S1.create,mE=j0.create,uE=TU.create,dE=Z1.create,cE=v1.create,nE=D0.create,lE=b4.create,iE=w6.create,rE=SU.create,pE=U6.create,oE=s$.create,tE=s$.strictCreate,aE=y1.create,sE=oW.create,eE=h1.create,$K=k6.create,_K=ZU.create,UK=vU.create,JK=z0.create,WK=C1.create,XK=x1.create,GK=m1.create,QK=g4.create,YK=u1.create,jK=q0.create,_L=l_.create,DK=J6.create,zK=p6.create,qK=l_.createWithPreprocess,OK=hU.create,LK=()=>zL().optional(),NK=()=>qL().optional(),BK=()=>OL().optional(),HK={string:($)=>_6.create({...$,coerce:!0}),number:($)=>M4.create({...$,coerce:!0}),boolean:($)=>S1.create({...$,coerce:!0}),bigint:($)=>I4.create({...$,coerce:!0}),date:($)=>j0.create({...$,coerce:!0})},VK=U$;var o={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},LL=D.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),Z_=D.string().datetime(),Y$=D.string().trim().min(1),o6=Y$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),NL=D.string().regex(/^[a-fA-F0-9]{64}$/),BL=D.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),t6=D.record(D.unknown()),r1=D.array(D.string().min(1)).default([]),O0=Z_.nullable().optional(),RK=new Set(["succeeded","failed","cancelled","blocked","skipped"]),N0=D.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function Z$($){return D.object({schema:D.literal($),id:D.string().min(1),createdAt:Z_,updatedAt:O0,metadata:t6.optional()}).strict()}var ac=D.object({schema:LL,id:D.string().min(1),createdAt:Z_,updatedAt:O0,metadata:t6.optional()}).strict(),HL=D.enum(["agent","human","service","model","workflow","system"]),AK=Z$(o.actorRef).extend({kind:HL,name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional(),capabilities:D.array(D.string().min(1)).default([])}).strict(),P6=D.object({kind:HL,id:D.string().min(1),name:D.string().min(1).optional(),provider:D.string().min(1).optional(),accountId:D.string().min(1).optional(),machineId:D.string().min(1).optional()}).strict(),VL=D.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),FK=Z$(o.resourceRef).extend({kind:VL,name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:r1}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),H$=D.object({kind:VL,id:D.string().min(1),name:D.string().min(1).optional(),uri:o6.optional(),externalId:Y$.optional(),sourcePackage:Y$.optional(),tags:r1}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:D.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),YG=D.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),EK=D.enum(["none","partial","full","unknown"]),KK=Z$(o.evidenceRef).extend({kind:YG,uri:o6,sha256:NL.optional(),summary:D.string().min(1).optional(),contentType:D.string().min(1).optional(),sizeBytes:D.number().int().nonnegative().optional(),redaction:EK.default("unknown"),producer:P6.optional(),resourceRefs:D.array(H$).default([]),tags:r1}).strict(),n$=D.object({id:D.string().min(1),kind:YG.optional(),uri:o6.optional(),sha256:NL.optional(),summary:D.string().min(1).optional()}).strict(),xU=Z$(o.costEstimate).extend({currency:D.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:D.number().int().nonnegative(),provider:D.string().min(1).optional(),model:D.string().min(1).optional(),accountId:D.string().min(1).optional(),promptTokens:D.number().int().nonnegative().optional(),completionTokens:D.number().int().nonnegative().optional(),totalTokens:D.number().int().nonnegative().optional(),basis:D.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:D.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),bK=D.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),RL=Z$(o.decisionEnvelope).extend({decisionType:D.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:bK,actor:P6.optional(),traceId:D.string().min(1).optional(),inputHash:BL.optional(),policyBundleId:D.string().min(1).optional(),selected:D.array(H$).default([]),skipped:D.array(H$).default([]),reason:D.string().min(1),obligations:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),costEstimate:xU.optional(),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),MK=Z$(o.capabilityCard).extend({kind:D.enum(["model","tool","machine","agent","lane","connector","service"]),name:D.string().min(1),version:D.string().min(1).optional(),status:D.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:D.array(D.string().min(1)).default([]),limitations:D.array(D.string().min(1)).default([]),riskLevel:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:xU.optional(),evidenceRefs:D.array(n$).default([])}).strict(),l1=D.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),IK=D.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),gK=D.object({refName:Y$,requiredForModes:D.array(l1).min(1),allowedSecretInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:Y$,revocationCheck:D.boolean().default(!0)}).strict(),wK=D.object({operation:Y$,supportedModes:D.array(l1).min(1),sideEffectClass:IK,requiresApproval:D.boolean().default(!1),requiresIdempotencyKey:D.boolean().default(!1),requiresSandboxEvidence:D.boolean().default(!1),requiresRollbackOrRevocation:D.boolean().default(!1),rollbackOrRevocation:Y$.optional(),noSideEffectSmoke:Y$.optional(),reconciliation:Y$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),kK=D.object({providerId:Y$,appId:Y$,adapterId:Y$,ownerPackage:Y$,modes:D.array(l1).min(1),defaultMode:l1,credentialRequirements:D.array(gK).default([]),operations:D.array(wK).min(1),rateLimitPosture:Y$,costPosture:Y$.optional(),auditEvents:D.array(Y$).default([]),redactionRules:D.array(Y$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:D.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),PK=D.object({appId:Y$,repo:Y$,priority:D.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:D.array(Y$).min(1),firstOperations:D.array(Y$).min(1),blockedUntil:D.array(Y$).default([])}).strict(),fK=Z$(o.providerLiveModeStandard).extend({name:Y$,version:Y$,modes:D.array(l1).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:D.array(Y$).min(1),liveMutationGate:D.object({requiredMode:D.literal("live_mutating"),requiredChecks:D.array(Y$).min(1),forbiddenBypassSignals:D.array(Y$).min(1),disabledLiveSmoke:Y$}).strict(),noSideEffectSmoke:D.object({requiredForModes:D.array(l1).min(1),commandEvidence:D.array(Y$).min(1),secretOutputScan:D.boolean().default(!0)}).strict(),credentialPolicy:D.object({acceptedInputs:D.array(D.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:D.literal(!1),missingCredentialBehavior:D.literal("fail_closed"),revocationCheckRequired:D.boolean().default(!0)}).strict(),operationCards:D.array(kK).min(1),firstAdoptionTargets:D.array(PK).min(1),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),CK=D.object({id:D.string().min(1),title:D.string().min(1).optional(),summary:D.string().min(1),text:D.string().optional(),tokens:D.number().int().nonnegative().optional(),source:n$,resourceRefs:D.array(H$).default([])}).strict(),AL=Z$(o.contextPack).extend({objective:D.string().min(1),budget:D.object({maxTokens:D.number().int().positive().optional(),maxBytes:D.number().int().positive().optional()}).strict().optional(),items:D.array(CK).default([]),citations:D.array(n$).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),permissions:D.array(D.string().min(1)).default([]),redactions:D.array(D.string().min(1)).default([]),conflicts:D.array(D.string().min(1)).default([]),uncertainty:D.string().min(1).optional()}).strict(),$6=Y$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),L0=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),TK=D.enum(["public","internal","private","sensitive"]),SK=D.enum(["draft","active","paused","archived"]),jG=D.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),FL=Z$(o.integrationRef).extend({kind:jG,name:D.string().min(1),projectId:L0.optional(),sourcePackage:Y$.optional(),externalId:Y$.optional(),uri:o6.optional(),enabled:D.boolean().default(!0),readOnly:D.boolean().default(!0),capabilities:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:H$.optional(),evidenceRefs:D.array(n$).default([]),config:t6.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),ZK=D.object({schemaRoot:$6.default(".hasna/project"),dashboardManifest:$6.default(".hasna/project/dashboard.render.json"),snapshotsDir:$6.default(".hasna/project/snapshots"),documentsDir:$6.default("documents"),reportsDir:$6.default("reports"),evidenceDir:$6.default(".hasna/project/evidence"),privateDir:$6.default(".hasna/project/private")}).strict(),vK=Z$(o.projectManifest).extend({projectId:L0,slug:L0,name:D.string().min(1),summary:D.string().min(1).optional(),status:SK.default("active"),classification:TK.default("private"),owner:P6.optional(),layout:ZK.default({}),integrations:D.array(FL).default([]),renderManifests:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),tags:r1}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:D.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),yK=D.enum(["local","package","provider","url"]),DG=D.object({id:D.string().min(1),kind:yK,specifier:D.string().min(1),path:$6.optional(),packageName:D.string().min(1).optional(),uri:o6.optional(),provider:jG.optional(),schemaId:LL.optional(),integrity:BL.optional(),resourceRef:H$.optional(),optional:D.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:D.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:D.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:D.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),hK=D.enum(["dashboard","canvas","panel","report","document","custom"]),xK=D.object({id:D.string().min(1),title:D.string().min(1),kind:hK,default:D.boolean().default(!1),entry:$6.optional(),imports:D.array(DG).default([]),panelRefs:D.array(H$).default([]),dataRefs:D.array(H$).default([]),layout:t6.optional()}).strict(),mK=Z$(o.renderManifest).extend({projectId:L0,name:D.string().min(1),version:D.string().min(1),manifestPath:$6.default(".hasna/project/dashboard.render.json"),renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:D.array(xK).min(1),imports:D.array(DG).default([]),theme:t6.optional(),compatibility:D.object({minProjectsVersion:D.string().min(1).optional(),minContractsVersion:D.string().min(1).optional()}).strict().optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:D.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),uK=D.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),dK=D.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),cK=D.object({id:D.string().min(1),label:D.string().min(1),value:D.union([D.string(),D.number(),D.boolean()]),unit:D.string().min(1).optional(),status:D.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:D.array(H$).default([])}).strict(),nK=D.object({id:D.string().min(1),title:D.string().min(1),summary:D.string().min(1).optional(),status:D.string().min(1).optional(),priority:D.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:Z_.optional(),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),metadata:t6.optional()}).strict(),lK=D.object({renderer:D.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:D.string().min(1).optional(),entry:$6.optional(),imports:D.array(DG).default([]),spec:t6.default({})}).strict(),EL=Z$(o.projectPanel).extend({projectId:L0,provider:D.object({kind:jG,id:D.string().min(1),name:D.string().min(1).optional(),sourcePackage:Y$.optional(),externalId:Y$.optional()}).strict(),kind:dK,title:D.string().min(1),summary:D.string().min(1).optional(),state:uK.default("ready"),stateReason:D.string().min(1).optional(),generatedAt:Z_,freshness:D.enum(["fresh","stale","unknown"]).default("unknown"),metrics:D.array(cK).default([]),items:D.array(nK).default([]),actions:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),renderFragment:lK.optional(),warnings:D.array(D.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:D.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:D.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),iK=Z$(o.projectSnapshot).extend({projectId:L0,generatedAt:Z_,status:N0.default("unknown"),manifestRef:H$,renderManifestRef:H$.optional(),panels:D.array(EL).default([]),contextPacks:D.array(AL).default([]),proofBundleRefs:D.array(H$).default([]),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),warnings:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:D.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:D.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),KL=D.object({id:D.string().min(1),kind:D.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),expected:D.string().min(1).optional(),timeoutMs:D.number().int().positive().optional(),resourceRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:D.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),rK=Z$(o.validationPlan).extend({objective:D.string().min(1),subject:H$.optional(),checks:D.array(KL).min(1),verifier:P6.optional(),requiredEvidenceKinds:D.array(YG).default([])}).strict(),pK=D.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),oK=D.enum(["draft","active","deprecated","archived"]),tK=D.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),aK=D.object({key:D.string().regex(/^[A-Z][A-Z0-9_]*$/),description:D.string().min(1),required:D.boolean().default(!1),["secret"]:D.boolean().default(!1),group:D.string().min(1).optional(),default:D.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),sK=D.object({name:D.string().min(1),command:D.string().min(1),description:D.string().min(1).optional(),required:D.boolean().default(!1)}).strict(),eK=D.object({packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:D.array(D.string().min(1)).default([]),requiredFiles:D.array(D.string().min(1)).default([]),requiredDirectories:D.array(D.string().min(1)).default([]),optionalDirectories:D.array(D.string().min(1)).default([])}).strict(),$b=Z$(o.scaffoldManifest).extend({name:D.string().min(1),version:D.string().min(1),summary:D.string().min(1),type:pK,status:oK.default("draft"),capabilities:D.array(tK).default([]),techStack:D.array(D.string().min(1)).default([]),tags:r1,source:H$.optional(),output:eK,env:D.array(aK).default([]),scripts:D.array(sK).default([]),validationChecks:D.array(KL).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:D.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),_b=D.enum(["installed","failed","cancelled","partial","unknown"]),Ub=Z$(o.scaffoldInstallRecord).extend({scaffoldId:D.string().min(1),scaffoldVersion:D.string().min(1).optional(),manifestRef:H$.optional(),target:H$,status:_b,installedAt:Z_.optional(),installer:P6.optional(),packageManager:D.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:t6.optional(),generatedFiles:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),i1=D.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),zG=D.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),bL=D.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Jb=D.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Wb=Y$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Xb=D.enum(["active","stub","deprecated","archived"]),Gb=D.enum(["stable","beta","canary","internal"]),Qb=D.object({transport:D.enum(["http","stdio"]).default("http"),bin:D.string().min(1).optional(),url:o6.optional()}).strict(),Yb=D.object({healthPath:D.string().min(1).default("/health"),port:D.number().int().positive().optional(),baseUrl:o6.optional()}).strict(),jb=D.object({bins:D.array(D.string().min(1)).default([]),mcp:Qb.optional(),http:Yb.optional()}).strict(),Db=Z$(o.app).extend({appId:i1,npmName:zG,repoFolder:i1,githubUrl:Wb,projectSlug:L0,surfaces:jb.default({}),lifecycle:Xb,releaseChannel:Gb.default("stable"),summary:D.string().min(1).optional(),tags:r1}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:D.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),zb=D.enum(["skill","ci","backfilled"]),qb=Z$(o.release).extend({appId:i1,package:zG,version:bL,gitSha:Jb,publishedAt:Z_,publishPath:zb,changelogRef:H$.optional(),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Ob=D.enum(["install","update","rollback","freeze-blocked"]),Lb=D.object({cliVersion:D.string().min(1).optional(),mcpHealth:D.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),Nb=Z$(o.rolloutRecord).extend({appId:i1,package:zG,version:bL,machine:Y$,action:Ob,result:N0,verifiedBy:Lb.optional(),at:Z_,evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:D.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Bb=D.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),Hb=D.enum(["pending","queued","sent","failed","skipped","suppressed"]),Vb=D.object({channel:Bb,status:Hb,deliveredAt:Z_.optional(),detail:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Rb=Z$(o.announcement).extend({campaignId:Y$,appId:i1.optional(),releaseRef:H$.optional(),channels:D.array(Vb).min(1),audienceRef:H$,sentAt:Z_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:D.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Ab=D.enum(["tag","attribute","group"]),Fb=D.enum(["eq","neq","in","not_in","exists","not_exists"]),UL=D.union([D.string(),D.number(),D.boolean()]),Eb=D.object({kind:Ab,key:D.string().min(1).optional(),op:Fb.default("eq"),value:UL.optional(),values:D.array(UL).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:D.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:D.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),Kb=D.object({match:D.enum(["all","any"]).default("all"),predicates:D.array(Eb).min(1)}).strict(),bb=D.enum(["opt_in","opt_out","transactional","none"]),Mb=Z$(o.audience).extend({audienceId:i1,name:Y$,definition:Kb,consentPolicy:bb,suppressionSyncedAt:O0}).strict(),$G=["@hasna/cloud","open-cloud"],Ib=D.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),gb=D.object({id:D.string().min(1),provider:Ib,kind:D.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:D.string().min(1),region:D.string().min(1).optional(),accountId:D.string().min(1).optional(),uri:o6.optional(),machineScoped:D.boolean().default(!1)}).strict(),ML=Z$(o.appCloudManifest).extend({packageName:D.string().min(1),packageVersion:D.string().min(1).optional(),appId:D.string().min(1),repository:H$.optional(),storageMode:D.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:D.enum(["none","app_owned","external_service","local_cache"]),cloudResources:D.array(gb).default([]),localCache:D.object({path:D.string().min(1).optional(),pullMode:D.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:D.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:D.array(D.string().min(1)).default([...$G]),dependencies:D.array(D.string().min(1)).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...$G,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:D.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of $G)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:D.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:D.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:D.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:D.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:D.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),IL=D.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),wb=D.enum(["low","medium","high","critical"]),gL=D.object({id:D.string().min(1),kind:IL,severity:wb,path:D.string().min(1).optional(),packageName:D.string().min(1).optional(),pattern:D.string().min(1),message:D.string().min(1),evidenceRefs:D.array(n$).default([])}).strict(),kb=D.object({id:D.string().min(1),kind:IL,status:N0,target:D.string().min(1),command:D.string().min(1).optional(),evidenceRefs:D.array(n$).default([]),findings:D.array(gL).default([])}).strict(),Pb=Z$(o.noCloudEvidencePack).extend({subject:H$,packageName:D.string().min(1).optional(),packageVersion:D.string().min(1).optional(),generatedBy:P6.optional(),scanMode:D.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:N0,verdict:D.enum(["passed","failed","warning","not_run"]),appCloudManifest:ML.optional(),checks:D.array(kb).min(1),findings:D.array(gL).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),fb=D.object({checkId:D.string().min(1),status:N0,summary:D.string().min(1).optional(),startedAt:O0,finishedAt:O0,evidenceRefs:D.array(n$).default([])}).strict(),Cb=Z$(o.proofBundle).extend({subject:H$,validationPlanRef:H$.optional(),status:N0,verdict:D.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:D.array(fb).default([]),verifier:P6.optional(),evidenceRefs:D.array(n$).default([]),residualRisks:D.array(D.string().min(1)).default([]),freshness:D.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:D.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:D.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),Tb=Z$(o.workRun).extend({objective:D.string().min(1),status:N0,actor:P6,traceId:D.string().min(1).optional(),startedAt:O0,finishedAt:O0,constraints:D.array(D.string().min(1)).default([]),resourceRefs:D.array(H$).default([]),decisions:D.array(RL).default([]),costEstimates:D.array(xU).default([]),evidenceRefs:D.array(n$).default([]),validationPlanRefs:D.array(H$).default([]),proofBundleRefs:D.array(H$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:D.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(RK.has($.status)&&!$.finishedAt)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:D.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),Sb=D.object({id:D.string().min(1),at:Z_,kind:D.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:D.string().min(1),resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([]),costEstimate:xU.optional()}).strict(),Zb=Z$(o.agentTrajectory).extend({actor:P6,workRunRef:H$.optional(),events:D.array(Sb).default([]),outcome:D.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:H$.optional()}).strict(),vb="v1",yb=D.enum(["library","cli-with-store","service","saas"]),hb=["local","self-hosted","cloud"],wL=D.enum(hb),xb=D.enum(["supported","deferred","unsupported"]),mb=D.enum(["none","local-only","api-key","session","service-token","custom"]),_G=D.object({method:D.enum(["GET","POST","PUT","PATCH","DELETE"]),path:D.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:D.boolean().default(!1),description:D.string().min(1).optional()}).strict(),ub=D.object({id:D.string().min(1),kind:D.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:D.boolean().default(!0),command:D.string().min(1).optional(),evidenceRef:n$.optional(),status:D.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:D.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:D.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),db=D.object({name:D.string().min(1),status:xb,bin:D.string().min(1).optional(),mcpBin:D.string().min(1).optional(),authMode:mb,deploymentModes:D.array(wL).min(1),health:_G.optional(),readiness:_G.optional(),version:_G.optional(),apiBasePath:D.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:D.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:D.string().min(1).optional(),readinessGates:D.array(ub).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:D.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:D.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:D.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:D.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:D.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),cb=["local","cloud"],kL=D.enum(cb),nb=["remote","hybrid","self_hosted"],lb=D.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),ib=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function rb($){return ib.map((_)=>`${$}${_}`)}function JL($){return`hasna/oss/${$}/database-url`}var pb=D.object({mode:kL,envPrefix:D.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:D.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:D.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:D.string().min(1).optional()}).strict(),ob=D.object({$schema:D.string().min(1).optional(),schema:D.literal(o.serviceContract),name:lb,class:yb,contractVersion:D.literal(vb),kitVersion:D.string().min(1),description:D.string().min(1).optional(),bins:D.array(D.string().min(1)).default([]),storage:pb.optional(),deploymentModes:D.array(wL).default(["local"]),serviceSurfaces:D.array(db).default([]),metadata:t6.optional()}).strict().superRefine(($,_)=>{let U=new Set(rb($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:D.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:D.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==JL($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${JL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:D.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:D.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:D.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:D.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:D.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:D.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),sc=D.object({status:D.enum(["ok","degraded","unavailable"]),version:D.string().min(1),mode:kL}).strict(),ec=D.object({ready:D.boolean(),reason:D.string().min(1).optional()}).strict(),$n=D.object({version:D.string().min(1)}).strict(),tb=D.enum(["info","notice","breaking","critical"]),ab=D.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),sb=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],eb=D.enum(sb);var $M=D.enum(["fleet","package","machine"]),PL=Z$(o.commsEventEnvelope).extend({type:ab,severity:tb,scope:$M,summary:D.string().min(1).optional(),source:P6.optional(),affected_packages:D.array(Y$).default([]),affected_machines:D.array(Y$).default([]),action_required:D.boolean().default(!1),ack_by:Z_.optional(),dedupe_key:Y$,resourceRefs:D.array(H$).default([]),evidenceRefs:D.array(n$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:D.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),_M=D.enum(["fleet","package","product","loop-lane","initiative","personal"]),UM=D.enum(["quiet","work","firehose"]),JM=Y$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),WM=Z$(o.commsChannelMetadata).extend({class:_M,noise:UM.optional(),owner:Y$.optional(),until:JM.optional(),successor:Y$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:D.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),WL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},XM=Z$(o.commsMessageMetadata).extend({tag:eb,envelope:PL}).strict().superRefine(($,_)=>{let U=WL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:D.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(WL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:D.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var _n={[o.actorRef]:AK,[o.resourceRef]:FK,[o.evidenceRef]:KK,[o.workRun]:Tb,[o.decisionEnvelope]:RL,[o.costEstimate]:xU,[o.capabilityCard]:MK,[o.providerLiveModeStandard]:fK,[o.contextPack]:AL,[o.integrationRef]:FL,[o.projectManifest]:vK,[o.projectPanel]:EL,[o.projectSnapshot]:iK,[o.renderManifest]:mK,[o.agentTrajectory]:Zb,[o.validationPlan]:rK,[o.proofBundle]:Cb,[o.scaffoldManifest]:$b,[o.scaffoldInstallRecord]:Ub,[o.appCloudManifest]:ML,[o.noCloudEvidencePack]:Pb,[o.serviceContract]:ob,[o.commsEventEnvelope]:PL,[o.commsChannelMetadata]:WM,[o.commsMessageMetadata]:XM,[o.app]:Db,[o.release]:qb,[o.rolloutRecord]:Nb,[o.announcement]:Rb,[o.audience]:Mb};function GM($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(nb.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}function QM($){return $.toUpperCase().replace(/-/g,"_")}function YM($){return`https://${$}.hasna.xyz`}function fL($){let _=QM($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}function lW($,_){for(let U of _){let W=$[U]?.trim();if(W)return{key:U,value:W}}return null}function jM($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U.endsWith("/v1"))U=U.slice(0,-3);return _.pathname=`${U}/v1`,_.search="",_.hash="",_.toString().replace(/\/+$/,"")}function DM($,_=process.env){let U=fL($),W=lW(_,U.modeKeys),J=lW(_,U.apiUrlKeys),X=lW(_,U.apiKeyKeys),G="local",Q=null,Y="default",j=[];if(W){let L=GM(W.value);if(G=L.mode,Q=L.deprecatedAlias,Y=W.key,Q)j.push(`Deprecated mode '${Q}' from ${W.key} is treated as 'cloud'. Prefer ${U.modeKeys[0]}=cloud.`)}else if(J&&X)G="cloud",Y=`${J.key}+${X.key}`;if(G==="local")return{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(X),apiKeySource:X?X.key:null,misconfigured:!1,warning:j.length>0?j.join(" "):null};if(!X)return j.push(`${Y}=cloud but no API key is set (${U.apiKeyKeys[0]}). Refusing to route to cloud; using local store. Set ${U.apiKeyKeys[0]} to enable the cloud client.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,misconfigured:!0,warning:j.join(" ")};let O=J?.value??YM($),B=J?J.key:"default",V;try{V=jM(O)}catch(L){let N=L instanceof Error?L.message:String(L);return j.push(`Invalid API URL from ${B}: ${N}. Using local store.`),{transport:"local",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!0,warning:j.join(" ")}}return{transport:"cloud-http",mode:G,deprecatedAlias:Q,modeSource:Y,baseUrl:V,apiUrlSource:B,apiKeyPresent:!0,apiKeySource:X.key,misconfigured:!1,warning:j.length>0?j.join(" "):null}}class pW extends Error{status;method;path;body;constructor($,_,U,W){super(`Hasna cloud request failed: ${$} ${_} -> ${U}`);this.name="HasnaHttpError",this.status=U,this.method=$,this.path=_,this.body=W}}var zM=[408,425,429,500,502,503,504],qM=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]);function OM($,_){if(!_)return $;let U=_ instanceof URLSearchParams?_:new URLSearchParams;if(!(_ instanceof URLSearchParams))for(let[J,X]of Object.entries(_)){if(X===null||X===void 0)continue;if(Array.isArray(X))for(let G of X)U.append(J,String(G));else U.append(J,String(X))}let W=U.toString();if(!W)return $;return`${$}${$.includes("?")?"&":"?"}${W}`}var LM=($)=>new Promise((_)=>setTimeout(_,$));function NM($){let _=$.fetchImpl??((j,O)=>fetch(j,O)),U=$.baseUrl.replace(/\/+$/,""),W=$.timeoutMs??30000,J=$.sleepImpl??LM,X=$.retry;function G(j){let O=j!==void 0?j:X;if(O===!1)return null;let B=O??{};return{retries:B.retries??2,baseDelayMs:B.baseDelayMs??200,maxDelayMs:B.maxDelayMs??2000,retryStatuses:B.retryStatuses??[...zM]}}async function Q(j,O,B,V,L){let N={"x-api-key":$.apiKey,Authorization:`Bearer ${$.apiKey}`,Accept:"application/json",...$.headers??{},...L.headers??{}};if(L.idempotencyKey)N["Idempotency-Key"]=L.idempotencyKey;let H={method:j,headers:N};if(V!==void 0)N["Content-Type"]="application/json",H.body=JSON.stringify(V);let R=new AbortController,F=()=>R.abort();if(L.signal)if(L.signal.aborted)R.abort();else L.signal.addEventListener("abort",F,{once:!0});let A=setTimeout(()=>R.abort(),L.timeoutMs??W);H.signal=R.signal;let M;try{M=await _(B,H)}catch(Z){let k=Z instanceof Error?Z:Error(String(Z));if(L.signal?.aborted)return{ok:!1,retryable:!1,error:k};return{ok:!1,retryable:!0,error:k}}finally{if(clearTimeout(A),L.signal)L.signal.removeEventListener("abort",F)}let K=await M.text(),I=void 0;if(K.length>0)try{I=JSON.parse(K)}catch{I=K}if(!M.ok){let Z=G(L.retry);return{ok:!1,retryable:Z?Z.retryStatuses.includes(M.status):!1,error:new pW(j,O,M.status,I)}}return{ok:!0,value:I}}async function Y(j,O,B,V={}){let L=j.toUpperCase(),N=OM(O.startsWith("/")?O:`/${O}`,V.query),H=`${U}${N}`,R=G(V.retry),F=qM.has(L)||Boolean(V.idempotencyKey),A=R&&F?R.retries+1:1,M=null;for(let K=1;K<=A;K++){let I=await Q(L,N,H,B,V);if(I.ok)return I.value;if(M=I,!(R!==null&&F&&I.retryable&&K<A))break;let k=Math.min(R.maxDelayMs,R.baseDelayMs*2**(K-1)),i=Math.floor(Math.random()*(k/2+1));await J(k+i)}throw M.error}return{baseUrl:U,request:Y,get:(j,O)=>Y("GET",j,void 0,O),post:(j,O,B)=>Y("POST",j,O,B),put:(j,O,B)=>Y("PUT",j,O,B),patch:(j,O,B)=>Y("PATCH",j,O,B),del:(j,O,B)=>Y("DELETE",j,O,B)}}function BM($,_=process.env,U){let W=DM($,_);if(W.misconfigured)throw Error(W.warning??`Client for '${$}' is misconfigured for cloud mode.`);if(W.transport==="local"||!W.baseUrl)return{transport:"local",client:null,resolution:W};let J=fL($),X=lW(_,J.apiKeyKeys)?.value;if(!X)throw Error(`Client for '${$}' resolved to cloud-http without an API key.`);return{transport:"cloud-http",client:NM({name:$,baseUrl:W.baseUrl,apiKey:X,...U?.fetchImpl?{fetchImpl:U.fetchImpl}:{},...U?.headers?{headers:U.headers}:{},...U?.timeoutMs?{timeoutMs:U.timeoutMs}:{},...U?.retry!==void 0?{retry:U.retry}:{},...U?.sleepImpl?{sleepImpl:U.sleepImpl}:{}}),resolution:W}}function QG($){let _=$.replace(/^\/+|\/+$/g,"");if(!_)throw Error("resource must be a non-empty path segment");return`/${_}`}function UG($,_){if(_===void 0||_===null||`${_}`.length===0)throw Error("id must be a non-empty string");return`${QG($)}/${encodeURIComponent(String(_))}`}function HM(){let $=globalThis;if($.crypto?.randomUUID)return $.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function VM($){if(Array.isArray($))return $;if($&&typeof $==="object"){let _=$;for(let U of["items","data","results","rows","records"])if(Array.isArray(_[U]))return _[U]}return[]}function RM($){if($&&typeof $==="object"){let _=$;for(let U of["total","count","totalCount","total_count"])if(typeof _[U]==="number")return _[U]}return null}function AM($){if($&&typeof $==="object"){let _=$;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof _[U]==="string")return _[U]}return null}function FM($,_){return{name:$,baseUrl:_.baseUrl,transport:_,async list(U,W={}){let J=await _.get(QG(U),W);return{items:VM(J),total:RM(J),cursor:AM(J),raw:J}},async get(U,W,J={}){try{return await _.get(UG(U,W),J)}catch(X){if(X instanceof pW&&X.status===404)return null;throw X}},async create(U,W,J={}){let{idempotencyKey:X,...G}=J;return _.post(QG(U),W,{...G,idempotencyKey:X??HM()})},async update(U,W,J,X={}){let{method:G="PATCH",idempotencyKey:Q,...Y}=X;return(G==="PUT"?_.put:_.patch)(UG(U,W),J,{...Y,...Q?{idempotencyKey:Q}:{}})},async delete(U,W,J={}){try{await _.del(UG(U,W),void 0,J)}catch(X){if(X instanceof pW&&X.status===404)return;throw X}}}}function qG($,_=process.env,U){let W=BM($,_,U);if(W.transport==="cloud-http")return{transport:"cloud-http",client:FM($,W.client)};return{transport:"local",client:null}}var EM=Object.defineProperty,KM=($)=>$;function bM($,_){this[$]=KM.bind(null,_)}var MM=($,_)=>{for(var U in _)EM($,U,{get:_[U],enumerable:!0,configurable:!0,set:bM.bind(_,U)})},z={};MM(z,{void:()=>jI,util:()=>I$,unknown:()=>QI,union:()=>OI,undefined:()=>WI,tuple:()=>BI,transformer:()=>SL,symbol:()=>JI,string:()=>nL,strictObject:()=>qI,setErrorMap:()=>wM,set:()=>RI,record:()=>HI,quotelessJson:()=>IM,promise:()=>MI,preprocess:()=>wI,pipeline:()=>kI,ostring:()=>PI,optional:()=>II,onumber:()=>fI,oboolean:()=>CI,objectUtil:()=>BG,object:()=>zI,number:()=>lL,nullable:()=>gI,null:()=>XI,never:()=>YI,nativeEnum:()=>bI,nan:()=>$I,map:()=>VI,makeIssue:()=>sW,literal:()=>EI,lazy:()=>FI,late:()=>sM,isValid:()=>B0,isDirty:()=>VG,isAsync:()=>mU,isAborted:()=>HG,intersection:()=>NI,instanceof:()=>eM,getParsedType:()=>s6,getErrorMap:()=>aW,function:()=>AI,enum:()=>KI,effect:()=>SL,discriminatedUnion:()=>LI,defaultErrorMap:()=>a1,datetimeRegex:()=>uL,date:()=>UI,custom:()=>cL,coerce:()=>TI,boolean:()=>iL,bigint:()=>_I,array:()=>DI,any:()=>GI,addIssueToContext:()=>x,ZodVoid:()=>dU,ZodUnknown:()=>w4,ZodUnion:()=>_2,ZodUndefined:()=>e1,ZodType:()=>A$,ZodTuple:()=>C6,ZodTransformer:()=>i_,ZodSymbol:()=>uU,ZodString:()=>G6,ZodSet:()=>R0,ZodSchema:()=>A$,ZodRecord:()=>cU,ZodReadonly:()=>Y2,ZodPromise:()=>A0,ZodPipeline:()=>iU,ZodParsedType:()=>n,ZodOptional:()=>Y6,ZodObject:()=>e$,ZodNumber:()=>k4,ZodNullable:()=>e6,ZodNull:()=>$2,ZodNever:()=>f6,ZodNativeEnum:()=>X2,ZodNaN:()=>lU,ZodMap:()=>nU,ZodLiteral:()=>W2,ZodLazy:()=>J2,ZodIssueCode:()=>C,ZodIntersection:()=>U2,ZodFunction:()=>t1,ZodFirstPartyTypeKind:()=>G$,ZodError:()=>v_,ZodEnum:()=>f4,ZodEffects:()=>i_,ZodDiscriminatedUnion:()=>eW,ZodDefault:()=>G2,ZodDate:()=>H0,ZodCatch:()=>Q2,ZodBranded:()=>$X,ZodBoolean:()=>s1,ZodBigInt:()=>P4,ZodArray:()=>Q6,ZodAny:()=>V0,Schema:()=>A$,ParseStatus:()=>L_,OK:()=>K_,NEVER:()=>SI,INVALID:()=>J$,EMPTY_PATH:()=>kM,DIRTY:()=>o1,BRAND:()=>aM});var I$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(I$||(I$={}));var BG;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(BG||(BG={}));var n=I$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),s6=($)=>{switch(typeof $){case"undefined":return n.undefined;case"string":return n.string;case"number":return Number.isNaN($)?n.nan:n.number;case"boolean":return n.boolean;case"function":return n.function;case"bigint":return n.bigint;case"symbol":return n.symbol;case"object":if(Array.isArray($))return n.array;if($===null)return n.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return n.promise;if(typeof Map<"u"&&$ instanceof Map)return n.map;if(typeof Set<"u"&&$ instanceof Set)return n.set;if(typeof Date<"u"&&$ instanceof Date)return n.date;return n.object;default:return n.unknown}},C=I$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),IM=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class v_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof v_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,I$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}v_.create=($)=>{return new v_($)};var gM=($,_)=>{let U;switch($.code){case C.invalid_type:if($.received===n.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case C.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,I$.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:U=`Unrecognized key(s) in object: ${I$.joinValues($.keys,", ")}`;break;case C.invalid_union:U="Invalid input";break;case C.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${I$.joinValues($.options)}`;break;case C.invalid_enum_value:U=`Invalid enum value. Expected ${I$.joinValues($.options)}, received '${$.received}'`;break;case C.invalid_arguments:U="Invalid function arguments";break;case C.invalid_return_type:U="Invalid function return type";break;case C.invalid_date:U="Invalid date";break;case C.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else I$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case C.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case C.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case C.custom:U="Invalid input";break;case C.invalid_intersection_types:U="Intersection results could not be merged";break;case C.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case C.not_finite:U="Number must be finite";break;default:U=_.defaultError,I$.assertNever($)}return{message:U}},a1=gM,hL=a1;function wM($){hL=$}function aW(){return hL}var sW=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},kM=[];function x($,_){let U=aW(),W=sW({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===a1?void 0:a1].filter((J)=>!!J)});$.common.issues.push(W)}class L_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return J$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return L_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return J$;if(X.status==="aborted")return J$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var J$=Object.freeze({status:"aborted"}),o1=($)=>({status:"dirty",value:$}),K_=($)=>({status:"valid",value:$}),HG=($)=>$.status==="aborted",VG=($)=>$.status==="dirty",B0=($)=>$.status==="valid",mU=($)=>typeof Promise<"u"&&$ instanceof Promise,s;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(s||(s={}));class j6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var CL=($,_)=>{if(B0(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new v_($.common.issues);return this._error=U,this._error}}}};function N$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class A${get description(){return this._def.description}_getType($){return s6($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new L_,ctx:{common:$.parent.common,data:$.data,parsedType:s6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(mU(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parseSync({data:$,path:U.path,parent:U});return CL(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return B0(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>B0(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:s6($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(mU(W)?W:Promise.resolve(W));return CL(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:C.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new i_({schema:this,typeName:G$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return Y6.create(this,this._def)}nullable(){return e6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Q6.create(this)}promise(){return A0.create(this,this._def)}or($){return _2.create([this,$],this._def)}and($){return U2.create(this,$,this._def)}transform($){return new i_({...N$(this._def),schema:this,typeName:G$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new G2({...N$(this._def),innerType:this,defaultValue:_,typeName:G$.ZodDefault})}brand(){return new $X({typeName:G$.ZodBranded,type:this,...N$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new Q2({...N$(this._def),innerType:this,catchValue:_,typeName:G$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return iU.create(this,$)}readonly(){return Y2.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var PM=/^c[^\s-]{8,}$/i,fM=/^[0-9a-z]+$/,CM=/^[0-9A-HJKMNP-TV-Z]{26}$/i,TM=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,SM=/^[a-z0-9_-]{21}$/i,ZM=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,vM=/^[-+]?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)?)??$/,yM=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,hM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",OG,xM=/^(?:(?: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])$/,mM=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,uM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,dM=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,cM=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nM=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,xL="((\\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])))",lM=new RegExp(`^${xL}$`);function mL($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function iM($){return new RegExp(`^${mL($)}$`)}function uL($){let _=`${xL}T${mL($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function rM($,_){if((_==="v4"||!_)&&xM.test($))return!0;if((_==="v6"||!_)&&uM.test($))return!0;return!1}function pM($,_){if(!ZM.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function oM($,_){if((_==="v4"||!_)&&mM.test($))return!0;if((_==="v6"||!_)&&dM.test($))return!0;return!1}class G6 extends A${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==n.string){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.string,received:J.parsedType}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)x(W,{code:C.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)x(W,{code:C.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!yM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"email",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!OG)OG=new RegExp(hM,"u");if(!OG.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"emoji",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!TM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"uuid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!SM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"nanoid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!PM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"cuid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!fM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"cuid2",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!CM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"ulid",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),x(W,{validation:"url",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"regex",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!uL(J).test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!lM.test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!iM(J).test($.data))W=this._getOrReturnCtx($,W),x(W,{code:C.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!vM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"duration",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!rM($.data,J.version))W=this._getOrReturnCtx($,W),x(W,{validation:"ip",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!pM($.data,J.alg))W=this._getOrReturnCtx($,W),x(W,{validation:"jwt",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!oM($.data,J.version))W=this._getOrReturnCtx($,W),x(W,{validation:"cidr",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!cM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"base64",code:C.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!nM.test($.data))W=this._getOrReturnCtx($,W),x(W,{validation:"base64url",code:C.invalid_string,message:J.message}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:C.invalid_string,...s.errToObj(U)})}_addCheck($){return new G6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...s.errToObj($)})}url($){return this._addCheck({kind:"url",...s.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...s.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...s.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...s.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...s.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...s.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...s.errToObj($)})}base64($){return this._addCheck({kind:"base64",...s.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...s.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...s.errToObj($)})}ip($){return this._addCheck({kind:"ip",...s.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...s.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...s.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...s.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...s.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...s.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...s.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...s.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...s.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...s.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...s.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...s.errToObj(_)})}nonempty($){return this.min(1,s.errToObj($))}trim(){return new G6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new G6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}G6.create=($)=>{return new G6({checks:[],typeName:G$.ZodString,coerce:$?.coerce??!1,...N$($)})};function tM($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class k4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==n.number){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.number,received:J.parsedType}),J$}let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="int"){if(!I$.isInteger($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(tM($.data,J.value)!==0)U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),x(U,{code:C.not_finite,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new k4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new k4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:s.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}finite($){return this._addCheck({kind:"finite",message:s.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&I$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}k4.create=($)=>{return new k4({checks:[],typeName:G$.ZodNumber,coerce:$?.coerce||!1,...N$($)})};class P4 extends A${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==n.bigint)return this._getInvalidInput($);let U=void 0,W=new L_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),x(U,{code:C.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),x(U,{code:C.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else I$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:n.bigint,received:_.parsedType}),J$}gte($,_){return this.setLimit("min",$,!0,s.toString(_))}gt($,_){return this.setLimit("min",$,!1,s.toString(_))}lte($,_){return this.setLimit("max",$,!0,s.toString(_))}lt($,_){return this.setLimit("max",$,!1,s.toString(_))}setLimit($,_,U,W){return new P4({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:s.toString(W)}]})}_addCheck($){return new P4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:s.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}P4.create=($)=>{return new P4({checks:[],typeName:G$.ZodBigInt,coerce:$?.coerce??!1,...N$($)})};class s1 extends A${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==n.boolean){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.boolean,received:U.parsedType}),J$}return K_($.data)}}s1.create=($)=>{return new s1({typeName:G$.ZodBoolean,coerce:$?.coerce||!1,...N$($)})};class H0 extends A${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==n.date){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_type,expected:n.date,received:J.parsedType}),J$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return x(J,{code:C.invalid_date}),J$}let U=new L_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),x(W,{code:C.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else I$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new H0({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:s.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:s.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}H0.create=($)=>{return new H0({checks:[],coerce:$?.coerce||!1,typeName:G$.ZodDate,...N$($)})};class uU extends A${_parse($){if(this._getType($)!==n.symbol){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.symbol,received:U.parsedType}),J$}return K_($.data)}}uU.create=($)=>{return new uU({typeName:G$.ZodSymbol,...N$($)})};class e1 extends A${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.undefined,received:U.parsedType}),J$}return K_($.data)}}e1.create=($)=>{return new e1({typeName:G$.ZodUndefined,...N$($)})};class $2 extends A${_parse($){if(this._getType($)!==n.null){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.null,received:U.parsedType}),J$}return K_($.data)}}$2.create=($)=>{return new $2({typeName:G$.ZodNull,...N$($)})};class V0 extends A${constructor(){super(...arguments);this._any=!0}_parse($){return K_($.data)}}V0.create=($)=>{return new V0({typeName:G$.ZodAny,...N$($)})};class w4 extends A${constructor(){super(...arguments);this._unknown=!0}_parse($){return K_($.data)}}w4.create=($)=>{return new w4({typeName:G$.ZodUnknown,...N$($)})};class f6 extends A${_parse($){let _=this._getOrReturnCtx($);return x(_,{code:C.invalid_type,expected:n.never,received:_.parsedType}),J$}}f6.create=($)=>{return new f6({typeName:G$.ZodNever,...N$($)})};class dU extends A${_parse($){if(this._getType($)!==n.undefined){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.void,received:U.parsedType}),J$}return K_($.data)}}dU.create=($)=>{return new dU({typeName:G$.ZodVoid,...N$($)})};class Q6 extends A${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==n.array)return x(_,{code:C.invalid_type,expected:n.array,received:_.parsedType}),J$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)x(_,{code:X?C.too_big:C.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)x(_,{code:C.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)x(_,{code:C.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new j6(_,X,_.path,G))})).then((X)=>{return L_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new j6(_,X,_.path,G))});return L_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new Q6({...this._def,minLength:{value:$,message:s.toString(_)}})}max($,_){return new Q6({...this._def,maxLength:{value:$,message:s.toString(_)}})}length($,_){return new Q6({...this._def,exactLength:{value:$,message:s.toString(_)}})}nonempty($){return this.min(1,$)}}Q6.create=($,_)=>{return new Q6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:G$.ZodArray,...N$(_)})};function p1($){if($ instanceof e$){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=Y6.create(p1(W))}return new e$({...$._def,shape:()=>_})}else if($ instanceof Q6)return new Q6({...$._def,type:p1($.element)});else if($ instanceof Y6)return Y6.create(p1($.unwrap()));else if($ instanceof e6)return e6.create(p1($.unwrap()));else if($ instanceof C6)return C6.create($.items.map((_)=>p1(_)));else return $}class e$ extends A${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=I$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==n.object){let Y=this._getOrReturnCtx($);return x(Y,{code:C.invalid_type,expected:n.object,received:Y.parsedType}),J$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof f6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new j6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof f6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)x(W,{code:C.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new j6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return L_.mergeObjectSync(U,Y)});else return L_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return s.errToObj,new e$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:s.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new e$({...this._def,unknownKeys:"strip"})}passthrough(){return new e$({...this._def,unknownKeys:"passthrough"})}extend($){return new e$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new e$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:G$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new e$({...this._def,catchall:$})}pick($){let _={};for(let U of I$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}omit($){let _={};for(let U of I$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new e$({...this._def,shape:()=>_})}deepPartial(){return p1(this)}partial($){let _={};for(let U of I$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new e$({...this._def,shape:()=>_})}required($){let _={};for(let U of I$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof Y6)J=J._def.innerType;_[U]=J}return new e$({...this._def,shape:()=>_})}keyof(){return dL(I$.objectKeys(this.shape))}}e$.create=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strip",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};e$.strictCreate=($,_)=>{return new e$({shape:()=>$,unknownKeys:"strict",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};e$.lazycreate=($,_)=>{return new e$({shape:$,unknownKeys:"strip",catchall:f6.create(),typeName:G$.ZodObject,...N$(_)})};class _2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new v_(G.ctx.common.issues));return x(_,{code:C.invalid_union,unionErrors:X}),J$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new v_(Q));return x(_,{code:C.invalid_union,unionErrors:G}),J$}}get options(){return this._def.options}}_2.create=($,_)=>{return new _2({options:$,typeName:G$.ZodUnion,...N$(_)})};var a6=($)=>{if($ instanceof J2)return a6($.schema);else if($ instanceof i_)return a6($.innerType());else if($ instanceof W2)return[$.value];else if($ instanceof f4)return $.options;else if($ instanceof X2)return I$.objectValues($.enum);else if($ instanceof G2)return a6($._def.innerType);else if($ instanceof e1)return[void 0];else if($ instanceof $2)return[null];else if($ instanceof Y6)return[void 0,...a6($.unwrap())];else if($ instanceof e6)return[null,...a6($.unwrap())];else if($ instanceof $X)return a6($.unwrap());else if($ instanceof Y2)return a6($.unwrap());else if($ instanceof Q2)return a6($._def.innerType);else return[]};class eW extends A${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.object)return x(_,{code:C.invalid_type,expected:n.object,received:_.parsedType}),J$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return x(_,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),J$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=a6(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new eW({typeName:G$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...N$(U)})}}function RG($,_){let U=s6($),W=s6(_);if($===_)return{valid:!0,data:$};else if(U===n.object&&W===n.object){let J=I$.objectKeys(_),X=I$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=RG($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===n.array&&W===n.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=RG(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===n.date&&W===n.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class U2 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(HG(J)||HG(X))return J$;let G=RG(J.value,X.value);if(!G.valid)return x(U,{code:C.invalid_intersection_types}),J$;if(VG(J)||VG(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}U2.create=($,_,U)=>{return new U2({left:$,right:_,typeName:G$.ZodIntersection,...N$(U)})};class C6 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.array)return x(U,{code:C.invalid_type,expected:n.array,received:U.parsedType}),J$;if(U.data.length<this._def.items.length)return x(U,{code:C.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J$;if(!this._def.rest&&U.data.length>this._def.items.length)x(U,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new j6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return L_.mergeArray(_,X)});else return L_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new C6({...this._def,rest:$})}}C6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new C6({items:$,typeName:G$.ZodTuple,rest:null,...N$(_)})};class cU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.object)return x(U,{code:C.invalid_type,expected:n.object,received:U.parsedType}),J$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new j6(U,G,U.path,G)),value:X._parse(new j6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return L_.mergeObjectAsync(_,W);else return L_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof A$)return new cU({keyType:$,valueType:_,typeName:G$.ZodRecord,...N$(U)});return new cU({keyType:G6.create(),valueType:$,typeName:G$.ZodRecord,...N$(_)})}}class nU extends A${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.map)return x(U,{code:C.invalid_type,expected:n.map,received:U.parsedType}),J$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new j6(U,G,U.path,[Y,"key"])),value:J._parse(new j6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return J$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}nU.create=($,_,U)=>{return new nU({valueType:_,keyType:$,typeName:G$.ZodMap,...N$(U)})};class R0 extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==n.set)return x(U,{code:C.invalid_type,expected:n.set,received:U.parsedType}),J$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)x(U,{code:C.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)x(U,{code:C.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return J$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new j6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new R0({...this._def,minSize:{value:$,message:s.toString(_)}})}max($,_){return new R0({...this._def,maxSize:{value:$,message:s.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}R0.create=($,_)=>{return new R0({valueType:$,minSize:null,maxSize:null,typeName:G$.ZodSet,...N$(_)})};class t1 extends A${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.function)return x(_,{code:C.invalid_type,expected:n.function,received:_.parsedType}),J$;function U(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),a1].filter((Y)=>!!Y),issueData:{code:C.invalid_arguments,argumentsError:Q}})}function W(G,Q){return sW({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,aW(),a1].filter((Y)=>!!Y),issueData:{code:C.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof A0){let G=this;return K_(async function(...Q){let Y=new v_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return K_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new v_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new v_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new t1({...this._def,args:C6.create($).rest(w4.create())})}returns($){return new t1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new t1({args:$?$:C6.create([]).rest(w4.create()),returns:_||w4.create(),typeName:G$.ZodFunction,...N$(U)})}}class J2 extends A${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}J2.create=($,_)=>{return new J2({getter:$,typeName:G$.ZodLazy,...N$(_)})};class W2 extends A${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return x(_,{received:_.data,code:C.invalid_literal,expected:this._def.value}),J$}return{status:"valid",value:$.data}}get value(){return this._def.value}}W2.create=($,_)=>{return new W2({value:$,typeName:G$.ZodLiteral,...N$(_)})};function dL($,_){return new f4({values:$,typeName:G$.ZodEnum,...N$(_)})}class f4 extends A${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{expected:I$.joinValues(U),received:_.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return x(_,{received:_.data,code:C.invalid_enum_value,options:U}),J$}return K_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return f4.create($,{...this._def,..._})}exclude($,_=this._def){return f4.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}f4.create=dL;class X2 extends A${_parse($){let _=I$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==n.string&&U.parsedType!==n.number){let W=I$.objectValues(_);return x(U,{expected:I$.joinValues(W),received:U.parsedType,code:C.invalid_type}),J$}if(!this._cache)this._cache=new Set(I$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=I$.objectValues(_);return x(U,{received:U.data,code:C.invalid_enum_value,options:W}),J$}return K_($.data)}get enum(){return this._def.values}}X2.create=($,_)=>{return new X2({values:$,typeName:G$.ZodNativeEnum,...N$(_)})};class A0 extends A${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==n.promise&&_.common.async===!1)return x(_,{code:C.invalid_type,expected:n.promise,received:_.parsedType}),J$;let U=_.parsedType===n.promise?_.data:Promise.resolve(_.data);return K_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}A0.create=($,_)=>{return new A0({type:$,typeName:G$.ZodPromise,...N$(_)})};class i_ extends A${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===G$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(x(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return J$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return J$;if(Q.status==="dirty")return o1(Q.value);if(_.value==="dirty")return o1(Q.value);return Q});else{if(_.value==="aborted")return J$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")return o1(G.value);if(_.value==="dirty")return o1(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return J$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!B0(X))return J$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!B0(X))return J$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});I$.assertNever(W)}}i_.create=($,_,U)=>{return new i_({schema:$,typeName:G$.ZodEffects,effect:_,...N$(U)})};i_.createWithPreprocess=($,_,U)=>{return new i_({schema:_,effect:{type:"preprocess",transform:$},typeName:G$.ZodEffects,...N$(U)})};class Y6 extends A${_parse($){if(this._getType($)===n.undefined)return K_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}Y6.create=($,_)=>{return new Y6({innerType:$,typeName:G$.ZodOptional,...N$(_)})};class e6 extends A${_parse($){if(this._getType($)===n.null)return K_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}e6.create=($,_)=>{return new e6({innerType:$,typeName:G$.ZodNullable,...N$(_)})};class G2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===n.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}G2.create=($,_)=>{return new G2({innerType:$,typeName:G$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...N$(_)})};class Q2 extends A${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(mU(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new v_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}Q2.create=($,_)=>{return new Q2({innerType:$,typeName:G$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...N$(_)})};class lU extends A${_parse($){if(this._getType($)!==n.nan){let U=this._getOrReturnCtx($);return x(U,{code:C.invalid_type,expected:n.nan,received:U.parsedType}),J$}return{status:"valid",value:$.data}}}lU.create=($)=>{return new lU({typeName:G$.ZodNaN,...N$($)})};var aM=Symbol("zod_brand");class $X extends A${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class iU extends A${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return J$;if(J.status==="dirty")return _.dirty(),o1(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return J$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new iU({in:$,out:_,typeName:G$.ZodPipeline})}}class Y2 extends A${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(B0(W))W.value=Object.freeze(W.value);return W};return mU(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}Y2.create=($,_)=>{return new Y2({innerType:$,typeName:G$.ZodReadonly,...N$(_)})};function TL($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function cL($,_={},U){if($)return V0.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=TL(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=TL(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return V0.create()}var sM={object:e$.lazycreate},G$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(G$||(G$={}));var eM=($,_={message:`Input not instance of ${$.name}`})=>cL((U)=>U instanceof $,_),nL=G6.create,lL=k4.create,$I=lU.create,_I=P4.create,iL=s1.create,UI=H0.create,JI=uU.create,WI=e1.create,XI=$2.create,GI=V0.create,QI=w4.create,YI=f6.create,jI=dU.create,DI=Q6.create,zI=e$.create,qI=e$.strictCreate,OI=_2.create,LI=eW.create,NI=U2.create,BI=C6.create,HI=cU.create,VI=nU.create,RI=R0.create,AI=t1.create,FI=J2.create,EI=W2.create,KI=f4.create,bI=X2.create,MI=A0.create,SL=i_.create,II=Y6.create,gI=e6.create,wI=i_.createWithPreprocess,kI=iU.create,PI=()=>nL().optional(),fI=()=>lL().optional(),CI=()=>iL().optional(),TI={string:($)=>G6.create({...$,coerce:!0}),number:($)=>k4.create({...$,coerce:!0}),boolean:($)=>s1.create({...$,coerce:!0}),bigint:($)=>P4.create({...$,coerce:!0}),date:($)=>H0.create({...$,coerce:!0})},SI=J$;var a={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},rL=z.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),y_=z.string().datetime(),j$=z.string().trim().min(1),$4=j$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),pL=z.string().regex(/^[a-fA-F0-9]{64}$/),oL=z.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),_4=z.record(z.unknown()),z2=z.array(z.string().min(1)).default([]),F0=y_.nullable().optional(),ZI=new Set(["succeeded","failed","cancelled","blocked","skipped"]),K0=z.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function v$($){return z.object({schema:z.literal($),id:z.string().min(1),createdAt:y_,updatedAt:F0,metadata:_4.optional()}).strict()}var Jn=z.object({schema:rL,id:z.string().min(1),createdAt:y_,updatedAt:F0,metadata:_4.optional()}).strict(),tL=z.enum(["agent","human","service","model","workflow","system"]),vI=v$(a.actorRef).extend({kind:tL,name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional(),capabilities:z.array(z.string().min(1)).default([])}).strict(),T6=z.object({kind:tL,id:z.string().min(1),name:z.string().min(1).optional(),provider:z.string().min(1).optional(),accountId:z.string().min(1).optional(),machineId:z.string().min(1).optional()}).strict(),aL=z.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),yI=v$(a.resourceRef).extend({kind:aL,name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:z2}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),R$=z.object({kind:aL,id:z.string().min(1),name:z.string().min(1).optional(),uri:$4.optional(),externalId:j$.optional(),sourcePackage:j$.optional(),tags:z2}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:z.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),AG=z.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),hI=z.enum(["none","partial","full","unknown"]),xI=v$(a.evidenceRef).extend({kind:AG,uri:$4,sha256:pL.optional(),summary:z.string().min(1).optional(),contentType:z.string().min(1).optional(),sizeBytes:z.number().int().nonnegative().optional(),redaction:hI.default("unknown"),producer:T6.optional(),resourceRefs:z.array(R$).default([]),tags:z2}).strict(),l$=z.object({id:z.string().min(1),kind:AG.optional(),uri:$4.optional(),sha256:pL.optional(),summary:z.string().min(1).optional()}).strict(),rU=v$(a.costEstimate).extend({currency:z.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:z.number().int().nonnegative(),provider:z.string().min(1).optional(),model:z.string().min(1).optional(),accountId:z.string().min(1).optional(),promptTokens:z.number().int().nonnegative().optional(),completionTokens:z.number().int().nonnegative().optional(),totalTokens:z.number().int().nonnegative().optional(),basis:z.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:z.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),mI=z.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),sL=v$(a.decisionEnvelope).extend({decisionType:z.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:mI,actor:T6.optional(),traceId:z.string().min(1).optional(),inputHash:oL.optional(),policyBundleId:z.string().min(1).optional(),selected:z.array(R$).default([]),skipped:z.array(R$).default([]),reason:z.string().min(1),obligations:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),costEstimate:rU.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),uI=v$(a.capabilityCard).extend({kind:z.enum(["model","tool","machine","agent","lane","connector","service"]),name:z.string().min(1),version:z.string().min(1).optional(),status:z.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:z.array(z.string().min(1)).default([]),limitations:z.array(z.string().min(1)).default([]),riskLevel:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:rU.optional(),evidenceRefs:z.array(l$).default([])}).strict(),j2=z.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),dI=z.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),cI=z.object({refName:j$,requiredForModes:z.array(j2).min(1),allowedSecretInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:j$,revocationCheck:z.boolean().default(!0)}).strict(),nI=z.object({operation:j$,supportedModes:z.array(j2).min(1),sideEffectClass:dI,requiresApproval:z.boolean().default(!1),requiresIdempotencyKey:z.boolean().default(!1),requiresSandboxEvidence:z.boolean().default(!1),requiresRollbackOrRevocation:z.boolean().default(!1),rollbackOrRevocation:j$.optional(),noSideEffectSmoke:j$.optional(),reconciliation:j$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),lI=z.object({providerId:j$,appId:j$,adapterId:j$,ownerPackage:j$,modes:z.array(j2).min(1),defaultMode:j2,credentialRequirements:z.array(cI).default([]),operations:z.array(nI).min(1),rateLimitPosture:j$,costPosture:j$.optional(),auditEvents:z.array(j$).default([]),redactionRules:z.array(j$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:z.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),iI=z.object({appId:j$,repo:j$,priority:z.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:z.array(j$).min(1),firstOperations:z.array(j$).min(1),blockedUntil:z.array(j$).default([])}).strict(),rI=v$(a.providerLiveModeStandard).extend({name:j$,version:j$,modes:z.array(j2).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:z.array(j$).min(1),liveMutationGate:z.object({requiredMode:z.literal("live_mutating"),requiredChecks:z.array(j$).min(1),forbiddenBypassSignals:z.array(j$).min(1),disabledLiveSmoke:j$}).strict(),noSideEffectSmoke:z.object({requiredForModes:z.array(j2).min(1),commandEvidence:z.array(j$).min(1),secretOutputScan:z.boolean().default(!0)}).strict(),credentialPolicy:z.object({acceptedInputs:z.array(z.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:z.literal(!1),missingCredentialBehavior:z.literal("fail_closed"),revocationCheckRequired:z.boolean().default(!0)}).strict(),operationCards:z.array(lI).min(1),firstAdoptionTargets:z.array(iI).min(1),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),pI=z.object({id:z.string().min(1),title:z.string().min(1).optional(),summary:z.string().min(1),text:z.string().optional(),tokens:z.number().int().nonnegative().optional(),source:l$,resourceRefs:z.array(R$).default([])}).strict(),eL=v$(a.contextPack).extend({objective:z.string().min(1),budget:z.object({maxTokens:z.number().int().positive().optional(),maxBytes:z.number().int().positive().optional()}).strict().optional(),items:z.array(pI).default([]),citations:z.array(l$).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),permissions:z.array(z.string().min(1)).default([]),redactions:z.array(z.string().min(1)).default([]),conflicts:z.array(z.string().min(1)).default([]),uncertainty:z.string().min(1).optional()}).strict(),X6=j$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),E0=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),oI=z.enum(["public","internal","private","sensitive"]),tI=z.enum(["draft","active","paused","archived"]),FG=z.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),$N=v$(a.integrationRef).extend({kind:FG,name:z.string().min(1),projectId:E0.optional(),sourcePackage:j$.optional(),externalId:j$.optional(),uri:$4.optional(),enabled:z.boolean().default(!0),readOnly:z.boolean().default(!0),capabilities:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:R$.optional(),evidenceRefs:z.array(l$).default([]),config:_4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),aI=z.object({schemaRoot:X6.default(".hasna/project"),dashboardManifest:X6.default(".hasna/project/dashboard.render.json"),snapshotsDir:X6.default(".hasna/project/snapshots"),documentsDir:X6.default("documents"),reportsDir:X6.default("reports"),evidenceDir:X6.default(".hasna/project/evidence"),privateDir:X6.default(".hasna/project/private")}).strict(),sI=v$(a.projectManifest).extend({projectId:E0,slug:E0,name:z.string().min(1),summary:z.string().min(1).optional(),status:tI.default("active"),classification:oI.default("private"),owner:T6.optional(),layout:aI.default({}),integrations:z.array($N).default([]),renderManifests:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),tags:z2}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:z.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),eI=z.enum(["local","package","provider","url"]),EG=z.object({id:z.string().min(1),kind:eI,specifier:z.string().min(1),path:X6.optional(),packageName:z.string().min(1).optional(),uri:$4.optional(),provider:FG.optional(),schemaId:rL.optional(),integrity:oL.optional(),resourceRef:R$.optional(),optional:z.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:z.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:z.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:z.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),$g=z.enum(["dashboard","canvas","panel","report","document","custom"]),_g=z.object({id:z.string().min(1),title:z.string().min(1),kind:$g,default:z.boolean().default(!1),entry:X6.optional(),imports:z.array(EG).default([]),panelRefs:z.array(R$).default([]),dataRefs:z.array(R$).default([]),layout:_4.optional()}).strict(),Ug=v$(a.renderManifest).extend({projectId:E0,name:z.string().min(1),version:z.string().min(1),manifestPath:X6.default(".hasna/project/dashboard.render.json"),renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:z.array(_g).min(1),imports:z.array(EG).default([]),theme:_4.optional(),compatibility:z.object({minProjectsVersion:z.string().min(1).optional(),minContractsVersion:z.string().min(1).optional()}).strict().optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:z.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),Jg=z.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),Wg=z.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Xg=z.object({id:z.string().min(1),label:z.string().min(1),value:z.union([z.string(),z.number(),z.boolean()]),unit:z.string().min(1).optional(),status:z.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:z.array(R$).default([])}).strict(),Gg=z.object({id:z.string().min(1),title:z.string().min(1),summary:z.string().min(1).optional(),status:z.string().min(1).optional(),priority:z.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:y_.optional(),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),metadata:_4.optional()}).strict(),Qg=z.object({renderer:z.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:z.string().min(1).optional(),entry:X6.optional(),imports:z.array(EG).default([]),spec:_4.default({})}).strict(),_N=v$(a.projectPanel).extend({projectId:E0,provider:z.object({kind:FG,id:z.string().min(1),name:z.string().min(1).optional(),sourcePackage:j$.optional(),externalId:j$.optional()}).strict(),kind:Wg,title:z.string().min(1),summary:z.string().min(1).optional(),state:Jg.default("ready"),stateReason:z.string().min(1).optional(),generatedAt:y_,freshness:z.enum(["fresh","stale","unknown"]).default("unknown"),metrics:z.array(Xg).default([]),items:z.array(Gg).default([]),actions:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),renderFragment:Qg.optional(),warnings:z.array(z.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:z.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:z.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),Yg=v$(a.projectSnapshot).extend({projectId:E0,generatedAt:y_,status:K0.default("unknown"),manifestRef:R$,renderManifestRef:R$.optional(),panels:z.array(_N).default([]),contextPacks:z.array(eL).default([]),proofBundleRefs:z.array(R$).default([]),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),warnings:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:z.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:z.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),UN=z.object({id:z.string().min(1),kind:z.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),expected:z.string().min(1).optional(),timeoutMs:z.number().int().positive().optional(),resourceRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:z.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),jg=v$(a.validationPlan).extend({objective:z.string().min(1),subject:R$.optional(),checks:z.array(UN).min(1),verifier:T6.optional(),requiredEvidenceKinds:z.array(AG).default([])}).strict(),Dg=z.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),zg=z.enum(["draft","active","deprecated","archived"]),qg=z.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Og=z.object({key:z.string().regex(/^[A-Z][A-Z0-9_]*$/),description:z.string().min(1),required:z.boolean().default(!1),["secret"]:z.boolean().default(!1),group:z.string().min(1).optional(),default:z.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),Lg=z.object({name:z.string().min(1),command:z.string().min(1),description:z.string().min(1).optional(),required:z.boolean().default(!1)}).strict(),Ng=z.object({packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:z.array(z.string().min(1)).default([]),requiredFiles:z.array(z.string().min(1)).default([]),requiredDirectories:z.array(z.string().min(1)).default([]),optionalDirectories:z.array(z.string().min(1)).default([])}).strict(),Bg=v$(a.scaffoldManifest).extend({name:z.string().min(1),version:z.string().min(1),summary:z.string().min(1),type:Dg,status:zg.default("draft"),capabilities:z.array(qg).default([]),techStack:z.array(z.string().min(1)).default([]),tags:z2,source:R$.optional(),output:Ng,env:z.array(Og).default([]),scripts:z.array(Lg).default([]),validationChecks:z.array(UN).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:z.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Hg=z.enum(["installed","failed","cancelled","partial","unknown"]),Vg=v$(a.scaffoldInstallRecord).extend({scaffoldId:z.string().min(1),scaffoldVersion:z.string().min(1).optional(),manifestRef:R$.optional(),target:R$,status:Hg,installedAt:y_.optional(),installer:T6.optional(),packageManager:z.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:_4.optional(),generatedFiles:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),D2=z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),KG=z.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),JN=z.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Rg=z.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Ag=j$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Fg=z.enum(["active","stub","deprecated","archived"]),Eg=z.enum(["stable","beta","canary","internal"]),Kg=z.object({transport:z.enum(["http","stdio"]).default("http"),bin:z.string().min(1).optional(),url:$4.optional()}).strict(),bg=z.object({healthPath:z.string().min(1).default("/health"),port:z.number().int().positive().optional(),baseUrl:$4.optional()}).strict(),Mg=z.object({bins:z.array(z.string().min(1)).default([]),mcp:Kg.optional(),http:bg.optional()}).strict(),Ig=v$(a.app).extend({appId:D2,npmName:KG,repoFolder:D2,githubUrl:Ag,projectSlug:E0,surfaces:Mg.default({}),lifecycle:Fg,releaseChannel:Eg.default("stable"),summary:z.string().min(1).optional(),tags:z2}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:z.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),gg=z.enum(["skill","ci","backfilled"]),wg=v$(a.release).extend({appId:D2,package:KG,version:JN,gitSha:Rg,publishedAt:y_,publishPath:gg,changelogRef:R$.optional(),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),kg=z.enum(["install","update","rollback","freeze-blocked"]),Pg=z.object({cliVersion:z.string().min(1).optional(),mcpHealth:z.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),fg=v$(a.rolloutRecord).extend({appId:D2,package:KG,version:JN,machine:j$,action:kg,result:K0,verifiedBy:Pg.optional(),at:y_,evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:z.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Cg=z.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),Tg=z.enum(["pending","queued","sent","failed","skipped","suppressed"]),Sg=z.object({channel:Cg,status:Tg,deliveredAt:y_.optional(),detail:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Zg=v$(a.announcement).extend({campaignId:j$,appId:D2.optional(),releaseRef:R$.optional(),channels:z.array(Sg).min(1),audienceRef:R$,sentAt:y_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:z.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),vg=z.enum(["tag","attribute","group"]),yg=z.enum(["eq","neq","in","not_in","exists","not_exists"]),ZL=z.union([z.string(),z.number(),z.boolean()]),hg=z.object({kind:vg,key:z.string().min(1).optional(),op:yg.default("eq"),value:ZL.optional(),values:z.array(ZL).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:z.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:z.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),xg=z.object({match:z.enum(["all","any"]).default("all"),predicates:z.array(hg).min(1)}).strict(),mg=z.enum(["opt_in","opt_out","transactional","none"]),ug=v$(a.audience).extend({audienceId:D2,name:j$,definition:xg,consentPolicy:mg,suppressionSyncedAt:F0}).strict(),LG=["@hasna/cloud","open-cloud"],dg=z.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),cg=z.object({id:z.string().min(1),provider:dg,kind:z.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:z.string().min(1),region:z.string().min(1).optional(),accountId:z.string().min(1).optional(),uri:$4.optional(),machineScoped:z.boolean().default(!1)}).strict(),WN=v$(a.appCloudManifest).extend({packageName:z.string().min(1),packageVersion:z.string().min(1).optional(),appId:z.string().min(1),repository:R$.optional(),storageMode:z.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:z.enum(["none","app_owned","external_service","local_cache"]),cloudResources:z.array(cg).default([]),localCache:z.object({path:z.string().min(1).optional(),pullMode:z.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:z.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:z.array(z.string().min(1)).default([...LG]),dependencies:z.array(z.string().min(1)).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...LG,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:z.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of LG)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:z.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:z.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:z.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:z.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:z.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),XN=z.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),ng=z.enum(["low","medium","high","critical"]),GN=z.object({id:z.string().min(1),kind:XN,severity:ng,path:z.string().min(1).optional(),packageName:z.string().min(1).optional(),pattern:z.string().min(1),message:z.string().min(1),evidenceRefs:z.array(l$).default([])}).strict(),lg=z.object({id:z.string().min(1),kind:XN,status:K0,target:z.string().min(1),command:z.string().min(1).optional(),evidenceRefs:z.array(l$).default([]),findings:z.array(GN).default([])}).strict(),ig=v$(a.noCloudEvidencePack).extend({subject:R$,packageName:z.string().min(1).optional(),packageVersion:z.string().min(1).optional(),generatedBy:T6.optional(),scanMode:z.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:K0,verdict:z.enum(["passed","failed","warning","not_run"]),appCloudManifest:WN.optional(),checks:z.array(lg).min(1),findings:z.array(GN).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),rg=z.object({checkId:z.string().min(1),status:K0,summary:z.string().min(1).optional(),startedAt:F0,finishedAt:F0,evidenceRefs:z.array(l$).default([])}).strict(),pg=v$(a.proofBundle).extend({subject:R$,validationPlanRef:R$.optional(),status:K0,verdict:z.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:z.array(rg).default([]),verifier:T6.optional(),evidenceRefs:z.array(l$).default([]),residualRisks:z.array(z.string().min(1)).default([]),freshness:z.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:z.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:z.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),og=v$(a.workRun).extend({objective:z.string().min(1),status:K0,actor:T6,traceId:z.string().min(1).optional(),startedAt:F0,finishedAt:F0,constraints:z.array(z.string().min(1)).default([]),resourceRefs:z.array(R$).default([]),decisions:z.array(sL).default([]),costEstimates:z.array(rU).default([]),evidenceRefs:z.array(l$).default([]),validationPlanRefs:z.array(R$).default([]),proofBundleRefs:z.array(R$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:z.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(ZI.has($.status)&&!$.finishedAt)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:z.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),tg=z.object({id:z.string().min(1),at:y_,kind:z.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:z.string().min(1),resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([]),costEstimate:rU.optional()}).strict(),ag=v$(a.agentTrajectory).extend({actor:T6,workRunRef:R$.optional(),events:z.array(tg).default([]),outcome:z.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:R$.optional()}).strict(),sg="v1",eg=z.enum(["library","cli-with-store","service","saas"]),$w=["local","self-hosted","cloud"],QN=z.enum($w),_w=z.enum(["supported","deferred","unsupported"]),Uw=z.enum(["none","local-only","api-key","session","service-token","custom"]),NG=z.object({method:z.enum(["GET","POST","PUT","PATCH","DELETE"]),path:z.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:z.boolean().default(!1),description:z.string().min(1).optional()}).strict(),Jw=z.object({id:z.string().min(1),kind:z.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:z.boolean().default(!0),command:z.string().min(1).optional(),evidenceRef:l$.optional(),status:z.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:z.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:z.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),Ww=z.object({name:z.string().min(1),status:_w,bin:z.string().min(1).optional(),mcpBin:z.string().min(1).optional(),authMode:Uw,deploymentModes:z.array(QN).min(1),health:NG.optional(),readiness:NG.optional(),version:NG.optional(),apiBasePath:z.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:z.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:z.string().min(1).optional(),readinessGates:z.array(Jw).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:z.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:z.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:z.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:z.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:z.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),Xw=["local","cloud"],YN=z.enum(Xw);var Gw=z.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Qw=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Yw($){return Qw.map((_)=>`${$}${_}`)}function vL($){return`hasna/oss/${$}/database-url`}var jw=z.object({mode:YN,envPrefix:z.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:z.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:z.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:z.string().min(1).optional()}).strict(),Dw=z.object({$schema:z.string().min(1).optional(),schema:z.literal(a.serviceContract),name:Gw,class:eg,contractVersion:z.literal(sg),kitVersion:z.string().min(1),description:z.string().min(1).optional(),bins:z.array(z.string().min(1)).default([]),storage:jw.optional(),deploymentModes:z.array(QN).default(["local"]),serviceSurfaces:z.array(Ww).default([]),metadata:_4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Yw($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:z.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:z.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==vL($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${vL($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:z.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:z.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:z.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:z.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:z.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:z.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),Wn=z.object({status:z.enum(["ok","degraded","unavailable"]),version:z.string().min(1),mode:YN}).strict(),Xn=z.object({ready:z.boolean(),reason:z.string().min(1).optional()}).strict(),Gn=z.object({version:z.string().min(1)}).strict(),zw=z.enum(["info","notice","breaking","critical"]),qw=z.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),Ow=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],Lw=z.enum(Ow);var Nw=z.enum(["fleet","package","machine"]),jN=v$(a.commsEventEnvelope).extend({type:qw,severity:zw,scope:Nw,summary:z.string().min(1).optional(),source:T6.optional(),affected_packages:z.array(j$).default([]),affected_machines:z.array(j$).default([]),action_required:z.boolean().default(!1),ack_by:y_.optional(),dedupe_key:j$,resourceRefs:z.array(R$).default([]),evidenceRefs:z.array(l$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:z.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),Bw=z.enum(["fleet","package","product","loop-lane","initiative","personal"]),Hw=z.enum(["quiet","work","firehose"]),Vw=j$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),Rw=v$(a.commsChannelMetadata).extend({class:Bw,noise:Hw.optional(),owner:j$.optional(),until:Vw.optional(),successor:j$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:z.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),yL={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Aw=v$(a.commsMessageMetadata).extend({tag:Lw,envelope:jN}).strict().superRefine(($,_)=>{let U=yL[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:z.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(yL))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:z.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Qn={[a.actorRef]:vI,[a.resourceRef]:yI,[a.evidenceRef]:xI,[a.workRun]:og,[a.decisionEnvelope]:sL,[a.costEstimate]:rU,[a.capabilityCard]:uI,[a.providerLiveModeStandard]:rI,[a.contextPack]:eL,[a.integrationRef]:$N,[a.projectManifest]:sI,[a.projectPanel]:_N,[a.projectSnapshot]:Yg,[a.renderManifest]:Ug,[a.agentTrajectory]:ag,[a.validationPlan]:jg,[a.proofBundle]:pg,[a.scaffoldManifest]:Bg,[a.scaffoldInstallRecord]:Vg,[a.appCloudManifest]:WN,[a.noCloudEvidencePack]:ig,[a.serviceContract]:Dw,[a.commsEventEnvelope]:jN,[a.commsChannelMetadata]:Rw,[a.commsMessageMetadata]:Aw,[a.app]:Ig,[a.release]:wg,[a.rolloutRecord]:fg,[a.announcement]:Zg,[a.audience]:ug};function Fw($){return $.toUpperCase().replace(/-/g,"_")}function DN($){let _=Fw($);return{modeKeys:[`HASNA_${_}_STORAGE_MODE`,`HASNA_${_}_MODE`,`${_}_STORAGE_MODE`,`${_}_MODE`],apiUrlKeys:[`HASNA_${_}_API_URL`,`${_}_API_URL`],apiKeyKeys:[`HASNA_${_}_API_KEY`,`${_}_API_KEY`]}}var Ew=["remote","hybrid","self_hosted"];function bG($){let _=$.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return{mode:"local",deprecatedAlias:null};if(_==="cloud")return{mode:"cloud",deprecatedAlias:null};if(Ew.includes(_))return{mode:"cloud",deprecatedAlias:_};throw Error(`Unknown storage mode: ${$}. Use local or cloud.`)}import Ln from"pg";class _X extends Error{scheme;port;constructor($,_){super($);this.name="KnowledgeNetworkGuardError",this.scheme=_.scheme,this.port=_.port}}function q2($=process.env){return($.NODE_ENV??"").trim().toLowerCase()==="test"}function zN($){let _=$.split(".");if(_.length!==4)return!1;if(!_.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return _[0]==="127"}function gw($){let _=$.trim().toLowerCase();if(_.length===0)return!1;if(_==="localhost"||_.endsWith(".localhost"))return!0;if(zN(_))return!0;if(!_.startsWith("[")||!_.endsWith("]"))return!1;let U=_.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let W=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&zN(W))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function LN($){if(typeof $==="string")return $;if($ instanceof URL)return $.href;return $.url}function qN($,_=process.env){if(!q2(_))return;let U=LN($),W;try{W=new URL(U)}catch{throw new _X("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(gw(W.hostname))return;throw new _X(`knowledge: refused a non-loopback ${W.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=local) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:W.protocol.replace(":",""),port:W.port})}var ww=new Set([301,302,303,307,308]),ON=5;function kw($,_){if(_?.method)return _.method.toUpperCase();if(typeof $!=="string"&&!($ instanceof URL))return $.method.toUpperCase();return"GET"}async function UX($,_){if(qN($),!q2()||_?.redirect!==void 0)return fetch($,_);let U=LN($),W=kw($,_),J=_?.body,X=await fetch($,{..._??{},redirect:"manual"});for(let G=0;ww.has(X.status);G++){let Q=X.headers.get("location");if(!Q)return X;let Y=new URL(Q,U).href;if(qN(Y),G>=ON){let O=new URL(Y);throw new _X(`knowledge: refused to follow more than ${ON} redirects while NODE_ENV=test (target host withheld on purpose). Under test the guard follows redirects itself so every hop is checked, and a chain this long is a loop, not a route.`,{scheme:O.protocol.replace(":",""),port:O.port})}if(X.status===303||(X.status===301||X.status===302)&&W!=="GET"&&W!=="HEAD")W="GET",J=void 0;let j={..._??{},method:W,redirect:"manual"};if(J===void 0)delete j.body;else j.body=J;X=await fetch(Y,j),U=Y}return X}var JX="knowledge",IG=DN(JX),C4=IG.modeKeys,gG=IG.apiUrlKeys,WX=IG.apiKeyKeys;function MG($,_){return _.filter((U)=>($[U]??"").trim().length>0)}function XX($=process.env){let _=[...MG($,gG),...MG($,WX)],U=C4[0];for(let W of C4){let J=$[W]?.trim();if(!J)continue;let X;try{X=bG(J)}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw Error(`knowledge: ${W}=${J} is not a valid mode. ${Y}`)}let G=[];if(X.deprecatedAlias)G.push(`Deprecated mode '${X.deprecatedAlias}' from ${W} is treated as 'cloud'. Prefer ${U}=cloud.`);if(W!==U)G.push(`Using alias env ${W}; the canonical key is ${U}.`);if(X.mode==="local"&&_.length>0)G.push(`${W}=local pins the on-box store; ${_.join(", ")} are set but ignored.`);return{mode:X.mode,source:{kind:"env",name:W,value:J},pointer_env_present:_,pointer_ignored:X.mode==="local"&&_.length>0,warning:G.length>0?G.join(" "):null}}return{mode:"local",source:{kind:"default",name:null,value:null},pointer_env_present:_,pointer_ignored:_.length>0,warning:_.length>0?`${_.join(", ")} are set but do NOT select a backend: mode is local by default. Set ${U}=cloud to route reads and writes to the API, or unset those vars to silence this note.`:null}}function wG($,_){return{...$,[C4[0]]:_}}function NN($=process.env){let _=XX($);return{..._,store_transport:_.mode==="cloud"?"api":"local",api_key_present:MG($,WX).length>0,network_guard_active:q2($)}}function BN($){return{fetchImpl:UX,...q2($)?{retry:!1}:{}}}var O2="notes";function Pw($){let _={};if($.search)_.search=$.search;if($.limit!==void 0)_.limit=$.limit;if($.offset!==void 0)_.offset=$.offset;if($.includeArchived||$.archivedOnly)_.includeArchived=!0;return _}function fw($){return{baseUrl:$.baseUrl,async list(_={}){let U=_.limit??200,W=Pw({..._,limit:Math.min(Math.max(U,1),200)}),J=await $.list(O2,{query:W}),X=J.items;if(_.archivedOnly)X=X.filter((G)=>G.archived===!0);if(_.tag){let G=_.tag.toLowerCase();X=X.filter((Q)=>(Q.tags??[]).some((Y)=>Y.toLowerCase()===G))}return{items:X,total:J.total}},async get(_){return $.get(O2,_)},async create(_){return $.create(O2,{..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})},async update(_,U){try{return await $.update(O2,_,U)}catch(W){if(Cw(W))return null;throw W}},async delete(_){let U=await $.get(O2,_);if(!U)return!1;return await $.delete(O2,U.id),!0}}}function Cw($){return Boolean($&&typeof $==="object"&&$.status===404)}function pU($=process.env){if(XX($).mode!=="cloud")return null;let _=qG(JX,wG($,"cloud"),BN($));if(_.transport!=="cloud-http")return null;return fw(_.client)}function T4($=process.env){if(XX($).mode!=="cloud")return!1;return qG(JX,wG($,"cloud"),BN($)).transport==="cloud-http"}async function GX($){let U=[];for(let W=0;;W+=200){let{items:J}=await $.list({includeArchived:!0,limit:200,offset:W});if(U.push(...J),J.length<200)break;if(W>1e5)break}return U}function kG($,_){return $.id===_||$.short_id===_}class HN{storePath;kind="local";constructor($){this.storePath=$}get location(){return this.storePath}get exists(){return Tw(this.storePath)}async listAll(){let $=k1(this.storePath);return{items:$.items,exists:$.exists}}async get($){return k1(this.storePath).items.find((U)=>kG(U,$))??null}async create($){return g6(this.storePath,()=>{let _=fU(this.storePath),U=new Date().toISOString(),W=$.id??aO(),J={id:W,short_id:sO(W),title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:!1,created_at:U,updated_at:U};return _.items.push(J),l6(this.storePath,_),J},{createParent:!0})}async update($,_){return g6(this.storePath,()=>{let U=fU(this.storePath),W=U.items.findIndex((X)=>kG(X,$));if(W===-1)return null;let J=U.items[W];if(_.title!==void 0)J.title=_.title;if(_.content!==void 0)J.content=_.content;if(_.url!==void 0)J.url=_.url;if(_.tags!==void 0)J.tags=_.tags;if(_.metadata!==void 0)J.metadata=_.metadata;if(_.archived!==void 0)J.archived=_.archived;return J.updated_at=new Date().toISOString(),U.items[W]=J,l6(this.storePath,U),J},{createParent:!0})}async delete($){return g6(this.storePath,()=>{let _=fU(this.storePath),U=_.items.length;_.items=_.items.filter((J)=>!kG(J,$));let W=U!==_.items.length;if(W)l6(this.storePath,_);return W},{createParent:!0})}async deleteMany($){if($.length===0)return 0;let _=new Set($);return g6(this.storePath,()=>{let U=fU(this.storePath),W=U.items.length;U.items=U.items.filter((X)=>!_.has(X.id)&&!(X.short_id!=null&&_.has(X.short_id)));let J=W-U.items.length;if(J>0)l6(this.storePath,U);return J},{createParent:!0})}}class VN{cloud;kind="api";exists=!0;constructor($){this.cloud=$}get location(){return this.cloud.baseUrl}async listAll(){return{items:await GX(this.cloud),exists:!0}}async get($){return this.cloud.get($)}async create($){return this.cloud.create({...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})}async update($,_){return this.cloud.update($,_)}async delete($){return this.cloud.delete($)}async deleteMany($){let _=0;for(let U of $)if(await this.cloud.delete(U))_+=1;return _}}function QX($){let _=$.storePathOverridden?null:pU($.env??process.env);if(_)return new VN(_);return new HN($.storePath)}import{Database as RN}from"bun:sqlite";function YX($="catalog"){if(T4()){let _=C4[0];throw Error(`knowledge: ${$} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${_}=local `+"(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see "+"which variable selected the current backend.")}}var Sw="porter unicode61 remove_diacritics 2",AN=` PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; @@ -262,7 +262,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (1, datetime('now')); -`,Cw=` +`,Zw=` DROP TABLE IF EXISTS chunks_fts; CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( @@ -275,7 +275,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (2, datetime('now')); -`,Tw=` +`,vw=` CREATE TABLE IF NOT EXISTS audit_events ( id TEXT PRIMARY KEY, event_type TEXT NOT NULL, @@ -306,7 +306,7 @@ CREATE INDEX IF NOT EXISTS idx_approval_gates_status ON approval_gates(status); INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (3, datetime('now')); -`,Sw=` +`,yw=` CREATE TABLE IF NOT EXISTS vector_index_entries ( id TEXT PRIMARY KEY, chunk_id TEXT NOT NULL REFERENCES chunks(id) ON DELETE CASCADE, @@ -337,7 +337,7 @@ CREATE INDEX IF NOT EXISTS idx_vector_index_status ON vector_index_entries(statu INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (4, datetime('now')); -`,Zw=` +`,hw=` CREATE TABLE IF NOT EXISTS reindex_queue ( id TEXT PRIMARY KEY, kind TEXT NOT NULL, @@ -358,7 +358,7 @@ CREATE INDEX IF NOT EXISTS idx_reindex_queue_source_uri ON reindex_queue(source_ INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (5, datetime('now')); -`,VN=` +`,FN=` CREATE TABLE IF NOT EXISTS knowledge_machines ( machine_id TEXT PRIMARY KEY, hostname TEXT, @@ -433,7 +433,7 @@ CREATE INDEX IF NOT EXISTS idx_sync_conflicts_entity ON knowledge_sync_conflicts INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (6, datetime('now')); -`,vw=` +`,xw=` CREATE TABLE IF NOT EXISTS knowledge_sync_table_clocks ( table_name TEXT NOT NULL, machine_id TEXT NOT NULL, @@ -473,7 +473,7 @@ CREATE INDEX IF NOT EXISTS idx_sync_imports_status ON knowledge_sync_imports(sta INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (7, datetime('now')); -`,yw=` +`,mw=` CREATE INDEX IF NOT EXISTS idx_wiki_pages_lifecycle_status ON wiki_pages(status, valid_to); CREATE INDEX IF NOT EXISTS idx_wiki_pages_last_verified ON wiki_pages(last_verified_at); CREATE INDEX IF NOT EXISTS idx_wiki_pages_supersedes ON wiki_pages(supersedes); @@ -481,7 +481,7 @@ CREATE INDEX IF NOT EXISTS idx_wiki_pages_superseded_by ON wiki_pages(superseded INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (8, datetime('now')); -`,hw=` +`,uw=` BEGIN; CREATE TEMP TABLE _chunks_fts_backup AS @@ -494,7 +494,7 @@ CREATE VIRTUAL TABLE chunks_fts USING fts5( text, title, source_uri, - tokenize='${fw}' + tokenize='${Sw}' ); INSERT INTO chunks_fts (chunk_id, text, title, source_uri) @@ -506,14 +506,14 @@ INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now')); COMMIT; -`;function d($){QX("opening the local knowledge.db catalog"),K4($);let _=new BN($);return _.exec("PRAGMA foreign_keys = ON;"),_.exec("PRAGMA busy_timeout = 5000;"),_}function RN($){return QX("reading the local knowledge.db catalog"),new BN($,{readonly:!0})}function $$($){let _=d($);try{if(_.exec(HN),z_(_)<2)_.exec(Cw);if(z_(_)<3)_.exec(Tw);if(z_(_)<4)_.exec(Sw);if(z_(_)<5)_.exec(Zw);if(z_(_)<6)_.exec(VN);if(xw(_))mw(_);if(uw(_))dw(_);if(cw(_))nw(_);return{path:$,schema_version:z_(_)}}finally{_.close()}}function z_($){return $.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function X_($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function P5($){return`"${$.replaceAll('"','""')}"`}function K0($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get(_);return Boolean(U)}function U4($,_,U){if(!K0($,_))return!1;return $.query(`PRAGMA table_info(${P5(_)})`).all().some((J)=>J.name===U)}function T4($,_,U,W){if(!U4($,_,U))$.exec(`ALTER TABLE ${P5(_)} ADD COLUMN ${P5(U)} ${W};`)}function xw($){return z_($)<7||!U4($,"knowledge_sync_changes","logical_clock")||!U4($,"knowledge_sync_changes","bundle_id")||!K0($,"knowledge_sync_table_clocks")||!K0($,"knowledge_sync_imports")}function mw($){if(!K0($,"knowledge_sync_changes"))$.exec(VN);T4($,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),T4($,"knowledge_sync_changes","bundle_id","TEXT"),$.exec(vw)}function uw($){return z_($)<8||!U4($,"wiki_pages","valid_from")||!U4($,"wiki_pages","valid_to")||!U4($,"wiki_pages","supersedes")||!U4($,"wiki_pages","superseded_by")||!U4($,"wiki_pages","confidence")||!U4($,"wiki_pages","last_verified_at")}function dw($){if(!K0($,"wiki_pages"))$.exec(HN);T4($,"wiki_pages","valid_from","TEXT"),T4($,"wiki_pages","valid_to","TEXT"),T4($,"wiki_pages","supersedes","TEXT"),T4($,"wiki_pages","superseded_by","TEXT"),T4($,"wiki_pages","confidence","REAL"),T4($,"wiki_pages","last_verified_at","TEXT"),$.exec(` +`;function d($){YX("opening the local knowledge.db catalog"),K4($);let _=new RN($);return _.exec("PRAGMA foreign_keys = ON;"),_.exec("PRAGMA busy_timeout = 5000;"),_}function EN($){return YX("reading the local knowledge.db catalog"),new RN($,{readonly:!0})}function $$($){let _=d($);try{if(_.exec(AN),z_(_)<2)_.exec(Zw);if(z_(_)<3)_.exec(vw);if(z_(_)<4)_.exec(yw);if(z_(_)<5)_.exec(hw);if(z_(_)<6)_.exec(FN);if(dw(_))cw(_);if(nw(_))lw(_);if(iw(_))rw(_);return{path:$,schema_version:z_(_)}}finally{_.close()}}function z_($){return $.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function X_($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function PG($){return`"${$.replaceAll('"','""')}"`}function b0($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get(_);return Boolean(U)}function U4($,_,U){if(!b0($,_))return!1;return $.query(`PRAGMA table_info(${PG(_)})`).all().some((J)=>J.name===U)}function S4($,_,U,W){if(!U4($,_,U))$.exec(`ALTER TABLE ${PG(_)} ADD COLUMN ${PG(U)} ${W};`)}function dw($){return z_($)<7||!U4($,"knowledge_sync_changes","logical_clock")||!U4($,"knowledge_sync_changes","bundle_id")||!b0($,"knowledge_sync_table_clocks")||!b0($,"knowledge_sync_imports")}function cw($){if(!b0($,"knowledge_sync_changes"))$.exec(FN);S4($,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),S4($,"knowledge_sync_changes","bundle_id","TEXT"),$.exec(xw)}function nw($){return z_($)<8||!U4($,"wiki_pages","valid_from")||!U4($,"wiki_pages","valid_to")||!U4($,"wiki_pages","supersedes")||!U4($,"wiki_pages","superseded_by")||!U4($,"wiki_pages","confidence")||!U4($,"wiki_pages","last_verified_at")}function lw($){if(!b0($,"wiki_pages"))$.exec(AN);S4($,"wiki_pages","valid_from","TEXT"),S4($,"wiki_pages","valid_to","TEXT"),S4($,"wiki_pages","supersedes","TEXT"),S4($,"wiki_pages","superseded_by","TEXT"),S4($,"wiki_pages","confidence","REAL"),S4($,"wiki_pages","last_verified_at","TEXT"),$.exec(` UPDATE wiki_pages SET valid_from = COALESCE(valid_from, created_at), last_verified_at = COALESCE(last_verified_at, updated_at), confidence = COALESCE(confidence, 0.8) WHERE valid_from IS NULL OR last_verified_at IS NULL OR confidence IS NULL; - `),$.exec(yw)}function AN($){let _=$.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean(_?.sql&&_.sql.includes("remove_diacritics"))}function cw($){if(!K0($,"chunks_fts"))return!1;return z_($)<9||!AN($)}function nw($){if(!K0($,"chunks_fts"))return;if(AN($)){$.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}$.exec(hw)}function f5($){let _=d($);try{return{schema_version:z_(_),sources:X_(_,"sources"),source_revisions:X_(_,"source_revisions"),chunks:X_(_,"chunks"),wiki_pages:X_(_,"wiki_pages"),citations:X_(_,"citations"),indexes:X_(_,"knowledge_indexes"),runs:X_(_,"runs"),run_events:X_(_,"run_events"),redaction_findings:X_(_,"redaction_findings"),audit_events:X_(_,"audit_events"),approval_gates:X_(_,"approval_gates"),storage_objects:X_(_,"storage_objects"),embeddings:X_(_,"chunk_embeddings"),vector_entries:X_(_,"vector_index_entries"),reindex_queue:X_(_,"reindex_queue"),knowledge_machines:X_(_,"knowledge_machines"),sync_snapshots:X_(_,"knowledge_sync_snapshots"),sync_changes:X_(_,"knowledge_sync_changes"),sync_conflicts:X_(_,"knowledge_sync_conflicts"),sync_table_clocks:X_(_,"knowledge_sync_table_clocks"),sync_imports:X_(_,"knowledge_sync_imports")}}finally{_.close()}}import{chmodSync as lw,existsSync as iw,mkdirSync as EN,readFileSync as rw,statSync as pw,writeFileSync as ow}from"fs";import{dirname as tw,join as C5,relative as aw,sep as sw}from"path";import{pathToFileURL as ew}from"url";function S6($){let _=$.replace(/\\/g,"/").trim();if(!_||_.startsWith("/"))throw Error(`Invalid artifact key: ${$}`);let U=_.split("/").filter(Boolean);if(U.length===0||U.some((W)=>W==="."||W===".."))throw Error(`Invalid artifact key: ${$}`);return U.join("/")}function T5($,_){let U=aw($,_);if(U.startsWith("..")||U===".."||U.startsWith(`..${sw}`))throw Error(`Artifact path escapes root: ${_}`)}function $k($){if(!$)return;let _={};for(let[U,W]of Object.entries($))if(typeof W==="string")_[U]=W;else if(typeof W==="number"||typeof W==="boolean")_[U]=String(W);return Object.keys(_).length>0?_:void 0}class FN{root;type="local";canRead=!0;canWrite=!0;constructor($){this.root=$;EN($,{recursive:!0,mode:448})}async put($){let _=S6($.key),U=C5(this.root,_);return T5(this.root,U),EN(tw(U),{recursive:!0,mode:448}),ow(U,$.body,{mode:384}),lw(U,384),{key:_,uri:ew(U).href,modified_at:pw(U).mtime.toISOString()}}async getText($){let _=S6($),U=C5(this.root,_);return T5(this.root,U),rw(U,"utf8")}async exists($){let _=S6($),U=C5(this.root,_);return T5(this.root,U),iw(U)}}class KN{options;type="s3";canRead=!0;canWrite=!0;client;constructor($){this.options=$;this.client=$.client}async getClient(){if(this.client)return this.client;let[{S3Client:$},{fromIni:_}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]);return this.client=new $({region:this.options.region,credentials:this.options.profile?_({profile:this.options.profile}):void 0,maxAttempts:this.options.max_attempts}),this.client}objectKey($){let _=S6($),U=this.options.prefix?S6(this.options.prefix):"";return U?`${U}/${_}`:_}async put($){let[{PutObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=S6($.key),J=this.objectKey(W);return await U.send(new _({Bucket:this.options.bucket,Key:J,Body:$.body,ContentType:$.content_type,Metadata:$k($.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:W,uri:`s3://${this.options.bucket}/${J}`,modified_at:new Date().toISOString()}}async getText($){let[{GetObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($),J=await U.send(new _({Bucket:this.options.bucket,Key:W}));if(!J.Body)return"";return await J.Body.transformToString()}async exists($){let[{HeadObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($);try{return await U.send(new _({Bucket:this.options.bucket,Key:W})),!0}catch(J){let X=J instanceof Error?J.name:"";if(X==="NotFound"||X==="NoSuchKey"||X==="NotFoundError")return!1;throw J}}}function S5($,_){if($.storage.type==="s3"){if(!$.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new KN({bucket:$.storage.s3.bucket,prefix:$.storage.s3.prefix,region:$.storage.s3.region,profile:$.storage.s3.profile,max_attempts:$.storage.s3.max_attempts,server_side_encryption:$.storage.s3.server_side_encryption,kms_key_id:$.storage.s3.kms_key_id})}return new FN(_.artifactsDir)}import{createHash as FW}from"crypto";import{spawnSync as cy}from"child_process";import{existsSync as x$,readFileSync as ny}from"fs";import{hostname as ly}from"os";import{join as wR,resolve as dR}from"path";import{createHash as IP,randomUUID as gP}from"crypto";import{createHash as jk,randomUUID as Dk}from"crypto";import{existsSync as v5,readdirSync as zk}from"fs";import{join as fN}from"path";import{pathToFileURL as qk}from"url";import{existsSync as _k,mkdirSync as Uk,readFileSync as Jk,unlinkSync as Wk,writeFileSync as Xk}from"fs";import{homedir as Gk}from"os";import{dirname as Qk,join as bN}from"path";var Z5="https://knowledge.md";function J4($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U==="/api"||U==="/api/v1")_.pathname="/";else if(U.endsWith("/api/v1"))_.pathname=U.slice(0,-7)||"/";else if(U.endsWith("/api"))_.pathname=U.slice(0,-4)||"/";return _.toString().replace(/\/+$/,"")}function YX($=process.env){if($.HASNA_KNOWLEDGE_AUTH_PATH)return $.HASNA_KNOWLEDGE_AUTH_PATH;let _=$.HASNA_KNOWLEDGE_AUTH_DIR??bN(Gk(),".hasna","knowledge");return bN(_,"auth.json")}function MN($,_=process.env){return J4(_.KNOWLEDGE_API_URL??$?.hosted?.api_url??Z5)}function IN($=process.env){try{let _=YX($);if(!_k(_))return null;let U=JSON.parse(Jk(_,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function gN($,_=process.env){let U=YX(_),W={...$,api_url:$.api_url?J4($.api_url):void 0,created_at:$.created_at??new Date().toISOString()};return Uk(Qk(U),{recursive:!0,mode:448}),Xk(U,`${JSON.stringify(W,null,2)} -`,{mode:384}),W}function wN($=process.env){try{return Wk(YX($)),!0}catch{return!1}}function Yk($=process.env){if($.KNOWLEDGE_API_KEY)return{apiKey:$.KNOWLEDGE_API_KEY,source:"env"};if($.HASNA_KNOWLEDGE_API_KEY)return{apiKey:$.HASNA_KNOWLEDGE_API_KEY,source:"env"};let _=IN($);return _?.api_key?{apiKey:_.api_key,source:"file"}:{apiKey:null,source:"none"}}function kN($,_=process.env){let U=IN(_),W=Yk(_),J=_.KNOWLEDGE_API_URL?MN($,_):U?.api_url?J4(U.api_url):MN($,_);return{authenticated:Boolean(W.apiKey),source:W.source,api_url:J,auth_path:YX(_),email:W.source==="file"?U?.email??null:null,org_id:W.source==="file"?U?.org_id??null:null,org_slug:W.source==="file"?U?.org_slug??null:null,user_id:W.source==="file"?U?.user_id??null:null,api_key_present:Boolean(W.apiKey)}}var PN=2;var CN=[{kind:"schema",prefix:"schemas/",description:"Machine-readable agent schemas and source rules."},{kind:"index",prefix:"indexes/",description:"Small orientation indexes and future shard manifests."},{kind:"log",prefix:"logs/",description:"Append-only JSONL run and wiki-maintenance log partitions."},{kind:"run",prefix:"runs/",description:"Prompt/tool/cost ledgers and generated output records."},{kind:"wiki_page",prefix:"wiki/",description:"Generated cited Markdown pages, not raw source files."},{kind:"export",prefix:"exports/",description:"Portable exports and snapshots of derived knowledge state."}],Ok=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function TN($){let _=[];if(v5(fN($.home,"cloud.env")))_.push("cloud.env");if(v5(fN($.home,"migration-exports")))_.push("migration-exports");if(v5($.home)){for(let U of zk($.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))_.push(U)}return _}function O2($){let _=typeof $==="string"?Buffer.from($):Buffer.from($);return{hash:`sha256:${jk("sha256").update(_).digest("hex")}`,size_bytes:_.byteLength}}function SN($){return CN.find((U)=>$.startsWith(U.prefix))?.kind??"artifact"}function jX($,_,U="global"){let W=y5($,_),J=$.storage.s3??null,X=J?.prefix?.replace(/^\/+|\/+$/g,"")??"",G=J?`s3://${J.bucket}/${X?`${X}/`:""}`:"",Q=S$.s3.prefix.replace(/^\/+|\/+$/g,""),Y=`s3://${S$.s3.bucket}/${Q}/`,j=$.storage.type==="s3"&&J?.bucket===S$.s3.bucket&&(J.region??null)===S$.s3.region;return{scope:U,mode:$.mode,storage_type:$.storage.type,workspace_home:_.home,local_layout:{app_path:n6,config_path:_.configPath,json_store_path:_.jsonStorePath,knowledge_db_path:_.knowledgeDbPath,directories:{artifacts:_.artifactsDir,cache:_.cacheDir,exports:_.exportsDir,indexes:_.indexesDir,logs:_.logsDir,runs:_.runsDir,schemas:_.schemasDir,wiki:_.wikiDir}},artifact_store:{type:$.storage.type,artifacts_root:$.storage.artifacts_root,uri_prefix:$.storage.type==="s3"?G:qk(`${_.artifactsDir}/`).href,s3:J?{bucket:J.bucket,prefix:X,region:J.region??null,profile:J.profile??null,server_side_encryption:J.server_side_encryption??null,kms_key_configured:Boolean(J.kms_key_id)}:null},canonical_example:{division:S$.division,app_type:S$.app_type,app:S$.app,env:S$.env,active:j,local_path:S$.local_path,s3:{bucket:S$.s3.bucket,region:S$.s3.region,profile:S$.s3.profile,prefix:Q,uri_prefix:Y,server_side_encryption:S$.s3.server_side_encryption},secrets:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds,future_rds:S$.secrets.future_rds},evidence_doc:S$.evidence_doc},hosted:{enabled:$.mode==="hosted",api_url:J4($.hosted?.api_url??Z5),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:PN,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:Ok,forbidden_workspace_files_present:TN(_),runtime_env_keys:["HASNA_KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_DATABASE_URL","KNOWLEDGE_DATABASE_URL"],secret_ref_authority:"open-secrets",approved_secret_refs:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds},db_url_rotation_decision:{status:"blocked_without_secret_authority",reason:"No live secret mutation authority is available in @hasna/knowledge. Rotate the DB URL only through the approved secret authority if separate evidence proves the URL propagated to backups, exports, sync bundles, reports, or copied artifacts.",authority_required:!0}},source_ownership:{owner:"open-files",preferred_ref:$.sources.preferred_ref,allowed_schemes:$.sources.allowed_schemes,raw_source_bytes_stored_in_open_knowledge:!1,stores:["source refs","source revisions and hashes","citation spans","redacted extracted chunks","embeddings","generated wiki artifacts","indexes","run ledgers"],does_not_store:["raw open-files bytes","S3 object credentials","connector secrets","hosted tenant ownership state"]},private_fleet_boundary:{manifest_authority:"open-machines",source_ref_authority:"open-files",secret_ref_authority:"open-secrets",raw_private_manifest_bytes_stored_in_open_knowledge:!1,accepted_source_ref_schemes:$.sources.allowed_schemes.filter((O)=>["open-files","s3","file"].includes(O)),stores:["source refs for private manifests","redacted setup decisions","runbook summaries","citation spans into approved knowledge sources","machine setup evidence hashes"],does_not_store:["private fleet manifests","machine hostnames","machine serial numbers","sudo passwords","VNC passwords","SSH private keys","GitHub App private keys","secret values"],example_manifest_ref:"open-files://source/private-fleet-manifest/path/machines.json"},generated_artifacts:CN,scalability:{catalog:"knowledge.db tracks sources, revisions, chunks, citations, indexes, runs, and storage_objects.",indexes:"Indexes are cataloged DB rows plus sharded artifacts, not one giant index.md.",logs:"Logs use dated JSONL partitions under logs/yyyy/mm/dd.jsonl.",markdown:"Markdown pages are the readable wiki layer over DB/object-store state."},warnings:W.warnings}}function y5($,_){let U=[],W=[],J=TN(_);for(let X of J)U.push(`Forbidden Knowledge workspace file present: ${X}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!_.home.endsWith(n6))W.push(`Workspace home does not end with ${n6}: ${_.home}`);if($.storage.type==="s3"){if(!$.storage.s3?.bucket)U.push("storage.s3.bucket is required when storage.type is s3.");if(!$.storage.s3?.prefix)W.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if($.mode==="local")W.push("storage.type is s3 while mode is local; this is valid for BYO S3, but hosted wrappers should set mode to hosted.")}if($.storage.type==="local"&&$.storage.s3)W.push("storage.s3 is configured but ignored while storage.type is local.");if($.sources.preferred_ref!=="open-files")W.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!$.sources.allowed_schemes.includes("open-files"))U.push("sources.allowed_schemes must include open-files.");if($.mode==="hosted"&&$.hosted?.api_url)try{J4($.hosted.api_url)}catch{U.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:U.length===0,errors:U,warnings:W}}function W4($,_,U=new Date){let W=U.toISOString(),J=$.prepare(` + `),$.exec(mw)}function KN($){let _=$.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean(_?.sql&&_.sql.includes("remove_diacritics"))}function iw($){if(!b0($,"chunks_fts"))return!1;return z_($)<9||!KN($)}function rw($){if(!b0($,"chunks_fts"))return;if(KN($)){$.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}$.exec(uw)}function fG($){let _=d($);try{return{schema_version:z_(_),sources:X_(_,"sources"),source_revisions:X_(_,"source_revisions"),chunks:X_(_,"chunks"),wiki_pages:X_(_,"wiki_pages"),citations:X_(_,"citations"),indexes:X_(_,"knowledge_indexes"),runs:X_(_,"runs"),run_events:X_(_,"run_events"),redaction_findings:X_(_,"redaction_findings"),audit_events:X_(_,"audit_events"),approval_gates:X_(_,"approval_gates"),storage_objects:X_(_,"storage_objects"),embeddings:X_(_,"chunk_embeddings"),vector_entries:X_(_,"vector_index_entries"),reindex_queue:X_(_,"reindex_queue"),knowledge_machines:X_(_,"knowledge_machines"),sync_snapshots:X_(_,"knowledge_sync_snapshots"),sync_changes:X_(_,"knowledge_sync_changes"),sync_conflicts:X_(_,"knowledge_sync_conflicts"),sync_table_clocks:X_(_,"knowledge_sync_table_clocks"),sync_imports:X_(_,"knowledge_sync_imports")}}finally{_.close()}}import{chmodSync as pw,existsSync as ow,mkdirSync as bN,readFileSync as tw,statSync as aw,writeFileSync as sw}from"fs";import{dirname as ew,join as CG,relative as $k,sep as _k}from"path";import{pathToFileURL as Uk}from"url";function S6($){let _=$.replace(/\\/g,"/").trim();if(!_||_.startsWith("/"))throw Error(`Invalid artifact key: ${$}`);let U=_.split("/").filter(Boolean);if(U.length===0||U.some((W)=>W==="."||W===".."))throw Error(`Invalid artifact key: ${$}`);return U.join("/")}function TG($,_){let U=$k($,_);if(U.startsWith("..")||U===".."||U.startsWith(`..${_k}`))throw Error(`Artifact path escapes root: ${_}`)}function Jk($){if(!$)return;let _={};for(let[U,W]of Object.entries($))if(typeof W==="string")_[U]=W;else if(typeof W==="number"||typeof W==="boolean")_[U]=String(W);return Object.keys(_).length>0?_:void 0}class MN{root;type="local";canRead=!0;canWrite=!0;constructor($){this.root=$;bN($,{recursive:!0,mode:448})}async put($){let _=S6($.key),U=CG(this.root,_);return TG(this.root,U),bN(ew(U),{recursive:!0,mode:448}),sw(U,$.body,{mode:384}),pw(U,384),{key:_,uri:Uk(U).href,modified_at:aw(U).mtime.toISOString()}}async getText($){let _=S6($),U=CG(this.root,_);return TG(this.root,U),tw(U,"utf8")}async exists($){let _=S6($),U=CG(this.root,_);return TG(this.root,U),ow(U)}}class IN{options;type="s3";canRead=!0;canWrite=!0;client;constructor($){this.options=$;this.client=$.client}async getClient(){if(this.client)return this.client;let[{S3Client:$},{fromIni:_}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]);return this.client=new $({region:this.options.region,credentials:this.options.profile?_({profile:this.options.profile}):void 0,maxAttempts:this.options.max_attempts}),this.client}objectKey($){let _=S6($),U=this.options.prefix?S6(this.options.prefix):"";return U?`${U}/${_}`:_}async put($){let[{PutObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=S6($.key),J=this.objectKey(W);return await U.send(new _({Bucket:this.options.bucket,Key:J,Body:$.body,ContentType:$.content_type,Metadata:Jk($.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:W,uri:`s3://${this.options.bucket}/${J}`,modified_at:new Date().toISOString()}}async getText($){let[{GetObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($),J=await U.send(new _({Bucket:this.options.bucket,Key:W}));if(!J.Body)return"";return await J.Body.transformToString()}async exists($){let[{HeadObjectCommand:_},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),W=this.objectKey($);try{return await U.send(new _({Bucket:this.options.bucket,Key:W})),!0}catch(J){let X=J instanceof Error?J.name:"";if(X==="NotFound"||X==="NoSuchKey"||X==="NotFoundError")return!1;throw J}}}function SG($,_){if($.storage.type==="s3"){if(!$.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new IN({bucket:$.storage.s3.bucket,prefix:$.storage.s3.prefix,region:$.storage.s3.region,profile:$.storage.s3.profile,max_attempts:$.storage.s3.max_attempts,server_side_encryption:$.storage.s3.server_side_encryption,kms_key_id:$.storage.s3.kms_key_id})}return new MN(_.artifactsDir)}import{createHash as EW}from"crypto";import{spawnSync as iy}from"child_process";import{existsSync as x$,readFileSync as ry}from"fs";import{hostname as py}from"os";import{join as fR,resolve as lR}from"path";import{createHash as kP,randomUUID as PP}from"crypto";import{createHash as qk,randomUUID as Ok}from"crypto";import{existsSync as vG,readdirSync as Lk}from"fs";import{join as SN}from"path";import{pathToFileURL as Nk}from"url";import{existsSync as Wk,mkdirSync as Xk,readFileSync as Gk,unlinkSync as Qk,writeFileSync as Yk}from"fs";import{homedir as jk}from"os";import{dirname as Dk,join as gN}from"path";var ZG="https://knowledge.md";function J4($){let _=new URL($);if(_.protocol!=="http:"&&_.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let U=_.pathname.replace(/\/+$/,"");if(U==="/api"||U==="/api/v1")_.pathname="/";else if(U.endsWith("/api/v1"))_.pathname=U.slice(0,-7)||"/";else if(U.endsWith("/api"))_.pathname=U.slice(0,-4)||"/";return _.toString().replace(/\/+$/,"")}function jX($=process.env){if($.HASNA_KNOWLEDGE_AUTH_PATH)return $.HASNA_KNOWLEDGE_AUTH_PATH;let _=$.HASNA_KNOWLEDGE_AUTH_DIR??gN(jk(),".hasna","knowledge");return gN(_,"auth.json")}function wN($,_=process.env){return J4(_.KNOWLEDGE_API_URL??$?.hosted?.api_url??ZG)}function kN($=process.env){try{let _=jX($);if(!Wk(_))return null;let U=JSON.parse(Gk(_,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function PN($,_=process.env){let U=jX(_),W={...$,api_url:$.api_url?J4($.api_url):void 0,created_at:$.created_at??new Date().toISOString()};return Xk(Dk(U),{recursive:!0,mode:448}),Yk(U,`${JSON.stringify(W,null,2)} +`,{mode:384}),W}function fN($=process.env){try{return Qk(jX($)),!0}catch{return!1}}function zk($=process.env){if($.KNOWLEDGE_API_KEY)return{apiKey:$.KNOWLEDGE_API_KEY,source:"env"};if($.HASNA_KNOWLEDGE_API_KEY)return{apiKey:$.HASNA_KNOWLEDGE_API_KEY,source:"env"};let _=kN($);return _?.api_key?{apiKey:_.api_key,source:"file"}:{apiKey:null,source:"none"}}function CN($,_=process.env){let U=kN(_),W=zk(_),J=_.KNOWLEDGE_API_URL?wN($,_):U?.api_url?J4(U.api_url):wN($,_);return{authenticated:Boolean(W.apiKey),source:W.source,api_url:J,auth_path:jX(_),email:W.source==="file"?U?.email??null:null,org_id:W.source==="file"?U?.org_id??null:null,org_slug:W.source==="file"?U?.org_slug??null:null,user_id:W.source==="file"?U?.user_id??null:null,api_key_present:Boolean(W.apiKey)}}var TN=2;var ZN=[{kind:"schema",prefix:"schemas/",description:"Machine-readable agent schemas and source rules."},{kind:"index",prefix:"indexes/",description:"Small orientation indexes and future shard manifests."},{kind:"log",prefix:"logs/",description:"Append-only JSONL run and wiki-maintenance log partitions."},{kind:"run",prefix:"runs/",description:"Prompt/tool/cost ledgers and generated output records."},{kind:"wiki_page",prefix:"wiki/",description:"Generated cited Markdown pages, not raw source files."},{kind:"export",prefix:"exports/",description:"Portable exports and snapshots of derived knowledge state."}],Bk=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function vN($){let _=[];if(vG(SN($.home,"cloud.env")))_.push("cloud.env");if(vG(SN($.home,"migration-exports")))_.push("migration-exports");if(vG($.home)){for(let U of Lk($.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))_.push(U)}return _}function L2($){let _=typeof $==="string"?Buffer.from($):Buffer.from($);return{hash:`sha256:${qk("sha256").update(_).digest("hex")}`,size_bytes:_.byteLength}}function yN($){return ZN.find((U)=>$.startsWith(U.prefix))?.kind??"artifact"}function DX($,_,U="global"){let W=yG($,_),J=$.storage.s3??null,X=J?.prefix?.replace(/^\/+|\/+$/g,"")??"",G=J?`s3://${J.bucket}/${X?`${X}/`:""}`:"",Q=S$.s3.prefix.replace(/^\/+|\/+$/g,""),Y=`s3://${S$.s3.bucket}/${Q}/`,j=$.storage.type==="s3"&&J?.bucket===S$.s3.bucket&&(J.region??null)===S$.s3.region;return{scope:U,mode:$.mode,storage_type:$.storage.type,workspace_home:_.home,local_layout:{app_path:n6,config_path:_.configPath,json_store_path:_.jsonStorePath,knowledge_db_path:_.knowledgeDbPath,directories:{artifacts:_.artifactsDir,cache:_.cacheDir,exports:_.exportsDir,indexes:_.indexesDir,logs:_.logsDir,runs:_.runsDir,schemas:_.schemasDir,wiki:_.wikiDir}},artifact_store:{type:$.storage.type,artifacts_root:$.storage.artifacts_root,uri_prefix:$.storage.type==="s3"?G:Nk(`${_.artifactsDir}/`).href,s3:J?{bucket:J.bucket,prefix:X,region:J.region??null,profile:J.profile??null,server_side_encryption:J.server_side_encryption??null,kms_key_configured:Boolean(J.kms_key_id)}:null},canonical_example:{division:S$.division,app_type:S$.app_type,app:S$.app,env:S$.env,active:j,local_path:S$.local_path,s3:{bucket:S$.s3.bucket,region:S$.s3.region,profile:S$.s3.profile,prefix:Q,uri_prefix:Y,server_side_encryption:S$.s3.server_side_encryption},secrets:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds,future_rds:S$.secrets.future_rds},evidence_doc:S$.evidence_doc},hosted:{enabled:$.mode==="hosted",api_url:J4($.hosted?.api_url??ZG),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:TN,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:Bk,forbidden_workspace_files_present:vN(_),runtime_env_keys:["HASNA_KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_DATABASE_URL","KNOWLEDGE_DATABASE_URL"],secret_ref_authority:"open-secrets",approved_secret_refs:{env:S$.secrets.env,aws:S$.secrets.aws,s3:S$.secrets.s3,rds:S$.secrets.rds},db_url_rotation_decision:{status:"blocked_without_secret_authority",reason:"No live secret mutation authority is available in @hasna/knowledge. Rotate the DB URL only through the approved secret authority if separate evidence proves the URL propagated to backups, exports, sync bundles, reports, or copied artifacts.",authority_required:!0}},source_ownership:{owner:"open-files",preferred_ref:$.sources.preferred_ref,allowed_schemes:$.sources.allowed_schemes,raw_source_bytes_stored_in_open_knowledge:!1,stores:["source refs","source revisions and hashes","citation spans","redacted extracted chunks","embeddings","generated wiki artifacts","indexes","run ledgers"],does_not_store:["raw open-files bytes","S3 object credentials","connector secrets","hosted tenant ownership state"]},private_fleet_boundary:{manifest_authority:"open-machines",source_ref_authority:"open-files",secret_ref_authority:"open-secrets",raw_private_manifest_bytes_stored_in_open_knowledge:!1,accepted_source_ref_schemes:$.sources.allowed_schemes.filter((O)=>["open-files","s3","file"].includes(O)),stores:["source refs for private manifests","redacted setup decisions","runbook summaries","citation spans into approved knowledge sources","machine setup evidence hashes"],does_not_store:["private fleet manifests","machine hostnames","machine serial numbers","sudo passwords","VNC passwords","SSH private keys","GitHub App private keys","secret values"],example_manifest_ref:"open-files://source/private-fleet-manifest/path/machines.json"},generated_artifacts:ZN,scalability:{catalog:"knowledge.db tracks sources, revisions, chunks, citations, indexes, runs, and storage_objects.",indexes:"Indexes are cataloged DB rows plus sharded artifacts, not one giant index.md.",logs:"Logs use dated JSONL partitions under logs/yyyy/mm/dd.jsonl.",markdown:"Markdown pages are the readable wiki layer over DB/object-store state."},warnings:W.warnings}}function yG($,_){let U=[],W=[],J=vN(_);for(let X of J)U.push(`Forbidden Knowledge workspace file present: ${X}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!_.home.endsWith(n6))W.push(`Workspace home does not end with ${n6}: ${_.home}`);if($.storage.type==="s3"){if(!$.storage.s3?.bucket)U.push("storage.s3.bucket is required when storage.type is s3.");if(!$.storage.s3?.prefix)W.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if($.mode==="local")W.push("storage.type is s3 while mode is local; this is valid for BYO S3, but hosted wrappers should set mode to hosted.")}if($.storage.type==="local"&&$.storage.s3)W.push("storage.s3 is configured but ignored while storage.type is local.");if($.sources.preferred_ref!=="open-files")W.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!$.sources.allowed_schemes.includes("open-files"))U.push("sources.allowed_schemes must include open-files.");if($.mode==="hosted"&&$.hosted?.api_url)try{J4($.hosted.api_url)}catch{U.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:U.length===0,errors:U,warnings:W}}function W4($,_,U=new Date){let W=U.toISOString(),J=$.prepare(` INSERT INTO storage_objects ( id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json, created_at, updated_at ) @@ -525,49 +525,49 @@ COMMIT; size_bytes = excluded.size_bytes, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);$.transaction((G)=>{for(let Q of G){let Y={key:Q.key,...Q.modified_at?{artifact_modified_at:Q.modified_at}:{},...Q.metadata??{}};J.run(Dk(),Q.uri,Q.kind,Q.content_type??null,Q.hash??null,Q.size_bytes??null,JSON.stringify(Y),W,W)}})(_)}function h5($){return["deleted","stale","invalidated","reindex_required"].includes(($??"").toLowerCase())}function S4($){let _=$.status??null;return{source_owner:"open-files",source_ref:$.source_ref??null,source_uri:$.source_uri??null,source_kind:$.source_kind??null,source_revision_id:$.source_revision_id??null,revision:$.revision??null,hash:$.hash??null,chunk_id:$.chunk_id??null,start_offset:$.start_offset??null,end_offset:$.end_offset??null,status:_,read_only:!0,citation_required:!0,resolver:$.resolver??null,stale:h5(_)}}function D6($){return{source_owner:"open-files",generated_from:$.generated_from,artifact_key:$.artifact_key,source_refs:$.source_refs??[],read_only_sources:!0,citation_required:$.citation_required??!0,raw_source_bytes_stored_in_open_knowledge:!1}}function ZN($,_){return{...$,provenance:_}}import{createHash as HP}from"crypto";import{existsSync as VP,readFileSync as RP}from"fs";import{basename as OX}from"path";import{createHash as mk}from"crypto";import{existsSync as uk,readFileSync as dk}from"fs";import{basename as ck}from"path";import{fileURLToPath as Lk}from"url";function vN($,_){if(!$)throw Error(_);return $}function Nk($){let U=$.slice(13).split("/").filter(Boolean),W=U[0];if(W!=="file"&&W!=="source")throw Error("Invalid open-files ref. Expected open-files://file/<id>, open-files://file/<id>/revision/<revision_id>, or open-files://source/<id>/path/<path>.");let J=vN(U[1],"Invalid open-files ref. Missing id.");if(W==="file"){if(U.length===2)return{kind:"open-files",uri:$,entity:W,id:J};if(U[2]==="revision"&&U[3]&&U.length===4)return{kind:"open-files",uri:$,entity:W,id:J,revision_id:decodeURIComponent(U[3])};throw Error("Invalid open-files file ref. Expected open-files://file/<id>/revision/<revision_id>.")}let X=U.indexOf("path"),G=X>=0?decodeURIComponent(U.slice(X+1).join("/")):void 0;return{kind:"open-files",uri:$,entity:W,id:J,path:G}}function Bk($){let _=new URL($),U=vN(_.hostname,"Invalid s3 ref. Missing bucket."),W=decodeURIComponent(_.pathname.replace(/^\/+/,""));if(!W)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:$,bucket:U,key:W}}function Hk($){return{kind:"file",uri:$,path:Lk($)}}function Vk($){let _=new URL($);return{kind:"web",uri:$,url:_.toString()}}function r_($){if($.startsWith("open-files://"))return Nk($);if($.startsWith("s3://"))return Bk($);if($.startsWith("file://"))return Hk($);if($.startsWith("https://")||$.startsWith("http://"))return Vk($);throw Error(`Unsupported source ref scheme: ${$}`)}function yN($,_=r_($)){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function hN($){let _=r_($);return _.kind==="open-files"&&_.entity==="file"?_.revision_id??null:null}import{createHash as Rk,randomUUID as m5}from"crypto";import{relative as Ak,resolve as mN,sep as Ek}from"path";function xN($){let _=process.env[$];return _==="1"||_==="true"||_==="yes"}function uN($,_){let U=$,W=new Set(U.safety?.network?.allowed_s3_buckets??[]);if($.storage.type==="s3"&&$.storage.s3?.bucket)W.add($.storage.s3.bucket);if(process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS)for(let J of process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.split(",").map((X)=>X.trim()).filter(Boolean))W.add(J);return{mode:$.mode,allowWriteRoots:[_.home,_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir].map((J)=>mN(J)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??xN("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??xN("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...W].sort()},redaction:{enabled:U.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:U.safety?.approvals?.generated_writes_require_approval??!0}}}function Fk($,_){let U=Ak($,_);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${Ek}`)}function X4($,_){let U=mN($);if(!_.allowWriteRoots.some((W)=>Fk(W,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${$}`)}function Z4($,_){let W=new URL($).hostname;if(!_.network.s3ReadsEnabled)throw Error("Safety policy denied S3 read. Set safety.network.s3_reads_enabled=true or HASNA_KNOWLEDGE_ALLOW_S3_READS=1.");if(!_.network.allowedS3Buckets.includes(W))throw Error(`Safety policy denied S3 bucket "${W}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function L2($){if(!$.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var dN=[{type:"private_key_block",severity:"high",regex:/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,replacement:"[REDACTED:private_key_block]"},{type:"secret_assignment",severity:"high",regex:/\b(?:api[_-]?key|secret|token|password)\s*[:=]\s*['"]?[^'"\s]{8,}/gi,replacement:"[REDACTED:secret_assignment]"},{type:"openai_api_key",severity:"high",regex:/\bsk-[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:openai_api_key]"},{type:"anthropic_api_key",severity:"high",regex:new RegExp(`\\b${["sk","ant"].join("-")}-[A-Za-z0-9_-]{20,}\\b`,"g"),replacement:"[REDACTED:anthropic_api_key]"},{type:"aws_access_key_id",severity:"high",regex:/\bA(?:KIA|SIA)[A-Z0-9]{16}\b/g,replacement:"[REDACTED:aws_access_key_id]"}];function w_($,_){if(_&&!_.redaction.enabled)return{text:$,findings:[]};let U=$,W=[];for(let J of dN)U=U.replace(J.regex,(X,...G)=>{let Q=typeof G.at(-2)==="number"?G.at(-2):U.indexOf(X);return W.push({type:J.type,severity:J.severity,start:Math.max(0,Q),end:Math.max(0,Q+X.length)}),J.replacement});return{text:U,findings:W}}function Kk($){return`audit_${Rk("sha256").update(`${$.event_type}\x00${$.action}\x00${$.target_uri??""}\x00${$.created_at??""}\x00${JSON.stringify($.metadata??{})}\x00${m5()}`).digest("hex").slice(0,24)}`}function x5($,_=0){if(_>6)return"[Truncated:depth]";if(typeof $==="string")return $.length>1000?`${$.slice(0,1000)}...[Truncated:${$.length-1000} chars]`:$;if(typeof $==="number"||typeof $==="boolean"||$===null||$===void 0)return $;if(Array.isArray($)){let U=$.slice(0,25).map((W)=>x5(W,_+1));if($.length>25)U.push(`[Truncated:${$.length-25} items]`);return U}if(typeof $==="object"){let U={},W=Object.entries($).slice(0,50);for(let[X,G]of W)U[X]=x5(G,_+1);let J=Object.keys($).length;if(J>W.length)U.__truncated_keys=J-W.length;return U}return String($)}function a$($,_){let U=_.created_at??new Date().toISOString(),W=x5(_.metadata??{}),J=Kk({..._,metadata:W,created_at:U});return $.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?)`,[J,_.event_type,_.action,_.target_uri??null,_.decision,JSON.stringify(W),U]),J}function DX($,_){let U=_.created_at??new Date().toISOString();for(let W of _.findings)$.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${m5()}`,_.source_uri??null,_.run_id??null,W.severity,W.type,JSON.stringify({..._.metadata??{},start:W.start,end:W.end}),U]);return _.findings.length}function cN($,_){let U=_.created_at??new Date().toISOString(),W=`approval_${m5()}`;return $.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.action,_.target_uri??null,"approved",_.reason??null,_.approved_by??"local-cli",JSON.stringify(_.metadata??{}),U,U]),{id:W,status:"approved"}}var bk=[{type:"github_token",severity:"high",regex:/\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_token]"},{type:"github_pat_token",severity:"high",regex:/\bgithub[_]pat[_][A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_pat_token]"},{type:"package_registry_token",severity:"high",regex:/\bnpm_[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:package_registry_token]"},{type:"context7_token",severity:"high",regex:/\bctx7sk[-][A-Za-z0-9_-]{10,}\b/g,replacement:"[REDACTED:context7_token]"},{type:"xai_api_key",severity:"high",regex:/\bxai[-][A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:xai_api_key]"},{type:"google_api_key",severity:"high",regex:/\bAIza[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:google_api_key]"}];dN.push(...bk);function Mk($,_,U){let W=$.query(`SELECT id FROM approval_gates + `);$.transaction((G)=>{for(let Q of G){let Y={key:Q.key,...Q.modified_at?{artifact_modified_at:Q.modified_at}:{},...Q.metadata??{}};J.run(Ok(),Q.uri,Q.kind,Q.content_type??null,Q.hash??null,Q.size_bytes??null,JSON.stringify(Y),W,W)}})(_)}function hG($){return["deleted","stale","invalidated","reindex_required"].includes(($??"").toLowerCase())}function Z4($){let _=$.status??null;return{source_owner:"open-files",source_ref:$.source_ref??null,source_uri:$.source_uri??null,source_kind:$.source_kind??null,source_revision_id:$.source_revision_id??null,revision:$.revision??null,hash:$.hash??null,chunk_id:$.chunk_id??null,start_offset:$.start_offset??null,end_offset:$.end_offset??null,status:_,read_only:!0,citation_required:!0,resolver:$.resolver??null,stale:hG(_)}}function D6($){return{source_owner:"open-files",generated_from:$.generated_from,artifact_key:$.artifact_key,source_refs:$.source_refs??[],read_only_sources:!0,citation_required:$.citation_required??!0,raw_source_bytes_stored_in_open_knowledge:!1}}function hN($,_){return{...$,provenance:_}}import{createHash as AP}from"crypto";import{existsSync as FP,readFileSync as EP}from"fs";import{basename as LX}from"path";import{createHash as ck}from"crypto";import{existsSync as nk,readFileSync as lk}from"fs";import{basename as ik}from"path";import{fileURLToPath as Hk}from"url";function xN($,_){if(!$)throw Error(_);return $}function Vk($){let U=$.slice(13).split("/").filter(Boolean),W=U[0];if(W!=="file"&&W!=="source")throw Error("Invalid open-files ref. Expected open-files://file/<id>, open-files://file/<id>/revision/<revision_id>, or open-files://source/<id>/path/<path>.");let J=xN(U[1],"Invalid open-files ref. Missing id.");if(W==="file"){if(U.length===2)return{kind:"open-files",uri:$,entity:W,id:J};if(U[2]==="revision"&&U[3]&&U.length===4)return{kind:"open-files",uri:$,entity:W,id:J,revision_id:decodeURIComponent(U[3])};throw Error("Invalid open-files file ref. Expected open-files://file/<id>/revision/<revision_id>.")}let X=U.indexOf("path"),G=X>=0?decodeURIComponent(U.slice(X+1).join("/")):void 0;return{kind:"open-files",uri:$,entity:W,id:J,path:G}}function Rk($){let _=new URL($),U=xN(_.hostname,"Invalid s3 ref. Missing bucket."),W=decodeURIComponent(_.pathname.replace(/^\/+/,""));if(!W)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:$,bucket:U,key:W}}function Ak($){return{kind:"file",uri:$,path:Hk($)}}function Fk($){let _=new URL($);return{kind:"web",uri:$,url:_.toString()}}function r_($){if($.startsWith("open-files://"))return Vk($);if($.startsWith("s3://"))return Rk($);if($.startsWith("file://"))return Ak($);if($.startsWith("https://")||$.startsWith("http://"))return Fk($);throw Error(`Unsupported source ref scheme: ${$}`)}function mN($,_=r_($)){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function uN($){let _=r_($);return _.kind==="open-files"&&_.entity==="file"?_.revision_id??null:null}import{createHash as Ek,randomUUID as mG}from"crypto";import{relative as Kk,resolve as cN,sep as bk}from"path";function dN($){let _=process.env[$];return _==="1"||_==="true"||_==="yes"}function nN($,_){let U=$,W=new Set(U.safety?.network?.allowed_s3_buckets??[]);if($.storage.type==="s3"&&$.storage.s3?.bucket)W.add($.storage.s3.bucket);if(process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS)for(let J of process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.split(",").map((X)=>X.trim()).filter(Boolean))W.add(J);return{mode:$.mode,allowWriteRoots:[_.home,_.artifactsDir,_.cacheDir,_.exportsDir,_.indexesDir,_.logsDir,_.runsDir,_.schemasDir,_.wikiDir].map((J)=>cN(J)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??dN("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??dN("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...W].sort()},redaction:{enabled:U.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:U.safety?.approvals?.generated_writes_require_approval??!0}}}function Mk($,_){let U=Kk($,_);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${bk}`)}function X4($,_){let U=cN($);if(!_.allowWriteRoots.some((W)=>Mk(W,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${$}`)}function v4($,_){let W=new URL($).hostname;if(!_.network.s3ReadsEnabled)throw Error("Safety policy denied S3 read. Set safety.network.s3_reads_enabled=true or HASNA_KNOWLEDGE_ALLOW_S3_READS=1.");if(!_.network.allowedS3Buckets.includes(W))throw Error(`Safety policy denied S3 bucket "${W}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function N2($){if(!$.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var lN=[{type:"private_key_block",severity:"high",regex:/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,replacement:"[REDACTED:private_key_block]"},{type:"secret_assignment",severity:"high",regex:/\b(?:api[_-]?key|secret|token|password)\s*[:=]\s*['"]?[^'"\s]{8,}/gi,replacement:"[REDACTED:secret_assignment]"},{type:"openai_api_key",severity:"high",regex:/\bsk-[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:openai_api_key]"},{type:"anthropic_api_key",severity:"high",regex:new RegExp(`\\b${["sk","ant"].join("-")}-[A-Za-z0-9_-]{20,}\\b`,"g"),replacement:"[REDACTED:anthropic_api_key]"},{type:"aws_access_key_id",severity:"high",regex:/\bA(?:KIA|SIA)[A-Z0-9]{16}\b/g,replacement:"[REDACTED:aws_access_key_id]"}];function w_($,_){if(_&&!_.redaction.enabled)return{text:$,findings:[]};let U=$,W=[];for(let J of lN)U=U.replace(J.regex,(X,...G)=>{let Q=typeof G.at(-2)==="number"?G.at(-2):U.indexOf(X);return W.push({type:J.type,severity:J.severity,start:Math.max(0,Q),end:Math.max(0,Q+X.length)}),J.replacement});return{text:U,findings:W}}function Ik($){return`audit_${Ek("sha256").update(`${$.event_type}\x00${$.action}\x00${$.target_uri??""}\x00${$.created_at??""}\x00${JSON.stringify($.metadata??{})}\x00${mG()}`).digest("hex").slice(0,24)}`}function xG($,_=0){if(_>6)return"[Truncated:depth]";if(typeof $==="string")return $.length>1000?`${$.slice(0,1000)}...[Truncated:${$.length-1000} chars]`:$;if(typeof $==="number"||typeof $==="boolean"||$===null||$===void 0)return $;if(Array.isArray($)){let U=$.slice(0,25).map((W)=>xG(W,_+1));if($.length>25)U.push(`[Truncated:${$.length-25} items]`);return U}if(typeof $==="object"){let U={},W=Object.entries($).slice(0,50);for(let[X,G]of W)U[X]=xG(G,_+1);let J=Object.keys($).length;if(J>W.length)U.__truncated_keys=J-W.length;return U}return String($)}function a$($,_){let U=_.created_at??new Date().toISOString(),W=xG(_.metadata??{}),J=Ik({..._,metadata:W,created_at:U});return $.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?)`,[J,_.event_type,_.action,_.target_uri??null,_.decision,JSON.stringify(W),U]),J}function zX($,_){let U=_.created_at??new Date().toISOString();for(let W of _.findings)$.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${mG()}`,_.source_uri??null,_.run_id??null,W.severity,W.type,JSON.stringify({..._.metadata??{},start:W.start,end:W.end}),U]);return _.findings.length}function iN($,_){let U=_.created_at??new Date().toISOString(),W=`approval_${mG()}`;return $.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.action,_.target_uri??null,"approved",_.reason??null,_.approved_by??"local-cli",JSON.stringify(_.metadata??{}),U,U]),{id:W,status:"approved"}}var gk=[{type:"github_token",severity:"high",regex:/\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_token]"},{type:"github_pat_token",severity:"high",regex:/\bgithub[_]pat[_][A-Za-z0-9_]{20,}\b/g,replacement:"[REDACTED:github_pat_token]"},{type:"package_registry_token",severity:"high",regex:/\bnpm_[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:package_registry_token]"},{type:"context7_token",severity:"high",regex:/\bctx7sk[-][A-Za-z0-9_-]{10,}\b/g,replacement:"[REDACTED:context7_token]"},{type:"xai_api_key",severity:"high",regex:/\bxai[-][A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:xai_api_key]"},{type:"google_api_key",severity:"high",regex:/\bAIza[A-Za-z0-9_-]{20,}\b/g,replacement:"[REDACTED:google_api_key]"}];lN.push(...gk);function wk($,_,U){let W=$.query(`SELECT id FROM approval_gates WHERE action = ? AND status = 'approved' AND (target_uri IS NULL OR target_uri = ? OR ? IS NULL) - ORDER BY updated_at DESC LIMIT 1`).get(_,U??null,U??null);return Boolean(W)}function nN($,_,U,W){let J=U==="generated_write"&&_.approvals.generatedWritesRequireApproval,X=!J||Mk($,U,W);return{action:U,target_uri:W??null,approval_required:J,approved:X,decision:X?"allow":"requires_approval"}}import{createHash as Ik}from"crypto";import{realpathSync as gk}from"fs";import{homedir as wk,tmpdir as kk}from"os";var b0=String.raw`[^\s"'<>),\]}]`,d5=String.raw`[^/\\\s"'<>]+`,rN=/file:\/\/[^\s"'<>),\]}]+/gi,Pk=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,pN=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,oN=new RegExp(String.raw`/(?:home|Users)/${d5}/(?:workspace|Workspace)/${b0}*`,"g"),fk=[new RegExp(String.raw`/(?:home|Users)/${d5}(?:/${b0}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${b0}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${b0}+`,"g"),new RegExp(String.raw`(?<![A-Za-z0-9])[A-Za-z]:[\\/]${b0}+`,"g"),new RegExp(String.raw`\\\\${d5}\\${b0}+`,"g")],tN=/\b(?:knowledge\.db(?:[-.][A-Za-z0-9_-]+)?|db\.json(?:[-.][A-Za-z0-9_-]+)?|cloud\.env|migration-exports\/[^\s"'<>),\]}]+)\b/gi,aN=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,Ck=new Set(["content_base64"]);function Tk($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Sk($){return $.length>=4&&$!=="/"&&!/^[A-Za-z]:[\\/]?$/.test($)}var lN=null,u5=[];function Zk(){let $=new Set;for(let U of[wk(),kk()]){if(!U)continue;$.add(U);try{$.add(gk(U))}catch{}}let _=[...$].sort().join("\x00");if(_===lN)return u5;return lN=_,u5=[...$].filter(Sk).sort((U,W)=>W.length-U.length).map((U)=>new RegExp(`${Tk(U)}(?:[/\\\\]${b0}*)?`,"g")),u5}function p_($){return Ik("sha256").update($).digest("hex").slice(0,12)}function vk($){return $.length<=80?$:`${$.slice(0,77)}...`}function iN($){return/(?:^|\/)\.hasna(?:\/|$)/i.test($)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test($)||/\bmigration-exports\//i.test($)}function yk($,_,U,W){for(let J of $.matchAll(rN)){let X=J[0];if(!U.allowFileSourceRefs||iN(X))W.push({type:iN(X)?"private_file_uri":"local_file_uri",severity:"high",path:_,preview:vk(X.replace(/^file:\/\/.*/,`[redacted:file-uri:${p_(X)}]`))})}for(let J of $.matchAll(pN))W.push({type:"private_hasna_path",severity:"high",path:_,preview:`[redacted:.hasna:${p_(J[0])}]`});for(let J of $.matchAll(tN))W.push({type:J[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:_,preview:`[redacted:${p_(J[0])}]`});for(let J of $.matchAll(aN))W.push({type:"database_url",severity:"high",path:_,preview:`[redacted:database-url:${p_(J[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let J of $.matchAll(oN))W.push({type:"private_workspace_path",severity:"medium",path:_,preview:`[redacted:workspace:${p_(J[0])}]`})}function hk($,_={},U="$"){let W=[],J=(X,G)=>{if(typeof X==="string"){yk(X,G,_,W);return}if(!X||typeof X!=="object")return;if(Array.isArray(X)){X.forEach((Q,Y)=>J(Q,`${G}[${Y}]`));return}for(let[Q,Y]of Object.entries(X))J(Y,`${G}.${Q}`)};return J($,U),W}function M0($,_={}){let U=hk($,_);if(U.length===0)return;let W=new Map;for(let X of U)W.set(X.type,(W.get(X.type)??0)+1);let J=[...W.entries()].map(([X,G])=>`${X}:${G}`).join(", ");throw Error(`Knowledge private-ref lint failed (${J}). Store open-files/s3 refs or approved runtime secret refs instead of private .hasna, file://, raw DB/export, or cloud.env refs.`)}function xk($){let _=w_($).text.replace(aN,(U)=>`[REDACTED:database-url:${p_(U)}]`).replace(rN,(U)=>`[REDACTED:local-file-uri:${p_(U)}]`).replace(Pk,(U)=>`[REDACTED:local-hasna-path:${p_(U)}]`).replace(oN,(U)=>`[REDACTED:private-workspace:${p_(U)}]`);for(let U of[...Zk(),...fk])_=_.replace(U,(W)=>`[REDACTED:local-path:${p_(W)}]`);return _.replace(pN,(U)=>`[REDACTED:hasna-path:${p_(U)}]`).replace(tN,(U)=>`[REDACTED:private-artifact:${p_(U)}]`)}function o$($){if(typeof $==="string")return xk($);if(!$||typeof $!=="object")return $;if(Array.isArray($))return $.map((U)=>o$(U));let _={};for(let[U,W]of Object.entries($))_[U]=Ck.has(U)?W:o$(W);return _}var nk=20971520,sN=1e4,lk=10;function n5($,_){return`${$}_${mk("sha256").update(_).digest("hex").slice(0,20)}`}function I0($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function k$($){return typeof $==="string"&&$.length>0?$:void 0}function ik($){return typeof $==="number"&&Number.isFinite($)?$:void 0}function rk($){let _=k$($.source_ref)??k$($.source_uri)??k$($.uri);if(_)return _;let U=k$($.file_id);if(U){let X=k$($.revision_id)??k$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=k$($.source_id),J=k$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function pk($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function ok($){let _=k$($.extracted_text)??k$($.text)??k$($.content_text)??k$($.markdown);if(_!==void 0)return _;let U=$.content;return typeof U==="string"?U:null}function tk($){let _=k$($.extracted_text_ref)??k$($.extracted_text_uri)??k$($.text_ref);if(_)return _;let U=I0($.content);return k$(U?.extracted_text_ref)??k$(U?.extracted_text_uri)??null}function ak($){let _=k$($.path);return k$($.title)??k$($.name)??(_?ck(_):null)}function sk($){return k$($.hash)??k$($.checksum)??k$($.sha256)??null}var eN=new Set(["text","content","content_text","extracted_text","markdown","raw","raw_text","raw_bytes","raw_content","raw_body","raw_file","source_raw","source_raw_bytes","source_bytes","source_content","source_body","file_bytes","file_content","content_bytes","content_base64","document_bytes","document_content","document_base64","binary","binary_content","binary_base64","bytes","body","blob","data","payload"]);function $B($){return $.toLowerCase().replace(/[\s-]+/g,"_")}function c5($){if(Array.isArray($))return $.map((W)=>c5(W));let _=I0($);if(!_)return $;let U={};for(let[W,J]of Object.entries(_)){if(eN.has($B(W)))continue;U[W]=c5(J)}return U}function ek($,_,U){return k$($.revision_id)??k$($.revision)??k$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??k$($.updated_at)??"current"}function $P($,_){let U={};for(let[W,J]of Object.entries($)){if(eN.has($B(W)))continue;U[W]=o$(c5(J))}return U.source_ref=_.sourceRef,U.source_uri=_.sourceUri,U.status=_.status,U}function _P($,_,U={}){let W=rk($);M0(W,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let J=r_(W),X=pk(W,J),G=sk($),Q=k$($.status)??"active";return{raw:$,sourceRef:W,sourceUri:X,kind:J.kind,title:ak($),revision:ek($,J,G),hash:G,extractedTextUri:tk($),text:ok($),metadata:$P($,{sourceRef:W,sourceUri:X,status:Q}),acl:$.permissions??$.acl??{},status:Q,updatedAt:k$($.updated_at)??_}}function UP($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Manifest array parse failed.");return U.map((W)=>{let J=I0(W);if(!J)throw Error("Manifest array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=I0(U);if(!W)throw Error("Manifest object parse failed.");if(Array.isArray(W.items))return W.items.map((J)=>{let X=I0(J);if(!X)throw Error("Manifest items entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=I0(JSON.parse(J));if(!X)throw Error("Manifest JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=I0(JSON.parse(U));if(!W)throw Error("Manifest JSONL entries must be objects.");return W})}async function JP($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 manifest URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function WP($,_,U,W=nk){let J=$.startsWith("s3://")?await JP($,_,U):(()=>{if(!uk($))throw Error(`Manifest not found: ${$}`);return dk($,"utf8")})(),X=Buffer.byteLength(J);if(X>W)throw Error(`Manifest input is too large: ${X} bytes exceeds ${W} byte limit.`);return J}function XP($,_,U){let W=$.replace(/\r\n/g,` + ORDER BY updated_at DESC LIMIT 1`).get(_,U??null,U??null);return Boolean(W)}function rN($,_,U,W){let J=U==="generated_write"&&_.approvals.generatedWritesRequireApproval,X=!J||wk($,U,W);return{action:U,target_uri:W??null,approval_required:J,approved:X,decision:X?"allow":"requires_approval"}}import{createHash as kk}from"crypto";import{realpathSync as Pk}from"fs";import{homedir as fk,tmpdir as Ck}from"os";var M0=String.raw`[^\s"'<>),\]}]`,dG=String.raw`[^/\\\s"'<>]+`,tN=/file:\/\/[^\s"'<>),\]}]+/gi,Tk=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,aN=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,sN=new RegExp(String.raw`/(?:home|Users)/${dG}/(?:workspace|Workspace)/${M0}*`,"g"),Sk=[new RegExp(String.raw`/(?:home|Users)/${dG}(?:/${M0}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${M0}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${M0}+`,"g"),new RegExp(String.raw`(?<![A-Za-z0-9])[A-Za-z]:[\\/]${M0}+`,"g"),new RegExp(String.raw`\\\\${dG}\\${M0}+`,"g")],eN=/\b(?:knowledge\.db(?:[-.][A-Za-z0-9_-]+)?|db\.json(?:[-.][A-Za-z0-9_-]+)?|cloud\.env|migration-exports\/[^\s"'<>),\]}]+)\b/gi,$B=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,Zk=new Set(["content_base64"]);function vk($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function yk($){return $.length>=4&&$!=="/"&&!/^[A-Za-z]:[\\/]?$/.test($)}var pN=null,uG=[];function hk(){let $=new Set;for(let U of[fk(),Ck()]){if(!U)continue;$.add(U);try{$.add(Pk(U))}catch{}}let _=[...$].sort().join("\x00");if(_===pN)return uG;return pN=_,uG=[...$].filter(yk).sort((U,W)=>W.length-U.length).map((U)=>new RegExp(`${vk(U)}(?:[/\\\\]${M0}*)?`,"g")),uG}function p_($){return kk("sha256").update($).digest("hex").slice(0,12)}function xk($){return $.length<=80?$:`${$.slice(0,77)}...`}function oN($){return/(?:^|\/)\.hasna(?:\/|$)/i.test($)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test($)||/\bmigration-exports\//i.test($)}function mk($,_,U,W){for(let J of $.matchAll(tN)){let X=J[0];if(!U.allowFileSourceRefs||oN(X))W.push({type:oN(X)?"private_file_uri":"local_file_uri",severity:"high",path:_,preview:xk(X.replace(/^file:\/\/.*/,`[redacted:file-uri:${p_(X)}]`))})}for(let J of $.matchAll(aN))W.push({type:"private_hasna_path",severity:"high",path:_,preview:`[redacted:.hasna:${p_(J[0])}]`});for(let J of $.matchAll(eN))W.push({type:J[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:_,preview:`[redacted:${p_(J[0])}]`});for(let J of $.matchAll($B))W.push({type:"database_url",severity:"high",path:_,preview:`[redacted:database-url:${p_(J[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let J of $.matchAll(sN))W.push({type:"private_workspace_path",severity:"medium",path:_,preview:`[redacted:workspace:${p_(J[0])}]`})}function uk($,_={},U="$"){let W=[],J=(X,G)=>{if(typeof X==="string"){mk(X,G,_,W);return}if(!X||typeof X!=="object")return;if(Array.isArray(X)){X.forEach((Q,Y)=>J(Q,`${G}[${Y}]`));return}for(let[Q,Y]of Object.entries(X))J(Y,`${G}.${Q}`)};return J($,U),W}function I0($,_={}){let U=uk($,_);if(U.length===0)return;let W=new Map;for(let X of U)W.set(X.type,(W.get(X.type)??0)+1);let J=[...W.entries()].map(([X,G])=>`${X}:${G}`).join(", ");throw Error(`Knowledge private-ref lint failed (${J}). Store open-files/s3 refs or approved runtime secret refs instead of private .hasna, file://, raw DB/export, or cloud.env refs.`)}function dk($){let _=w_($).text.replace($B,(U)=>`[REDACTED:database-url:${p_(U)}]`).replace(tN,(U)=>`[REDACTED:local-file-uri:${p_(U)}]`).replace(Tk,(U)=>`[REDACTED:local-hasna-path:${p_(U)}]`).replace(sN,(U)=>`[REDACTED:private-workspace:${p_(U)}]`);for(let U of[...hk(),...Sk])_=_.replace(U,(W)=>`[REDACTED:local-path:${p_(W)}]`);return _.replace(aN,(U)=>`[REDACTED:hasna-path:${p_(U)}]`).replace(eN,(U)=>`[REDACTED:private-artifact:${p_(U)}]`)}function o$($){if(typeof $==="string")return dk($);if(!$||typeof $!=="object")return $;if(Array.isArray($))return $.map((U)=>o$(U));let _={};for(let[U,W]of Object.entries($))_[U]=Zk.has(U)?W:o$(W);return _}var rk=20971520,_B=1e4,pk=10;function nG($,_){return`${$}_${ck("sha256").update(_).digest("hex").slice(0,20)}`}function g0($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function k$($){return typeof $==="string"&&$.length>0?$:void 0}function ok($){return typeof $==="number"&&Number.isFinite($)?$:void 0}function tk($){let _=k$($.source_ref)??k$($.source_uri)??k$($.uri);if(_)return _;let U=k$($.file_id);if(U){let X=k$($.revision_id)??k$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=k$($.source_id),J=k$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function ak($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function sk($){let _=k$($.extracted_text)??k$($.text)??k$($.content_text)??k$($.markdown);if(_!==void 0)return _;let U=$.content;return typeof U==="string"?U:null}function ek($){let _=k$($.extracted_text_ref)??k$($.extracted_text_uri)??k$($.text_ref);if(_)return _;let U=g0($.content);return k$(U?.extracted_text_ref)??k$(U?.extracted_text_uri)??null}function $P($){let _=k$($.path);return k$($.title)??k$($.name)??(_?ik(_):null)}function _P($){return k$($.hash)??k$($.checksum)??k$($.sha256)??null}var UB=new Set(["text","content","content_text","extracted_text","markdown","raw","raw_text","raw_bytes","raw_content","raw_body","raw_file","source_raw","source_raw_bytes","source_bytes","source_content","source_body","file_bytes","file_content","content_bytes","content_base64","document_bytes","document_content","document_base64","binary","binary_content","binary_base64","bytes","body","blob","data","payload"]);function JB($){return $.toLowerCase().replace(/[\s-]+/g,"_")}function cG($){if(Array.isArray($))return $.map((W)=>cG(W));let _=g0($);if(!_)return $;let U={};for(let[W,J]of Object.entries(_)){if(UB.has(JB(W)))continue;U[W]=cG(J)}return U}function UP($,_,U){return k$($.revision_id)??k$($.revision)??k$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??k$($.updated_at)??"current"}function JP($,_){let U={};for(let[W,J]of Object.entries($)){if(UB.has(JB(W)))continue;U[W]=o$(cG(J))}return U.source_ref=_.sourceRef,U.source_uri=_.sourceUri,U.status=_.status,U}function WP($,_,U={}){let W=tk($);I0(W,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let J=r_(W),X=ak(W,J),G=_P($),Q=k$($.status)??"active";return{raw:$,sourceRef:W,sourceUri:X,kind:J.kind,title:$P($),revision:UP($,J,G),hash:G,extractedTextUri:ek($),text:sk($),metadata:JP($,{sourceRef:W,sourceUri:X,status:Q}),acl:$.permissions??$.acl??{},status:Q,updatedAt:k$($.updated_at)??_}}function XP($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Manifest array parse failed.");return U.map((W)=>{let J=g0(W);if(!J)throw Error("Manifest array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=g0(U);if(!W)throw Error("Manifest object parse failed.");if(Array.isArray(W.items))return W.items.map((J)=>{let X=g0(J);if(!X)throw Error("Manifest items entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=g0(JSON.parse(J));if(!X)throw Error("Manifest JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=g0(JSON.parse(U));if(!W)throw Error("Manifest JSONL entries must be objects.");return W})}async function GP($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 manifest URI: ${$}`);if(U)v4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function QP($,_,U,W=rk){let J=$.startsWith("s3://")?await GP($,_,U):(()=>{if(!nk($))throw Error(`Manifest not found: ${$}`);return lk($,"utf8")})(),X=Buffer.byteLength(J);if(X>W)throw Error(`Manifest input is too large: ${X} bytes exceeds ${W} byte limit.`);return J}function YP($,_,U){let W=$.replace(/\r\n/g,` `);if(!W.trim())return[];let J=[],X=0;while(X<W.length){let G=Math.min(W.length,X+_),Q=G;if(G<W.length){let j=W.lastIndexOf(` -`,G),O=W.lastIndexOf(". ",G),B=Math.max(j,O);if(B>X+Math.floor(_*0.5))Q=B+(B===j?2:1)}let Y=W.slice(X,Q).trim();if(Y)J.push({ordinal:J.length,text:Y,startOffset:X,endOffset:Q});if(Q>=W.length)break;X=Math.max(0,Q-U)}return J}function GP($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function QP($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_);for(let W of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[W.id]);return $.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]),U.length}function YP($,_,U){let W=n5("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`,G),O=W.lastIndexOf(". ",G),B=Math.max(j,O);if(B>X+Math.floor(_*0.5))Q=B+(B===j?2:1)}let Y=W.slice(X,Q).trim();if(Y)J.push({ordinal:J.length,text:Y,startOffset:X,endOffset:Q});if(Q>=W.length)break;X=Math.max(0,Q-U)}return J}function jP($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function DP($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_);for(let W of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[W.id]);return $.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]),U.length}function zP($,_,U){let W=nG("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(uri) DO UPDATE SET kind = excluded.kind, title = excluded.title, metadata_json = excluded.metadata_json, acl_json = excluded.acl_json, - updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify(_.metadata),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source: ${_.sourceUri}`);return J.id}function jP($,_,U,W){let J=n5("rev",`${_}\x00${U.revision}`);$.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) + updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify(_.metadata),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source: ${_.sourceUri}`);return J.id}function qP($,_,U,W){let J=nG("rev",`${_}\x00${U.revision}`);$.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(source_id, revision) DO UPDATE SET hash = excluded.hash, extracted_text_uri = excluded.extracted_text_uri, - metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,U.extractedTextUri,JSON.stringify(U.metadata),W]);let X=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision);if(!X)throw Error(`Failed to upsert source revision: ${U.sourceRef}`);return X.id}function DP($,_,U,W,J,X,G){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let Q=w_(U.text,G);if(Q.findings.length>0)DX($,{source_uri:U.sourceUri,findings:Q.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:W}),a$($,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:Q.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:W});let Y=XP(Q.text,J,X);for(let j of Y){let O=n5("chk",`${_}\x00${j.ordinal}\x00${j.text}`),B=S4({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,chunk_id:O,start_offset:j.startOffset,end_offset:j.endOffset,status:U.status,resolver:"open-files-read-only"}),V=ZN({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,status:U.status,path:k$(U.raw.path)??null,mime:k$(U.raw.mime)??k$(U.raw.content_type)??null,size:ik(U.raw.size)??null},B);$.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[O,_,"source",j.ordinal,j.text,GP(j.text),j.startOffset,j.endOffset,JSON.stringify(V),W]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[O,j.text,U.title??"",U.sourceUri])}return{chunksInserted:Y.length,redactions:Q.findings.length}}async function _B($){let _=$.now??new Date;if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await WP($.input,$.config,$.safetyPolicy,$.maxInputBytes),W=UP(U),J=$.maxItems??sN;if(W.length>J)throw Error(`Manifest contains too many items: ${W.length} exceeds ${J} item limit.`);return g0({dbPath:$.dbPath,items:W,sourceLabel:$.input,allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:$.safetyPolicy,now:_,maxChunkChars:$.maxChunkChars,chunkOverlapChars:$.chunkOverlapChars,maxItems:$.maxItems})}async function g0($){let _=($.now??new Date).toISOString(),U=$.maxChunkChars??4000,W=$.chunkOverlapChars??200,J=$.maxItems??sN;if(U<500)throw Error("maxChunkChars must be at least 500.");if(W<0||W>=U)throw Error("chunkOverlapChars must be less than maxChunkChars.");if($.items.length>J)throw Error(`Manifest contains too many items: ${$.items.length} exceeds ${J} item limit.`);if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let X=d($.dbPath);try{return X.transaction(()=>{let Q=new Set,Y=new Set,j=0,O=0,B=0,V=0,L=[];a$(X,{event_type:"source_read",action:$.readAction??($.sourceLabel.startsWith("s3://")?"s3_manifest_read":"local_manifest_read"),target_uri:$.sourceLabel,decision:"allow",metadata:{items:$.items.length,read_only:!0},created_at:_});for(let N of $.items){let H=_P(N,_,{allowFileSourceRefs:$.allowFileSourceRefs});if(L.length<lk)L.push({source_ref:H.sourceRef,title:H.title,status:H.status,has_text:Boolean(H.text)});let R=YP(X,H,_),E=jP(X,R,H,_);if(Q.add(R),Y.add(E),H.text||H.status.toLowerCase()==="deleted")O+=QP(X,E);let A=DP(X,E,H,_,U,W,$.safetyPolicy);j+=A.chunksInserted,B+=A.redactions}return a$(X,{event_type:"write",action:"knowledge_manifest_ingest",target_uri:$.dbPath,decision:"allow",metadata:{items:$.items.length,sources:Q.size,revisions:Y.size,chunks_inserted:j,redactions:B},created_at:_}),{path:$.sourceLabel,db_path:$.dbPath,items_seen:$.items.length,sources_upserted:Q.size,revisions_upserted:Y.size,chunks_inserted:j,chunks_deleted:O,redactions:B,skipped:V,items_preview:L}})()}finally{X.close()}}function zX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function w0($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function UB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function zP($,_){let U=$.mode;if(typeof U==="string"&&U!=="read_only")throw Error(`Source resolver denied ${_}. Permission mode is ${U}, expected read_only.`);let W=$.denied_purposes;if(Array.isArray(W)&&W.includes(_))throw Error(`Source resolver denied ${_}. Purpose is explicitly denied.`);let J=$.allowed_purposes;if(Array.isArray(J)&&J.length>0&&!J.includes(_))throw Error(`Source resolver denied ${_}. Allowed purposes: ${J.join(", ")}`)}function qP($,_,U){if(!_)return U;try{let W=r_($);if(W.kind==="open-files"&&W.entity==="file")return`${$}/revision/${encodeURIComponent(_.revision)}`}catch{return U}return U}function OP($,_,U){return $.query(`SELECT id, uri, kind, title, metadata_json, acl_json, updated_at + metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,U.extractedTextUri,JSON.stringify(U.metadata),W]);let X=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision);if(!X)throw Error(`Failed to upsert source revision: ${U.sourceRef}`);return X.id}function OP($,_,U,W,J,X,G){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let Q=w_(U.text,G);if(Q.findings.length>0)zX($,{source_uri:U.sourceUri,findings:Q.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:W}),a$($,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:Q.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:W});let Y=YP(Q.text,J,X);for(let j of Y){let O=nG("chk",`${_}\x00${j.ordinal}\x00${j.text}`),B=Z4({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,chunk_id:O,start_offset:j.startOffset,end_offset:j.endOffset,status:U.status,resolver:"open-files-read-only"}),V=hN({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:_,revision:U.revision,hash:U.hash,status:U.status,path:k$(U.raw.path)??null,mime:k$(U.raw.mime)??k$(U.raw.content_type)??null,size:ok(U.raw.size)??null},B);$.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[O,_,"source",j.ordinal,j.text,jP(j.text),j.startOffset,j.endOffset,JSON.stringify(V),W]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[O,j.text,U.title??"",U.sourceUri])}return{chunksInserted:Y.length,redactions:Q.findings.length}}async function WB($){let _=$.now??new Date;if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await QP($.input,$.config,$.safetyPolicy,$.maxInputBytes),W=XP(U),J=$.maxItems??_B;if(W.length>J)throw Error(`Manifest contains too many items: ${W.length} exceeds ${J} item limit.`);return w0({dbPath:$.dbPath,items:W,sourceLabel:$.input,allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:$.safetyPolicy,now:_,maxChunkChars:$.maxChunkChars,chunkOverlapChars:$.chunkOverlapChars,maxItems:$.maxItems})}async function w0($){let _=($.now??new Date).toISOString(),U=$.maxChunkChars??4000,W=$.chunkOverlapChars??200,J=$.maxItems??_B;if(U<500)throw Error("maxChunkChars must be at least 500.");if(W<0||W>=U)throw Error("chunkOverlapChars must be less than maxChunkChars.");if($.items.length>J)throw Error(`Manifest contains too many items: ${$.items.length} exceeds ${J} item limit.`);if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let X=d($.dbPath);try{return X.transaction(()=>{let Q=new Set,Y=new Set,j=0,O=0,B=0,V=0,L=[];a$(X,{event_type:"source_read",action:$.readAction??($.sourceLabel.startsWith("s3://")?"s3_manifest_read":"local_manifest_read"),target_uri:$.sourceLabel,decision:"allow",metadata:{items:$.items.length,read_only:!0},created_at:_});for(let N of $.items){let H=WP(N,_,{allowFileSourceRefs:$.allowFileSourceRefs});if(L.length<pk)L.push({source_ref:H.sourceRef,title:H.title,status:H.status,has_text:Boolean(H.text)});let R=zP(X,H,_),F=qP(X,R,H,_);if(Q.add(R),Y.add(F),H.text||H.status.toLowerCase()==="deleted")O+=DP(X,F);let A=OP(X,F,H,_,U,W,$.safetyPolicy);j+=A.chunksInserted,B+=A.redactions}return a$(X,{event_type:"write",action:"knowledge_manifest_ingest",target_uri:$.dbPath,decision:"allow",metadata:{items:$.items.length,sources:Q.size,revisions:Y.size,chunks_inserted:j,redactions:B},created_at:_}),{path:$.sourceLabel,db_path:$.dbPath,items_seen:$.items.length,sources_upserted:Q.size,revisions_upserted:Y.size,chunks_inserted:j,chunks_deleted:O,redactions:B,skipped:V,items_preview:L}})()}finally{X.close()}}function qX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function k0($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function XB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function LP($,_){let U=$.mode;if(typeof U==="string"&&U!=="read_only")throw Error(`Source resolver denied ${_}. Permission mode is ${U}, expected read_only.`);let W=$.denied_purposes;if(Array.isArray(W)&&W.includes(_))throw Error(`Source resolver denied ${_}. Purpose is explicitly denied.`);let J=$.allowed_purposes;if(Array.isArray(J)&&J.length>0&&!J.includes(_))throw Error(`Source resolver denied ${_}. Allowed purposes: ${J.join(", ")}`)}function NP($,_,U){if(!_)return U;try{let W=r_($);if(W.kind==="open-files"&&W.entity==="file")return`${$}/revision/${encodeURIComponent(_.revision)}`}catch{return U}return U}function BP($,_,U){return $.query(`SELECT id, uri, kind, title, metadata_json, acl_json, updated_at FROM sources WHERE uri = ? OR uri = ? ORDER BY CASE WHEN uri = ? THEN 0 ELSE 1 END - LIMIT 1`).get(_,U,_)??null}function LP($,_,U){if(U)return $.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get(_,U,_)??null}function HP($,_,U){if(U)return $.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at FROM source_revisions WHERE source_id = ? AND revision = ? LIMIT 1`).get(_,U)??null;return $.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at FROM source_revisions WHERE source_id = ? ORDER BY created_at DESC, revision DESC - LIMIT 1`).get(_)??null}function NP($,_){if(!_)return 0;return $.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get(_)?.n??0}function BP($,_,U){if(!_||U<=0)return[];return $.query(`SELECT id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json + LIMIT 1`).get(_)??null}function VP($,_){if(!_)return 0;return $.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get(_)?.n??0}function RP($,_,U){if(!_||U<=0)return[];return $.query(`SELECT id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json FROM chunks WHERE source_revision_id = ? ORDER BY ordinal ASC - LIMIT ?`).all(_,U)}async function qX($){let _=$.purpose??"knowledge_answer",U=Math.max(0,Math.min($.limit??10,100)),W=($.now??new Date).toISOString(),J=r_($.sourceRef),X=yN($.sourceRef,J),G=hN($.sourceRef);if($.safetyPolicy){if(!$.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");X4($.dbPath,$.safetyPolicy)}$$($.dbPath);let Q=d($.dbPath);try{return Q.transaction(()=>{let Y=OP(Q,X,$.sourceRef);if(!Y)return a$(Q,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:X},created_at:W}),{source_ref:$.sourceRef,source_uri:X,purpose:_,read_only:!0,resolved:!1,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:null,revision:null,content:{mime:null,size:null,hash:null,text_available:!1,chunks_total:0,chunks_returned:0,char_count_returned:0,extracted_text_ref:null,bytes_available:!1,bytes_exposed:!1},chunks:[],citations:[]};let j=zX(Y.metadata_json),O=zX(Y.acl_json);try{zP(O,_)}catch(K){throw a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"deny",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,error:K instanceof Error?K.message:String(K)},created_at:W}),K}let B=LP(Q,Y.id,G),V=zX(B?.metadata_json),L=NP(Q,B?.id??null),N=BP(Q,B?.id??null,U),H=qP(Y.uri,B,$.sourceRef),R=N.map((K)=>{let I=zX(K.metadata_json),Z={resolver:"open-files-read-only",mode:"local_catalog",purpose:_,read_only:!0,source_ref:w0(I,["source_ref"])??H,source_uri:Y.uri,source_revision_id:B?.id??null,revision:B?.revision??null,hash:B?.hash??w0(I,["hash"]),chunk_id:K.id,start_offset:K.start_offset,end_offset:K.end_offset,resolved_at:W},k=S4({source_ref:Z.source_ref,source_uri:Z.source_uri,source_kind:Y.kind,source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,chunk_id:K.id,start_offset:K.start_offset,end_offset:K.end_offset,status:w0(I,["status"]),resolver:Z.resolver});return{id:K.id,kind:K.kind,ordinal:K.ordinal,text:K.text,token_count:K.token_count,start_offset:K.start_offset,end_offset:K.end_offset,metadata:I,evidence:Z,provenance:k}}),E=R.map((K)=>({source_ref:K.evidence.source_ref,source_uri:Y.uri,chunk_id:K.id,quote:K.text.slice(0,500),start_offset:K.start_offset,end_offset:K.end_offset,evidence:K.evidence,provenance:K.provenance}));a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,revision:B?.revision??null,chunks_returned:R.length,chunks_total:L},created_at:W});let A=w0(j,["mime","content_type"])??w0(V,["mime","content_type"]),M=UB(j,["size","size_bytes"])??UB(V,["size","size_bytes"]);return{source_ref:H,source_uri:Y.uri,purpose:_,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:Y.id,uri:Y.uri,kind:Y.kind,title:Y.title,metadata:j,permissions:O,updated_at:Y.updated_at},revision:B?{id:B.id,revision:B.revision,hash:B.hash,extracted_text_uri:B.extracted_text_uri,metadata:V,created_at:B.created_at,reindex_required:V.reindex_required===!0}:null,content:{mime:A,size:M,hash:B?.hash??w0(j,["hash","checksum","sha256"]),text_available:L>0,chunks_total:L,chunks_returned:R.length,char_count_returned:R.reduce((K,I)=>K+I.text.length,0),extracted_text_ref:B?.extracted_text_uri??w0(V,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:R,citations:E}})()}finally{Q.close()}}function N2($){return`sha256:${HP("sha256").update($).digest("hex")}`}function AP($){return $.replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` + LIMIT ?`).all(_,U)}async function OX($){let _=$.purpose??"knowledge_answer",U=Math.max(0,Math.min($.limit??10,100)),W=($.now??new Date).toISOString(),J=r_($.sourceRef),X=mN($.sourceRef,J),G=uN($.sourceRef);if($.safetyPolicy){if(!$.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");X4($.dbPath,$.safetyPolicy)}$$($.dbPath);let Q=d($.dbPath);try{return Q.transaction(()=>{let Y=BP(Q,X,$.sourceRef);if(!Y)return a$(Q,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:X},created_at:W}),{source_ref:$.sourceRef,source_uri:X,purpose:_,read_only:!0,resolved:!1,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:null,revision:null,content:{mime:null,size:null,hash:null,text_available:!1,chunks_total:0,chunks_returned:0,char_count_returned:0,extracted_text_ref:null,bytes_available:!1,bytes_exposed:!1},chunks:[],citations:[]};let j=qX(Y.metadata_json),O=qX(Y.acl_json);try{LP(O,_)}catch(K){throw a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"deny",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,error:K instanceof Error?K.message:String(K)},created_at:W}),K}let B=HP(Q,Y.id,G),V=qX(B?.metadata_json),L=VP(Q,B?.id??null),N=RP(Q,B?.id??null,U),H=NP(Y.uri,B,$.sourceRef),R=N.map((K)=>{let I=qX(K.metadata_json),Z={resolver:"open-files-read-only",mode:"local_catalog",purpose:_,read_only:!0,source_ref:k0(I,["source_ref"])??H,source_uri:Y.uri,source_revision_id:B?.id??null,revision:B?.revision??null,hash:B?.hash??k0(I,["hash"]),chunk_id:K.id,start_offset:K.start_offset,end_offset:K.end_offset,resolved_at:W},k=Z4({source_ref:Z.source_ref,source_uri:Z.source_uri,source_kind:Y.kind,source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,chunk_id:K.id,start_offset:K.start_offset,end_offset:K.end_offset,status:k0(I,["status"]),resolver:Z.resolver});return{id:K.id,kind:K.kind,ordinal:K.ordinal,text:K.text,token_count:K.token_count,start_offset:K.start_offset,end_offset:K.end_offset,metadata:I,evidence:Z,provenance:k}}),F=R.map((K)=>({source_ref:K.evidence.source_ref,source_uri:Y.uri,chunk_id:K.id,quote:K.text.slice(0,500),start_offset:K.start_offset,end_offset:K.end_offset,evidence:K.evidence,provenance:K.provenance}));a$(Q,{event_type:"source_read",action:"open_files_resolve",target_uri:$.sourceRef,decision:"allow",metadata:{purpose:_,read_only:!0,source_uri:Y.uri,revision:B?.revision??null,chunks_returned:R.length,chunks_total:L},created_at:W});let A=k0(j,["mime","content_type"])??k0(V,["mime","content_type"]),M=XB(j,["size","size_bytes"])??XB(V,["size","size_bytes"]);return{source_ref:H,source_uri:Y.uri,purpose:_,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:Y.id,uri:Y.uri,kind:Y.kind,title:Y.title,metadata:j,permissions:O,updated_at:Y.updated_at},revision:B?{id:B.id,revision:B.revision,hash:B.hash,extracted_text_uri:B.extracted_text_uri,metadata:V,created_at:B.created_at,reindex_required:V.reindex_required===!0}:null,content:{mime:A,size:M,hash:B?.hash??k0(j,["hash","checksum","sha256"]),text_available:L>0,chunks_total:L,chunks_returned:R.length,char_count_returned:R.reduce((K,I)=>K+I.text.length,0),extracted_text_ref:B?.extracted_text_uri??k0(V,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:R,citations:F}})()}finally{Q.close()}}function B2($){return`sha256:${AP("sha256").update($).digest("hex")}`}function KP($){return $.replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` `).replace(/\n\s+/g,` -`).replace(/[ \t]{2,}/g," ").trim()}async function EP($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 source URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function FP($,_){if(_)L2(_);let U=await _X($,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!U.ok)throw Error(`Web source read failed ${U.status}: ${$}`);let W=U.headers.get("content-type"),J=await U.text();return{text:W?.includes("html")?AP(J):J,mime:W}}function LX($){if($.kind==="file")return OX($.path);if($.kind==="s3")return OX($.key);if($.kind==="web")return OX(new URL($.url).pathname)||$.url;return $.path?OX($.path):$.id}async function JB($,_,U){if($.kind==="file"){if(!VP($.path))throw Error(`Source file not found: ${$.path}`);let W=RP($.path,"utf8");return{text:W,contentSource:"file",title:LX($),mime:"text/plain",size:W.length,hash:N2(W),revision:null,extractedTextRef:null,metadata:{path:$.path},permissions:{mode:"read_only"}}}if($.kind==="s3"){let W=await EP($.uri,_,U);return{text:W,contentSource:"s3",title:LX($),mime:"text/plain",size:W.length,hash:N2(W),revision:null,extractedTextRef:null,metadata:{bucket:$.bucket,key:$.key},permissions:{mode:"read_only"}}}if($.kind==="web"){let W=await FP($.url,U);return{text:W.text,contentSource:"web",title:LX($),mime:W.mime,size:W.text.length,hash:N2(W.text),revision:null,extractedTextRef:null,metadata:{url:$.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${$.uri}`)}async function KP($,_,U){if($.startsWith("open-files://"))throw Error("Open-files extracted text refs require an open-files resolver API. Ingest an open-files manifest with extracted_text or an extracted_text_ref using file://, s3://, or https://.");let W=r_($);return{text:(await JB(W,_,U)).text,contentSource:"extracted_text_ref"}}async function bP($){let _=await qX({dbPath:$.dbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",limit:100,safetyPolicy:$.safetyPolicy,now:$.now});if(!_.resolved)throw Error("Open-files source is not in the local knowledge catalog. Ingest an open-files manifest first or use the open-files resolver API.");if(_.revision?.extracted_text_uri&&!_.content.text_available){let W=await KP(_.revision.extracted_text_uri,$.config,$.safetyPolicy);return{text:W.text,contentSource:W.contentSource,title:_.source?.title??null,mime:_.content.mime,size:W.text.length,hash:_.revision.hash??N2(W.text),revision:_.revision.revision,extractedTextRef:_.revision.extracted_text_uri,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}if(_.chunks.length===0)throw Error("Open-files source has no extracted text chunks yet. Ingest an open-files manifest with extracted_text or extracted_text_ref first.");let U=_.chunks.map((W)=>W.text).join(` +`).replace(/[ \t]{2,}/g," ").trim()}async function bP($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 source URI: ${$}`);if(U)v4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function MP($,_){if(_)N2(_);let U=await UX($,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!U.ok)throw Error(`Web source read failed ${U.status}: ${$}`);let W=U.headers.get("content-type"),J=await U.text();return{text:W?.includes("html")?KP(J):J,mime:W}}function NX($){if($.kind==="file")return LX($.path);if($.kind==="s3")return LX($.key);if($.kind==="web")return LX(new URL($.url).pathname)||$.url;return $.path?LX($.path):$.id}async function GB($,_,U){if($.kind==="file"){if(!FP($.path))throw Error(`Source file not found: ${$.path}`);let W=EP($.path,"utf8");return{text:W,contentSource:"file",title:NX($),mime:"text/plain",size:W.length,hash:B2(W),revision:null,extractedTextRef:null,metadata:{path:$.path},permissions:{mode:"read_only"}}}if($.kind==="s3"){let W=await bP($.uri,_,U);return{text:W,contentSource:"s3",title:NX($),mime:"text/plain",size:W.length,hash:B2(W),revision:null,extractedTextRef:null,metadata:{bucket:$.bucket,key:$.key},permissions:{mode:"read_only"}}}if($.kind==="web"){let W=await MP($.url,U);return{text:W.text,contentSource:"web",title:NX($),mime:W.mime,size:W.text.length,hash:B2(W.text),revision:null,extractedTextRef:null,metadata:{url:$.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${$.uri}`)}async function IP($,_,U){if($.startsWith("open-files://"))throw Error("Open-files extracted text refs require an open-files resolver API. Ingest an open-files manifest with extracted_text or an extracted_text_ref using file://, s3://, or https://.");let W=r_($);return{text:(await GB(W,_,U)).text,contentSource:"extracted_text_ref"}}async function gP($){let _=await OX({dbPath:$.dbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",limit:100,safetyPolicy:$.safetyPolicy,now:$.now});if(!_.resolved)throw Error("Open-files source is not in the local knowledge catalog. Ingest an open-files manifest first or use the open-files resolver API.");if(_.revision?.extracted_text_uri&&!_.content.text_available){let W=await IP(_.revision.extracted_text_uri,$.config,$.safetyPolicy);return{text:W.text,contentSource:W.contentSource,title:_.source?.title??null,mime:_.content.mime,size:W.text.length,hash:_.revision.hash??B2(W.text),revision:_.revision.revision,extractedTextRef:_.revision.extracted_text_uri,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}if(_.chunks.length===0)throw Error("Open-files source has no extracted text chunks yet. Ingest an open-files manifest with extracted_text or extracted_text_ref first.");let U=_.chunks.map((W)=>W.text).join(` -`);return{text:U,contentSource:"catalog_chunks",title:_.source?.title??null,mime:_.content.mime,size:U.length,hash:_.revision?.hash??N2(U),revision:_.revision?.revision??null,extractedTextRef:_.revision?.extracted_text_uri??null,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}function MP($,_,U,W){let J=U.hash??N2(U.text),X={...o$(U.metadata),source_ref:$,content_source:U.contentSource,read_only:!0},G={source_ref:$,name:U.title??LX(_),mime:U.mime??"text/plain",size:U.size??U.text.length,hash:J,revision:U.revision??J,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[W],...U.permissions},metadata:X,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if(_.kind==="open-files"){if(_.entity==="file")G.file_id=_.id;if(_.entity==="source")G.source_id=_.id,G.path=_.path}if(_.kind==="file")G.path=_.path;if(_.kind==="s3")G.path=_.key;if(_.kind==="web")G.url=_.url;return G}async function NX($){let _=$.purpose??"knowledge_index";M0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1});let U=r_($.sourceRef),W=U.kind==="open-files"?await bP($):await JB(U,$.config,$.safetyPolicy),J=MP($.sourceRef,U,W,_);return{...await g0({dbPath:$.dbPath,items:[J],sourceLabel:$.sourceRef,readAction:"source_ref_ingest_read",allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1,safetyPolicy:$.safetyPolicy,now:$.now}),source_ref:$.sourceRef,content_source:W.contentSource,read_only:!0,hash:String(J.hash)}}function BX($,_){return`${$}_${IP("sha256").update(_).digest("hex").slice(0,20)}`}function wP($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function l5($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function kP($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function WB($){return Array.from(new Set(($??[]).map((_)=>_.trim()).filter(Boolean)))}function PP($){let _=$.path?.trim()||`wiki/notes/${wP($.title)}.md`,U=_.replace(/\\/g,"/");if(!U.startsWith("wiki/notes/")||!U.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(U.startsWith("/")||U.split("/").some((W)=>W===".."||W==="."))throw Error(`Invalid app wiki note path: ${_}`);return U}function fP($){let _=[`# ${$.title}`,"",$.content.trim(),"",`Updated: ${$.now}`];if($.tags.length>0)_.push("","Tags:",...$.tags.map((U)=>`- ${U}`));if($.sourceRefs.length>0)_.push("","Source refs:",...$.sourceRefs.map((U)=>`- ${U}`));return _.push(""),_.join(` -`)}async function XB($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...O2(_.body),metadata:{..._.metadata??{}}}}async function CP($,_,U){let W=String(U.getUTCFullYear()),J=String(U.getUTCMonth()+1).padStart(2,"0"),X=String(U.getUTCDate()).padStart(2,"0"),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return XB($,{key:G,body:`${Q}${JSON.stringify(_)} -`,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"app_wiki_log"),artifact_key:G})}})}function TP($){return{...o$($.metadata??{}),app_wiki:!0,note:!0,artifact_key:$.path,tags:$.tags,source_refs:$.sourceRefs,provenance:$.provenance}}function i5($){let _=l5($.metadata_json);return{id:$.id,path:$.path,title:$.title,artifact_uri:$.artifact_uri,content_hash:$.content_hash,tags:Array.isArray(_.tags)?_.tags.filter((U)=>typeof U==="string"):[],source_refs:Array.isArray(_.source_refs)?_.source_refs.filter((U)=>typeof U==="string"):[],created_at:$.created_at,updated_at:$.updated_at}}function SP($,_){return _.map((U)=>{let W=$.query(`SELECT +`);return{text:U,contentSource:"catalog_chunks",title:_.source?.title??null,mime:_.content.mime,size:U.length,hash:_.revision?.hash??B2(U),revision:_.revision?.revision??null,extractedTextRef:_.revision?.extracted_text_uri??null,metadata:_.source?.metadata??{},permissions:_.source?.permissions??{mode:"read_only"}}}function wP($,_,U,W){let J=U.hash??B2(U.text),X={...o$(U.metadata),source_ref:$,content_source:U.contentSource,read_only:!0},G={source_ref:$,name:U.title??NX(_),mime:U.mime??"text/plain",size:U.size??U.text.length,hash:J,revision:U.revision??J,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[W],...U.permissions},metadata:X,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if(_.kind==="open-files"){if(_.entity==="file")G.file_id=_.id;if(_.entity==="source")G.source_id=_.id,G.path=_.path}if(_.kind==="file")G.path=_.path;if(_.kind==="s3")G.path=_.key;if(_.kind==="web")G.url=_.url;return G}async function BX($){let _=$.purpose??"knowledge_index";I0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1});let U=r_($.sourceRef),W=U.kind==="open-files"?await gP($):await GB(U,$.config,$.safetyPolicy),J=wP($.sourceRef,U,W,_);return{...await w0({dbPath:$.dbPath,items:[J],sourceLabel:$.sourceRef,readAction:"source_ref_ingest_read",allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1,safetyPolicy:$.safetyPolicy,now:$.now}),source_ref:$.sourceRef,content_source:W.contentSource,read_only:!0,hash:String(J.hash)}}function HX($,_){return`${$}_${kP("sha256").update(_).digest("hex").slice(0,20)}`}function fP($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function lG($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function CP($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function QB($){return Array.from(new Set(($??[]).map((_)=>_.trim()).filter(Boolean)))}function TP($){let _=$.path?.trim()||`wiki/notes/${fP($.title)}.md`,U=_.replace(/\\/g,"/");if(!U.startsWith("wiki/notes/")||!U.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(U.startsWith("/")||U.split("/").some((W)=>W===".."||W==="."))throw Error(`Invalid app wiki note path: ${_}`);return U}function SP($){let _=[`# ${$.title}`,"",$.content.trim(),"",`Updated: ${$.now}`];if($.tags.length>0)_.push("","Tags:",...$.tags.map((U)=>`- ${U}`));if($.sourceRefs.length>0)_.push("","Source refs:",...$.sourceRefs.map((U)=>`- ${U}`));return _.push(""),_.join(` +`)}async function YB($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...L2(_.body),metadata:{..._.metadata??{}}}}async function ZP($,_,U){let W=String(U.getUTCFullYear()),J=String(U.getUTCMonth()+1).padStart(2,"0"),X=String(U.getUTCDate()).padStart(2,"0"),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return YB($,{key:G,body:`${Q}${JSON.stringify(_)} +`,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"app_wiki_log"),artifact_key:G})}})}function vP($){return{...o$($.metadata??{}),app_wiki:!0,note:!0,artifact_key:$.path,tags:$.tags,source_refs:$.sourceRefs,provenance:$.provenance}}function iG($){let _=lG($.metadata_json);return{id:$.id,path:$.path,title:$.title,artifact_uri:$.artifact_uri,content_hash:$.content_hash,tags:Array.isArray(_.tags)?_.tags.filter((U)=>typeof U==="string"):[],source_refs:Array.isArray(_.source_refs)?_.source_refs.filter((U)=>typeof U==="string"):[],created_at:$.created_at,updated_at:$.updated_at}}function yP($,_){return _.map((U)=>{let W=$.query(`SELECT s.uri AS source_uri, c.id AS chunk_id, c.text, @@ -581,13 +581,13 @@ COMMIT; LEFT JOIN chunks c ON c.source_revision_id = sr.id WHERE s.uri = ? OR s.metadata_json LIKE ? ORDER BY sr.created_at DESC, c.ordinal ASC - LIMIT 1`).get(U,`%${U}%`),J=l5(W?.metadata_json);return{source_ref:U,source_uri:W?.source_uri??U,chunk_id:W?.chunk_id??null,quote:W?.text?W.text.replace(/\s+/g," ").slice(0,240):null,start_offset:W?.start_offset??null,end_offset:W?.end_offset??null,metadata:{source_ref:U,revision:W?.revision??J.revision,hash:W?.hash??J.hash}}})}function ZP($,_,U,W){$.run("DELETE FROM citations WHERE wiki_page_id = ?",[_]);let J=SP($,U);for(let X of J)$.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[BX("cit",`${_}\x00${X.source_uri}\x00${X.chunk_id??gP()}`),_,X.chunk_id,X.source_uri,X.quote,X.start_offset,X.end_offset,JSON.stringify(X.metadata),W]);return J.length}function vP($,_){$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + LIMIT 1`).get(U,`%${U}%`),J=lG(W?.metadata_json);return{source_ref:U,source_uri:W?.source_uri??U,chunk_id:W?.chunk_id??null,quote:W?.text?W.text.replace(/\s+/g," ").slice(0,240):null,start_offset:W?.start_offset??null,end_offset:W?.end_offset??null,metadata:{source_ref:U,revision:W?.revision??J.revision,hash:W?.hash??J.hash}}})}function hP($,_,U,W){$.run("DELETE FROM citations WHERE wiki_page_id = ?",[_]);let J=yP($,U);for(let X of J)$.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[HX("cit",`${_}\x00${X.source_uri}\x00${X.chunk_id??PP()}`),_,X.chunk_id,X.source_uri,X.quote,X.start_offset,X.end_offset,JSON.stringify(X.metadata),W]);return J.length}function xP($,_){$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[BX("idx",`app-wiki-note\x00${_.path}`),"app_wiki_note",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash,tags:_.tags,source_refs:_.sourceRefs}),_.now,_.now])}function yP($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[HX("idx",`app-wiki-note\x00${_.path}`),"app_wiki_note",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash,tags:_.tags,source_refs:_.sourceRefs}),_.now,_.now])}function mP($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -595,22 +595,22 @@ COMMIT; content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[_.pageId,_.path,_.title,_.artifactUri,_.contentHash,"active",JSON.stringify(_.metadata),_.now,_.now]);let U=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_.pageId);for(let J of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_.pageId]);let W=BX("chk",`${_.pageId}\x00${_.contentHash}`);$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.pageId,"wiki",0,_.body,kP(_.body),0,_.body.length,JSON.stringify({..._.metadata,artifact_uri:_.artifactUri,content_hash:_.contentHash}),_.now]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[W,_.body,_.title,_.artifactUri])}function oU($){if($.scope==="global"&&$.allowGlobal!==!0)throw Error("Global app-wiki writes require allowGlobal=true or CLI --allow-global.");if($.workspace.home.includes("/.husna/")||$.workspace.home.endsWith("/.husna"))throw Error(`Refusing app-wiki writes to legacy .husna path: ${$.workspace.home}`);if($.workspace.home.includes("/.hasna/apps/knowledge"))throw Error(`Refusing app-wiki writes to legacy .hasna/apps/knowledge path: ${$.workspace.home}`);if($.safetyPolicy)X4($.workspace.knowledgeDbPath,$.safetyPolicy)}async function GB($){oU($);let _=$$($.workspace.knowledgeDbPath),U=d($.workspace.knowledgeDbPath);try{a$(U,{event_type:"write",action:"app_wiki_init",target_uri:$.workspace.home,decision:"allow",metadata:{scope:$.scope,store_type:$.store.type,app_path:".hasna/knowledge"},created_at:($.now??new Date).toISOString()})}finally{U.close()}return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,knowledge_db_path:$.workspace.knowledgeDbPath,schema_version:_.schema_version,store_type:$.store.type,global_write_allowed:$.scope==="global"&&$.allowGlobal===!0,message:`Initialized app wiki scope at ${$.workspace.home}`}}async function QB($){oU($);let _=$.now??new Date,U=_.toISOString(),W=WB($.tags),J=WB($.sourceRefs);for(let B of J)M0(B,{allowFileSourceRefs:$.safetyPolicy?.readOnlySourceAccess===!0});let X=PP($),G=fP({title:$.title,content:$.content,tags:W,sourceRefs:J,now:U}),Q=D6({generated_from:"app_wiki_note",artifact_key:X,source_refs:J}),Y=await XB($.store,{key:X,body:G,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:Q,scope:$.scope,tags:W.join(","),source_refs:J.join(",")}}),j=await CP($.store,{ts:U,event:"app_wiki_note_written",page_key:X,source_refs:J,tags:W},_);$$($.workspace.knowledgeDbPath);let O=d($.workspace.knowledgeDbPath);try{let B=BX("wiki",X),V=TP({path:X,tags:W,sourceRefs:J,provenance:Q,metadata:$.metadata});W4(O,[Y,j],_),yP(O,{pageId:B,path:X,title:$.title,artifactUri:Y.uri,contentHash:Y.hash??"",body:G,metadata:V,now:U});let L=ZP(O,B,J,U);vP(O,{title:$.title,path:X,artifactUri:Y.uri,contentHash:Y.hash??"",tags:W,sourceRefs:J,now:U}),a$(O,{event_type:"write",action:"app_wiki_note_write",target_uri:Y.uri,decision:"allow",metadata:{scope:$.scope,path:X,source_refs:J,tags:W},created_at:U});let N=O.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(B);if(!N)throw Error(`Failed to write app wiki note: ${X}`);return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,note:i5(N),artifact_uri:Y.uri,content_hash:Y.hash??"",citations_written:L,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${X}`}}finally{O.close()}}function YB($){let _=Math.max(1,Math.min($.limit??50,200));if(!$.dbPath)return[];$$($.dbPath);let U=d($.dbPath);try{return U.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + updated_at = excluded.updated_at`,[_.pageId,_.path,_.title,_.artifactUri,_.contentHash,"active",JSON.stringify(_.metadata),_.now,_.now]);let U=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_.pageId);for(let J of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_.pageId]);let W=HX("chk",`${_.pageId}\x00${_.contentHash}`);$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.pageId,"wiki",0,_.body,CP(_.body),0,_.body.length,JSON.stringify({..._.metadata,artifact_uri:_.artifactUri,content_hash:_.contentHash}),_.now]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[W,_.body,_.title,_.artifactUri])}function oU($){if($.scope==="global"&&$.allowGlobal!==!0)throw Error("Global app-wiki writes require allowGlobal=true or CLI --allow-global.");if($.workspace.home.includes("/.husna/")||$.workspace.home.endsWith("/.husna"))throw Error(`Refusing app-wiki writes to legacy .husna path: ${$.workspace.home}`);if($.workspace.home.includes("/.hasna/apps/knowledge"))throw Error(`Refusing app-wiki writes to legacy .hasna/apps/knowledge path: ${$.workspace.home}`);if($.safetyPolicy)X4($.workspace.knowledgeDbPath,$.safetyPolicy)}async function jB($){oU($);let _=$$($.workspace.knowledgeDbPath),U=d($.workspace.knowledgeDbPath);try{a$(U,{event_type:"write",action:"app_wiki_init",target_uri:$.workspace.home,decision:"allow",metadata:{scope:$.scope,store_type:$.store.type,app_path:".hasna/knowledge"},created_at:($.now??new Date).toISOString()})}finally{U.close()}return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,knowledge_db_path:$.workspace.knowledgeDbPath,schema_version:_.schema_version,store_type:$.store.type,global_write_allowed:$.scope==="global"&&$.allowGlobal===!0,message:`Initialized app wiki scope at ${$.workspace.home}`}}async function DB($){oU($);let _=$.now??new Date,U=_.toISOString(),W=QB($.tags),J=QB($.sourceRefs);for(let B of J)I0(B,{allowFileSourceRefs:$.safetyPolicy?.readOnlySourceAccess===!0});let X=TP($),G=SP({title:$.title,content:$.content,tags:W,sourceRefs:J,now:U}),Q=D6({generated_from:"app_wiki_note",artifact_key:X,source_refs:J}),Y=await YB($.store,{key:X,body:G,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:Q,scope:$.scope,tags:W.join(","),source_refs:J.join(",")}}),j=await ZP($.store,{ts:U,event:"app_wiki_note_written",page_key:X,source_refs:J,tags:W},_);$$($.workspace.knowledgeDbPath);let O=d($.workspace.knowledgeDbPath);try{let B=HX("wiki",X),V=vP({path:X,tags:W,sourceRefs:J,provenance:Q,metadata:$.metadata});W4(O,[Y,j],_),mP(O,{pageId:B,path:X,title:$.title,artifactUri:Y.uri,contentHash:Y.hash??"",body:G,metadata:V,now:U});let L=hP(O,B,J,U);xP(O,{title:$.title,path:X,artifactUri:Y.uri,contentHash:Y.hash??"",tags:W,sourceRefs:J,now:U}),a$(O,{event_type:"write",action:"app_wiki_note_write",target_uri:Y.uri,decision:"allow",metadata:{scope:$.scope,path:X,source_refs:J,tags:W},created_at:U});let N=O.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(B);if(!N)throw Error(`Failed to write app wiki note: ${X}`);return{ok:!0,scope:$.scope,workspace_home:$.workspace.home,note:iG(N),artifact_uri:Y.uri,content_hash:Y.hash??"",citations_written:L,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${X}`}}finally{O.close()}}function zB($){let _=Math.max(1,Math.min($.limit??50,200));if(!$.dbPath)return[];$$($.dbPath);let U=d($.dbPath);try{return U.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE status = 'active' AND path LIKE 'wiki/notes/%' AND metadata_json LIKE '%"app_wiki":true%' ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(_).map(i5)}finally{U.close()}}async function jB($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + LIMIT ?`).all(_).map(iG)}finally{U.close()}}async function qB($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE (id = ? OR path = ?) AND path LIKE 'wiki/notes/%' AND metadata_json LIKE '%"app_wiki":true%'`).get($.id,$.id);if(!U)return null;let W=_.query(`SELECT id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at FROM citations WHERE wiki_page_id = ? - ORDER BY created_at ASC`).all(U.id).map((X)=>({...X,metadata:l5(X.metadata_json),metadata_json:void 0})),J=null;if($.includeContent!==!1)try{J=await $.store.getText(U.path)}catch{J=null}return{ok:!0,note:i5(U),citations:W,content:J}}finally{_.close()}}async function DB($){return oU($),M0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1}),NX({dbPath:$.workspace.knowledgeDbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",config:$.config,safetyPolicy:$.safetyPolicy})}import{randomUUID as _Q}from"crypto";import{randomUUID as hP}from"crypto";var r5={openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},xP={openai:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!0,reasoning:!0,embeddings:!0},anthropic:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!1,reasoning:!0,embeddings:!1},deepseek:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!1,native_web_search:!1,reasoning:!0,embeddings:!1}},mP={default:"openai:gpt-5.2",fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"};function qB($){return $?.providers??{}}function G4($,_){let U=qB($)[_]??{};return{...r5[_],...U}}function OB($){let _=qB($);return{...mP,..._.default_model?{default:_.default_model}:{},..._.aliases??{}}}function j_($){let[_,...U]=$.split(":"),W=U.join(":");if(_!=="openai"&&_!=="anthropic"&&_!=="deepseek")throw Error(`Unsupported AI provider: ${_}`);if(!W)throw Error(`Invalid model ref: ${$}. Expected provider:model.`);return{provider:_,model:W}}function z6($,_){return OB(_)[$]??$}function p5($){let _=OB($);return Object.entries(_).map(([U,W])=>{let J=j_(W);return{alias:U,model_ref:W,provider:J.provider,model:J.model,default:U==="default",capabilities:xP[J.provider]}})}function LB($,_=process.env){return Object.keys(r5).map((U)=>{let W=G4($,U),J=Boolean(_[W.api_key_env]);return{provider:U,api_key_env:W.api_key_env,configured:J,source:J?"env":"missing",base_url:W.base_url??null,default_model:W.default_model}})}function NB($,_=process.env){return{default_model:z6("default",$),providers:LB($,_),models:p5($)}}function k0($,_,U=process.env){let W=LB(_,U).find((J)=>J.provider===$);if(!W)throw Error(`Unsupported AI provider: ${$}`);if(!W.configured)throw Error(`Missing ${W.api_key_env} for ${$}. Set the env var to use this provider.`);return W}async function uP($){if($==="openai"){let{createOpenAI:U}=await import("@ai-sdk/openai");return U}if($==="anthropic"){let{createAnthropic:U}=await import("@ai-sdk/anthropic");return U}let{createDeepSeek:_}=await import("@ai-sdk/deepseek");return _}async function dP($={}){let{createProviderRegistry:_}=await import("ai"),U=$.env??process.env,W={};for(let J of Object.keys(r5)){let X=G4($.config,J),G=U[X.api_key_env];if(!G)continue;let Q=$.factories?.[J]??await uP(J);W[J]=Q({apiKey:G,baseURL:X.base_url})}return _(W)}async function tU($,_={}){let U=z6($,_.config),W=j_(U);return k0(W.provider,_.config,_.env),(await dP(_)).languageModel(U)}function zB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return 0}function P0($){let _=$.usage??{};return{provider:$.provider,model:$.model,input_tokens:zB(_,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:zB(_,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:$.costUsd??0,metadata:{usage:_,provider_metadata:$.providerMetadata??{}}}}function B2($,_){let U=`usage_${hP()}`;return $.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,_.run_id??null,_.provider,_.model,_.input_tokens,_.output_tokens,_.cost_usd,JSON.stringify(_.metadata),_.created_at??new Date().toISOString()]),U}import{createHash as Of}from"crypto";import{existsSync as tP,readFileSync as aP}from"fs";import{createHash as VB}from"crypto";var cP="openai:text-embedding-3-small",RB=1536;function HX($){return $?.embeddings??{}}function BB($,_){return`${$}_${VB("sha256").update(_).digest("hex").slice(0,20)}`}function t5($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function q6($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function HB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function o5($){return Math.sqrt($.reduce((_,U)=>_+U*U,0))}function nP($,_,U=o5(_)){let W=o5($);if(W===0||U===0)return 0;let J=Math.min($.length,_.length),X=0;for(let G=0;G<J;G+=1)X+=$[G]*_[G];return X/(W*U)}function lP($,_){let U=VB("sha256").update($).digest();return Array.from({length:_},(W,J)=>{let X=U[J%U.length]/255;return Number((X*2-1).toFixed(6))})}async function iP($,_,U=process.env){k0("openai",_,U);let W=G4(_,"openai"),{createOpenAI:J}=await import("@ai-sdk/openai"),X=J({apiKey:U[W.api_key_env],baseURL:W.base_url});if(X.embeddingModel)return X.embeddingModel($);if(X.textEmbedding)return X.textEmbedding($);if(X.textEmbeddingModel)return X.textEmbeddingModel($);throw Error("OpenAI provider does not expose an embedding model factory.")}function f0($,_){if(!$||$==="default"||$==="embedding")return HX(_).default_model??cP;return $}async function AB($,_={}){let U=f0(_.modelRef,_.config),W=j_(U);if(W.provider!=="openai")throw Error(`Embedding provider ${W.provider} is not supported yet. Use openai:text-embedding-3-small.`);let J=_.dimensions??HX(_.config).dimensions??RB;if(_.fake)return{provider:W.provider,model:W.model,dimensions:J,vectors:$.map((j)=>lP(j,J)),usage:{input_tokens:$.reduce((j,O)=>j+Math.max(1,Math.ceil(O.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:X}=await import("ai"),G=await iP(W.model,_.config,_.env),Q=await X({model:G,values:$,maxParallelCalls:_.maxParallelCalls??HX(_.config).max_parallel_calls,providerOptions:{openai:{dimensions:J}}}),Y=Q.embeddings;return{provider:W.provider,model:W.model,dimensions:Y[0]?.length??J,vectors:Y,usage:{input_tokens:Q.usage?.tokens??0}}}function rP($,_){if(_.sourceRevisionId)return $.query(`SELECT + ORDER BY created_at ASC`).all(U.id).map((X)=>({...X,metadata:lG(X.metadata_json),metadata_json:void 0})),J=null;if($.includeContent!==!1)try{J=await $.store.getText(U.path)}catch{J=null}return{ok:!0,note:iG(U),citations:W,content:J}}finally{_.close()}}async function OB($){return oU($),I0($.sourceRef,{allowFileSourceRefs:$.config?.sources.allowed_schemes.includes("file")!==!1}),BX({dbPath:$.workspace.knowledgeDbPath,sourceRef:$.sourceRef,purpose:$.purpose??"knowledge_index",config:$.config,safetyPolicy:$.safetyPolicy})}import{randomUUID as _Q}from"crypto";import{randomUUID as uP}from"crypto";var rG={openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},dP={openai:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!0,reasoning:!0,embeddings:!0},anthropic:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!1,reasoning:!0,embeddings:!1},deepseek:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!1,native_web_search:!1,reasoning:!0,embeddings:!1}},cP={default:"openai:gpt-5.2",fast:"openai:gpt-5-mini",reasoning:"anthropic:claude-opus-4-6",sonnet:"anthropic:claude-sonnet-4-6",deepseek:"deepseek:deepseek-chat","deepseek-reasoning":"deepseek:deepseek-reasoner"};function NB($){return $?.providers??{}}function G4($,_){let U=NB($)[_]??{};return{...rG[_],...U}}function BB($){let _=NB($);return{...cP,..._.default_model?{default:_.default_model}:{},..._.aliases??{}}}function j_($){let[_,...U]=$.split(":"),W=U.join(":");if(_!=="openai"&&_!=="anthropic"&&_!=="deepseek")throw Error(`Unsupported AI provider: ${_}`);if(!W)throw Error(`Invalid model ref: ${$}. Expected provider:model.`);return{provider:_,model:W}}function z6($,_){return BB(_)[$]??$}function pG($){let _=BB($);return Object.entries(_).map(([U,W])=>{let J=j_(W);return{alias:U,model_ref:W,provider:J.provider,model:J.model,default:U==="default",capabilities:dP[J.provider]}})}function HB($,_=process.env){return Object.keys(rG).map((U)=>{let W=G4($,U),J=Boolean(_[W.api_key_env]);return{provider:U,api_key_env:W.api_key_env,configured:J,source:J?"env":"missing",base_url:W.base_url??null,default_model:W.default_model}})}function VB($,_=process.env){return{default_model:z6("default",$),providers:HB($,_),models:pG($)}}function P0($,_,U=process.env){let W=HB(_,U).find((J)=>J.provider===$);if(!W)throw Error(`Unsupported AI provider: ${$}`);if(!W.configured)throw Error(`Missing ${W.api_key_env} for ${$}. Set the env var to use this provider.`);return W}async function nP($){if($==="openai"){let{createOpenAI:U}=await import("@ai-sdk/openai");return U}if($==="anthropic"){let{createAnthropic:U}=await import("@ai-sdk/anthropic");return U}let{createDeepSeek:_}=await import("@ai-sdk/deepseek");return _}async function lP($={}){let{createProviderRegistry:_}=await import("ai"),U=$.env??process.env,W={};for(let J of Object.keys(rG)){let X=G4($.config,J),G=U[X.api_key_env];if(!G)continue;let Q=$.factories?.[J]??await nP(J);W[J]=Q({apiKey:G,baseURL:X.base_url})}return _(W)}async function tU($,_={}){let U=z6($,_.config),W=j_(U);return P0(W.provider,_.config,_.env),(await lP(_)).languageModel(U)}function LB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return 0}function f0($){let _=$.usage??{};return{provider:$.provider,model:$.model,input_tokens:LB(_,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:LB(_,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:$.costUsd??0,metadata:{usage:_,provider_metadata:$.providerMetadata??{}}}}function H2($,_){let U=`usage_${uP()}`;return $.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,_.run_id??null,_.provider,_.model,_.input_tokens,_.output_tokens,_.cost_usd,JSON.stringify(_.metadata),_.created_at??new Date().toISOString()]),U}import{createHash as Bf}from"crypto";import{existsSync as eP,readFileSync as $f}from"fs";import{createHash as FB}from"crypto";var iP="openai:text-embedding-3-small",EB=1536;function VX($){return $?.embeddings??{}}function RB($,_){return`${$}_${FB("sha256").update(_).digest("hex").slice(0,20)}`}function tG($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function q6($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function AB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function oG($){return Math.sqrt($.reduce((_,U)=>_+U*U,0))}function rP($,_,U=oG(_)){let W=oG($);if(W===0||U===0)return 0;let J=Math.min($.length,_.length),X=0;for(let G=0;G<J;G+=1)X+=$[G]*_[G];return X/(W*U)}function pP($,_){let U=FB("sha256").update($).digest();return Array.from({length:_},(W,J)=>{let X=U[J%U.length]/255;return Number((X*2-1).toFixed(6))})}async function oP($,_,U=process.env){P0("openai",_,U);let W=G4(_,"openai"),{createOpenAI:J}=await import("@ai-sdk/openai"),X=J({apiKey:U[W.api_key_env],baseURL:W.base_url});if(X.embeddingModel)return X.embeddingModel($);if(X.textEmbedding)return X.textEmbedding($);if(X.textEmbeddingModel)return X.textEmbeddingModel($);throw Error("OpenAI provider does not expose an embedding model factory.")}function C0($,_){if(!$||$==="default"||$==="embedding")return VX(_).default_model??iP;return $}async function KB($,_={}){let U=C0(_.modelRef,_.config),W=j_(U);if(W.provider!=="openai")throw Error(`Embedding provider ${W.provider} is not supported yet. Use openai:text-embedding-3-small.`);let J=_.dimensions??VX(_.config).dimensions??EB;if(_.fake)return{provider:W.provider,model:W.model,dimensions:J,vectors:$.map((j)=>pP(j,J)),usage:{input_tokens:$.reduce((j,O)=>j+Math.max(1,Math.ceil(O.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:X}=await import("ai"),G=await oP(W.model,_.config,_.env),Q=await X({model:G,values:$,maxParallelCalls:_.maxParallelCalls??VX(_.config).max_parallel_calls,providerOptions:{openai:{dimensions:J}}}),Y=Q.embeddings;return{provider:W.provider,model:W.model,dimensions:Y[0]?.length??J,vectors:Y,usage:{input_tokens:Q.usage?.tokens??0}}}function tP($,_){if(_.sourceRevisionId)return $.query(`SELECT c.id, c.text, c.token_count, @@ -648,7 +648,7 @@ COMMIT; ON v.chunk_id = c.id AND v.provider = ? AND v.model = ? WHERE v.id IS NULL ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(_.provider,_.model,_.limit)}function pP($){let _=t5($.metadata_json),U=_.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return S4({source_ref:q6(_,["source_ref"]),source_uri:$.source_uri??q6(_,["source_uri"]),source_kind:$.source_kind??q6(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??q6(_,["revision"]),hash:$.hash??q6(_,["hash"]),chunk_id:$.id,start_offset:$.start_offset??HB(_,["start_offset"]),end_offset:$.end_offset??HB(_,["end_offset"]),status:q6(_,["status"]),resolver:"open-files-read-only"})}function oP($,_,U,W){let J=$.prepare(` + LIMIT ?`).all(_.provider,_.model,_.limit)}function aP($){let _=tG($.metadata_json),U=_.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return Z4({source_ref:q6(_,["source_ref"]),source_uri:$.source_uri??q6(_,["source_uri"]),source_kind:$.source_kind??q6(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??q6(_,["revision"]),hash:$.hash??q6(_,["hash"]),chunk_id:$.id,start_offset:$.start_offset??AB(_,["start_offset"]),end_offset:$.end_offset??AB(_,["end_offset"]),status:q6(_,["status"]),resolver:"open-files-read-only"})}function sP($,_,U,W){let J=$.prepare(` INSERT INTO chunk_embeddings (id, chunk_id, provider, model, dimensions, vector_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(chunk_id, provider, model) DO UPDATE SET @@ -677,10 +677,10 @@ COMMIT; status = excluded.status, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);return $.transaction(()=>{for(let Q=0;Q<_.length;Q+=1){let Y=_[Q],j=U.vectors[Q];if(!j)continue;let O=t5(Y.metadata_json),B=pP(Y),V=B.source_ref??q6(O,["source_ref"]),L=B.source_uri??Y.source_uri??q6(O,["source_uri"]),N=B.revision??Y.revision??q6(O,["revision"]),H=B.hash??Y.hash??q6(O,["hash"]),R=B.status??q6(O,["status"])??"active",E=JSON.stringify(j);J.run(BB("emb",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,U.provider,U.model,U.dimensions,E,W),X.run(BB("vec",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,Y.source_revision_id,U.provider,U.model,U.dimensions,E,o5(j),L,V,N,H,B.start_offset,B.end_offset,Y.token_count,R,JSON.stringify({...O,provenance:B,embedded_at:W}),W,W)}})(),_.length}async function VX($){let _=f0($.modelRef,$.config),U=j_(_);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet.`);let W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??100,1000));$$($.dbPath);let X=d($.dbPath),G;try{G=rP(X,{provider:U.provider,model:U.model,limit:J,sourceRevisionId:$.sourceRevisionId})}finally{X.close()}if(G.length===0)return{provider:U.provider,model:U.model,dimensions:$.dimensions??HX($.config).dimensions??RB,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let Q=await AB(G.map((j)=>j.text),$),Y=d($.dbPath);try{let j=oP(Y,G,Q,W);return{provider:Q.provider,model:Q.model,dimensions:Q.dimensions,chunks_seen:G.length,chunks_embedded:G.length,embeddings_upserted:j,vector_entries_upserted:j,usage:Q.usage}}finally{Y.close()}}function EB($){$$($);let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,J=_.query(`SELECT provider, model, dimensions, COUNT(*) AS entries, MAX(updated_at) AS updated_at + `);return $.transaction(()=>{for(let Q=0;Q<_.length;Q+=1){let Y=_[Q],j=U.vectors[Q];if(!j)continue;let O=tG(Y.metadata_json),B=aP(Y),V=B.source_ref??q6(O,["source_ref"]),L=B.source_uri??Y.source_uri??q6(O,["source_uri"]),N=B.revision??Y.revision??q6(O,["revision"]),H=B.hash??Y.hash??q6(O,["hash"]),R=B.status??q6(O,["status"])??"active",F=JSON.stringify(j);J.run(RB("emb",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,U.provider,U.model,U.dimensions,F,W),X.run(RB("vec",`${Y.id}\x00${U.provider}\x00${U.model}`),Y.id,Y.source_revision_id,U.provider,U.model,U.dimensions,F,oG(j),L,V,N,H,B.start_offset,B.end_offset,Y.token_count,R,JSON.stringify({...O,provenance:B,embedded_at:W}),W,W)}})(),_.length}async function RX($){let _=C0($.modelRef,$.config),U=j_(_);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet.`);let W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??100,1000));$$($.dbPath);let X=d($.dbPath),G;try{G=tP(X,{provider:U.provider,model:U.model,limit:J,sourceRevisionId:$.sourceRevisionId})}finally{X.close()}if(G.length===0)return{provider:U.provider,model:U.model,dimensions:$.dimensions??VX($.config).dimensions??EB,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let Q=await KB(G.map((j)=>j.text),$),Y=d($.dbPath);try{let j=sP(Y,G,Q,W);return{provider:Q.provider,model:Q.model,dimensions:Q.dimensions,chunks_seen:G.length,chunks_embedded:G.length,embeddings_upserted:j,vector_entries_upserted:j,usage:Q.usage}}finally{Y.close()}}function bB($){$$($);let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,J=_.query(`SELECT provider, model, dimensions, COUNT(*) AS entries, MAX(updated_at) AS updated_at FROM vector_index_entries GROUP BY provider, model, dimensions - ORDER BY provider, model`).all();return{total_embeddings:U,total_vector_entries:W,indexes:J}}finally{_.close()}}async function RX($){let _=f0($.modelRef,$.config),U=j_(_),W=Math.max(1,Math.min($.limit??10,100)),J=await AB([$.query],$),X=J.vectors[0]??[];$$($.dbPath);let G=d($.dbPath);try{let Y=G.query(`SELECT + ORDER BY provider, model`).all();return{total_embeddings:U,total_vector_entries:W,indexes:J}}finally{_.close()}}async function AX($){let _=C0($.modelRef,$.config),U=j_(_),W=Math.max(1,Math.min($.limit??10,100)),J=await KB([$.query],$),X=J.vectors[0]??[];$$($.dbPath);let G=d($.dbPath);try{let Y=G.query(`SELECT v.chunk_id, c.text, v.vector_json, @@ -692,7 +692,7 @@ COMMIT; v.metadata_json FROM vector_index_entries v JOIN chunks c ON c.id = v.chunk_id - WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((j)=>{let O=JSON.parse(j.vector_json),B=t5(j.metadata_json),V=B.provenance&&typeof B.provenance==="object"&&!Array.isArray(B.provenance)?B.provenance:null;return{chunk_id:j.chunk_id,score:nP(X,O,j.vector_norm),text:j.text,source_uri:j.source_uri,source_ref:j.source_ref,revision:j.revision,hash:j.hash,provenance:V}}).sort((j,O)=>O.score-j.score).slice(0,W);return{provider:U.provider,model:U.model,dimensions:J.dimensions,query:$.query,results:Y}}finally{G.close()}}function AX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function h_($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function FB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function MB($){return Array.from(new Set($))}function IB($){let _=$.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return MB(_.filter((U)=>U.length>0)).slice(0,16)}function KB($){return $.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function sP($){let _=[],U=/"([^"]*)"|(\S+)/g,W,J=!1;while((W=U.exec($))!==null){if(W[1]!==void 0){let j=KB(W[1]);if(j.length>0)_.push({type:"phrase",value:j.join(" "),negate:J,prefix:!1});J=!1;continue}let X=W[2]??"";if(X==="OR"||X==="||"||X==="|"){_.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(X==="AND"||X==="&&")continue;if(X==="NOT"){J=!0;continue}let G=J;if(J=!1,X.startsWith("-")&&X.length>1)G=!0,X=X.slice(1);let Q=!1;if(X.endsWith("*"))Q=!0,X=X.slice(0,-1);let Y=KB(X);if(Y.length===0)continue;_.push({type:Y.length>1?"phrase":"term",value:Y.join(" "),negate:G,prefix:Q})}return _.slice(0,24)}function eP($){if($.type==="phrase")return`"${$.value}"`;return`"${$.value}"*`}function $f($){let _=sP($);if(_.filter((G)=>G.type!=="or"&&!G.negate).length===0)return{and:null,or:null};let W=(G)=>{let Q="",Y=!1,j=[];for(let O of _){if(O.type==="or"){Y=!0;continue}let B=eP(O);if(O.negate){j.push(B);continue}if(Q.length===0)Q=B;else Q=Y?`${Q} OR ${B}`:`${Q} ${G} ${B}`;Y=!1}for(let O of j)Q=`(${Q}) NOT ${O}`;return Q.length>0?Q:null},J=W("AND"),X=W("OR");return{and:J,or:X!==J?X:null}}function _f($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function gB($,_){return $.flatMap((U)=>Array.from({length:_},()=>`%${_f(U)}%`))}function Uf($,_){let U=Number.isFinite($)?1/(1+Math.abs($)):0,W=1/(1+_);return EX(Math.max(U,W))}function a5($,_){if(_.length===0)return 0;let U=_.filter((W)=>$.includes(W)).length;if(U===0)return 0;return EX(Math.min(0.85,0.35+U/_.length*0.5))}function Jf($){return EX(Math.max(0,Math.min(1,($+1)/2)))}function EX($){return Number($.toFixed(6))}function V2($,_){let U=$.keyword??0,W=$.semantic??0,J=$.catalog??0,X=_?.chunk_id?0.05:0;return EX(Math.min(1,U*0.55+W*0.4+J*0.35+X))}function s5($){let _=$.provenance;return _&&typeof _==="object"&&!Array.isArray(_)?_:null}function Wf($){let _=AX($.chunk_metadata_json),U=s5(_);if(U)return U;if(!$.source_revision_id&&!$.source_uri)return null;return S4({source_ref:h_(_,["source_ref"]),source_uri:$.source_uri??h_(_,["source_uri"]),source_kind:$.source_kind??h_(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??h_(_,["revision"]),hash:$.hash??h_(_,["hash"]),chunk_id:$.chunk_id,start_offset:$.start_offset??FB(_,["start_offset"]),end_offset:$.end_offset??FB(_,["end_offset"]),status:h_(_,["status"]),resolver:"open-files-read-only"})}function bB($,_,U){if(!_)return[];try{return Xf($,_,U)}catch{return[]}}function Xf($,_,U){return $.query(`SELECT + WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((j)=>{let O=JSON.parse(j.vector_json),B=tG(j.metadata_json),V=B.provenance&&typeof B.provenance==="object"&&!Array.isArray(B.provenance)?B.provenance:null;return{chunk_id:j.chunk_id,score:rP(X,O,j.vector_norm),text:j.text,source_uri:j.source_uri,source_ref:j.source_ref,revision:j.revision,hash:j.hash,provenance:V}}).sort((j,O)=>O.score-j.score).slice(0,W);return{provider:U.provider,model:U.model,dimensions:J.dimensions,query:$.query,results:Y}}finally{G.close()}}function FX($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function h_($,_){for(let U of _){let W=$[U];if(typeof W==="string"&&W.length>0)return W}return null}function MB($,_){for(let U of _){let W=$[U];if(typeof W==="number"&&Number.isFinite(W))return W}return null}function wB($){return Array.from(new Set($))}function kB($){let _=$.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return wB(_.filter((U)=>U.length>0)).slice(0,16)}function IB($){return $.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function _f($){let _=[],U=/"([^"]*)"|(\S+)/g,W,J=!1;while((W=U.exec($))!==null){if(W[1]!==void 0){let j=IB(W[1]);if(j.length>0)_.push({type:"phrase",value:j.join(" "),negate:J,prefix:!1});J=!1;continue}let X=W[2]??"";if(X==="OR"||X==="||"||X==="|"){_.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(X==="AND"||X==="&&")continue;if(X==="NOT"){J=!0;continue}let G=J;if(J=!1,X.startsWith("-")&&X.length>1)G=!0,X=X.slice(1);let Q=!1;if(X.endsWith("*"))Q=!0,X=X.slice(0,-1);let Y=IB(X);if(Y.length===0)continue;_.push({type:Y.length>1?"phrase":"term",value:Y.join(" "),negate:G,prefix:Q})}return _.slice(0,24)}function Uf($){if($.type==="phrase")return`"${$.value}"`;return`"${$.value}"*`}function Jf($){let _=_f($);if(_.filter((G)=>G.type!=="or"&&!G.negate).length===0)return{and:null,or:null};let W=(G)=>{let Q="",Y=!1,j=[];for(let O of _){if(O.type==="or"){Y=!0;continue}let B=Uf(O);if(O.negate){j.push(B);continue}if(Q.length===0)Q=B;else Q=Y?`${Q} OR ${B}`:`${Q} ${G} ${B}`;Y=!1}for(let O of j)Q=`(${Q}) NOT ${O}`;return Q.length>0?Q:null},J=W("AND"),X=W("OR");return{and:J,or:X!==J?X:null}}function Wf($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function PB($,_){return $.flatMap((U)=>Array.from({length:_},()=>`%${Wf(U)}%`))}function Xf($,_){let U=Number.isFinite($)?1/(1+Math.abs($)):0,W=1/(1+_);return EX(Math.max(U,W))}function aG($,_){if(_.length===0)return 0;let U=_.filter((W)=>$.includes(W)).length;if(U===0)return 0;return EX(Math.min(0.85,0.35+U/_.length*0.5))}function Gf($){return EX(Math.max(0,Math.min(1,($+1)/2)))}function EX($){return Number($.toFixed(6))}function R2($,_){let U=$.keyword??0,W=$.semantic??0,J=$.catalog??0,X=_?.chunk_id?0.05:0;return EX(Math.min(1,U*0.55+W*0.4+J*0.35+X))}function sG($){let _=$.provenance;return _&&typeof _==="object"&&!Array.isArray(_)?_:null}function Qf($){let _=FX($.chunk_metadata_json),U=sG(_);if(U)return U;if(!$.source_revision_id&&!$.source_uri)return null;return Z4({source_ref:h_(_,["source_ref"]),source_uri:$.source_uri??h_(_,["source_uri"]),source_kind:$.source_kind??h_(_,["source_kind"]),source_revision_id:$.source_revision_id,revision:$.revision??h_(_,["revision"]),hash:$.hash??h_(_,["hash"]),chunk_id:$.chunk_id,start_offset:$.start_offset??MB(_,["start_offset"]),end_offset:$.end_offset??MB(_,["end_offset"]),status:h_(_,["status"]),resolver:"open-files-read-only"})}function gB($,_,U){if(!_)return[];try{return Yf($,_,U)}catch{return[]}}function Yf($,_,U){return $.query(`SELECT chunks_fts.chunk_id, c.kind AS chunk_kind, c.wiki_page_id, @@ -721,49 +721,49 @@ COMMIT; LEFT JOIN wiki_pages wp ON wp.id = c.wiki_page_id WHERE chunks_fts MATCH ? ORDER BY rank ASC - LIMIT ?`).all(_,U)}function wB($,_){if(_.length===0)return"1 = 0";return _.map(()=>`(${$.map((W)=>`lower(COALESCE(${W}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function Gf($,_,U){let W=["path","title","artifact_uri","metadata_json"];return $.query(`SELECT id, path, title, artifact_uri, content_hash, status, metadata_json + LIMIT ?`).all(_,U)}function fB($,_){if(_.length===0)return"1 = 0";return _.map(()=>`(${$.map((W)=>`lower(COALESCE(${W}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function jf($,_,U){let W=["path","title","artifact_uri","metadata_json"];return $.query(`SELECT id, path, title, artifact_uri, content_hash, status, metadata_json FROM wiki_pages - WHERE status = 'active' AND (${wB(W,_)}) + WHERE status = 'active' AND (${fB(W,_)}) ORDER BY updated_at DESC - LIMIT ?`).all(...gB(_,W.length),U)}function Qf($,_,U){let W=["kind","name","shard_key","artifact_uri","metadata_json"];return $.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json + LIMIT ?`).all(...PB(_,W.length),U)}function Df($,_,U){let W=["kind","name","shard_key","artifact_uri","metadata_json"];return $.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json FROM knowledge_indexes - WHERE ${wB(W,_)} + WHERE ${fB(W,_)} ORDER BY updated_at DESC - LIMIT ?`).all(...gB(_,W.length),U)}function kB($){if(!$||!tP($))return[];try{let _=JSON.parse(aP($,"utf8"));if(!_||!Array.isArray(_.items))return[];return _.items.filter((U)=>{return Boolean(U&&typeof U==="object"&&typeof U.id==="string"&&typeof U.title==="string"&&typeof U.content==="string")})}catch{return[]}}function Yf($){return[$.id,$.short_id,$.title,$.content,$.url,...$.tags??[]].filter((_)=>typeof _==="string"&&_.length>0).join(" ").toLowerCase()}function PB($,_,U){if(_.length===0)return[];return $.filter((W)=>W.archived!==!0).map((W)=>({item:W,haystack:Yf(W)})).filter(({haystack:W})=>_.some((J)=>W.includes(J))).map(({item:W,haystack:J})=>({item:W,score:a5(J,_)})).sort((W,J)=>J.score-W.score||W.item.id.localeCompare(J.item.id)).slice(0,U)}function jf($,_,U){return PB(kB($),_,U)}function Df($,_){let U=AX($.chunk_metadata_json),W=Wf($),J=h_(U,["source_ref"]),X=$.source_uri??h_(U,["source_uri"]),G=Boolean($.wiki_page_id),Q={kind:G?"wiki_chunk":"source_chunk",id:$.chunk_id,title:G?$.wiki_title:$.source_title,text:$.text,score:0,scores:{keyword:_},source:X||J?{uri:X,ref:J,kind:$.source_kind??h_(U,["source_kind"]),revision:$.revision??h_(U,["revision"]),hash:$.hash??h_(U,["hash"])}:null,citation:{chunk_id:$.chunk_id,start_offset:$.start_offset,end_offset:$.end_offset},artifact:G?{uri:$.wiki_artifact_uri,path:$.wiki_path,hash:$.wiki_content_hash,shard_key:$.wiki_path}:null,provenance:W,reasons:["keyword_match"]};return Q.score=V2(Q.scores,Q.citation),Q}function fB($,_){let U=`knowledge://item/${encodeURIComponent($.id)}`,W={kind:"legacy_item",id:$.id,title:$.title,text:$.content,score:0,scores:{keyword:_},source:{uri:U,ref:U,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return W.score=V2(W.scores,W.citation),W}function zf($,_){let U=AX($.metadata_json),W=a5(`${$.path} ${$.title} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"wiki_page",id:$.id,title:$.title,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:$.path,hash:$.content_hash,shard_key:$.path},provenance:s5(U),reasons:["wiki_catalog_match"]};return J.score=V2(J.scores,J.citation),J}function qf($,_){let U=AX($.metadata_json),W=a5(`${$.kind} ${$.name} ${$.shard_key??""} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"knowledge_index",id:$.id,title:$.name,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:h_(U,["artifact_key"]),hash:h_(U,["content_hash"]),shard_key:$.shard_key},provenance:s5(U),reasons:["index_catalog_match"]};return J.score=V2(J.scores,J.citation),J}function H2($,_){let U=`${_.kind}:${_.id}`,W=$.get(U);if(!W){$.set(U,_);return}W.scores={keyword:Math.max(W.scores.keyword??0,_.scores.keyword??0)||void 0,semantic:Math.max(W.scores.semantic??0,_.scores.semantic??0)||void 0,catalog:Math.max(W.scores.catalog??0,_.scores.catalog??0)||void 0},W.reasons=MB([...W.reasons,..._.reasons]),W.text=W.text??_.text,W.title=W.title??_.title,W.source=W.source??_.source,W.citation=W.citation??_.citation,W.artifact=W.artifact??_.artifact,W.provenance=W.provenance??_.provenance,W.score=V2(W.scores,W.citation)}function CB($){let _={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return $.sort((U,W)=>{if(W.score!==U.score)return W.score-U.score;return _[U.kind]-_[W.kind]||U.id.localeCompare(W.id)})}async function FX($){let _=$.query.trim();if(!_)throw Error("Search query is required.");let U=Math.max(1,Math.min($.limit??10,100)),W=Math.max(0,Math.floor($.offset??0)),J=W+U,X=IB(_),G=$f(_),Q=$.semantic===!0||$.fake===!0||Boolean($.modelRef),Y=[],j=null,O=null,B=null,V=0,L=0,N=0,H=new Map;$$($.dbPath);let R=d($.dbPath);try{let M=Math.max(J*3,20),K=bB(R,G.and,M);if(K.length===0&&G.or)K=bB(R,G.or,M);V=K.length,K.forEach((i,r$)=>H2(H,Df(i,Uf(i.rank,r$))));let I=Gf(R,X,Math.max(J,10)),Z=Qf(R,X,Math.max(J,10)),k=jf($.legacyStorePath,X,Math.max(J,10));L=I.length+Z.length,V+=k.length,k.forEach(({item:i,score:r$})=>H2(H,fB(i,r$))),I.forEach((i)=>H2(H,zf(i,X))),Z.forEach((i)=>H2(H,qf(i,X)))}finally{R.close()}if(Q)try{let M=await RX({dbPath:$.dbPath,query:_,limit:Math.max(J*3,20),config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,batchSize:$.batchSize,maxParallelCalls:$.maxParallelCalls});j=M.provider,O=M.model,B=M.dimensions,N=M.results.length;for(let K of M.results){let I={kind:"source_chunk",id:K.chunk_id,title:null,text:K.text,score:0,scores:{semantic:Jf(K.score)},source:{uri:K.source_uri,ref:K.source_ref,kind:K.provenance?.source_kind??null,revision:K.revision,hash:K.hash},citation:{chunk_id:K.chunk_id,start_offset:K.provenance?.start_offset??null,end_offset:K.provenance?.end_offset??null},artifact:null,provenance:K.provenance,reasons:["semantic_match"]};I.score=V2(I.scores,I.citation),H2(H,I)}}catch(M){Y.push(`semantic_search_failed: ${M instanceof Error?M.message:String(M)}`)}let A=CB(Array.from(H.values())).slice(W,W+U);return{query:_,limit:U,offset:W,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:j,semantic_model:O,semantic_dimensions:B,counts:{keyword_results:V,catalog_results:L,semantic_results:N,merged_results:A.length},warnings:Y,results:A}}async function KX($){return C0(kB($.legacyStorePath),$,["knowledge_db_missing"])}async function C0($,_,U=[]){let W=_.query.trim();if(!W)throw Error("Search query is required.");let J=Math.max(1,Math.min(_.limit??10,100)),X=Math.max(0,Math.floor(_.offset??0)),G=IB(W),Q=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),Y=new Map,j=PB($,G,Math.max(X+J,10));j.forEach(({item:V,score:L})=>H2(Y,fB(V,L)));let O=[...U];if(Q)O.push("semantic_search_requires_local_catalog");let B=CB(Array.from(Y.values())).slice(X,X+J);return{query:W,limit:J,offset:X,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:j.length,catalog_results:0,semantic_results:0,merged_results:B.length},warnings:O,results:B}}function TB($,_){return`${$}_${Of("sha256").update(_).digest("hex").slice(0,20)}`}function SB($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Lf($){return Array.from(new Set(SB($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function Nf($){return[$.title,$.text].filter(Boolean).join(" ").toLowerCase()}function Bf($,_){if(_.length===0)return 0;let U=Nf($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function Hf($){if(!$)return!0;if("read_only"in $)return $.read_only===!0;if("read_only_sources"in $)return $.read_only_sources===!0;return!0}function ZB($){if(!$)return!1;if("stale"in $&&$.stale)return!0;if("status"in $)return h5($.status);return!1}function Vf($){if(ZB($.provenance))return 0;if($.source?.hash||$.source?.revision)return 1;if($.artifact?.hash)return 0.85;if($.provenance&&"source_refs"in $.provenance&&$.provenance.source_refs.length>0)return 0.75;return 0.55}function Rf($){if($.citation?.chunk_id&&($.source?.uri||$.artifact?.uri))return 1;if($.provenance&&"citation_required"in $.provenance&&$.provenance.citation_required)return 0.75;if($.artifact?.uri)return 0.65;return 0.35}function Af($){if($.kind==="wiki_chunk")return 0.85;if($.kind==="source_chunk")return 0.8;if($.kind==="legacy_item")return 0.6;if($.kind==="wiki_page")return 0.65;return 0.55}function Ef($,_){let U={base_score:$.score,exact_score:Bf($,_),citation_score:Rf($),freshness_score:Vf($),authority_score:Af($)},W=Math.min(1,U.base_score*0.65+U.exact_score*0.1+U.citation_score*0.1+U.freshness_score*0.1+U.authority_score*0.05),J=new Set($.reasons);if(U.exact_score>0.5)J.add("exact_term");if(U.citation_score>=0.75)J.add("cited_source");if(U.freshness_score>=0.85)J.add("fresh_source");return{...$,score:Number(W.toFixed(6)),reasons:Array.from(J),rerank:{...U,final_score:Number(W.toFixed(6))}}}function vB($,_){let U=$.text??$.title;if(!U)return null;let W=U.replace(/\s+/g," ").trim();return W.length<=_?W:`${W.slice(0,Math.max(0,_-1)).trim()}...`}function Ff($){return{id:TB("cite",`${$.kind}\x00${$.id}\x00${$.source?.uri??""}\x00${$.artifact?.uri??""}`),result_id:$.id,kind:$.kind,source_uri:$.source?.uri??null,source_ref:$.source?.ref??null,artifact_uri:$.artifact?.uri??null,artifact_path:$.artifact?.path??null,revision:$.source?.revision??null,hash:$.source?.hash??$.artifact?.hash??null,chunk_id:$.citation?.chunk_id??null,start_offset:$.citation?.start_offset??null,end_offset:$.citation?.end_offset??null,quote:vB($,500),provenance:$.provenance}}function Kf($,_,U){let W=vB($,U);if(!W)return null;return{id:TB("excerpt",`${$.kind}\x00${$.id}`),result_id:$.id,citation_id:_.id,kind:$.kind,text:W,score:$.score}}function bX($){return $.map(()=>"?").join(", ")}function bf($,_){let U=_.map((Q)=>Q.citation?.chunk_id).filter((Q)=>Boolean(Q)),W=_.filter((Q)=>Q.kind==="wiki_page").map((Q)=>Q.id),J=[],X=[];if(U.length===0&&W.length===0)return{citations:J,backlinks:X};let G=d($);try{if(U.length>0)J.push(...G.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT ?`).all(...PB(_,W.length),U)}function CB($){if(!$||!eP($))return[];try{let _=JSON.parse($f($,"utf8"));if(!_||!Array.isArray(_.items))return[];return _.items.filter((U)=>{return Boolean(U&&typeof U==="object"&&typeof U.id==="string"&&typeof U.title==="string"&&typeof U.content==="string")})}catch{return[]}}function zf($){return[$.id,$.short_id,$.title,$.content,$.url,...$.tags??[]].filter((_)=>typeof _==="string"&&_.length>0).join(" ").toLowerCase()}function TB($,_,U){if(_.length===0)return[];return $.filter((W)=>W.archived!==!0).map((W)=>({item:W,haystack:zf(W)})).filter(({haystack:W})=>_.some((J)=>W.includes(J))).map(({item:W,haystack:J})=>({item:W,score:aG(J,_)})).sort((W,J)=>J.score-W.score||W.item.id.localeCompare(J.item.id)).slice(0,U)}function qf($,_,U){return TB(CB($),_,U)}function Of($,_){let U=FX($.chunk_metadata_json),W=Qf($),J=h_(U,["source_ref"]),X=$.source_uri??h_(U,["source_uri"]),G=Boolean($.wiki_page_id),Q={kind:G?"wiki_chunk":"source_chunk",id:$.chunk_id,title:G?$.wiki_title:$.source_title,text:$.text,score:0,scores:{keyword:_},source:X||J?{uri:X,ref:J,kind:$.source_kind??h_(U,["source_kind"]),revision:$.revision??h_(U,["revision"]),hash:$.hash??h_(U,["hash"])}:null,citation:{chunk_id:$.chunk_id,start_offset:$.start_offset,end_offset:$.end_offset},artifact:G?{uri:$.wiki_artifact_uri,path:$.wiki_path,hash:$.wiki_content_hash,shard_key:$.wiki_path}:null,provenance:W,reasons:["keyword_match"]};return Q.score=R2(Q.scores,Q.citation),Q}function SB($,_){let U=`knowledge://item/${encodeURIComponent($.id)}`,W={kind:"legacy_item",id:$.id,title:$.title,text:$.content,score:0,scores:{keyword:_},source:{uri:U,ref:U,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return W.score=R2(W.scores,W.citation),W}function Lf($,_){let U=FX($.metadata_json),W=aG(`${$.path} ${$.title} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"wiki_page",id:$.id,title:$.title,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:$.path,hash:$.content_hash,shard_key:$.path},provenance:sG(U),reasons:["wiki_catalog_match"]};return J.score=R2(J.scores,J.citation),J}function Nf($,_){let U=FX($.metadata_json),W=aG(`${$.kind} ${$.name} ${$.shard_key??""} ${$.artifact_uri??""} ${$.metadata_json}`.toLowerCase(),_),J={kind:"knowledge_index",id:$.id,title:$.name,text:null,score:0,scores:{catalog:W},source:null,citation:null,artifact:{uri:$.artifact_uri,path:h_(U,["artifact_key"]),hash:h_(U,["content_hash"]),shard_key:$.shard_key},provenance:sG(U),reasons:["index_catalog_match"]};return J.score=R2(J.scores,J.citation),J}function V2($,_){let U=`${_.kind}:${_.id}`,W=$.get(U);if(!W){$.set(U,_);return}W.scores={keyword:Math.max(W.scores.keyword??0,_.scores.keyword??0)||void 0,semantic:Math.max(W.scores.semantic??0,_.scores.semantic??0)||void 0,catalog:Math.max(W.scores.catalog??0,_.scores.catalog??0)||void 0},W.reasons=wB([...W.reasons,..._.reasons]),W.text=W.text??_.text,W.title=W.title??_.title,W.source=W.source??_.source,W.citation=W.citation??_.citation,W.artifact=W.artifact??_.artifact,W.provenance=W.provenance??_.provenance,W.score=R2(W.scores,W.citation)}function ZB($){let _={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return $.sort((U,W)=>{if(W.score!==U.score)return W.score-U.score;return _[U.kind]-_[W.kind]||U.id.localeCompare(W.id)})}async function KX($){let _=$.query.trim();if(!_)throw Error("Search query is required.");let U=Math.max(1,Math.min($.limit??10,100)),W=Math.max(0,Math.floor($.offset??0)),J=W+U,X=kB(_),G=Jf(_),Q=$.semantic===!0||$.fake===!0||Boolean($.modelRef),Y=[],j=null,O=null,B=null,V=0,L=0,N=0,H=new Map;$$($.dbPath);let R=d($.dbPath);try{let M=Math.max(J*3,20),K=gB(R,G.and,M);if(K.length===0&&G.or)K=gB(R,G.or,M);V=K.length,K.forEach((i,r$)=>V2(H,Of(i,Xf(i.rank,r$))));let I=jf(R,X,Math.max(J,10)),Z=Df(R,X,Math.max(J,10)),k=qf($.legacyStorePath,X,Math.max(J,10));L=I.length+Z.length,V+=k.length,k.forEach(({item:i,score:r$})=>V2(H,SB(i,r$))),I.forEach((i)=>V2(H,Lf(i,X))),Z.forEach((i)=>V2(H,Nf(i,X)))}finally{R.close()}if(Q)try{let M=await AX({dbPath:$.dbPath,query:_,limit:Math.max(J*3,20),config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,batchSize:$.batchSize,maxParallelCalls:$.maxParallelCalls});j=M.provider,O=M.model,B=M.dimensions,N=M.results.length;for(let K of M.results){let I={kind:"source_chunk",id:K.chunk_id,title:null,text:K.text,score:0,scores:{semantic:Gf(K.score)},source:{uri:K.source_uri,ref:K.source_ref,kind:K.provenance?.source_kind??null,revision:K.revision,hash:K.hash},citation:{chunk_id:K.chunk_id,start_offset:K.provenance?.start_offset??null,end_offset:K.provenance?.end_offset??null},artifact:null,provenance:K.provenance,reasons:["semantic_match"]};I.score=R2(I.scores,I.citation),V2(H,I)}}catch(M){Y.push(`semantic_search_failed: ${M instanceof Error?M.message:String(M)}`)}let A=ZB(Array.from(H.values())).slice(W,W+U);return{query:_,limit:U,offset:W,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:j,semantic_model:O,semantic_dimensions:B,counts:{keyword_results:V,catalog_results:L,semantic_results:N,merged_results:A.length},warnings:Y,results:A}}async function bX($){return T0(CB($.legacyStorePath),$,["knowledge_db_missing"])}async function T0($,_,U=[]){let W=_.query.trim();if(!W)throw Error("Search query is required.");let J=Math.max(1,Math.min(_.limit??10,100)),X=Math.max(0,Math.floor(_.offset??0)),G=kB(W),Q=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),Y=new Map,j=TB($,G,Math.max(X+J,10));j.forEach(({item:V,score:L})=>V2(Y,SB(V,L)));let O=[...U];if(Q)O.push("semantic_search_requires_local_catalog");let B=ZB(Array.from(Y.values())).slice(X,X+J);return{query:W,limit:J,offset:X,mode:{keyword:!0,catalog:!0,semantic:Q},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:j.length,catalog_results:0,semantic_results:0,merged_results:B.length},warnings:O,results:B}}function vB($,_){return`${$}_${Bf("sha256").update(_).digest("hex").slice(0,20)}`}function yB($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Hf($){return Array.from(new Set(yB($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function Vf($){return[$.title,$.text].filter(Boolean).join(" ").toLowerCase()}function Rf($,_){if(_.length===0)return 0;let U=Vf($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function Af($){if(!$)return!0;if("read_only"in $)return $.read_only===!0;if("read_only_sources"in $)return $.read_only_sources===!0;return!0}function hB($){if(!$)return!1;if("stale"in $&&$.stale)return!0;if("status"in $)return hG($.status);return!1}function Ff($){if(hB($.provenance))return 0;if($.source?.hash||$.source?.revision)return 1;if($.artifact?.hash)return 0.85;if($.provenance&&"source_refs"in $.provenance&&$.provenance.source_refs.length>0)return 0.75;return 0.55}function Ef($){if($.citation?.chunk_id&&($.source?.uri||$.artifact?.uri))return 1;if($.provenance&&"citation_required"in $.provenance&&$.provenance.citation_required)return 0.75;if($.artifact?.uri)return 0.65;return 0.35}function Kf($){if($.kind==="wiki_chunk")return 0.85;if($.kind==="source_chunk")return 0.8;if($.kind==="legacy_item")return 0.6;if($.kind==="wiki_page")return 0.65;return 0.55}function bf($,_){let U={base_score:$.score,exact_score:Rf($,_),citation_score:Ef($),freshness_score:Ff($),authority_score:Kf($)},W=Math.min(1,U.base_score*0.65+U.exact_score*0.1+U.citation_score*0.1+U.freshness_score*0.1+U.authority_score*0.05),J=new Set($.reasons);if(U.exact_score>0.5)J.add("exact_term");if(U.citation_score>=0.75)J.add("cited_source");if(U.freshness_score>=0.85)J.add("fresh_source");return{...$,score:Number(W.toFixed(6)),reasons:Array.from(J),rerank:{...U,final_score:Number(W.toFixed(6))}}}function xB($,_){let U=$.text??$.title;if(!U)return null;let W=U.replace(/\s+/g," ").trim();return W.length<=_?W:`${W.slice(0,Math.max(0,_-1)).trim()}...`}function Mf($){return{id:vB("cite",`${$.kind}\x00${$.id}\x00${$.source?.uri??""}\x00${$.artifact?.uri??""}`),result_id:$.id,kind:$.kind,source_uri:$.source?.uri??null,source_ref:$.source?.ref??null,artifact_uri:$.artifact?.uri??null,artifact_path:$.artifact?.path??null,revision:$.source?.revision??null,hash:$.source?.hash??$.artifact?.hash??null,chunk_id:$.citation?.chunk_id??null,start_offset:$.citation?.start_offset??null,end_offset:$.citation?.end_offset??null,quote:xB($,500),provenance:$.provenance}}function If($,_,U){let W=xB($,U);if(!W)return null;return{id:vB("excerpt",`${$.kind}\x00${$.id}`),result_id:$.id,citation_id:_.id,kind:$.kind,text:W,score:$.score}}function MX($){return $.map(()=>"?").join(", ")}function gf($,_){let U=_.map((Q)=>Q.citation?.chunk_id).filter((Q)=>Boolean(Q)),W=_.filter((Q)=>Q.kind==="wiki_page").map((Q)=>Q.id),J=[],X=[];if(U.length===0&&W.length===0)return{citations:J,backlinks:X};let G=d($);try{if(U.length>0)J.push(...G.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE chunk_id IN (${bX(U)}) + WHERE chunk_id IN (${MX(U)}) ORDER BY created_at DESC LIMIT 50`).all(...U));if(W.length>0)J.push(...G.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE wiki_page_id IN (${bX(W)}) + WHERE wiki_page_id IN (${MX(W)}) ORDER BY created_at DESC LIMIT 50`).all(...W)),X.push(...G.query(`SELECT from_page_id, to_page_id, label FROM wiki_backlinks - WHERE from_page_id IN (${bX(W)}) OR to_page_id IN (${bX(W)}) - LIMIT 50`).all(...W,...W))}finally{G.close()}return{citations:J,backlinks:X}}function R2($,_={}){let U=Math.max(200,Math.min(_.contextChars??1200,4000)),W=Lf($.query),J=[...$.warnings],X=new Set,G=new Set,Y=$.results.filter((B)=>{if(!Hf(B.provenance))return J.push(`permission_filtered: ${B.kind}:${B.id}`),X.add("Dropped a result because provenance was not read-only."),!1;if(ZB(B.provenance))return J.push(`stale_filtered: ${B.kind}:${B.id}`),G.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((B)=>Ef(B,W)).sort((B,V)=>V.score-B.score||B.id.localeCompare(V.id)).slice(0,$.limit),j=Y.map(Ff),O=Y.map((B,V)=>Kf(B,j[V],U)).filter((B)=>Boolean(B));for(let B of Y){if(B.provenance&&"read_only"in B.provenance&&B.provenance.read_only)X.add("All source-backed excerpts are read-only and citation-required.");if(B.rerank.freshness_score>=0.85)G.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:$.query,normalized_query:SB($.query),created_at:new Date().toISOString(),mode:$.mode,warnings:J,search_counts:$.counts,results:Y,citations:j,excerpts:O,graph:_.dbPath?bf(_.dbPath,Y):{citations:[],backlinks:[]},notes:{permissions:Array.from(X),freshness:Array.from(G)}}}async function A2($){let _=await FX($);return R2(_,{dbPath:$.dbPath,contextChars:$.contextChars})}async function MX($,_){let U=await C0($,_);return R2(U,{contextChars:_.contextChars})}function E2($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function $Q($){return`C${$+1}`}function hB($,_){if(_.excerpts.length===0)return`No indexed knowledge matched the prompt: ${$}`;return[`Found ${_.excerpts.length} relevant knowledge excerpt(s) for: ${$}`,"",..._.excerpts.slice(0,5).map((W,J)=>{let X=_.citations.find((Q)=>Q.id===W.citation_id),G=X?.source_ref??X?.source_uri??X?.artifact_path??X?.artifact_uri??"unknown source";return`[${$Q(J)}] ${W.text} (${G})`})].join(` -`)}function xB($,_){let U=_.citations.map((J,X)=>({id:$Q(X),source_ref:J.source_ref,source_uri:J.source_uri,artifact_path:J.artifact_path,revision:J.revision,hash:J.hash,quote:J.quote})),W=_.excerpts.map((J,X)=>({id:$Q(X),kind:J.kind,text:J.text,score:J.score}));return[`Prompt: ${$}`,"","Use only the provided context. Cite claims with citation ids like [C1]. If context is insufficient, say what is missing.","",`Context excerpts: + WHERE from_page_id IN (${MX(W)}) OR to_page_id IN (${MX(W)}) + LIMIT 50`).all(...W,...W))}finally{G.close()}return{citations:J,backlinks:X}}function A2($,_={}){let U=Math.max(200,Math.min(_.contextChars??1200,4000)),W=Hf($.query),J=[...$.warnings],X=new Set,G=new Set,Y=$.results.filter((B)=>{if(!Af(B.provenance))return J.push(`permission_filtered: ${B.kind}:${B.id}`),X.add("Dropped a result because provenance was not read-only."),!1;if(hB(B.provenance))return J.push(`stale_filtered: ${B.kind}:${B.id}`),G.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((B)=>bf(B,W)).sort((B,V)=>V.score-B.score||B.id.localeCompare(V.id)).slice(0,$.limit),j=Y.map(Mf),O=Y.map((B,V)=>If(B,j[V],U)).filter((B)=>Boolean(B));for(let B of Y){if(B.provenance&&"read_only"in B.provenance&&B.provenance.read_only)X.add("All source-backed excerpts are read-only and citation-required.");if(B.rerank.freshness_score>=0.85)G.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:$.query,normalized_query:yB($.query),created_at:new Date().toISOString(),mode:$.mode,warnings:J,search_counts:$.counts,results:Y,citations:j,excerpts:O,graph:_.dbPath?gf(_.dbPath,Y):{citations:[],backlinks:[]},notes:{permissions:Array.from(X),freshness:Array.from(G)}}}async function F2($){let _=await KX($);return A2(_,{dbPath:$.dbPath,contextChars:$.contextChars})}async function IX($,_){let U=await T0($,_);return A2(U,{contextChars:_.contextChars})}function E2($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function $Q($){return`C${$+1}`}function uB($,_){if(_.excerpts.length===0)return`No indexed knowledge matched the prompt: ${$}`;return[`Found ${_.excerpts.length} relevant knowledge excerpt(s) for: ${$}`,"",..._.excerpts.slice(0,5).map((W,J)=>{let X=_.citations.find((Q)=>Q.id===W.citation_id),G=X?.source_ref??X?.source_uri??X?.artifact_path??X?.artifact_uri??"unknown source";return`[${$Q(J)}] ${W.text} (${G})`})].join(` +`)}function dB($,_){let U=_.citations.map((J,X)=>({id:$Q(X),source_ref:J.source_ref,source_uri:J.source_uri,artifact_path:J.artifact_path,revision:J.revision,hash:J.hash,quote:J.quote})),W=_.excerpts.map((J,X)=>({id:$Q(X),kind:J.kind,text:J.text,score:J.score}));return[`Prompt: ${$}`,"","Use only the provided context. Cite claims with citation ids like [C1]. If context is insufficient, say what is missing.","",`Context excerpts: ${JSON.stringify(W,null,2)}`,"",`Citations: ${JSON.stringify(U,null,2)}`].join(` -`)}function mB($,_){if(_.citations.length===0)return[];return[{kind:"answer_note",title:$.length>80?`${$.slice(0,77)}...`:$,citations:_.citations.map((U)=>U.id),requires_approval:!0}]}function Mf($,_){let U=d($);try{U.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[_.runId,"knowledge-prompt",_.prompt,_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.now])}finally{U.close()}}function e5($,_){let U=d($);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${_Q()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{U.close()}}function yB($,_){let U=d($);try{U.run(`UPDATE runs +`)}function cB($,_){if(_.citations.length===0)return[];return[{kind:"answer_note",title:$.length>80?`${$.slice(0,77)}...`:$,citations:_.citations.map((U)=>U.id),requires_approval:!0}]}function wf($,_){let U=d($);try{U.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[_.runId,"knowledge-prompt",_.prompt,_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.now])}finally{U.close()}}function eG($,_){let U=d($);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${_Q()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{U.close()}}function mB($,_){let U=d($);try{U.run(`UPDATE runs SET status = ?, provider = ?, model = ?, metadata_json = ?, updated_at = ? - WHERE id = ?`,[_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.runId])}finally{U.close()}}function If($,_,U,W,J,X,G={}){let Q=d($);try{B2(Q,{run_id:_,provider:W,model:J,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:G,created_at:X})}finally{Q.close()}}async function uB($){let _=$.prompt.trim();if(!_)throw Error("Knowledge prompt is required.");let U=($.now??new Date).toISOString(),W=`run_${_Q()}`,J=z6($.modelRef??"default",$.config),X=j_(J);$$($.dbPath),Mf($.dbPath,{runId:W,prompt:_,status:$.generate?"running":"dry_run",provider:$.generate?X.provider:"local",model:$.generate?X.model:"context-draft",metadata:{semantic:$.semantic===!0||$.fake===!0||Boolean($.modelRef),approve_write:$.approveWrite===!0,generated:$.generate===!0},now:U});let{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=$,B=await A2({...O,query:_});e5($.dbPath,{runId:W,level:"info",event:"context_retrieved",metadata:{results:B.results.length,citations:B.citations.length,warnings:B.warnings},now:U});let V=hB(_,B),L=!1,N="local",H="context-draft",R={input_tokens:E2(_)+B.excerpts.reduce((K,I)=>K+E2(I.text),0),output_tokens:E2(V),cost_usd:0},E=[...B.warnings];if($.generate)try{if($.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${_} + WHERE id = ?`,[_.status,_.provider,_.model,JSON.stringify(_.metadata),_.now,_.runId])}finally{U.close()}}function kf($,_,U,W,J,X,G={}){let Q=d($);try{H2(Q,{run_id:_,provider:W,model:J,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:G,created_at:X})}finally{Q.close()}}async function nB($){let _=$.prompt.trim();if(!_)throw Error("Knowledge prompt is required.");let U=($.now??new Date).toISOString(),W=`run_${_Q()}`,J=z6($.modelRef??"default",$.config),X=j_(J);$$($.dbPath),wf($.dbPath,{runId:W,prompt:_,status:$.generate?"running":"dry_run",provider:$.generate?X.provider:"local",model:$.generate?X.model:"context-draft",metadata:{semantic:$.semantic===!0||$.fake===!0||Boolean($.modelRef),approve_write:$.approveWrite===!0,generated:$.generate===!0},now:U});let{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=$,B=await F2({...O,query:_});eG($.dbPath,{runId:W,level:"info",event:"context_retrieved",metadata:{results:B.results.length,citations:B.citations.length,warnings:B.warnings},now:U});let V=uB(_,B),L=!1,N="local",H="context-draft",R={input_tokens:E2(_)+B.excerpts.reduce((K,I)=>K+E2(I.text),0),output_tokens:E2(V),cost_usd:0},F=[...B.warnings];if($.generate)try{if($.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${_} -${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:$.config,env:$.env}),Z=await K({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:xB(_,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=P0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}}catch(K){throw e5($.dbPath,{runId:W,level:"error",event:"answer_generation_failed",metadata:{message:K instanceof Error?K.message:String(K)},now:U}),yB($.dbPath,{runId:W,status:"failed",provider:X.provider,model:X.model,metadata:{generated:!1,error:K instanceof Error?K.message:String(K)},now:U}),K}let A=mB(_,B),M={approved:$.approveWrite===!0,durable_writes_performed:!1,reason:$.approveWrite?"Approval flag recorded; durable wiki writing is deferred to the wiki compile task.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return e5($.dbPath,{runId:W,level:"info",event:L?"answer_generated":"answer_drafted",metadata:{provider:N,model:H,proposed_updates:A.length,durable_writes_performed:!1},now:U}),If($.dbPath,W,R,N,H,U,{generated:L,citations:B.citations.length}),yB($.dbPath,{runId:W,status:L?"completed":"dry_run",provider:N,model:H,metadata:{generated:L,citations:B.citations.length,proposed_updates:A.length,approve_write:$.approveWrite===!0},now:U}),{run_id:W,prompt:_,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:E}}async function dB($,_){let U=_.prompt.trim();if(!U)throw Error("Knowledge prompt is required.");let W=`run_${_Q()}`,J=z6(_.modelRef??"default",_.config),X=j_(J),{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=_,B=await MX($,{...O,query:U}),V=hB(U,B),L=!1,N="local",H="context-draft",R={input_tokens:E2(U)+B.excerpts.reduce((K,I)=>K+E2(I.text),0),output_tokens:E2(V),cost_usd:0},E=[...B.warnings];if(_.generate)if(_.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${U} +${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:$.config,env:$.env}),Z=await K({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:dB(_,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=f0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}}catch(K){throw eG($.dbPath,{runId:W,level:"error",event:"answer_generation_failed",metadata:{message:K instanceof Error?K.message:String(K)},now:U}),mB($.dbPath,{runId:W,status:"failed",provider:X.provider,model:X.model,metadata:{generated:!1,error:K instanceof Error?K.message:String(K)},now:U}),K}let A=cB(_,B),M={approved:$.approveWrite===!0,durable_writes_performed:!1,reason:$.approveWrite?"Approval flag recorded; durable wiki writing is deferred to the wiki compile task.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return eG($.dbPath,{runId:W,level:"info",event:L?"answer_generated":"answer_drafted",metadata:{provider:N,model:H,proposed_updates:A.length,durable_writes_performed:!1},now:U}),kf($.dbPath,W,R,N,H,U,{generated:L,citations:B.citations.length}),mB($.dbPath,{runId:W,status:L?"completed":"dry_run",provider:N,model:H,metadata:{generated:L,citations:B.citations.length,proposed_updates:A.length,approve_write:$.approveWrite===!0},now:U}),{run_id:W,prompt:_,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:F}}async function lB($,_){let U=_.prompt.trim();if(!U)throw Error("Knowledge prompt is required.");let W=`run_${_Q()}`,J=z6(_.modelRef??"default",_.config),X=j_(J),{prompt:G,generate:Q,approveWrite:Y,now:j,...O}=_,B=await IX($,{...O,query:U}),V=uB(U,B),L=!1,N="local",H="context-draft",R={input_tokens:E2(U)+B.excerpts.reduce((K,I)=>K+E2(I.text),0),output_tokens:E2(V),cost_usd:0},F=[...B.warnings];if(_.generate)if(_.fake)L=!0,N=X.provider,H=X.model,V=`Fake generated answer for: ${U} -${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:_.config,env:_.env}),Z=await K({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:xB(U,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=P0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}let A=mB(U,B),M={approved:_.approveWrite===!0,durable_writes_performed:!1,reason:_.approveWrite?"Approval flag recorded; durable wiki writes require the local catalog (wiki compile) and are not available in cloud mode.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return{run_id:W,prompt:U,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:E}}import{createHash as gf}from"crypto";var wf=1200,kf=6,Pf=12000,ff=50,cB=800;function K2($,_,U=16){return`${$}_${gf("sha256").update(_).digest("hex").slice(0,U)}`}function JQ($){return $.normalize("NFKC").trim().replace(/\s+/g," ")}function WQ($){return JQ($).toLowerCase()}function Cf($){return Array.from(new Set(WQ($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function Q4($,_){let U=JQ($);if(U.length<=_)return U;let W="...";if(_<=W.length)return U.slice(0,Math.max(0,_));return`${U.slice(0,_-W.length).trim()}${W}`}function nB($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function XQ($){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test($)}function UQ($){return Object.keys($).filter((_)=>!XQ(_)).sort().slice(0,12)}function Tf($,_){for(let U of _){if(XQ(U))continue;let W=$[U];if(typeof W==="string"&&W.trim())return W.trim()}return null}function aU($,_){if(!$)return null;let U=w_($,_).text;try{let W=new URL(U),J=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let X of J)W.searchParams.delete(X);for(let[X]of W.searchParams)if(XQ(X))W.searchParams.delete(X);return W.toString()}catch{return U}}function Z6($,_,U){return aU(Tf($,_),U)}function IX($){let _=[];for(let U of UQ($).slice(0,6)){let W=$[U];if(typeof W==="string"&&W.trim())_.push(`${U}=${Q4(W,80)}`);else if(typeof W==="number"||typeof W==="boolean")_.push(`${U}=${String(W)}`);else if(W&&typeof W==="object")_.push(`${U}={...}`)}return _.join("; ")}function Sf($){if(!$.trim())return 0;return Math.max(1,Math.ceil($.length/4))}function lB($){return Sf(JSON.stringify($))}function Zf($){if(!Number.isFinite($??NaN))return wf;let _=Math.floor($);if(_<cB)throw Error(`--max-tokens must be at least ${cB} for the stable context-pack schema.`);return Math.min(_,Pf)}function vf($,_){let U=Number.isFinite($??NaN)?$:_;if(!Number.isFinite(U??NaN))return kf;return Math.max(1,Math.min(Math.floor(U),ff))}function pB($,_){if(!$)return{cutoff:null,warning:null};let U=$.trim(),W=/^(\d+)\s*([mhdw])$/i.exec(U);if(W){let X=Number(W[1]),G=W[2].toLowerCase(),Q=G==="m"?60000:G==="h"?3600000:G==="d"?86400000:604800000;return{cutoff:new Date(_.getTime()-X*Q).toISOString(),warning:null}}let J=new Date(U);if(!Number.isNaN(J.getTime()))return{cutoff:J.toISOString(),warning:null};return{cutoff:null,warning:`invalid_since_ignored: ${U}`}}function F2($,_,U){let W=w_($,_);return{text:Q4(W.text,U),redactions:W.findings.length}}function iB($,_){if(_.length===0)return 0.5;let U=WQ($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function yf($){return["This pack is read-only and performs no durable writes.","Use citation ids and refs instead of pasting raw artifacts into prompts.","Resolve source or artifact refs explicitly only when raw content is needed and allowed.","Run generated knowledge writes through approval-gated commands before applying.",$==="loops"||$==="runs"?"Run evidence is summarized from knowledge run ledgers; raw run artifacts remain referenced, not embedded.":"Search evidence is derived from indexed chunks/wiki catalog rows with citation metadata."]}function hf($,_,U){let W=aU(_.source_ref,U),J=aU(_.source_uri,U),X=aU(_.artifact_uri,U),G=aU(_.artifact_path,U),Q=W??J??G??X??_.id,Y=_.quote?F2(_.quote,U,$<3?220:140):null;return{citation:{id:K2("cite",`${_.id}\x00${Q}`,12),kind:_.artifact_uri||_.artifact_path?"artifact":"source",ref:Q,source_ref:W,source_uri:J,artifact_uri:X,artifact_path:G,run_id:null,run_event_id:null,revision:_.revision??null,hash:_.hash??null,chunk_id:_.chunk_id??null,offsets:{start:_.start_offset??null,end:_.end_offset??null},quote_preview:Y?.text??null},redactions:Y?.redactions??0}}async function xf($,_){let U=($.query??$.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:W,dbPath:J,limit:X,semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,legacyStorePath:L}=$,N=await A2({dbPath:J,config:W,legacyStorePath:L,query:U,limit:Math.max(_,X??_),semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,contextChars:Math.min($.contextChars??700,1200)}),H=new Map,R=0;N.citations.forEach((K,I)=>{let Z=hf(I,K,$.safetyPolicy);R+=Z.redactions,H.set(K.id,Z.citation)});let E=N.excerpts.slice(0,Math.max(_*2,_)).map((K)=>{let I=N.results.find((r$)=>r$.id===K.result_id),Z=K.citation_id?H.get(K.citation_id):null,k=F2(K.text,$.safetyPolicy,520);R+=k.redactions;let i=I?.title??Z?.ref??K.kind;return{id:K2("ev",`${K.kind}\x00${K.result_id}\x00${K.citation_id??""}`,14),kind:K.kind,title:Q4(i,100),text_preview:k.text,score:Number(K.score.toFixed(6)),citation_ids:Z?[Z.id]:[],provenance:{source:"search",record_ref:`${K.kind}:${K.result_id}`,created_at:N.created_at,updated_at:null,metadata_keys:[]}}}),A=new Set(E.flatMap((K)=>K.citation_ids));return{citations:Array.from(H.values()).filter((K)=>A.has(K.id)),evidence:E,duplicateCandidates:[],redactions:R,warnings:N.warnings,available:N.excerpts.length}}function mf($,_,U){if(_)return $.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at +${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:_.config,env:_.env}),Z=await K({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:dB(U,B)});L=!0,N=X.provider,H=X.model,V=Z.text;let k=f0({provider:N,model:H,usage:Z.usage,providerMetadata:Z.providerMetadata});R={input_tokens:k.input_tokens,output_tokens:k.output_tokens,cost_usd:k.cost_usd}}let A=cB(U,B),M={approved:_.approveWrite===!0,durable_writes_performed:!1,reason:_.approveWrite?"Approval flag recorded; durable wiki writes require the local catalog (wiki compile) and are not available in cloud mode.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return{run_id:W,prompt:U,generated:L,provider:N,model:H,answer:V,context:B,citations:B.citations,proposed_wiki_updates:A,write_policy:M,usage:R,warnings:F}}import{createHash as Pf}from"crypto";var ff=1200,Cf=6,Tf=12000,Sf=50,iB=800;function b2($,_,U=16){return`${$}_${Pf("sha256").update(_).digest("hex").slice(0,U)}`}function JQ($){return $.normalize("NFKC").trim().replace(/\s+/g," ")}function WQ($){return JQ($).toLowerCase()}function Zf($){return Array.from(new Set(WQ($).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function Q4($,_){let U=JQ($);if(U.length<=_)return U;let W="...";if(_<=W.length)return U.slice(0,Math.max(0,_));return`${U.slice(0,_-W.length).trim()}${W}`}function rB($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function XQ($){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test($)}function UQ($){return Object.keys($).filter((_)=>!XQ(_)).sort().slice(0,12)}function vf($,_){for(let U of _){if(XQ(U))continue;let W=$[U];if(typeof W==="string"&&W.trim())return W.trim()}return null}function aU($,_){if(!$)return null;let U=w_($,_).text;try{let W=new URL(U),J=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let X of J)W.searchParams.delete(X);for(let[X]of W.searchParams)if(XQ(X))W.searchParams.delete(X);return W.toString()}catch{return U}}function Z6($,_,U){return aU(vf($,_),U)}function gX($){let _=[];for(let U of UQ($).slice(0,6)){let W=$[U];if(typeof W==="string"&&W.trim())_.push(`${U}=${Q4(W,80)}`);else if(typeof W==="number"||typeof W==="boolean")_.push(`${U}=${String(W)}`);else if(W&&typeof W==="object")_.push(`${U}={...}`)}return _.join("; ")}function yf($){if(!$.trim())return 0;return Math.max(1,Math.ceil($.length/4))}function pB($){return yf(JSON.stringify($))}function hf($){if(!Number.isFinite($??NaN))return ff;let _=Math.floor($);if(_<iB)throw Error(`--max-tokens must be at least ${iB} for the stable context-pack schema.`);return Math.min(_,Tf)}function xf($,_){let U=Number.isFinite($??NaN)?$:_;if(!Number.isFinite(U??NaN))return Cf;return Math.max(1,Math.min(Math.floor(U),Sf))}function aB($,_){if(!$)return{cutoff:null,warning:null};let U=$.trim(),W=/^(\d+)\s*([mhdw])$/i.exec(U);if(W){let X=Number(W[1]),G=W[2].toLowerCase(),Q=G==="m"?60000:G==="h"?3600000:G==="d"?86400000:604800000;return{cutoff:new Date(_.getTime()-X*Q).toISOString(),warning:null}}let J=new Date(U);if(!Number.isNaN(J.getTime()))return{cutoff:J.toISOString(),warning:null};return{cutoff:null,warning:`invalid_since_ignored: ${U}`}}function K2($,_,U){let W=w_($,_);return{text:Q4(W.text,U),redactions:W.findings.length}}function oB($,_){if(_.length===0)return 0.5;let U=WQ($),W=_.filter((J)=>U.includes(J)).length;return Number((W/_.length).toFixed(6))}function mf($){return["This pack is read-only and performs no durable writes.","Use citation ids and refs instead of pasting raw artifacts into prompts.","Resolve source or artifact refs explicitly only when raw content is needed and allowed.","Run generated knowledge writes through approval-gated commands before applying.",$==="loops"||$==="runs"?"Run evidence is summarized from knowledge run ledgers; raw run artifacts remain referenced, not embedded.":"Search evidence is derived from indexed chunks/wiki catalog rows with citation metadata."]}function uf($,_,U){let W=aU(_.source_ref,U),J=aU(_.source_uri,U),X=aU(_.artifact_uri,U),G=aU(_.artifact_path,U),Q=W??J??G??X??_.id,Y=_.quote?K2(_.quote,U,$<3?220:140):null;return{citation:{id:b2("cite",`${_.id}\x00${Q}`,12),kind:_.artifact_uri||_.artifact_path?"artifact":"source",ref:Q,source_ref:W,source_uri:J,artifact_uri:X,artifact_path:G,run_id:null,run_event_id:null,revision:_.revision??null,hash:_.hash??null,chunk_id:_.chunk_id??null,offsets:{start:_.start_offset??null,end:_.end_offset??null},quote_preview:Y?.text??null},redactions:Y?.redactions??0}}async function df($,_){let U=($.query??$.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:W,dbPath:J,limit:X,semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,legacyStorePath:L}=$,N=await F2({dbPath:J,config:W,legacyStorePath:L,query:U,limit:Math.max(_,X??_),semantic:G,modelRef:Q,dimensions:Y,fake:j,env:O,batchSize:B,maxParallelCalls:V,contextChars:Math.min($.contextChars??700,1200)}),H=new Map,R=0;N.citations.forEach((K,I)=>{let Z=uf(I,K,$.safetyPolicy);R+=Z.redactions,H.set(K.id,Z.citation)});let F=N.excerpts.slice(0,Math.max(_*2,_)).map((K)=>{let I=N.results.find((r$)=>r$.id===K.result_id),Z=K.citation_id?H.get(K.citation_id):null,k=K2(K.text,$.safetyPolicy,520);R+=k.redactions;let i=I?.title??Z?.ref??K.kind;return{id:b2("ev",`${K.kind}\x00${K.result_id}\x00${K.citation_id??""}`,14),kind:K.kind,title:Q4(i,100),text_preview:k.text,score:Number(K.score.toFixed(6)),citation_ids:Z?[Z.id]:[],provenance:{source:"search",record_ref:`${K.kind}:${K.result_id}`,created_at:N.created_at,updated_at:null,metadata_keys:[]}}}),A=new Set(F.flatMap((K)=>K.citation_ids));return{citations:Array.from(H.values()).filter((K)=>A.has(K.id)),evidence:F,duplicateCandidates:[],redactions:R,warnings:N.warnings,available:N.excerpts.length}}function cf($,_,U){if(_)return $.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at FROM runs WHERE updated_at >= ? OR created_at >= ? ORDER BY updated_at DESC, created_at DESC LIMIT ?`).all(_,_,U);return $.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at FROM runs ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(U)}function uf($,_,U){if(_.length===0)return[];let W=_.map(()=>"?").join(", ");return $.query(`SELECT id, run_id, level, event, metadata_json, created_at + LIMIT ?`).all(U)}function nf($,_,U){if(_.length===0)return[];let W=_.map(()=>"?").join(", ");return $.query(`SELECT id, run_id, level, event, metadata_json, created_at FROM run_events WHERE run_id IN (${W}) ORDER BY created_at DESC - LIMIT ?`).all(..._,U)}function df($,_){return`${$.type} ${$.metadata_json} ${_.map((W)=>`${W.event} ${W.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function cf($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.id}`,Q=$.prompt?F2($.prompt,U,180).text:null;return{id:K2("cite",`run\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.id,run_event_id:null,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function nf($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.run_id}`,Q=F2($.event,U,160).text;return{id:K2("cite",`event\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run_event",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.run_id,run_event_id:$.id,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function oB($){let _=new Map;for(let U of $){let W=WQ(`${U.title} ${U.text_preview}`).replace(/\b(?:file|https?|s3):\/\/\S+/g,"").replace(/\b(?:run|evt|task|loop)_[a-z0-9_]+\b/g,"").replace(/[^a-z0-9 ]+/g,"").replace(/\b(?:run|event|completed|dry_run|pending)\b/g,"").replace(/\s+/g," ").trim().slice(0,220);if(!W)continue;_.set(W,[..._.get(W)??[],U.id])}return Array.from(_.entries()).filter(([,U])=>U.length>1).map(([U,W])=>({id:K2("dup",U,12),reason:"normalized_text_match",evidence_ids:W,confidence:W.length>2?"high":"medium"}))}async function lf($,_,U){let W=$.source==="loops"?"loops":"runs",J=($.topic??$.query??"").trim(),X=Cf(J),G=pB($.since,U),Q=G.warning?[G.warning]:[];$$($.dbPath);let Y=d($.dbPath);try{let j=mf(Y,G.cutoff,Math.max(_*8,40)),O=uf(Y,j.map((E)=>E.id),Math.max(_*12,80)),B=new Map;for(let E of O)B.set(E.run_id,[...B.get(E.run_id)??[],E]);let L=(W==="loops"?j.filter((E)=>df(E,B.get(E.id)??[])):j).map((E)=>{let A=nB(E.metadata_json),M=`${E.type} ${E.status} ${E.prompt??""} ${IX(A)} ${(B.get(E.id)??[]).map((K)=>`${K.event} ${K.metadata_json}`).join(" ")}`;return{row:E,metadata:A,score:iB(M,X),text:M}}).filter((E)=>X.length===0||E.score>0).sort((E,A)=>A.score-E.score||A.row.updated_at.localeCompare(E.row.updated_at)||E.row.id.localeCompare(A.row.id)),N=[],H=[],R=0;for(let E of L.slice(0,Math.max(_*2,_))){let A=cf(E.row,E.metadata,$.safetyPolicy);N.push(A);let M=IX(E.metadata),K=[E.row.prompt,M].filter(Boolean).join(" | ")||`${E.row.type} ${E.row.status}`,I=F2(K,$.safetyPolicy,420);R+=I.redactions,H.push({id:`run:${E.row.id}`,kind:E.row.type,title:Q4(`${E.row.type}: ${E.row.status}`,100),text_preview:I.text,score:E.score,citation_ids:[A.id],provenance:{source:W,record_ref:`knowledge://project/runs/${E.row.id}`,created_at:E.row.created_at,updated_at:E.row.updated_at,metadata_keys:UQ(E.metadata)}});let Z=(B.get(E.row.id)??[]).map((k)=>{let i=nB(k.metadata_json),r$=`${k.event} ${IX(i)} ${k.metadata_json}`;return{event:k,metadata:i,score:iB(r$,X),text:r$}}).filter((k)=>X.length===0||k.score>0).sort((k,i)=>i.score-k.score||i.event.created_at.localeCompare(k.event.created_at)||k.event.id.localeCompare(i.event.id)).slice(0,2);for(let k of Z){let i=nf(k.event,k.metadata,$.safetyPolicy);N.push(i);let r$=F2(`${k.event}: ${IX(k.metadata)}`,$.safetyPolicy,320);R+=r$.redactions,H.push({id:`event:${k.event.id}`,kind:`run_event:${k.event.level}`,title:Q4(k.event.event,100),text_preview:r$.text,score:k.score,citation_ids:[i.id],provenance:{source:W,record_ref:`knowledge://project/runs/${k.event.run_id}`,created_at:k.event.created_at,updated_at:null,metadata_keys:UQ(k.metadata)}})}}return{citations:N,evidence:H,duplicateCandidates:$.dedupe?oB(H):[],redactions:R,warnings:Q,available:L.length}}finally{Y.close()}}function rf($){let _=$.purpose==="proposal"?`Proposal context: ${Q4($.query||"loop evidence",80)}`:`Knowledge context: ${Q4($.query,80)}`,U=$.evidence.slice(0,8).map((X)=>X.id),W=$.duplicates.slice(0,5).map((X)=>X.id),J=$.evidence.slice(0,5).map((X)=>`${X.id}: ${X.title}`);if($.evidence.length===0)J.push("No matching bounded evidence was found.");return{title:_,bullets:J,evidence_ids:U,duplicate_candidate_ids:W,next_actions:$.source==="loops"?["Review duplicate_candidates before drafting a new proposal.","Use cited run refs for provenance; inspect a run only when more detail is needed.","Keep proposal writes approval-gated and idempotent."]:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]}}function tB($){let _=new Set($.evidence.flatMap((U)=>U.citation_ids));$.citations=$.citations.filter((U)=>_.has(U.id))}function rB($){$.outline.evidence_ids=$.evidence.slice(0,8).map((_)=>_.id),$.outline.bullets=$.evidence.length>0?$.evidence.slice(0,5).map((_)=>`${_.id}: ${_.title}`):["No matching bounded evidence was found."],$.outline.duplicate_candidate_ids=$.duplicate_candidates.slice(0,5).map((_)=>_.id)}function pf($){let _=$.budgets.max_tokens,U=new Set($.warnings);while(lB($)>_){let W=$.evidence.map((X,G)=>({entry:X,index:G})).filter(({entry:X})=>X.text_preview.length>180).sort((X,G)=>G.entry.text_preview.length-X.entry.text_preview.length)[0];if(W){W.entry.text_preview=Q4(W.entry.text_preview,180),U.add("text_preview_truncated_for_token_budget");continue}let J=$.citations.filter((X)=>(X.quote_preview?.length??0)>120).sort((X,G)=>(G.quote_preview?.length??0)-(X.quote_preview?.length??0))[0];if(J?.quote_preview){J.quote_preview=Q4(J.quote_preview,120),U.add("citation_quote_truncated_for_token_budget");continue}if($.evidence.length>0){$.evidence.pop(),$.budgets.items_truncated+=1,$.duplicate_candidates=$.duplicate_candidates.map((X)=>({...X,evidence_ids:X.evidence_ids.filter((G)=>$.evidence.some((Q)=>Q.id===G))})).filter((X)=>X.evidence_ids.length>1),rB($),U.add("evidence_truncated_for_token_budget"),tB($);continue}if($.outline.next_actions.length>1){$.outline.next_actions.pop(),U.add("outline_truncated_for_token_budget");continue}U.add("token_budget_floor_exceeded");break}if($.warnings=Array.from(U).sort(),$.budgets.items_included=$.evidence.length,rB($),$.budgets.estimated_tokens=lB($),$.budgets.token_budget_exceeded=$.budgets.estimated_tokens>_,$.budgets.token_budget_exceeded)throw Error(`Unable to build context pack within ${_} token budget; increase --max-tokens.`);return $.message=`${$.evidence.length} bounded evidence item(s), estimated ${$.budgets.estimated_tokens}/${_} token(s)`,$}async function aB($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=Zf($.maxTokens),X=vf($.maxItems,$.limit),G=JQ($.query??$.topic??"");if(W==="proposal"&&U!=="search"&&!G)throw Error("Proposal context requires --topic <text> or a positional topic.");if(U!=="search")$$($.dbPath);let Q=pB($.since,_).cutoff??$.since??"",Y=U==="search"?await xf($,X):await lf($,X,_),j=Y.evidence.sort((N,H)=>H.score-N.score||N.id.localeCompare(H.id)).slice(0,X),O=Y.citations.filter((N,H,R)=>R.findIndex((E)=>E.id===N.id)===H).sort((N,H)=>N.id.localeCompare(H.id)),B=$.dedupe?oB(j):Y.duplicateCandidates.filter((N)=>N.evidence_ids.every((H)=>j.some((R)=>R.id===H))),V=rf({source:U,purpose:W,query:G,evidence:j,duplicates:B}),L={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:K2("ctx",[U,W,G,Q,$.dedupe===!0?"dedupe":"no-dedupe",$.semantic===!0?"semantic":"keyword",$.modelRef??"",$.limit??"",J,X,j.map((N)=>N.id).join(","),O.map((N)=>N.id).join(",")].join("\x00"),20),budgets:{max_tokens:J,estimated_tokens:0,max_items:X,items_included:j.length,items_available:Y.available,items_truncated:Math.max(0,Y.available-j.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:Y.redactions,reminders:yf(U)},citations:O,evidence:j,duplicate_candidates:B,outline:V,warnings:Y.warnings,message:`${j.length} bounded evidence item(s), estimated under ${J} token(s)`};return tB(L),pf(L)}import{randomUUID as EV}from"crypto";import{createHash as of,randomUUID as tf}from"crypto";import{existsSync as af,readFileSync as sf}from"fs";import{hostname as JH}from"os";import{fileURLToPath as WH}from"url";import{extname as ef,relative as XH,resolve as sB,sep as $C}from"path";var kX=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"],h4=2,x4=1,UJ={sources:["id"],wiki_pages:["id"],source_revisions:["id"],chunks:["id"],chunk_embeddings:["id"],wiki_backlinks:["from_page_id","to_page_id"],citations:["id"],knowledge_indexes:["id"],runs:["id"],run_events:["id"],provider_usage:["id"],redaction_findings:["id"],storage_objects:["id"],audit_events:["id"],approval_gates:["id"],vector_index_entries:["id"],reindex_queue:["id"],knowledge_machines:["machine_id"],knowledge_sync_snapshots:["id"],knowledge_sync_changes:["id"],knowledge_sync_conflicts:["id"],knowledge_sync_table_clocks:["table_name","machine_id"],knowledge_sync_imports:["bundle_id"]},JJ=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function v6($=new Date){return $.toISOString()}function zQ($){return`${$}_${Date.now().toString(36)}_${tf().slice(0,8)}`}function GH($){let _=$?.trim();if(_)return _;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??JH()}function M2($){if(Array.isArray($))return`[${$.map(M2).join(",")}]`;if($&&typeof $==="object"){let _=$;return`{${Object.keys(_).sort().map((U)=>`${JSON.stringify(U)}:${M2(_[U])}`).join(",")}}`}return JSON.stringify($)}function eU($){return`sha256:${of("sha256").update($).digest("hex")}`}function gX($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function fX($,_){try{return JSON.parse($)}catch{return _}}function x_($){return`"${$.replace(/"/g,'""')}"`}function _C($){if($===void 0||$===null)return null;if(typeof $==="string"||typeof $==="number"||typeof $==="bigint"||typeof $==="boolean")return $;if($ instanceof Date)return $.toISOString();if(Buffer.isBuffer($)||$ instanceof Uint8Array)return $;if(typeof $==="object")return JSON.stringify($);return String($)}function QH($,_){return _.filter((U)=>o_($,U))}function o_($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(_);return Boolean(U)}function UC($,_){let U=$.query(`PRAGMA table_info(${x_(_)})`).all();return new Set(U.map((W)=>W.name))}function JC($,_,U){let W=UC($,_);return U.filter((J)=>W.has(J))}function YH($){if(!$||$.length===0)return[...kX];let _=new Set(kX),U=$.map((J)=>J.trim()).filter(Boolean),W=U.filter((J)=>!_.has(J));if(W.length>0)throw Error(`Unknown knowledge sync table(s): ${W.join(", ")}`);return U}function S0($,_){return UJ[$].map((W)=>`${W}=${JSON.stringify(_[W]??null)}`).join("&")}var WC=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function $J($,_=0){if(_>8)return"[truncated-depth]";if(typeof $==="string")return $.length>4000?`${$.slice(0,4000)}...[truncated]`:$;if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.slice(0,50).map((W)=>$J(W,_+1));let U={};for(let[W,J]of Object.entries($)){if(WC.has(W.toLowerCase()))continue;U[W]=$J(J,_+1)}return U}function sU($){if(!$)return null;return $J($)}function qQ($){return eU(M2($))}function XC($,_){let U={};for(let[W,J]of Object.entries($))if(W==="artifact_uri"&&typeof J==="string"&&_.has(J))U[W]=`artifact:${_.get(J)}`;else U[W]=J;return U}function T0($,_=new Map){return qQ(XC($,_))}function jH($,_){if(!o_($,_))return[];return $.query(`SELECT * FROM ${x_(_)} ORDER BY rowid ASC`).all()}function PX($,_,U=new Map){return qQ(_.map((W)=>({key:S0($,W),hash:T0(W,U)})).sort((W,J)=>W.key.localeCompare(J.key)))}function _J($,_,U){return $.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get(_,U)??null}function GC($){if(!o_($,"knowledge_sync_table_clocks"))return[];return $.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function CX($,_){let U=_.now??v6(),J=_J($,_.table,_.machineId)?.created_at??U;$.query(` + LIMIT ?`).all(..._,U)}function lf($,_){return`${$.type} ${$.metadata_json} ${_.map((W)=>`${W.event} ${W.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function rf($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.id}`,Q=$.prompt?K2($.prompt,U,180).text:null;return{id:b2("cite",`run\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.id,run_event_id:null,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function pf($,_,U){let W=Z6(_,["source_ref","source_uri","evidence_uri","receipt_uri"],U),J=Z6(_,["artifact_uri"],U),X=Z6(_,["artifact_path","artifact_key"],U),G=W??J??X??`knowledge://project/runs/${$.run_id}`,Q=K2($.event,U,160).text;return{id:b2("cite",`event\x00${$.id}\x00${G}`,12),kind:J||X?"artifact":"run_event",ref:G,source_ref:W?.startsWith("open-files://")?W:null,source_uri:W&&!W.startsWith("open-files://")?W:null,artifact_uri:J,artifact_path:X,run_id:$.run_id,run_event_id:$.id,revision:Z6(_,["revision"],U),hash:Z6(_,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:Q}}function sB($){let _=new Map;for(let U of $){let W=WQ(`${U.title} ${U.text_preview}`).replace(/\b(?:file|https?|s3):\/\/\S+/g,"").replace(/\b(?:run|evt|task|loop)_[a-z0-9_]+\b/g,"").replace(/[^a-z0-9 ]+/g,"").replace(/\b(?:run|event|completed|dry_run|pending)\b/g,"").replace(/\s+/g," ").trim().slice(0,220);if(!W)continue;_.set(W,[..._.get(W)??[],U.id])}return Array.from(_.entries()).filter(([,U])=>U.length>1).map(([U,W])=>({id:b2("dup",U,12),reason:"normalized_text_match",evidence_ids:W,confidence:W.length>2?"high":"medium"}))}async function of($,_,U){let W=$.source==="loops"?"loops":"runs",J=($.topic??$.query??"").trim(),X=Zf(J),G=aB($.since,U),Q=G.warning?[G.warning]:[];$$($.dbPath);let Y=d($.dbPath);try{let j=cf(Y,G.cutoff,Math.max(_*8,40)),O=nf(Y,j.map((F)=>F.id),Math.max(_*12,80)),B=new Map;for(let F of O)B.set(F.run_id,[...B.get(F.run_id)??[],F]);let L=(W==="loops"?j.filter((F)=>lf(F,B.get(F.id)??[])):j).map((F)=>{let A=rB(F.metadata_json),M=`${F.type} ${F.status} ${F.prompt??""} ${gX(A)} ${(B.get(F.id)??[]).map((K)=>`${K.event} ${K.metadata_json}`).join(" ")}`;return{row:F,metadata:A,score:oB(M,X),text:M}}).filter((F)=>X.length===0||F.score>0).sort((F,A)=>A.score-F.score||A.row.updated_at.localeCompare(F.row.updated_at)||F.row.id.localeCompare(A.row.id)),N=[],H=[],R=0;for(let F of L.slice(0,Math.max(_*2,_))){let A=rf(F.row,F.metadata,$.safetyPolicy);N.push(A);let M=gX(F.metadata),K=[F.row.prompt,M].filter(Boolean).join(" | ")||`${F.row.type} ${F.row.status}`,I=K2(K,$.safetyPolicy,420);R+=I.redactions,H.push({id:`run:${F.row.id}`,kind:F.row.type,title:Q4(`${F.row.type}: ${F.row.status}`,100),text_preview:I.text,score:F.score,citation_ids:[A.id],provenance:{source:W,record_ref:`knowledge://project/runs/${F.row.id}`,created_at:F.row.created_at,updated_at:F.row.updated_at,metadata_keys:UQ(F.metadata)}});let Z=(B.get(F.row.id)??[]).map((k)=>{let i=rB(k.metadata_json),r$=`${k.event} ${gX(i)} ${k.metadata_json}`;return{event:k,metadata:i,score:oB(r$,X),text:r$}}).filter((k)=>X.length===0||k.score>0).sort((k,i)=>i.score-k.score||i.event.created_at.localeCompare(k.event.created_at)||k.event.id.localeCompare(i.event.id)).slice(0,2);for(let k of Z){let i=pf(k.event,k.metadata,$.safetyPolicy);N.push(i);let r$=K2(`${k.event}: ${gX(k.metadata)}`,$.safetyPolicy,320);R+=r$.redactions,H.push({id:`event:${k.event.id}`,kind:`run_event:${k.event.level}`,title:Q4(k.event.event,100),text_preview:r$.text,score:k.score,citation_ids:[i.id],provenance:{source:W,record_ref:`knowledge://project/runs/${k.event.run_id}`,created_at:k.event.created_at,updated_at:null,metadata_keys:UQ(k.metadata)}})}}return{citations:N,evidence:H,duplicateCandidates:$.dedupe?sB(H):[],redactions:R,warnings:Q,available:L.length}}finally{Y.close()}}function tf($){let _=$.purpose==="proposal"?`Proposal context: ${Q4($.query||"loop evidence",80)}`:`Knowledge context: ${Q4($.query,80)}`,U=$.evidence.slice(0,8).map((X)=>X.id),W=$.duplicates.slice(0,5).map((X)=>X.id),J=$.evidence.slice(0,5).map((X)=>`${X.id}: ${X.title}`);if($.evidence.length===0)J.push("No matching bounded evidence was found.");return{title:_,bullets:J,evidence_ids:U,duplicate_candidate_ids:W,next_actions:$.source==="loops"?["Review duplicate_candidates before drafting a new proposal.","Use cited run refs for provenance; inspect a run only when more detail is needed.","Keep proposal writes approval-gated and idempotent."]:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]}}function eB($){let _=new Set($.evidence.flatMap((U)=>U.citation_ids));$.citations=$.citations.filter((U)=>_.has(U.id))}function tB($){$.outline.evidence_ids=$.evidence.slice(0,8).map((_)=>_.id),$.outline.bullets=$.evidence.length>0?$.evidence.slice(0,5).map((_)=>`${_.id}: ${_.title}`):["No matching bounded evidence was found."],$.outline.duplicate_candidate_ids=$.duplicate_candidates.slice(0,5).map((_)=>_.id)}function af($){let _=$.budgets.max_tokens,U=new Set($.warnings);while(pB($)>_){let W=$.evidence.map((X,G)=>({entry:X,index:G})).filter(({entry:X})=>X.text_preview.length>180).sort((X,G)=>G.entry.text_preview.length-X.entry.text_preview.length)[0];if(W){W.entry.text_preview=Q4(W.entry.text_preview,180),U.add("text_preview_truncated_for_token_budget");continue}let J=$.citations.filter((X)=>(X.quote_preview?.length??0)>120).sort((X,G)=>(G.quote_preview?.length??0)-(X.quote_preview?.length??0))[0];if(J?.quote_preview){J.quote_preview=Q4(J.quote_preview,120),U.add("citation_quote_truncated_for_token_budget");continue}if($.evidence.length>0){$.evidence.pop(),$.budgets.items_truncated+=1,$.duplicate_candidates=$.duplicate_candidates.map((X)=>({...X,evidence_ids:X.evidence_ids.filter((G)=>$.evidence.some((Q)=>Q.id===G))})).filter((X)=>X.evidence_ids.length>1),tB($),U.add("evidence_truncated_for_token_budget"),eB($);continue}if($.outline.next_actions.length>1){$.outline.next_actions.pop(),U.add("outline_truncated_for_token_budget");continue}U.add("token_budget_floor_exceeded");break}if($.warnings=Array.from(U).sort(),$.budgets.items_included=$.evidence.length,tB($),$.budgets.estimated_tokens=pB($),$.budgets.token_budget_exceeded=$.budgets.estimated_tokens>_,$.budgets.token_budget_exceeded)throw Error(`Unable to build context pack within ${_} token budget; increase --max-tokens.`);return $.message=`${$.evidence.length} bounded evidence item(s), estimated ${$.budgets.estimated_tokens}/${_} token(s)`,$}async function $H($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=hf($.maxTokens),X=xf($.maxItems,$.limit),G=JQ($.query??$.topic??"");if(W==="proposal"&&U!=="search"&&!G)throw Error("Proposal context requires --topic <text> or a positional topic.");if(U!=="search")$$($.dbPath);let Q=aB($.since,_).cutoff??$.since??"",Y=U==="search"?await df($,X):await of($,X,_),j=Y.evidence.sort((N,H)=>H.score-N.score||N.id.localeCompare(H.id)).slice(0,X),O=Y.citations.filter((N,H,R)=>R.findIndex((F)=>F.id===N.id)===H).sort((N,H)=>N.id.localeCompare(H.id)),B=$.dedupe?sB(j):Y.duplicateCandidates.filter((N)=>N.evidence_ids.every((H)=>j.some((R)=>R.id===H))),V=tf({source:U,purpose:W,query:G,evidence:j,duplicates:B}),L={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:b2("ctx",[U,W,G,Q,$.dedupe===!0?"dedupe":"no-dedupe",$.semantic===!0?"semantic":"keyword",$.modelRef??"",$.limit??"",J,X,j.map((N)=>N.id).join(","),O.map((N)=>N.id).join(",")].join("\x00"),20),budgets:{max_tokens:J,estimated_tokens:0,max_items:X,items_included:j.length,items_available:Y.available,items_truncated:Math.max(0,Y.available-j.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:Y.redactions,reminders:mf(U)},citations:O,evidence:j,duplicate_candidates:B,outline:V,warnings:Y.warnings,message:`${j.length} bounded evidence item(s), estimated under ${J} token(s)`};return eB(L),af(L)}import{randomUUID as bV}from"crypto";import{createHash as sf,randomUUID as ef}from"crypto";import{existsSync as $C,readFileSync as _C}from"fs";import{hostname as GH}from"os";import{fileURLToPath as QH}from"url";import{extname as UC,relative as YH,resolve as _H,sep as JC}from"path";var PX=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"],x4=2,m4=1,UJ={sources:["id"],wiki_pages:["id"],source_revisions:["id"],chunks:["id"],chunk_embeddings:["id"],wiki_backlinks:["from_page_id","to_page_id"],citations:["id"],knowledge_indexes:["id"],runs:["id"],run_events:["id"],provider_usage:["id"],redaction_findings:["id"],storage_objects:["id"],audit_events:["id"],approval_gates:["id"],vector_index_entries:["id"],reindex_queue:["id"],knowledge_machines:["machine_id"],knowledge_sync_snapshots:["id"],knowledge_sync_changes:["id"],knowledge_sync_conflicts:["id"],knowledge_sync_table_clocks:["table_name","machine_id"],knowledge_sync_imports:["bundle_id"]},JJ=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function v6($=new Date){return $.toISOString()}function zQ($){return`${$}_${Date.now().toString(36)}_${ef().slice(0,8)}`}function jH($){let _=$?.trim();if(_)return _;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??GH()}function I2($){if(Array.isArray($))return`[${$.map(I2).join(",")}]`;if($&&typeof $==="object"){let _=$;return`{${Object.keys(_).sort().map((U)=>`${JSON.stringify(U)}:${I2(_[U])}`).join(",")}}`}return JSON.stringify($)}function eU($){return`sha256:${sf("sha256").update($).digest("hex")}`}function wX($,_){return $.query(`SELECT COUNT(*) AS n FROM ${_}`).get()?.n??0}function CX($,_){try{return JSON.parse($)}catch{return _}}function x_($){return`"${$.replace(/"/g,'""')}"`}function WC($){if($===void 0||$===null)return null;if(typeof $==="string"||typeof $==="number"||typeof $==="bigint"||typeof $==="boolean")return $;if($ instanceof Date)return $.toISOString();if(Buffer.isBuffer($)||$ instanceof Uint8Array)return $;if(typeof $==="object")return JSON.stringify($);return String($)}function DH($,_){return _.filter((U)=>o_($,U))}function o_($,_){let U=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(_);return Boolean(U)}function XC($,_){let U=$.query(`PRAGMA table_info(${x_(_)})`).all();return new Set(U.map((W)=>W.name))}function GC($,_,U){let W=XC($,_);return U.filter((J)=>W.has(J))}function zH($){if(!$||$.length===0)return[...PX];let _=new Set(PX),U=$.map((J)=>J.trim()).filter(Boolean),W=U.filter((J)=>!_.has(J));if(W.length>0)throw Error(`Unknown knowledge sync table(s): ${W.join(", ")}`);return U}function Z0($,_){return UJ[$].map((W)=>`${W}=${JSON.stringify(_[W]??null)}`).join("&")}var QC=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function $J($,_=0){if(_>8)return"[truncated-depth]";if(typeof $==="string")return $.length>4000?`${$.slice(0,4000)}...[truncated]`:$;if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.slice(0,50).map((W)=>$J(W,_+1));let U={};for(let[W,J]of Object.entries($)){if(QC.has(W.toLowerCase()))continue;U[W]=$J(J,_+1)}return U}function sU($){if(!$)return null;return $J($)}function qQ($){return eU(I2($))}function YC($,_){let U={};for(let[W,J]of Object.entries($))if(W==="artifact_uri"&&typeof J==="string"&&_.has(J))U[W]=`artifact:${_.get(J)}`;else U[W]=J;return U}function S0($,_=new Map){return qQ(YC($,_))}function qH($,_){if(!o_($,_))return[];return $.query(`SELECT * FROM ${x_(_)} ORDER BY rowid ASC`).all()}function fX($,_,U=new Map){return qQ(_.map((W)=>({key:Z0($,W),hash:S0(W,U)})).sort((W,J)=>W.key.localeCompare(J.key)))}function _J($,_,U){return $.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get(_,U)??null}function jC($){if(!o_($,"knowledge_sync_table_clocks"))return[];return $.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function TX($,_){let U=_.now??v6(),J=_J($,_.table,_.machineId)?.created_at??U;$.query(` INSERT INTO knowledge_sync_table_clocks ( table_name, machine_id, logical_clock, high_water_hash, high_water_bundle_id, origin_machine_id, updated_by_machine_id, last_applied_at, metadata_json, @@ -778,17 +778,17 @@ ${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:_.config, last_applied_at = excluded.last_applied_at, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `).run(_.table,_.machineId,_.logicalClock,_.highWaterHash,_.highWaterBundleId??null,_.originMachineId??_.machineId,_.updatedByMachineId??_.machineId,_.lastAppliedAt??U,JSON.stringify(_.metadata??{}),J,U);let X=_J($,_.table,_.machineId);if(!X)throw Error(`Failed to record sync clock for ${_.table}:${_.machineId}`);return X}function QC($,_){let U=_J($,_.table,_.machineId),W=U?.high_water_hash===_.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,J=_.record?CX($,{table:_.table,machineId:_.machineId,logicalClock:W,highWaterHash:_.highWaterHash,highWaterBundleId:null,originMachineId:U?.origin_machine_id??_.machineId,updatedByMachineId:_.machineId,lastAppliedAt:_.now,metadata:{source:"export",row_count:_.rowCount},now:_.now}):{table_name:_.table,machine_id:_.machineId,logical_clock:W,high_water_hash:_.highWaterHash,high_water_bundle_id:U?.high_water_bundle_id??null,origin_machine_id:U?.origin_machine_id??_.machineId,updated_by_machine_id:_.machineId,last_applied_at:_.now,metadata_json:"{}",created_at:U?.created_at??_.now,updated_at:_.now};return{table:_.table,machine_id:_.machineId,logical_clock:J.logical_clock,high_water_hash:_.highWaterHash,high_water_bundle_id:J.high_water_bundle_id,row_count:_.rowCount,updated_at:J.updated_at}}function YC($,_,U,W,J){if(_.high_water_bundle_id=U,!W)return;CX($,{table:_.table,machineId:_.machine_id,logicalClock:_.logical_clock,highWaterHash:_.high_water_hash,highWaterBundleId:U,originMachineId:_.machine_id,updatedByMachineId:_.machine_id,lastAppliedAt:J,metadata:{source:"export",row_count:_.row_count},now:J})}function DH($,_){return $.table_clocks?.find((U)=>U.table===_)??null}function jC($,_){if(!$||!_)return!1;return _.logical_clock<$.logical_clock}function DC($,_,U){if(U.length===0)return 0;let W=JC($,_,Object.keys(U[0]));if(W.length===0)return 0;let J=UJ[_],X=W.map(x_).join(", "),G=W.map(()=>"?").join(", "),Q=J.map(x_).join(", "),Y=W.filter((L)=>!J.includes(L)),j=J[0],O=Y.length>0?Y.map((L)=>`${x_(L)} = excluded.${x_(L)}`).join(", "):`${x_(j)} = excluded.${x_(j)}`,B=$.query(`INSERT INTO ${x_(_)} (${X}) VALUES (${G}) - ON CONFLICT (${Q}) DO UPDATE SET ${O}`);return $.transaction((L)=>{for(let N of L)B.run(...W.map((H)=>_C(N[H])))})(U),U.length}function zH($,_){let U=UJ[$],W=[],J=_;for(let X=0;X<U.length;X+=1){let Q=`${U[X]}=`;if(!J.startsWith(Q))return null;let Y=J.slice(Q.length),j=U[X+1],O=j?`&${j}=`:null,B=O?Y.indexOf(O):-1,V=B>=0?Y.slice(0,B):Y;try{W.push(JSON.parse(V))}catch{return null}J=B>=0&&O?Y.slice(B+1):""}return J.length===0?W:null}function qH($){return UJ[$].map((_)=>`${x_(_)} = ?`).join(" AND ")}function zC($,_,U){if(!o_($,"knowledge_sync_changes"))return new Map;let W=$.query(`SELECT entity_id, next_hash + `).run(_.table,_.machineId,_.logicalClock,_.highWaterHash,_.highWaterBundleId??null,_.originMachineId??_.machineId,_.updatedByMachineId??_.machineId,_.lastAppliedAt??U,JSON.stringify(_.metadata??{}),J,U);let X=_J($,_.table,_.machineId);if(!X)throw Error(`Failed to record sync clock for ${_.table}:${_.machineId}`);return X}function DC($,_){let U=_J($,_.table,_.machineId),W=U?.high_water_hash===_.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,J=_.record?TX($,{table:_.table,machineId:_.machineId,logicalClock:W,highWaterHash:_.highWaterHash,highWaterBundleId:null,originMachineId:U?.origin_machine_id??_.machineId,updatedByMachineId:_.machineId,lastAppliedAt:_.now,metadata:{source:"export",row_count:_.rowCount},now:_.now}):{table_name:_.table,machine_id:_.machineId,logical_clock:W,high_water_hash:_.highWaterHash,high_water_bundle_id:U?.high_water_bundle_id??null,origin_machine_id:U?.origin_machine_id??_.machineId,updated_by_machine_id:_.machineId,last_applied_at:_.now,metadata_json:"{}",created_at:U?.created_at??_.now,updated_at:_.now};return{table:_.table,machine_id:_.machineId,logical_clock:J.logical_clock,high_water_hash:_.highWaterHash,high_water_bundle_id:J.high_water_bundle_id,row_count:_.rowCount,updated_at:J.updated_at}}function zC($,_,U,W,J){if(_.high_water_bundle_id=U,!W)return;TX($,{table:_.table,machineId:_.machine_id,logicalClock:_.logical_clock,highWaterHash:_.high_water_hash,highWaterBundleId:U,originMachineId:_.machine_id,updatedByMachineId:_.machine_id,lastAppliedAt:J,metadata:{source:"export",row_count:_.row_count},now:J})}function OH($,_){return $.table_clocks?.find((U)=>U.table===_)??null}function qC($,_){if(!$||!_)return!1;return _.logical_clock<$.logical_clock}function OC($,_,U){if(U.length===0)return 0;let W=GC($,_,Object.keys(U[0]));if(W.length===0)return 0;let J=UJ[_],X=W.map(x_).join(", "),G=W.map(()=>"?").join(", "),Q=J.map(x_).join(", "),Y=W.filter((L)=>!J.includes(L)),j=J[0],O=Y.length>0?Y.map((L)=>`${x_(L)} = excluded.${x_(L)}`).join(", "):`${x_(j)} = excluded.${x_(j)}`,B=$.query(`INSERT INTO ${x_(_)} (${X}) VALUES (${G}) + ON CONFLICT (${Q}) DO UPDATE SET ${O}`);return $.transaction((L)=>{for(let N of L)B.run(...W.map((H)=>WC(N[H])))})(U),U.length}function LH($,_){let U=UJ[$],W=[],J=_;for(let X=0;X<U.length;X+=1){let Q=`${U[X]}=`;if(!J.startsWith(Q))return null;let Y=J.slice(Q.length),j=U[X+1],O=j?`&${j}=`:null,B=O?Y.indexOf(O):-1,V=B>=0?Y.slice(0,B):Y;try{W.push(JSON.parse(V))}catch{return null}J=B>=0&&O?Y.slice(B+1):""}return J.length===0?W:null}function NH($){return UJ[$].map((_)=>`${x_(_)} = ?`).join(" AND ")}function LC($,_,U){if(!o_($,"knowledge_sync_changes"))return new Map;let W=$.query(`SELECT entity_id, next_hash FROM knowledge_sync_changes WHERE origin_machine_id = ? AND entity_kind = ? - ORDER BY created_at ASC, id ASC`).all(U,_),J=new Map;for(let X of W)J.set(X.entity_id,X.next_hash);return J}function qC($,_){if(o_($,"chunks_fts"))$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(_);if(o_($,"chunk_embeddings"))$.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run(_);if(o_($,"vector_index_entries"))$.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run(_);if(o_($,"citations"))$.query("DELETE FROM citations WHERE chunk_id = ?").run(_)}function OC($,_,U){let W=zH(_,U);if(!W)return!1;let J=qH(_),X=$.query(`SELECT * FROM ${x_(_)} WHERE ${J} LIMIT 1`).get(...W);if(!X)return!1;if(_==="chunks"&&typeof X.id==="string")qC($,X.id);return $.query(`DELETE FROM ${x_(_)} WHERE ${J}`).run(...W),!0}function LC($,_){if(!o_($,"chunks_fts"))return;for(let U of _){let W=typeof U.id==="string"?U.id:null,J=typeof U.text==="string"?U.text:null;if(!W||J===null)continue;let X="",G="",Q=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(Q){let Y=$.query(`SELECT s.title, s.uri + ORDER BY created_at ASC, id ASC`).all(U,_),J=new Map;for(let X of W)J.set(X.entity_id,X.next_hash);return J}function NC($,_){if(o_($,"chunks_fts"))$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(_);if(o_($,"chunk_embeddings"))$.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run(_);if(o_($,"vector_index_entries"))$.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run(_);if(o_($,"citations"))$.query("DELETE FROM citations WHERE chunk_id = ?").run(_)}function BC($,_,U){let W=LH(_,U);if(!W)return!1;let J=NH(_),X=$.query(`SELECT * FROM ${x_(_)} WHERE ${J} LIMIT 1`).get(...W);if(!X)return!1;if(_==="chunks"&&typeof X.id==="string")NC($,X.id);return $.query(`DELETE FROM ${x_(_)} WHERE ${J}`).run(...W),!0}function HC($,_){if(!o_($,"chunks_fts"))return;for(let U of _){let W=typeof U.id==="string"?U.id:null,J=typeof U.text==="string"?U.text:null;if(!W||J===null)continue;let X="",G="",Q=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(Q){let Y=$.query(`SELECT s.title, s.uri FROM source_revisions sr JOIN sources s ON s.id = sr.source_id WHERE sr.id = ? - LIMIT 1`).get(Q);X=Y?.title??"",G=Y?.uri??""}if(!G&&typeof U.metadata_json==="string"){let Y=fX(U.metadata_json,{});G=typeof Y.source_uri==="string"?Y.source_uri:""}$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(W),$.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(W,J,X,G)}}function NC($,_,U){if(_==="chunks")LC($,U)}function BC($,_){let U=XH($,_);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${$C}`)}function HC($,_){let U=fX($.metadata_json,{});if(typeof U.key==="string")return U.key;if(!$.artifact_uri.startsWith("file://"))return null;try{let W=WH($.artifact_uri),J=sB(_),X=sB(W);if(!BC(J,X))return null;let G=XH(J,X).replace(/\\/g,"/");return G?S6(G):null}catch{return null}}var VC=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function RC($,_){let U=$?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return _?VC.has(ef(_).toLowerCase()):!1}function Z0($){let _=new Map;for(let U of $)if(U.key)_.set(U.artifact_uri,U.key);return _}function v4($){return qQ({key:$.key,kind:$.kind,hash:$.hash,size_bytes:$.size_bytes})}function TX($){return $.key??$.artifact_uri}function AC($,_){return $.artifact_uri.startsWith("s3://")&&_.artifact_store.type==="s3"&&$.artifact_uri.startsWith(_.artifact_store.uri_prefix)}function OH($){return Object.fromEntries(kX.map((_)=>[_,o_($,_)?gX($,_):0]))}function EC($){return $.query(`SELECT artifact_uri, kind, hash, size_bytes + LIMIT 1`).get(Q);X=Y?.title??"",G=Y?.uri??""}if(!G&&typeof U.metadata_json==="string"){let Y=CX(U.metadata_json,{});G=typeof Y.source_uri==="string"?Y.source_uri:""}$.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(W),$.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(W,J,X,G)}}function VC($,_,U){if(_==="chunks")HC($,U)}function RC($,_){let U=YH($,_);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${JC}`)}function AC($,_){let U=CX($.metadata_json,{});if(typeof U.key==="string")return U.key;if(!$.artifact_uri.startsWith("file://"))return null;try{let W=QH($.artifact_uri),J=_H(_),X=_H(W);if(!RC(J,X))return null;let G=YH(J,X).replace(/\\/g,"/");return G?S6(G):null}catch{return null}}var FC=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function EC($,_){let U=$?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return _?FC.has(UC(_).toLowerCase()):!1}function v0($){let _=new Map;for(let U of $)if(U.key)_.set(U.artifact_uri,U.key);return _}function y4($){return qQ({key:$.key,kind:$.kind,hash:$.hash,size_bytes:$.size_bytes})}function SX($){return $.key??$.artifact_uri}function KC($,_){return $.artifact_uri.startsWith("s3://")&&_.artifact_store.type==="s3"&&$.artifact_uri.startsWith(_.artifact_store.uri_prefix)}function BH($){return Object.fromEntries(PX.map((_)=>[_,o_($,_)?wX($,_):0]))}function bC($){return $.query(`SELECT artifact_uri, kind, hash, size_bytes FROM storage_objects - ORDER BY artifact_uri ASC`).all()}function FC($,_){return{machine_id:$.machine_id,hostname:$.hostname,platform:$.platform,user_label:$.user,workspace_home:$.workspace_path,tailscale_dns:$.tailscale.dns_name,tailscale_ips_json:JSON.stringify($.tailscale.ips),ssh_target:$.ssh.command_target,last_seen_at:$.local||$.tailscale.online===!0||$.heartbeat_status==="online"?_:$.last_heartbeat_at,capabilities_json:JSON.stringify({route_hints:$.route_hints,heartbeat_status:$.heartbeat_status,manifest_declared:$.manifest_declared}),metadata_json:JSON.stringify({...$.metadata,source:$.source,tags:$.tags,tailscale:$.tailscale,ssh:$.ssh}),created_at:_,updated_at:_}}function GQ($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function KC($){if(!$)return[];try{let _=JSON.parse($);return Array.isArray(_)?_:[]}catch{return[]}}function y4($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function wX($){return Object.fromEntries(Object.entries($).filter(([,_])=>_!==void 0))}function b2($){if(Array.isArray($))return`[${$.map(b2).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).filter(([,_])=>_!==void 0).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${b2(U)}`).join(",")}}`;return JSON.stringify($)}function eB($){let{recorded_at:_,...U}=$;return U}function $_($){return typeof $==="string"&&$.length>0?$:null}function bC($){return typeof $==="number"&&Number.isFinite($)?$:null}function $H($){return typeof $==="boolean"?$:null}function MC($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function LH($){let _=y4($),U=$_(_.observed_at),W=$_(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:$_(_.verified_at),expires_at:$_(_.expires_at),ttl_ms:bC(_.ttl_ms),source_authority:W,confidence:$_(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:MC(_.reasons)}}function NH($,_){if(!$||$.stale)return!1;if(!$.expires_at)return!0;let U=Date.parse($.expires_at),W=Date.parse(_);return Number.isNaN(U)||Number.isNaN(W)||U>W}function IC($,_){return $_(_.source)===$.source&&$_(_.target)===$.target&&$_(_.route)===$.route&&$_(_.target_kind)===$.targetKind&&$_(_.confidence)===$.confidence}function gC($,_){return $_(_.source)===$.source&&$_(_.requested_machine_id)===$.requested_machine_id&&$_(_.machine_id)===$.machine_id&&$_(_.project_id)===$.project_id&&$_(_.repo_name)===$.repo_name&&$_(_.project_root)===$.project_root&&$_(_.project_root_source)===$.project_root_source&&$_(_.workspace_root)===$.workspace_root&&$_(_.workspace_root_source)===$.workspace_root_source&&$_(_.open_files_root)===$.open_files_root&&$_(_.open_files_root_source)===$.open_files_root_source&&$_(_.trust_status)===$.trust_status&&$_(_.auth_status)===$.auth_status&&$H(_.current)===$.current&&$H(_.primary)===$.primary}function wC($,_,U){if(!$)return null;let W=LH(_.cacheability);if(W&&NH(W,U)&&IC($,_))return{...$,cacheability:W};return $}function kC($,_,U){if(!$)return null;let W=LH(_.cacheability);if(W&&NH(W,U)&&gC($,_))return{...$,cacheability:W};return $}function PC($){return $.workspace?.machine_id??$.workspace?.requested_machine_id??$.machineId??$.route?.target??JH()}function fC($,_){let U=new Set,W=Array.isArray(_.sources)?_.sources:[];for(let J of W)if(typeof J==="string")U.add(J);if(typeof _.source==="string")U.add(_.source);if($.route?.source)U.add($.route.source);if($.workspace?.source)U.add($.workspace.source);return U.add("knowledge"),[...U].sort()}function _H($,_){if(_?.target&&(_.route==="tailscale"||_.targetKind==="tailscale"))return _.target;return $?.tailscale_dns??null}function CC($,_,U){let W=y4(_.resolver_evidence),J=$.route?wX({source:$.route.source,target:$.route.target,route:$.route.route,target_kind:$.route.targetKind,confidence:$.route.confidence,adapter:$.route.adapter,evidence:$.route.evidence,cacheability:$.route.cacheability,warnings:$.route.warnings}):y4(W.route),X=$.workspace?wX({source:$.workspace.source,requested_machine_id:$.workspace.requested_machine_id,machine_id:$.workspace.machine_id,project_id:$.workspace.project_id,repo_name:$.workspace.repo_name,project_root:$.workspace.project_root,project_root_source:$.workspace.project_root_source,workspace_root:$.workspace.workspace_root,workspace_root_source:$.workspace.workspace_root_source,open_files_root:$.workspace.open_files_root,open_files_root_source:$.workspace.open_files_root_source,trust_status:$.workspace.trust_status,auth_status:$.workspace.auth_status,current:$.workspace.current,primary:$.workspace.primary,diagnostics:$.workspace.diagnostics,repair_hints:$.workspace.repair_hints,evidence:$.workspace.evidence,cacheability:$.workspace.cacheability,warnings:$.workspace.warnings}):y4(W.workspace);return wX({...W,recorded_at:U,route:J,workspace:X})}function BH($,_){$$($);let U=d($);try{let W=PC(_),J=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(W)??null,X=v6(_.now),G=GQ(J?.capabilities_json),Q=GQ(J?.metadata_json),Y=y4(G.resolver),j=y4(Q.resolver_evidence),O=y4(j.route),B=y4(j.workspace),V=wC(_.route?.source==="registry"?null:_.route??null,O,X),L=kC(_.workspace?.source==="registry"?null:_.workspace??null,B,X),N={..._,route:V,workspace:L},H={...G,resolver:wX({...Y,route_source:V?.source??Y.route_source,route_kind:V?.route??Y.route_kind,route_target_kind:V?.targetKind??Y.route_target_kind,route_confidence:V?.confidence??Y.route_confidence,route_cacheable:V?.cacheability?.cacheable??Y.route_cacheable,route_stale:V?.cacheability?.stale??Y.route_stale,route_expires_at:V?.cacheability?.expires_at??Y.route_expires_at,route_observed_at:V?.cacheability?.observed_at??Y.route_observed_at,route_source_authority:V?.cacheability?.source_authority??Y.route_source_authority,workspace_source:L?.source??Y.workspace_source,project_root_source:L?.project_root_source??Y.project_root_source,workspace_root_source:L?.workspace_root_source??Y.workspace_root_source,open_files_root_source:L?.open_files_root_source??Y.open_files_root_source,trust_status:L?.trust_status??Y.trust_status,auth_status:L?.auth_status??Y.auth_status,workspace_cacheable:L?.cacheability?.cacheable??Y.workspace_cacheable,workspace_stale:L?.cacheability?.stale??Y.workspace_stale,workspace_expires_at:L?.cacheability?.expires_at??Y.workspace_expires_at,workspace_observed_at:L?.cacheability?.observed_at??Y.workspace_observed_at,workspace_source_authority:L?.cacheability?.source_authority??Y.workspace_source_authority}),route_fallback:Boolean(V?.target??J?.ssh_target),workspace_fallback:Boolean(L?.project_root??J?.workspace_home)},R=CC(N,Q,X);if(J){let A=j;if(J.workspace_home===(L?.project_root??J.workspace_home??null)&&J.tailscale_dns===_H(J,V)&&J.ssh_target===(V?.target??J.ssh_target??null)&&b2(GQ(J.capabilities_json))===b2(H)&&b2(eB(A))===b2(eB(R)))return J}let E={machine_id:W,hostname:J?.hostname??null,platform:J?.platform??null,user_label:J?.user_label??null,workspace_home:L?.project_root??J?.workspace_home??null,tailscale_dns:_H(J,V),tailscale_ips_json:JSON.stringify(KC(J?.tailscale_ips_json)),ssh_target:V?.target??J?.ssh_target??null,last_seen_at:X,capabilities_json:JSON.stringify(H),metadata_json:JSON.stringify({...Q,source:"knowledge",sources:fC(N,Q),resolver_evidence:R}),created_at:J?.created_at??X,updated_at:X};return HH(U,E),E}finally{U.close()}}function HH($,_){$.query(` + ORDER BY artifact_uri ASC`).all()}function MC($,_){return{machine_id:$.machine_id,hostname:$.hostname,platform:$.platform,user_label:$.user,workspace_home:$.workspace_path,tailscale_dns:$.tailscale.dns_name,tailscale_ips_json:JSON.stringify($.tailscale.ips),ssh_target:$.ssh.command_target,last_seen_at:$.local||$.tailscale.online===!0||$.heartbeat_status==="online"?_:$.last_heartbeat_at,capabilities_json:JSON.stringify({route_hints:$.route_hints,heartbeat_status:$.heartbeat_status,manifest_declared:$.manifest_declared}),metadata_json:JSON.stringify({...$.metadata,source:$.source,tags:$.tags,tailscale:$.tailscale,ssh:$.ssh}),created_at:_,updated_at:_}}function GQ($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function IC($){if(!$)return[];try{let _=JSON.parse($);return Array.isArray(_)?_:[]}catch{return[]}}function h4($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function kX($){return Object.fromEntries(Object.entries($).filter(([,_])=>_!==void 0))}function M2($){if(Array.isArray($))return`[${$.map(M2).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).filter(([,_])=>_!==void 0).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${M2(U)}`).join(",")}}`;return JSON.stringify($)}function UH($){let{recorded_at:_,...U}=$;return U}function $_($){return typeof $==="string"&&$.length>0?$:null}function gC($){return typeof $==="number"&&Number.isFinite($)?$:null}function JH($){return typeof $==="boolean"?$:null}function wC($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function HH($){let _=h4($),U=$_(_.observed_at),W=$_(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:$_(_.verified_at),expires_at:$_(_.expires_at),ttl_ms:gC(_.ttl_ms),source_authority:W,confidence:$_(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:wC(_.reasons)}}function VH($,_){if(!$||$.stale)return!1;if(!$.expires_at)return!0;let U=Date.parse($.expires_at),W=Date.parse(_);return Number.isNaN(U)||Number.isNaN(W)||U>W}function kC($,_){return $_(_.source)===$.source&&$_(_.target)===$.target&&$_(_.route)===$.route&&$_(_.target_kind)===$.targetKind&&$_(_.confidence)===$.confidence}function PC($,_){return $_(_.source)===$.source&&$_(_.requested_machine_id)===$.requested_machine_id&&$_(_.machine_id)===$.machine_id&&$_(_.project_id)===$.project_id&&$_(_.repo_name)===$.repo_name&&$_(_.project_root)===$.project_root&&$_(_.project_root_source)===$.project_root_source&&$_(_.workspace_root)===$.workspace_root&&$_(_.workspace_root_source)===$.workspace_root_source&&$_(_.open_files_root)===$.open_files_root&&$_(_.open_files_root_source)===$.open_files_root_source&&$_(_.trust_status)===$.trust_status&&$_(_.auth_status)===$.auth_status&&JH(_.current)===$.current&&JH(_.primary)===$.primary}function fC($,_,U){if(!$)return null;let W=HH(_.cacheability);if(W&&VH(W,U)&&kC($,_))return{...$,cacheability:W};return $}function CC($,_,U){if(!$)return null;let W=HH(_.cacheability);if(W&&VH(W,U)&&PC($,_))return{...$,cacheability:W};return $}function TC($){return $.workspace?.machine_id??$.workspace?.requested_machine_id??$.machineId??$.route?.target??GH()}function SC($,_){let U=new Set,W=Array.isArray(_.sources)?_.sources:[];for(let J of W)if(typeof J==="string")U.add(J);if(typeof _.source==="string")U.add(_.source);if($.route?.source)U.add($.route.source);if($.workspace?.source)U.add($.workspace.source);return U.add("knowledge"),[...U].sort()}function WH($,_){if(_?.target&&(_.route==="tailscale"||_.targetKind==="tailscale"))return _.target;return $?.tailscale_dns??null}function ZC($,_,U){let W=h4(_.resolver_evidence),J=$.route?kX({source:$.route.source,target:$.route.target,route:$.route.route,target_kind:$.route.targetKind,confidence:$.route.confidence,adapter:$.route.adapter,evidence:$.route.evidence,cacheability:$.route.cacheability,warnings:$.route.warnings}):h4(W.route),X=$.workspace?kX({source:$.workspace.source,requested_machine_id:$.workspace.requested_machine_id,machine_id:$.workspace.machine_id,project_id:$.workspace.project_id,repo_name:$.workspace.repo_name,project_root:$.workspace.project_root,project_root_source:$.workspace.project_root_source,workspace_root:$.workspace.workspace_root,workspace_root_source:$.workspace.workspace_root_source,open_files_root:$.workspace.open_files_root,open_files_root_source:$.workspace.open_files_root_source,trust_status:$.workspace.trust_status,auth_status:$.workspace.auth_status,current:$.workspace.current,primary:$.workspace.primary,diagnostics:$.workspace.diagnostics,repair_hints:$.workspace.repair_hints,evidence:$.workspace.evidence,cacheability:$.workspace.cacheability,warnings:$.workspace.warnings}):h4(W.workspace);return kX({...W,recorded_at:U,route:J,workspace:X})}function RH($,_){$$($);let U=d($);try{let W=TC(_),J=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(W)??null,X=v6(_.now),G=GQ(J?.capabilities_json),Q=GQ(J?.metadata_json),Y=h4(G.resolver),j=h4(Q.resolver_evidence),O=h4(j.route),B=h4(j.workspace),V=fC(_.route?.source==="registry"?null:_.route??null,O,X),L=CC(_.workspace?.source==="registry"?null:_.workspace??null,B,X),N={..._,route:V,workspace:L},H={...G,resolver:kX({...Y,route_source:V?.source??Y.route_source,route_kind:V?.route??Y.route_kind,route_target_kind:V?.targetKind??Y.route_target_kind,route_confidence:V?.confidence??Y.route_confidence,route_cacheable:V?.cacheability?.cacheable??Y.route_cacheable,route_stale:V?.cacheability?.stale??Y.route_stale,route_expires_at:V?.cacheability?.expires_at??Y.route_expires_at,route_observed_at:V?.cacheability?.observed_at??Y.route_observed_at,route_source_authority:V?.cacheability?.source_authority??Y.route_source_authority,workspace_source:L?.source??Y.workspace_source,project_root_source:L?.project_root_source??Y.project_root_source,workspace_root_source:L?.workspace_root_source??Y.workspace_root_source,open_files_root_source:L?.open_files_root_source??Y.open_files_root_source,trust_status:L?.trust_status??Y.trust_status,auth_status:L?.auth_status??Y.auth_status,workspace_cacheable:L?.cacheability?.cacheable??Y.workspace_cacheable,workspace_stale:L?.cacheability?.stale??Y.workspace_stale,workspace_expires_at:L?.cacheability?.expires_at??Y.workspace_expires_at,workspace_observed_at:L?.cacheability?.observed_at??Y.workspace_observed_at,workspace_source_authority:L?.cacheability?.source_authority??Y.workspace_source_authority}),route_fallback:Boolean(V?.target??J?.ssh_target),workspace_fallback:Boolean(L?.project_root??J?.workspace_home)},R=ZC(N,Q,X);if(J){let A=j;if(J.workspace_home===(L?.project_root??J.workspace_home??null)&&J.tailscale_dns===WH(J,V)&&J.ssh_target===(V?.target??J.ssh_target??null)&&M2(GQ(J.capabilities_json))===M2(H)&&M2(UH(A))===M2(UH(R)))return J}let F={machine_id:W,hostname:J?.hostname??null,platform:J?.platform??null,user_label:J?.user_label??null,workspace_home:L?.project_root??J?.workspace_home??null,tailscale_dns:WH(J,V),tailscale_ips_json:JSON.stringify(IC(J?.tailscale_ips_json)),ssh_target:V?.target??J?.ssh_target??null,last_seen_at:X,capabilities_json:JSON.stringify(H),metadata_json:JSON.stringify({...Q,source:"knowledge",sources:SC(N,Q),resolver_evidence:R}),created_at:J?.created_at??X,updated_at:X};return AH(U,F),F}finally{U.close()}}function AH($,_){$.query(` INSERT INTO knowledge_machines ( machine_id, hostname, platform, user_label, workspace_home, tailscale_dns, tailscale_ips_json, ssh_target, last_seen_at, capabilities_json, @@ -806,9 +806,9 @@ ${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:_.config, capabilities_json = excluded.capabilities_json, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `).run(_.machine_id,_.hostname,_.platform,_.user_label,_.workspace_home,_.tailscale_dns,_.tailscale_ips_json,_.ssh_target,_.last_seen_at,_.capabilities_json,_.metadata_json,_.created_at,_.updated_at)}function TC($,_,U=v6()){for(let W of _.machines)HH($,FC(W,U));return _.machines.length}function OQ($){$$($);let _=d($);try{return _.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{_.close()}}function WJ($){$$($.dbPath);let _=d($.dbPath),U=[],W=v6($.now),J=GH($.machineId),X=$.recordClocks!==!1;try{let G=QH(_,YH($.tables)),Y=_.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json + `).run(_.machine_id,_.hostname,_.platform,_.user_label,_.workspace_home,_.tailscale_dns,_.tailscale_ips_json,_.ssh_target,_.last_seen_at,_.capabilities_json,_.metadata_json,_.created_at,_.updated_at)}function vC($,_,U=v6()){for(let W of _.machines)AH($,MC(W,U));return _.machines.length}function OQ($){$$($);let _=d($);try{return _.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{_.close()}}function WJ($){$$($.dbPath);let _=d($.dbPath),U=[],W=v6($.now),J=jH($.machineId),X=$.recordClocks!==!1;try{let G=DH(_,zH($.tables)),Y=_.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all().map((N)=>{let H=HC(N,$.storage.local_layout.directories.artifacts),R={...N,key:H};if($.includeArtifactContent!==!1&&H&&N.artifact_uri.startsWith("file://"))try{let E=WH(N.artifact_uri);if(af(E))if(!RC(N.content_type,H))U.push(`artifact_content_not_embedded_binary:${N.id}`);else{let A=sf(E,"utf8"),M=o$(A);if(M!==A)U.push(`artifact_content_redacted:${N.id}`);R.content_base64=Buffer.from(M,"utf8").toString("base64"),R.hash=eU(M),R.size_bytes=Buffer.byteLength(M)}else U.push(`artifact_missing:${N.artifact_uri}`)}catch(E){U.push(`artifact_read_failed:${N.artifact_uri}:${E instanceof Error?E.message:String(E)}`)}else if($.includeArtifactContent!==!1&&N.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${N.artifact_uri}`);return R=o$(R),R}),j=Z0(Y),O=G.filter((N)=>!JJ.has(N)).map((N)=>({table:N,primary_keys:UJ[N],rows:jH(_,N).map((H)=>o$(H))})),B=O.map((N)=>QC(_,{table:N.table,machineId:J,highWaterHash:PX(N.table,N.rows,j),rowCount:N.rows.length,record:X,now:W})),V=eU(M2({source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},tables:O.map((N)=>({table:N.table,primary_keys:N.primary_keys,rows:N.rows.map((H)=>({key:S0(N.table,H),hash:T0(H,j)})).sort((H,R)=>H.key.localeCompare(R.key))})),table_clocks:B.map((N)=>({table:N.table,machine_id:N.machine_id,logical_clock:N.logical_clock,high_water_hash:N.high_water_hash,row_count:N.row_count})),artifacts:Y.map((N)=>({identity:TX(N),fingerprint:v4(N)})).sort((N,H)=>N.identity.localeCompare(H.identity))})),L=`syncbundle_${V.replace("sha256:","").slice(0,32)}`;for(let N of B)YC(_,N,L,X,W);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:h4,min_protocol_version:x4,bundle_id:L,content_hash:V,generated_at:W,source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},table_clocks:B,tables:O,artifacts:Y,warnings:o$(U),message:`${O.reduce((N,H)=>N+H.rows.length,0)} row(s), ${Y.length} artifact(s) exported`}}finally{_.close()}}function SC($,_){let U=typeof $.protocol_version==="number"?$.protocol_version:null,W=typeof $.min_protocol_version==="number"?$.min_protocol_version:null;if(U===null||W===null||U<x4||W>h4)throw Error(`Unsupported ${_} protocol. Expected knowledge sync protocol v${h4} with min v${x4}.`)}function ZC($){if(!$||$.format!=="knowledge-sync-bundle"||$.version!==1)throw Error("Invalid knowledge sync bundle.");SC($,"knowledge sync bundle")}function LQ($,_){return $.tables.find((U)=>U.table===_)??null}function VH($){if(typeof $.content_hash==="string"&&$.content_hash.length>0)return $.content_hash;return eU(M2({source:$.source,tables:$.tables.map((_)=>({table:_.table,rows:_.rows.map((U)=>({key:S0(_.table,U),hash:T0(U,Z0($.artifacts))})).sort((U,W)=>U.key.localeCompare(W.key))})),artifacts:$.artifacts.map((_)=>({identity:TX(_),fingerprint:v4(_)})).sort((_,U)=>_.identity.localeCompare(U.identity))}))}function vC($){if(typeof $.bundle_id==="string"&&$.bundle_id.length>0)return $.bundle_id;return`syncbundle_${VH($).replace("sha256:","").slice(0,32)}`}function yC($,_){return new Map(_.map((U)=>[S0($,U),U]))}function hC($){return new Map($.artifacts.map((_)=>[TX(_),_]))}async function xC($){let _=hC($.targetBundle),U=new Map,W=[],J={source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let X of $.bundle.artifacts){let G=TX(X),Q=_.get(G);if(Q&&v4(Q)===v4(X)){if(Q.artifact_uri)U.set(X.artifact_uri,Q.artifact_uri);J.skipped+=1;continue}if(Q&&v4(Q)!==v4(X)){let N={entityKind:"storage_object",entityId:G,localMachineId:$.localMachineId,remoteMachineId:$.bundle.source.machine_id??"unknown",localHash:v4(Q),remoteHash:v4(X),metadata:{direction:$.direction,target_artifact_uri:Q.artifact_uri,source_artifact_uri:X.artifact_uri,local_artifact:$J(Q),remote_artifact:$J(X)}};if(jQ($.db,N)){J.skipped+=1;continue}J.conflicts+=1,W.push(N);continue}let Y=Boolean(X.key&&X.content_base64),j=AC(X,$.targetStorage);if(!Y&&!j){J.missing_content+=1,$.warnings.push(`artifact_content_missing:${X.artifact_uri}`);continue}if($.dryRun){J.copied+=1;continue}let O=X.artifact_uri;if(Y&&X.key&&X.content_base64)O=(await $.targetStore.put({key:X.key,body:Buffer.from(X.content_base64,"base64"),content_type:X.content_type??void 0})).uri,U.set(X.artifact_uri,O);else if(j)U.set(X.artifact_uri,O);let B=fX(X.metadata_json,{}),V=typeof B.artifact_modified_at==="string"?B.artifact_modified_at:void 0,L={uri:O,key:X.key??B.key??X.artifact_uri,kind:X.kind,content_type:X.content_type??void 0,hash:X.hash??void 0,size_bytes:X.size_bytes??void 0,modified_at:V,metadata:{...B,synced_from_artifact_uri:X.artifact_uri,synced_from_machine_id:$.bundle.source.machine_id??void 0}};W4($.db,[L]),J.copied+=1}return{result:J,uriMap:U,conflicts:W}}function QQ($,_){let U={...$};if(typeof U.artifact_uri==="string"&&_.has(U.artifact_uri))U.artifact_uri=_.get(U.artifact_uri);return U}function mC($,_){let U=v6();$.query(` + ORDER BY artifact_uri ASC`).all().map((N)=>{let H=AC(N,$.storage.local_layout.directories.artifacts),R={...N,key:H};if($.includeArtifactContent!==!1&&H&&N.artifact_uri.startsWith("file://"))try{let F=QH(N.artifact_uri);if($C(F))if(!EC(N.content_type,H))U.push(`artifact_content_not_embedded_binary:${N.id}`);else{let A=_C(F,"utf8"),M=o$(A);if(M!==A)U.push(`artifact_content_redacted:${N.id}`);R.content_base64=Buffer.from(M,"utf8").toString("base64"),R.hash=eU(M),R.size_bytes=Buffer.byteLength(M)}else U.push(`artifact_missing:${N.artifact_uri}`)}catch(F){U.push(`artifact_read_failed:${N.artifact_uri}:${F instanceof Error?F.message:String(F)}`)}else if($.includeArtifactContent!==!1&&N.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${N.artifact_uri}`);return R=o$(R),R}),j=v0(Y),O=G.filter((N)=>!JJ.has(N)).map((N)=>({table:N,primary_keys:UJ[N],rows:qH(_,N).map((H)=>o$(H))})),B=O.map((N)=>DC(_,{table:N.table,machineId:J,highWaterHash:fX(N.table,N.rows,j),rowCount:N.rows.length,record:X,now:W})),V=eU(I2({source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},tables:O.map((N)=>({table:N.table,primary_keys:N.primary_keys,rows:N.rows.map((H)=>({key:Z0(N.table,H),hash:S0(H,j)})).sort((H,R)=>H.key.localeCompare(R.key))})),table_clocks:B.map((N)=>({table:N.table,machine_id:N.machine_id,logical_clock:N.logical_clock,high_water_hash:N.high_water_hash,row_count:N.row_count})),artifacts:Y.map((N)=>({identity:SX(N),fingerprint:y4(N)})).sort((N,H)=>N.identity.localeCompare(H.identity))})),L=`syncbundle_${V.replace("sha256:","").slice(0,32)}`;for(let N of B)zC(_,N,L,X,W);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:x4,min_protocol_version:m4,bundle_id:L,content_hash:V,generated_at:W,source:{scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),machine_id:J,artifact_root_uri:o$($.storage.artifact_store.uri_prefix)},table_clocks:B,tables:O,artifacts:Y,warnings:o$(U),message:`${O.reduce((N,H)=>N+H.rows.length,0)} row(s), ${Y.length} artifact(s) exported`}}finally{_.close()}}function yC($,_){let U=typeof $.protocol_version==="number"?$.protocol_version:null,W=typeof $.min_protocol_version==="number"?$.min_protocol_version:null;if(U===null||W===null||U<m4||W>x4)throw Error(`Unsupported ${_} protocol. Expected knowledge sync protocol v${x4} with min v${m4}.`)}function hC($){if(!$||$.format!=="knowledge-sync-bundle"||$.version!==1)throw Error("Invalid knowledge sync bundle.");yC($,"knowledge sync bundle")}function LQ($,_){return $.tables.find((U)=>U.table===_)??null}function FH($){if(typeof $.content_hash==="string"&&$.content_hash.length>0)return $.content_hash;return eU(I2({source:$.source,tables:$.tables.map((_)=>({table:_.table,rows:_.rows.map((U)=>({key:Z0(_.table,U),hash:S0(U,v0($.artifacts))})).sort((U,W)=>U.key.localeCompare(W.key))})),artifacts:$.artifacts.map((_)=>({identity:SX(_),fingerprint:y4(_)})).sort((_,U)=>_.identity.localeCompare(U.identity))}))}function xC($){if(typeof $.bundle_id==="string"&&$.bundle_id.length>0)return $.bundle_id;return`syncbundle_${FH($).replace("sha256:","").slice(0,32)}`}function mC($,_){return new Map(_.map((U)=>[Z0($,U),U]))}function uC($){return new Map($.artifacts.map((_)=>[SX(_),_]))}async function dC($){let _=uC($.targetBundle),U=new Map,W=[],J={source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let X of $.bundle.artifacts){let G=SX(X),Q=_.get(G);if(Q&&y4(Q)===y4(X)){if(Q.artifact_uri)U.set(X.artifact_uri,Q.artifact_uri);J.skipped+=1;continue}if(Q&&y4(Q)!==y4(X)){let N={entityKind:"storage_object",entityId:G,localMachineId:$.localMachineId,remoteMachineId:$.bundle.source.machine_id??"unknown",localHash:y4(Q),remoteHash:y4(X),metadata:{direction:$.direction,target_artifact_uri:Q.artifact_uri,source_artifact_uri:X.artifact_uri,local_artifact:$J(Q),remote_artifact:$J(X)}};if(jQ($.db,N)){J.skipped+=1;continue}J.conflicts+=1,W.push(N);continue}let Y=Boolean(X.key&&X.content_base64),j=KC(X,$.targetStorage);if(!Y&&!j){J.missing_content+=1,$.warnings.push(`artifact_content_missing:${X.artifact_uri}`);continue}if($.dryRun){J.copied+=1;continue}let O=X.artifact_uri;if(Y&&X.key&&X.content_base64)O=(await $.targetStore.put({key:X.key,body:Buffer.from(X.content_base64,"base64"),content_type:X.content_type??void 0})).uri,U.set(X.artifact_uri,O);else if(j)U.set(X.artifact_uri,O);let B=CX(X.metadata_json,{}),V=typeof B.artifact_modified_at==="string"?B.artifact_modified_at:void 0,L={uri:O,key:X.key??B.key??X.artifact_uri,kind:X.kind,content_type:X.content_type??void 0,hash:X.hash??void 0,size_bytes:X.size_bytes??void 0,modified_at:V,metadata:{...B,synced_from_artifact_uri:X.artifact_uri,synced_from_machine_id:$.bundle.source.machine_id??void 0}};W4($.db,[L]),J.copied+=1}return{result:J,uriMap:U,conflicts:W}}function QQ($,_){let U={...$};if(typeof U.artifact_uri==="string"&&_.has(U.artifact_uri))U.artifact_uri=_.get(U.artifact_uri);return U}function cC($,_){let U=v6();$.query(` INSERT INTO knowledge_sync_changes ( id, origin_machine_id, updated_by_machine_id, entity_kind, entity_id, operation, base_hash, next_hash, source_ref, source_revision_id, @@ -853,7 +853,7 @@ ${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:_.config, local_hash, remote_hash, base_hash, status, resolution_strategy, proposed_patch_uri, approved_by, resolved_at, metadata_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(zQ("syncconf"),_.entityKind,_.entityId,_.localMachineId,_.remoteMachineId,_.localHash??null,_.remoteHash??null,_.baseHash??null,_.status??"open",_.resolutionStrategy??null,_.proposedPatchUri??null,_.approvedBy??null,_.resolvedAt??null,JSON.stringify(_.metadata??{}),W),!0}function uC($,_){return $.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get(_)??null}function dC($,_){let U=_.now??v6();$.query(` + `).run(zQ("syncconf"),_.entityKind,_.entityId,_.localMachineId,_.remoteMachineId,_.localHash??null,_.remoteHash??null,_.baseHash??null,_.status??"open",_.resolutionStrategy??null,_.proposedPatchUri??null,_.approvedBy??null,_.resolvedAt??null,JSON.stringify(_.metadata??{}),W),!0}function nC($,_){return $.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get(_)??null}function lC($,_){let U=_.now??v6();$.query(` INSERT INTO knowledge_sync_imports ( bundle_id, source_machine_id, target_machine_id, direction, status, content_hash, table_clocks_json, tables_json, generated_at, applied_at, @@ -863,13 +863,13 @@ ${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:_.config, status = excluded.status, applied_at = excluded.applied_at, metadata_json = excluded.metadata_json - `).run(_.bundleId,_.sourceMachineId,_.targetMachineId,_.direction,_.status,_.contentHash,JSON.stringify(_.bundle.table_clocks??[]),JSON.stringify(_.tableResults),_.bundle.generated_at,U,JSON.stringify({conflicts:_.conflicts,artifacts:_.artifacts,source_workspace_home:_.bundle.source.workspace_home}))}function cC($){return{ok:!0,protocol_version:h4,min_protocol_version:x4,dry_run:!1,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:$.targetBundle.source.sqlite_schema_version,artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:$.bundle.tables.filter((_)=>!JJ.has(_.table)).map((_)=>({table:_.table,source_rows:_.rows.length,target_rows:LQ($.targetBundle,_.table)?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:_.rows.length,conflicts:0,stale_skipped:0})),artifacts:{source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:$.bundle.artifacts.length,conflicts:0,missing_content:0},conflicts_created:0,bundle_id:$.bundleId,replayed:!0,clocks:{advanced:0,stale_tables:0},warnings:[...$.warnings,`bundle_replay_skipped:${$.bundleId}`],message:`Skipped already-applied bundle ${$.bundleId}`}}function nC($,_){let U=Z0($.artifacts),W=Z0(_.artifacts);for(let J of $.tables){if(JJ.has(J.table))continue;let X=LQ(_,J.table),Q=DH($,J.table)?.high_water_hash??PX(J.table,J.rows,U);if(PX(J.table,X?.rows??[],W)!==Q)return!1}return!0}async function SX($){ZC($.bundle),$$($.targetDbPath);let _=[...$.bundle.warnings],U=$.dryRun===!0,W=GH($.localMachineId),J=$.bundle.source.machine_id??"unknown",X=vC($.bundle),G=VH($.bundle),Q=$.targetBundle??WJ({dbPath:$.targetDbPath,scope:$.targetScope,workspaceHome:$.targetWorkspaceHome,storage:$.targetStorage,machineId:W,includeArtifactContent:!1,recordClocks:!U}),Y=d($.targetDbPath);try{if(!U&&uC(Y,X)&&nC($.bundle,Q))return cC({bundle:$.bundle,targetBundle:Q,targetScope:$.targetScope,targetWorkspaceHome:$.targetWorkspaceHome,targetStorage:$.targetStorage,direction:$.direction,warnings:_,bundleId:X});let j=await xC({db:Y,bundle:$.bundle,targetBundle:Q,targetStorage:$.targetStorage,targetStore:$.targetStore,dryRun:U,direction:$.direction,localMachineId:W,warnings:_}),O=Z0($.bundle.artifacts),B=Z0(Q.artifacts),V=[],L=0,N=0,H=0;for(let A of $.bundle.tables){if(A.table==="storage_objects"||JJ.has(A.table))continue;if(!o_(Y,A.table))continue;let M=DH($.bundle,A.table),K=_J(Y,A.table,J),I=LQ(Q,A.table),Z=yC(A.table,I?.rows??[]),k=new Set(A.rows.map((p$)=>S0(A.table,p$))),i=zC(Y,A.table,J),r$=[],f$={table:A.table,source_rows:A.rows.length,target_rows:I?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!M)_.push(`legacy_clock_missing:${A.table}`);else if(jC(K,M)){H+=1,f$.skipped+=A.rows.length,f$.stale_skipped=A.rows.length,_.push(`stale_table_skipped:${A.table}:${J}:${M.logical_clock}`),V.push(f$);continue}for(let p$ of A.rows){let J_=S0(A.table,p$),O$=Z.get(J_),Y_=T0(p$,O);if(!O$){f$.inserted+=1,r$.push(QQ(p$,j.uriMap));continue}let t$=T0(O$,B);if(t$===Y_){f$.skipped+=1;continue}let d$=i.get(J_);if(i.has(J_)&&d$===t$){f$.updated+=1,r$.push(QQ(p$,j.uriMap));continue}let W_={entityKind:A.table,entityId:J_,localMachineId:W,remoteMachineId:J,localHash:t$,remoteHash:Y_,baseHash:K?.high_water_hash??null,metadata:{direction:$.direction,bundle_id:X,incoming_logical_clock:M?.logical_clock??null,current_logical_clock:K?.logical_clock??null,source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:sU(p$)}};if(jQ(Y,W_)){f$.skipped+=1;continue}if(f$.conflicts+=1,!U&&YQ(Y,W_))L+=1}if(!U&&r$.length>0){let p$=r$.map((J_)=>QQ(J_,j.uriMap));DC(Y,A.table,p$),NC(Y,A.table,p$);for(let J_ of p$)mC(Y,{direction:$.direction,sourceMachineId:$.bundle.source.machine_id??"unknown",localMachineId:W,entityKind:A.table,entityId:S0(A.table,J_),nextHash:T0(J_,Z0($.bundle.artifacts)),logicalClock:M?.logical_clock??0,bundleId:X,row:J_})}for(let[p$,J_]of i){if(k.has(p$))continue;let O$=Z.get(p$);if(!O$)continue;let Y_=T0(O$,B);if(J_&&Y_!==J_){let t$={entityKind:A.table,entityId:p$,localMachineId:W,remoteMachineId:J,localHash:Y_,remoteHash:null,baseHash:J_,metadata:{direction:$.direction,bundle_id:X,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:null}};if(jQ(Y,t$)){f$.skipped+=1;continue}if(f$.conflicts+=1,!U&&YQ(Y,t$))L+=1;continue}if(f$.deleted+=1,!U)OC(Y,A.table,p$)}if(!U&&M)CX(Y,{table:A.table,machineId:J,logicalClock:M.logical_clock,highWaterHash:M.high_water_hash,highWaterBundleId:X,originMachineId:J,updatedByMachineId:W,lastAppliedAt:v6(),metadata:{source:"import",direction:$.direction,row_count:A.rows.length,inserted:f$.inserted,updated:f$.updated,deleted:f$.deleted,skipped:f$.skipped,conflicts:f$.conflicts}}),N+=1;V.push(f$)}for(let A of j.conflicts)if(!U){if(YQ(Y,{...A,baseHash:A.baseHash??null,metadata:{...A.metadata,bundle_id:X}}))L+=1}let R=V.reduce((A,M)=>A+M.inserted,0),E=V.reduce((A,M)=>A+M.conflicts,0)+j.result.conflicts;if(!U)dC(Y,{bundle:$.bundle,bundleId:X,contentHash:G,sourceMachineId:J,targetMachineId:W,direction:$.direction,status:E===0?"applied":"conflicted",tableResults:V,conflicts:E,artifacts:j.result});return{ok:E===0,protocol_version:h4,min_protocol_version:x4,dry_run:U,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:z_(Y),artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:V,artifacts:j.result,conflicts_created:L,bundle_id:X,replayed:!1,clocks:{advanced:N,stale_tables:H},warnings:_,message:`${$.dryRun?"Would import":"Imported"} ${R} row(s), copied ${j.result.copied} artifact(s), ${E} conflict(s)`}}finally{Y.close()}}function RH($){$$($.dbPath);let _=d($.dbPath),U=v6($.now);try{let W=$.topology?TC(_,$.topology,U):0,J=OH(_),X=o$(EC(_)),G=$.machineId??$.topology?.local_machine_id??"unknown",Q=o$($.storage.artifact_store.uri_prefix),Y=o$($.workspaceHome),j=eU(M2({machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,tables:J,artifacts:X})),O={id:zQ("syncsnap"),machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,content_hash:j,tables_json:JSON.stringify(J),artifact_hashes_json:JSON.stringify(X),created_at:U};_.query(` + `).run(_.bundleId,_.sourceMachineId,_.targetMachineId,_.direction,_.status,_.contentHash,JSON.stringify(_.bundle.table_clocks??[]),JSON.stringify(_.tableResults),_.bundle.generated_at,U,JSON.stringify({conflicts:_.conflicts,artifacts:_.artifacts,source_workspace_home:_.bundle.source.workspace_home}))}function iC($){return{ok:!0,protocol_version:x4,min_protocol_version:m4,dry_run:!1,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:$.targetBundle.source.sqlite_schema_version,artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:$.bundle.tables.filter((_)=>!JJ.has(_.table)).map((_)=>({table:_.table,source_rows:_.rows.length,target_rows:LQ($.targetBundle,_.table)?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:_.rows.length,conflicts:0,stale_skipped:0})),artifacts:{source_artifacts:$.bundle.artifacts.length,target_artifacts:$.targetBundle.artifacts.length,copied:0,skipped:$.bundle.artifacts.length,conflicts:0,missing_content:0},conflicts_created:0,bundle_id:$.bundleId,replayed:!0,clocks:{advanced:0,stale_tables:0},warnings:[...$.warnings,`bundle_replay_skipped:${$.bundleId}`],message:`Skipped already-applied bundle ${$.bundleId}`}}function rC($,_){let U=v0($.artifacts),W=v0(_.artifacts);for(let J of $.tables){if(JJ.has(J.table))continue;let X=LQ(_,J.table),Q=OH($,J.table)?.high_water_hash??fX(J.table,J.rows,U);if(fX(J.table,X?.rows??[],W)!==Q)return!1}return!0}async function ZX($){hC($.bundle),$$($.targetDbPath);let _=[...$.bundle.warnings],U=$.dryRun===!0,W=jH($.localMachineId),J=$.bundle.source.machine_id??"unknown",X=xC($.bundle),G=FH($.bundle),Q=$.targetBundle??WJ({dbPath:$.targetDbPath,scope:$.targetScope,workspaceHome:$.targetWorkspaceHome,storage:$.targetStorage,machineId:W,includeArtifactContent:!1,recordClocks:!U}),Y=d($.targetDbPath);try{if(!U&&nC(Y,X)&&rC($.bundle,Q))return iC({bundle:$.bundle,targetBundle:Q,targetScope:$.targetScope,targetWorkspaceHome:$.targetWorkspaceHome,targetStorage:$.targetStorage,direction:$.direction,warnings:_,bundleId:X});let j=await dC({db:Y,bundle:$.bundle,targetBundle:Q,targetStorage:$.targetStorage,targetStore:$.targetStore,dryRun:U,direction:$.direction,localMachineId:W,warnings:_}),O=v0($.bundle.artifacts),B=v0(Q.artifacts),V=[],L=0,N=0,H=0;for(let A of $.bundle.tables){if(A.table==="storage_objects"||JJ.has(A.table))continue;if(!o_(Y,A.table))continue;let M=OH($.bundle,A.table),K=_J(Y,A.table,J),I=LQ(Q,A.table),Z=mC(A.table,I?.rows??[]),k=new Set(A.rows.map((p$)=>Z0(A.table,p$))),i=LC(Y,A.table,J),r$=[],f$={table:A.table,source_rows:A.rows.length,target_rows:I?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!M)_.push(`legacy_clock_missing:${A.table}`);else if(qC(K,M)){H+=1,f$.skipped+=A.rows.length,f$.stale_skipped=A.rows.length,_.push(`stale_table_skipped:${A.table}:${J}:${M.logical_clock}`),V.push(f$);continue}for(let p$ of A.rows){let J_=Z0(A.table,p$),O$=Z.get(J_),Y_=S0(p$,O);if(!O$){f$.inserted+=1,r$.push(QQ(p$,j.uriMap));continue}let t$=S0(O$,B);if(t$===Y_){f$.skipped+=1;continue}let d$=i.get(J_);if(i.has(J_)&&d$===t$){f$.updated+=1,r$.push(QQ(p$,j.uriMap));continue}let W_={entityKind:A.table,entityId:J_,localMachineId:W,remoteMachineId:J,localHash:t$,remoteHash:Y_,baseHash:K?.high_water_hash??null,metadata:{direction:$.direction,bundle_id:X,incoming_logical_clock:M?.logical_clock??null,current_logical_clock:K?.logical_clock??null,source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:sU(p$)}};if(jQ(Y,W_)){f$.skipped+=1;continue}if(f$.conflicts+=1,!U&&YQ(Y,W_))L+=1}if(!U&&r$.length>0){let p$=r$.map((J_)=>QQ(J_,j.uriMap));OC(Y,A.table,p$),VC(Y,A.table,p$);for(let J_ of p$)cC(Y,{direction:$.direction,sourceMachineId:$.bundle.source.machine_id??"unknown",localMachineId:W,entityKind:A.table,entityId:Z0(A.table,J_),nextHash:S0(J_,v0($.bundle.artifacts)),logicalClock:M?.logical_clock??0,bundleId:X,row:J_})}for(let[p$,J_]of i){if(k.has(p$))continue;let O$=Z.get(p$);if(!O$)continue;let Y_=S0(O$,B);if(J_&&Y_!==J_){let t$={entityKind:A.table,entityId:p$,localMachineId:W,remoteMachineId:J,localHash:Y_,remoteHash:null,baseHash:J_,metadata:{direction:$.direction,bundle_id:X,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:$.bundle.source.workspace_home,target_workspace_home:$.targetWorkspaceHome,local_row:sU(O$),remote_row:null}};if(jQ(Y,t$)){f$.skipped+=1;continue}if(f$.conflicts+=1,!U&&YQ(Y,t$))L+=1;continue}if(f$.deleted+=1,!U)BC(Y,A.table,p$)}if(!U&&M)TX(Y,{table:A.table,machineId:J,logicalClock:M.logical_clock,highWaterHash:M.high_water_hash,highWaterBundleId:X,originMachineId:J,updatedByMachineId:W,lastAppliedAt:v6(),metadata:{source:"import",direction:$.direction,row_count:A.rows.length,inserted:f$.inserted,updated:f$.updated,deleted:f$.deleted,skipped:f$.skipped,conflicts:f$.conflicts}}),N+=1;V.push(f$)}for(let A of j.conflicts)if(!U){if(YQ(Y,{...A,baseHash:A.baseHash??null,metadata:{...A.metadata,bundle_id:X}}))L+=1}let R=V.reduce((A,M)=>A+M.inserted,0),F=V.reduce((A,M)=>A+M.conflicts,0)+j.result.conflicts;if(!U)lC(Y,{bundle:$.bundle,bundleId:X,contentHash:G,sourceMachineId:J,targetMachineId:W,direction:$.direction,status:F===0?"applied":"conflicted",tableResults:V,conflicts:F,artifacts:j.result});return{ok:F===0,protocol_version:x4,min_protocol_version:m4,dry_run:U,direction:$.direction,source:$.bundle.source,target:{scope:$.targetScope,workspace_home:$.targetWorkspaceHome,sqlite_schema_version:z_(Y),artifact_root_uri:$.targetStorage.artifact_store.uri_prefix},tables:V,artifacts:j.result,conflicts_created:L,bundle_id:X,replayed:!1,clocks:{advanced:N,stale_tables:H},warnings:_,message:`${$.dryRun?"Would import":"Imported"} ${R} row(s), copied ${j.result.copied} artifact(s), ${F} conflict(s)`}}finally{Y.close()}}function EH($){$$($.dbPath);let _=d($.dbPath),U=v6($.now);try{let W=$.topology?vC(_,$.topology,U):0,J=BH(_),X=o$(bC(_)),G=$.machineId??$.topology?.local_machine_id??"unknown",Q=o$($.storage.artifact_store.uri_prefix),Y=o$($.workspaceHome),j=eU(I2({machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,tables:J,artifacts:X})),O={id:zQ("syncsnap"),machine_id:G,scope:$.scope,workspace_home:Y,sqlite_schema_version:z_(_),artifact_root_uri:Q,content_hash:j,tables_json:JSON.stringify(J),artifact_hashes_json:JSON.stringify(X),created_at:U};_.query(` INSERT INTO knowledge_sync_snapshots ( id, machine_id, scope, workspace_home, sqlite_schema_version, artifact_root_uri, content_hash, tables_json, artifact_hashes_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(O.id,O.machine_id,O.scope,O.workspace_home,O.sqlite_schema_version,O.artifact_root_uri,O.content_hash,O.tables_json,O.artifact_hashes_json,O.created_at);let B=new Map;for(let V of QH(_,YH()).filter((L)=>!JJ.has(L))){let L=jH(_,V).map((E)=>o$(E)),N=PX(V,L,B),H=_J(_,V,G),R=H?.high_water_hash===N?H.logical_clock:(H?.logical_clock??0)+1;CX(_,{table:V,machineId:G,logicalClock:R,highWaterHash:N,highWaterBundleId:O.id,originMachineId:H?.origin_machine_id??G,updatedByMachineId:G,lastAppliedAt:U,metadata:{source:"snapshot",row_count:L.length},now:U})}return{ok:!0,snapshot:{...O,tables:J,artifact_hashes:X},machines_upserted:W,message:`Recorded sync snapshot ${O.id}`}}finally{_.close()}}function AH($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),W=_.query("SELECT * FROM knowledge_sync_snapshots ORDER BY created_at DESC LIMIT 1").get()??null,J=_.query("SELECT status, COUNT(*) AS count FROM knowledge_sync_conflicts GROUP BY status ORDER BY status").all(),X=_.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),G=GC(_),Q=_.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,Y=J.reduce((O,B)=>O+B.count,0),j=J.filter((O)=>O.status!=="resolved"&&O.status!=="ignored").reduce((O,B)=>O+B.count,0);return{ok:!0,scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),local_machine_id:$.localMachineId??null,machines:{total:U.length,rows:o$(U)},snapshots:{total:gX(_,"knowledge_sync_snapshots"),latest:o$(W)},changes:{total:gX(_,"knowledge_sync_changes"),by_operation:X},clocks:{total:G.length,rows:G},imports:{total:gX(_,"knowledge_sync_imports"),latest:o$(Q)},conflicts:{total:Y,by_status:J,open:j},table_counts:OH(_),message:`${U.length} machine(s), ${j} open sync conflict(s)`}}finally{_.close()}}function NQ($){return{...$,metadata:fX($.metadata_json,{})}}function ZX($,_){$$($);let U=d($);try{let W=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_);return W?NQ(W):null}finally{U.close()}}function EH($,_={}){$$($);let U=d($),W=Math.max(1,Math.min(_.limit??50,200));try{return(_.status?U.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all(_.status,W):U.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(W)).map(NQ)}finally{U.close()}}function lC($){return kX.includes($)?$:null}function iC($,_){let U=lC(_.entity_kind);if(!U||!o_($,U))return null;let W=zH(U,_.entity_id);if(!W)return null;let J=qH(U);return $.query(`SELECT * FROM ${x_(U)} WHERE ${J} LIMIT 1`).get(...W)}function rC($,_){for(let U of _){let W=$[U];if(W&&typeof W==="object"&&!Array.isArray(W))return sU(W)}return null}function UH($,_){if(typeof _!=="string")return;let U=_.trim();if(!U)return;if(U.startsWith("open-files://")||U.startsWith("s3://")||U.startsWith("file://")||U.startsWith("https://")||U.startsWith("http://"))$.add(U)}function DQ($,_=new Set,U=0){if(U>8||$===null||$===void 0)return _;if(typeof $==="string")return UH(_,$),_;if(Array.isArray($)){for(let W of $)DQ(W,_,U+1);return _}if(typeof $==="object")for(let[W,J]of Object.entries($)){if(W==="source_ref"||W==="source_uri"||W==="artifact_uri"||W.endsWith("_uri"))UH(_,J);DQ(J,_,U+1)}return _}function FH($){let _=[{id:"conflict",kind:"metadata",ref:`knowledge-sync-conflict://${$.conflict.id}`,hash:$.conflict.base_hash,quote:`Conflict on ${$.conflict.entity_kind}:${$.conflict.entity_id}`}];if($.localRow)_.push({id:"local-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:local`,hash:$.conflict.local_hash,quote:JSON.stringify($.localRow).slice(0,300)});if($.remoteRow)_.push({id:"remote-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:remote`,hash:$.conflict.remote_hash,quote:JSON.stringify($.remoteRow).slice(0,300)});return $.sourceRefs.slice(0,10).forEach((U,W)=>{_.push({id:`source-${W+1}`,kind:U.startsWith("file://")||U.startsWith("s3://")?"artifact":"source_ref",ref:U,hash:null,quote:null})}),_}function KH($,_){let U=ZX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);$$($);let W=d($);try{let J=sU(iC(W,U)),X=rC(U.metadata,["remote_row","source_row","incoming_row"]),Q=[...DQ({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:J,remote_row:X})].slice(0,25),Y=[{name:"knowledge_sync_conflict_get",input:{id:_},output_summary:`${U.entity_kind}:${U.entity_id} status=${U.status}`},{name:"knowledge_catalog_row_get",input:{table:U.entity_kind,key:U.entity_id},output_summary:J?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:_},output_summary:`${Q.length} source/artifact ref(s) found`}];return{conflict:U,local_row:J,remote_row:X,source_refs:Q,citations:FH({conflict:U,localRow:J,remoteRow:X,sourceRefs:Q}),read_only_tools:Y}}finally{W.close()}}function XJ($,_){let U=ZX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);let W=U.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",J=[`Conflict ${U.id} affects ${U.entity_kind}:${U.entity_id}.`,`Local machine ${U.local_machine_id} has ${U.local_hash??"unknown hash"}.`,`Remote machine ${U.remote_machine_id} has ${U.remote_hash??"unknown hash"}.`].join(" "),X=["Review this knowledge sync conflict before any durable write.",`Entity: ${U.entity_kind}:${U.entity_id}`,`Local machine/hash: ${U.local_machine_id} / ${U.local_hash??"unknown"}`,`Remote machine/hash: ${U.remote_machine_id} / ${U.remote_hash??"unknown"}`,`Base hash: ${U.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(U.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` -`);return{ok:!0,conflict:U,requires_approval:!0,mode:"deterministic",proposed_strategy:W,summary:J,merge_prompt:X,proposed_patch:null,citations:FH({conflict:U,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:U.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${U.id}`}}function bH($,_){$$($);let U=d($),W=v6();try{let J=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!J)throw Error(`Sync conflict not found: ${_.id}`);U.query(` + `).run(O.id,O.machine_id,O.scope,O.workspace_home,O.sqlite_schema_version,O.artifact_root_uri,O.content_hash,O.tables_json,O.artifact_hashes_json,O.created_at);let B=new Map;for(let V of DH(_,zH()).filter((L)=>!JJ.has(L))){let L=qH(_,V).map((F)=>o$(F)),N=fX(V,L,B),H=_J(_,V,G),R=H?.high_water_hash===N?H.logical_clock:(H?.logical_clock??0)+1;TX(_,{table:V,machineId:G,logicalClock:R,highWaterHash:N,highWaterBundleId:O.id,originMachineId:H?.origin_machine_id??G,updatedByMachineId:G,lastAppliedAt:U,metadata:{source:"snapshot",row_count:L.length},now:U})}return{ok:!0,snapshot:{...O,tables:J,artifact_hashes:X},machines_upserted:W,message:`Recorded sync snapshot ${O.id}`}}finally{_.close()}}function KH($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),W=_.query("SELECT * FROM knowledge_sync_snapshots ORDER BY created_at DESC LIMIT 1").get()??null,J=_.query("SELECT status, COUNT(*) AS count FROM knowledge_sync_conflicts GROUP BY status ORDER BY status").all(),X=_.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),G=jC(_),Q=_.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,Y=J.reduce((O,B)=>O+B.count,0),j=J.filter((O)=>O.status!=="resolved"&&O.status!=="ignored").reduce((O,B)=>O+B.count,0);return{ok:!0,scope:$.scope,workspace_home:o$($.workspaceHome),sqlite_schema_version:z_(_),local_machine_id:$.localMachineId??null,machines:{total:U.length,rows:o$(U)},snapshots:{total:wX(_,"knowledge_sync_snapshots"),latest:o$(W)},changes:{total:wX(_,"knowledge_sync_changes"),by_operation:X},clocks:{total:G.length,rows:G},imports:{total:wX(_,"knowledge_sync_imports"),latest:o$(Q)},conflicts:{total:Y,by_status:J,open:j},table_counts:BH(_),message:`${U.length} machine(s), ${j} open sync conflict(s)`}}finally{_.close()}}function NQ($){return{...$,metadata:CX($.metadata_json,{})}}function vX($,_){$$($);let U=d($);try{let W=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_);return W?NQ(W):null}finally{U.close()}}function bH($,_={}){$$($);let U=d($),W=Math.max(1,Math.min(_.limit??50,200));try{return(_.status?U.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all(_.status,W):U.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(W)).map(NQ)}finally{U.close()}}function pC($){return PX.includes($)?$:null}function oC($,_){let U=pC(_.entity_kind);if(!U||!o_($,U))return null;let W=LH(U,_.entity_id);if(!W)return null;let J=NH(U);return $.query(`SELECT * FROM ${x_(U)} WHERE ${J} LIMIT 1`).get(...W)}function tC($,_){for(let U of _){let W=$[U];if(W&&typeof W==="object"&&!Array.isArray(W))return sU(W)}return null}function XH($,_){if(typeof _!=="string")return;let U=_.trim();if(!U)return;if(U.startsWith("open-files://")||U.startsWith("s3://")||U.startsWith("file://")||U.startsWith("https://")||U.startsWith("http://"))$.add(U)}function DQ($,_=new Set,U=0){if(U>8||$===null||$===void 0)return _;if(typeof $==="string")return XH(_,$),_;if(Array.isArray($)){for(let W of $)DQ(W,_,U+1);return _}if(typeof $==="object")for(let[W,J]of Object.entries($)){if(W==="source_ref"||W==="source_uri"||W==="artifact_uri"||W.endsWith("_uri"))XH(_,J);DQ(J,_,U+1)}return _}function MH($){let _=[{id:"conflict",kind:"metadata",ref:`knowledge-sync-conflict://${$.conflict.id}`,hash:$.conflict.base_hash,quote:`Conflict on ${$.conflict.entity_kind}:${$.conflict.entity_id}`}];if($.localRow)_.push({id:"local-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:local`,hash:$.conflict.local_hash,quote:JSON.stringify($.localRow).slice(0,300)});if($.remoteRow)_.push({id:"remote-row",kind:"row",ref:`${$.conflict.entity_kind}:${$.conflict.entity_id}:remote`,hash:$.conflict.remote_hash,quote:JSON.stringify($.remoteRow).slice(0,300)});return $.sourceRefs.slice(0,10).forEach((U,W)=>{_.push({id:`source-${W+1}`,kind:U.startsWith("file://")||U.startsWith("s3://")?"artifact":"source_ref",ref:U,hash:null,quote:null})}),_}function IH($,_){let U=vX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);$$($);let W=d($);try{let J=sU(oC(W,U)),X=tC(U.metadata,["remote_row","source_row","incoming_row"]),Q=[...DQ({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:J,remote_row:X})].slice(0,25),Y=[{name:"knowledge_sync_conflict_get",input:{id:_},output_summary:`${U.entity_kind}:${U.entity_id} status=${U.status}`},{name:"knowledge_catalog_row_get",input:{table:U.entity_kind,key:U.entity_id},output_summary:J?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:_},output_summary:`${Q.length} source/artifact ref(s) found`}];return{conflict:U,local_row:J,remote_row:X,source_refs:Q,citations:MH({conflict:U,localRow:J,remoteRow:X,sourceRefs:Q}),read_only_tools:Y}}finally{W.close()}}function XJ($,_){let U=vX($,_);if(!U)throw Error(`Sync conflict not found: ${_}`);let W=U.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",J=[`Conflict ${U.id} affects ${U.entity_kind}:${U.entity_id}.`,`Local machine ${U.local_machine_id} has ${U.local_hash??"unknown hash"}.`,`Remote machine ${U.remote_machine_id} has ${U.remote_hash??"unknown hash"}.`].join(" "),X=["Review this knowledge sync conflict before any durable write.",`Entity: ${U.entity_kind}:${U.entity_id}`,`Local machine/hash: ${U.local_machine_id} / ${U.local_hash??"unknown"}`,`Remote machine/hash: ${U.remote_machine_id} / ${U.remote_hash??"unknown"}`,`Base hash: ${U.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(U.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` +`);return{ok:!0,conflict:U,requires_approval:!0,mode:"deterministic",proposed_strategy:W,summary:J,merge_prompt:X,proposed_patch:null,citations:MH({conflict:U,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:U.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${U.id}`}}function gH($,_){$$($);let U=d($),W=v6();try{let J=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!J)throw Error(`Sync conflict not found: ${_.id}`);U.query(` UPDATE knowledge_sync_conflicts SET status = 'resolved', resolution_strategy = ?, @@ -877,35 +877,35 @@ ${V}`;else{let{generateText:K}=await import("ai"),I=await tU(J,{config:_.config, approved_by = ?, resolved_at = ? WHERE id = ? - `).run(_.strategy,_.proposedPatchUri??J.proposed_patch_uri,_.approvedBy,W,_.id);let X=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!X)throw Error(`Sync conflict not found after resolve: ${_.id}`);return NQ(X)}finally{U.close()}}function wq($){let U=(typeof $==="string"?$:JSON.stringify($)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function ZZ($){let _=d($.dbPath);try{_.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[$.runId,"sync-conflict-proposal",$.prompt,$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.now])}finally{_.close()}}function AV($){let _=d($.dbPath);try{_.run(`UPDATE runs + `).run(_.strategy,_.proposedPatchUri??J.proposed_patch_uri,_.approvedBy,W,_.id);let X=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get(_.id);if(!X)throw Error(`Sync conflict not found after resolve: ${_.id}`);return NQ(X)}finally{U.close()}}function wq($){let U=(typeof $==="string"?$:JSON.stringify($)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function hZ($){let _=d($.dbPath);try{_.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[$.runId,"sync-conflict-proposal",$.prompt,$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.now])}finally{_.close()}}function KV($){let _=d($.dbPath);try{_.run(`UPDATE runs SET status = ?, provider = ?, model = ?, cost_tokens = ?, cost_usd = ?, metadata_json = ?, updated_at = ? WHERE id = ?`,[$.status,$.provider,$.model,$.usage.input_tokens+$.usage.output_tokens,$.usage.cost_usd,JSON.stringify($.metadata),$.now,$.runId])}finally{_.close()}}function kq($){let _=d($.dbPath);try{_.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`event_${EV()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{_.close()}}function vZ($,_,U,W){let J=d($);try{B2(J,{...U,run_id:_,created_at:W})}finally{J.close()}}function yZ($){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: + VALUES (?, ?, ?, ?, ?, ?)`,[`event_${bV()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{_.close()}}function xZ($,_,U,W){let J=d($);try{H2(J,{...U,run_id:_,created_at:W})}finally{J.close()}}function mZ($){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: ${JSON.stringify({proposed_strategy:$.deterministic.proposed_strategy,summary:$.deterministic.summary,warnings:$.deterministic.warnings},null,2)}`,"",`Conflict evidence: ${JSON.stringify($.evidence,null,2)}`].join(` -`)}function hZ($){let _=typeof $==="number"&&Number.isFinite($)?$:0.5;return Math.max(0,Math.min(1,_))}function xZ($,_){let U=$.kind==="choose_local"||$.kind==="choose_remote"||$.kind==="no_op"||$.kind==="custom"||$.kind==="manual_merge"?$.kind:"manual_merge";return{kind:U,target:typeof $.target==="string"&&$.target?$.target:_,strategy:typeof $.strategy==="string"&&$.strategy?$.strategy:U.replace("_","-"),summary:typeof $.summary==="string"&&$.summary?$.summary:"Review both sides before applying a merge.",diff:typeof $.diff==="string"&&$.diff?$.diff:null,metadata:$.metadata&&typeof $.metadata==="object"&&!Array.isArray($.metadata)?$.metadata:{}}}function mZ($){let _=`${$.conflict.entity_kind}:${$.conflict.entity_id}`,U=Boolean($.local_row&&$.remote_row);return{kind:U?"manual_merge":"custom",target:_,strategy:U?"manual-merge":"review-and-select",summary:U?`Fake AI proposal: compare local and remote ${_} row snapshots, then apply a reviewed manual merge.`:`Fake AI proposal: inspect ${_} with available conflict metadata before selecting a side.`,diff:U?[`--- ${_} local`,`+++ ${_} remote`,"@@ review-required @@",JSON.stringify({local:$.local_row,remote:$.remote_row},null,2).slice(0,1200)].join(` -`):null,metadata:{fake:!0,local_hash:$.conflict.local_hash,remote_hash:$.conflict.remote_hash,source_refs:$.source_refs}}}async function FV($){let _=($.now??new Date).toISOString();$$($.dbPath);let U=XJ($.dbPath,$.id),W=KH($.dbPath,$.id),J=z6($.modelRef??"default",$.config),X=j_(J),G=`run_${EV()}`,Q=yZ({deterministic:U,evidence:W});ZZ({dbPath:$.dbPath,runId:G,prompt:Q,provider:X.provider,model:X.model,status:$.fake?"dry_run":"running",metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,read_only_tools:W.read_only_tools.map((V)=>V.name)},now:_}),kq({dbPath:$.dbPath,runId:G,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:W.citations.length,source_refs:W.source_refs.length,read_only_tools:W.read_only_tools},now:_});let Y,j,O=0.5,B={input_tokens:wq(Q),output_tokens:0,cost_usd:0};if($.fake)Y=mZ(W),j=Y.summary,B.output_tokens=wq(j)+wq(Y.diff??"");else try{let{generateObject:V}=await import("ai"),{z:L}=await Promise.resolve().then(() => (RV(),VV)),N=await tU(J,{config:$.config,env:$.env}),H=L.object({summary:L.string(),confidence:L.number().min(0).max(1),proposed_patch:L.object({kind:L.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:L.string(),strategy:L.string(),summary:L.string(),diff:L.string().nullable(),metadata:L.record(L.string(),L.unknown()).default({})})}),R=await V({model:N,schema:H,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:Q});j=R.object.summary,O=hZ(R.object.confidence),Y=xZ(R.object.proposed_patch,`${W.conflict.entity_kind}:${W.conflict.entity_id}`);let E=P0({provider:X.provider,model:X.model,usage:R.usage,providerMetadata:R.providerMetadata});B={input_tokens:E.input_tokens,output_tokens:E.output_tokens,cost_usd:E.cost_usd},vZ($.dbPath,G,E,_)}catch(V){throw kq({dbPath:$.dbPath,runId:G,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:V instanceof Error?V.message:String(V)},now:_}),AV({dbPath:$.dbPath,runId:G,status:"failed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",error:V instanceof Error?V.message:String(V)},now:_}),V}return AV({dbPath:$.dbPath,runId:G,status:$.fake?"dry_run":"completed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,confidence:O,proposed_strategy:Y.strategy,citation_count:W.citations.length},now:_}),kq({dbPath:$.dbPath,runId:G,level:"info",event:$.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:Y.strategy,confidence:O,patch_kind:Y.kind},now:_}),{...U,mode:"ai",proposed_strategy:Y.strategy,summary:j,proposed_patch:Y,citations:W.citations,confidence:O,agent:{generated:!0,provider:X.provider,model:X.model,run_id:G,read_only_tools:W.read_only_tools,usage:B},warnings:[...U.warnings,...W.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${$.id}`}}import{createHash as uZ,randomUUID as dZ}from"crypto";import{existsSync as cZ,readFileSync as nZ}from"fs";import{basename as lZ}from"path";function p8($,_){return`${$}_${uZ("sha256").update(_).digest("hex").slice(0,20)}`}function s2($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function h$($){return typeof $==="string"&&$.length>0?$:void 0}function iZ($){let _=h$($.source_ref)??h$($.source_uri)??h$($.uri);if(_)return _;let U=h$($.file_id);if(U){let X=h$($.revision_id)??h$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=h$($.source_id),J=h$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function rZ($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function pZ($){return h$($.hash)??h$($.checksum)??h$($.sha256)??null}function oZ($,_,U){return h$($.revision_id)??h$($.revision)??h$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??null}function tZ($){return h$($.previous_revision_id)??h$($.previous_revision)??h$($.previous_version_id)??null}function aZ($){return(h$($.event_type)??h$($.event)??h$($.type)??h$($.action)??h$($.change_type)??"changed").toLowerCase()}function sZ($){let _=h$($.path);return h$($.title)??h$($.name)??(_?lZ(_):null)}function eZ($,_){let U=iZ($),W=r_(U),J=pZ($);return{raw:$,eventType:aZ($),sourceRef:U,sourceUri:rZ(U,W),kind:W.kind,title:sZ($),revision:oZ($,W,J),previousRevision:tZ($),hash:J,status:h$($.status)?.toLowerCase()??null,updatedAt:h$($.updated_at)??_,acl:$.permissions??$.acl??void 0}}function $v($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Outbox array parse failed.");return U.map((W)=>{let J=s2(W);if(!J)throw Error("Outbox array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=s2(U);if(!W)throw Error("Outbox object parse failed.");if(Array.isArray(W.events))return W.events.map((J)=>{let X=s2(J);if(!X)throw Error("Outbox events entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=s2(JSON.parse(J));if(!X)throw Error("Outbox JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=s2(JSON.parse(U));if(!W)throw Error("Outbox JSONL entries must be objects.");return W})}async function _v($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 outbox URI: ${$}`);if(U)Z4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Uv($,_,U){if($.startsWith("s3://"))return _v($,_,U);if(!cZ($))throw Error(`Outbox not found: ${$}`);return nZ($,"utf8")}function KV($,_){let U={};if($)try{U=s2(JSON.parse($))??{}}catch{U={}}return JSON.stringify({...U,..._})}function Jv($,_,U){let W=p8("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`)}function uZ($){let _=typeof $==="number"&&Number.isFinite($)?$:0.5;return Math.max(0,Math.min(1,_))}function dZ($,_){let U=$.kind==="choose_local"||$.kind==="choose_remote"||$.kind==="no_op"||$.kind==="custom"||$.kind==="manual_merge"?$.kind:"manual_merge";return{kind:U,target:typeof $.target==="string"&&$.target?$.target:_,strategy:typeof $.strategy==="string"&&$.strategy?$.strategy:U.replace("_","-"),summary:typeof $.summary==="string"&&$.summary?$.summary:"Review both sides before applying a merge.",diff:typeof $.diff==="string"&&$.diff?$.diff:null,metadata:$.metadata&&typeof $.metadata==="object"&&!Array.isArray($.metadata)?$.metadata:{}}}function cZ($){let _=`${$.conflict.entity_kind}:${$.conflict.entity_id}`,U=Boolean($.local_row&&$.remote_row);return{kind:U?"manual_merge":"custom",target:_,strategy:U?"manual-merge":"review-and-select",summary:U?`Fake AI proposal: compare local and remote ${_} row snapshots, then apply a reviewed manual merge.`:`Fake AI proposal: inspect ${_} with available conflict metadata before selecting a side.`,diff:U?[`--- ${_} local`,`+++ ${_} remote`,"@@ review-required @@",JSON.stringify({local:$.local_row,remote:$.remote_row},null,2).slice(0,1200)].join(` +`):null,metadata:{fake:!0,local_hash:$.conflict.local_hash,remote_hash:$.conflict.remote_hash,source_refs:$.source_refs}}}async function MV($){let _=($.now??new Date).toISOString();$$($.dbPath);let U=XJ($.dbPath,$.id),W=IH($.dbPath,$.id),J=z6($.modelRef??"default",$.config),X=j_(J),G=`run_${bV()}`,Q=mZ({deterministic:U,evidence:W});hZ({dbPath:$.dbPath,runId:G,prompt:Q,provider:X.provider,model:X.model,status:$.fake?"dry_run":"running",metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,read_only_tools:W.read_only_tools.map((V)=>V.name)},now:_}),kq({dbPath:$.dbPath,runId:G,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:W.citations.length,source_refs:W.source_refs.length,read_only_tools:W.read_only_tools},now:_});let Y,j,O=0.5,B={input_tokens:wq(Q),output_tokens:0,cost_usd:0};if($.fake)Y=cZ(W),j=Y.summary,B.output_tokens=wq(j)+wq(Y.diff??"");else try{let{generateObject:V}=await import("ai"),{z:L}=await Promise.resolve().then(() => (EV(),FV)),N=await tU(J,{config:$.config,env:$.env}),H=L.object({summary:L.string(),confidence:L.number().min(0).max(1),proposed_patch:L.object({kind:L.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:L.string(),strategy:L.string(),summary:L.string(),diff:L.string().nullable(),metadata:L.record(L.string(),L.unknown()).default({})})}),R=await V({model:N,schema:H,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:Q});j=R.object.summary,O=uZ(R.object.confidence),Y=dZ(R.object.proposed_patch,`${W.conflict.entity_kind}:${W.conflict.entity_id}`);let F=f0({provider:X.provider,model:X.model,usage:R.usage,providerMetadata:R.providerMetadata});B={input_tokens:F.input_tokens,output_tokens:F.output_tokens,cost_usd:F.cost_usd},xZ($.dbPath,G,F,_)}catch(V){throw kq({dbPath:$.dbPath,runId:G,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:V instanceof Error?V.message:String(V)},now:_}),KV({dbPath:$.dbPath,runId:G,status:"failed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",error:V instanceof Error?V.message:String(V)},now:_}),V}return KV({dbPath:$.dbPath,runId:G,status:$.fake?"dry_run":"completed",provider:X.provider,model:X.model,usage:B,metadata:{conflict_id:$.id,mode:"ai",fake:$.fake===!0,confidence:O,proposed_strategy:Y.strategy,citation_count:W.citations.length},now:_}),kq({dbPath:$.dbPath,runId:G,level:"info",event:$.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:Y.strategy,confidence:O,patch_kind:Y.kind},now:_}),{...U,mode:"ai",proposed_strategy:Y.strategy,summary:j,proposed_patch:Y,citations:W.citations,confidence:O,agent:{generated:!0,provider:X.provider,model:X.model,run_id:G,read_only_tools:W.read_only_tools,usage:B},warnings:[...U.warnings,...W.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${$.id}`}}import{createHash as nZ,randomUUID as lZ}from"crypto";import{existsSync as iZ,readFileSync as rZ}from"fs";import{basename as pZ}from"path";function o8($,_){return`${$}_${nZ("sha256").update(_).digest("hex").slice(0,20)}`}function e2($){return $&&typeof $==="object"&&!Array.isArray($)?$:void 0}function h$($){return typeof $==="string"&&$.length>0?$:void 0}function oZ($){let _=h$($.source_ref)??h$($.source_uri)??h$($.uri);if(_)return _;let U=h$($.file_id);if(U){let X=h$($.revision_id)??h$($.revision),G=`open-files://file/${encodeURIComponent(U)}`;return X?`${G}/revision/${encodeURIComponent(X)}`:G}let W=h$($.source_id),J=h$($.path);if(W&&J)return`open-files://source/${encodeURIComponent(W)}/path/${encodeURIComponent(J)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function tZ($,_){if(_.kind==="open-files"&&_.entity==="file"&&_.revision_id)return $.replace(/\/revision\/[^/]+$/,"");return $}function aZ($){return h$($.hash)??h$($.checksum)??h$($.sha256)??null}function sZ($,_,U){return h$($.revision_id)??h$($.revision)??h$($.version_id)??(_.kind==="open-files"?_.revision_id:void 0)??U??null}function eZ($){return h$($.previous_revision_id)??h$($.previous_revision)??h$($.previous_version_id)??null}function $v($){return(h$($.event_type)??h$($.event)??h$($.type)??h$($.action)??h$($.change_type)??"changed").toLowerCase()}function _v($){let _=h$($.path);return h$($.title)??h$($.name)??(_?pZ(_):null)}function Uv($,_){let U=oZ($),W=r_(U),J=aZ($);return{raw:$,eventType:$v($),sourceRef:U,sourceUri:tZ(U,W),kind:W.kind,title:_v($),revision:sZ($,W,J),previousRevision:eZ($),hash:J,status:h$($.status)?.toLowerCase()??null,updatedAt:h$($.updated_at)??_,acl:$.permissions??$.acl??void 0}}function Jv($){let _=$.trim();if(!_)return[];if(_.startsWith("[")){let U=JSON.parse(_);if(!Array.isArray(U))throw Error("Outbox array parse failed.");return U.map((W)=>{let J=e2(W);if(!J)throw Error("Outbox array entries must be objects.");return J})}if(_.startsWith("{"))try{let U=JSON.parse(_),W=e2(U);if(!W)throw Error("Outbox object parse failed.");if(Array.isArray(W.events))return W.events.map((J)=>{let X=e2(J);if(!X)throw Error("Outbox events entries must be objects.");return X});if("source_ref"in W||"source_uri"in W||"file_id"in W)return[W]}catch(U){let W=_.split(/\r?\n/).filter((J)=>J.trim().length>0);if(W.length<=1)throw U;return W.map((J)=>{let X=e2(JSON.parse(J));if(!X)throw Error("Outbox JSONL entries must be objects.");return X})}return _.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let W=e2(JSON.parse(U));if(!W)throw Error("Outbox JSONL entries must be objects.");return W})}async function Wv($,_,U){let W=new URL($),J=W.hostname,X=decodeURIComponent(W.pathname.replace(/^\/+/,""));if(!J||!X)throw Error(`Invalid S3 outbox URI: ${$}`);if(U)v4($,U);let[{S3Client:G,GetObjectCommand:Q},{fromIni:Y}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),j=_?.storage.type==="s3"&&_.storage.s3?.bucket===J?_.storage.s3:void 0,B=await new G({region:j?.region,credentials:j?.profile?Y({profile:j.profile}):void 0,maxAttempts:j?.max_attempts}).send(new Q({Bucket:J,Key:X}));if(!B.Body)return"";return await B.Body.transformToString()}async function Xv($,_,U){if($.startsWith("s3://"))return Wv($,_,U);if(!iZ($))throw Error(`Outbox not found: ${$}`);return rZ($,"utf8")}function IV($,_){let U={};if($)try{U=e2(JSON.parse($))??{}}catch{U={}}return JSON.stringify({...U,..._})}function Gv($,_,U){let W=o8("src",_.sourceUri);$.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(uri) DO UPDATE SET kind = excluded.kind, title = COALESCE(excluded.title, sources.title), - updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify({source_ref:_.sourceRef,source_uri:_.sourceUri,status:_.status,last_outbox_event:_.eventType}),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id, metadata_json, acl_json FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source for outbox event: ${_.sourceUri}`);let X={source_ref:_.sourceRef,source_uri:_.sourceUri,last_outbox_event:_.eventType,last_outbox_at:_.updatedAt};if(_.status)X.status=_.status;if(h$(_.raw.path))X.path=_.raw.path;return $.run("UPDATE sources SET metadata_json = ?, acl_json = CASE WHEN ? IS NULL THEN acl_json ELSE ? END, updated_at = ? WHERE id = ?",[KV(J.metadata_json,X),_.acl===void 0?null:JSON.stringify(_.acl),_.acl===void 0?null:JSON.stringify(_.acl),_.updatedAt,J.id]),J.id}function Wv($,_,U,W){if(!U.revision)return null;let J=p8("rev",`${_}\x00${U.revision}`),X={source_ref:U.sourceRef,source_uri:U.sourceUri,status:U.status,last_outbox_event:U.eventType,reindex_required:!0};return $.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) + updated_at = excluded.updated_at`,[W,_.sourceUri,_.kind,_.title,JSON.stringify({source_ref:_.sourceRef,source_uri:_.sourceUri,status:_.status,last_outbox_event:_.eventType}),JSON.stringify(_.acl??{}),U,_.updatedAt]);let J=$.query("SELECT id, metadata_json, acl_json FROM sources WHERE uri = ?").get(_.sourceUri);if(!J)throw Error(`Failed to upsert source for outbox event: ${_.sourceUri}`);let X={source_ref:_.sourceRef,source_uri:_.sourceUri,last_outbox_event:_.eventType,last_outbox_at:_.updatedAt};if(_.status)X.status=_.status;if(h$(_.raw.path))X.path=_.raw.path;return $.run("UPDATE sources SET metadata_json = ?, acl_json = CASE WHEN ? IS NULL THEN acl_json ELSE ? END, updated_at = ? WHERE id = ?",[IV(J.metadata_json,X),_.acl===void 0?null:JSON.stringify(_.acl),_.acl===void 0?null:JSON.stringify(_.acl),_.updatedAt,J.id]),J.id}function Qv($,_,U,W){if(!U.revision)return null;let J=o8("rev",`${_}\x00${U.revision}`),X={source_ref:U.sourceRef,source_uri:U.sourceUri,status:U.status,last_outbox_event:U.eventType,reindex_required:!0};return $.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT(source_id, revision) DO UPDATE SET hash = COALESCE(excluded.hash, source_revisions.hash), - metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,h$(U.raw.extracted_text_ref)??null,JSON.stringify(X),W]),$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision)?.id??null}function Xv($,_,U){if(U.previousRevision){let W=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.previousRevision).map((J)=>J.id);if(W.length>0)return W}if(U.revision)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.revision).map((W)=>W.id);if(U.hash)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all(_,U.hash).map((W)=>W.id);return $.query("SELECT id FROM source_revisions WHERE source_id = ?").all(_).map((W)=>W.id)}function Gv($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_),W=0,J=0;for(let G of U){let Q=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(G.id);W+=Q?.n??0;let Y=$.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(G.id);J+=Y?.n??0,$.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[G.id])}$.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]);let X=$.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get(_);return $.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[KV(X?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),_]),{chunksDeleted:U.length,embeddingsDeleted:W,vectorEntriesDeleted:J}}function Qv($,_){return _==="deleted"||["delete","deleted","remove","removed"].includes($)}function Yv($){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes($)}function jv($){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes($)}async function bV($){let _=($.now??new Date).toISOString();if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await Uv($.input,$.config,$.safetyPolicy),W=$v(U),J=d($.dbPath),X=`run_${dZ()}`;try{return J.transaction(()=>{J.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[X,"open-files-outbox",$.input,"completed","local","open-files-outbox",JSON.stringify({path:$.input,events:W.length}),_,_]);let G=new Set,Q=new Set,Y=0,j=0,O=0,B=0,V=0,L=0,N=0;return a$(J,{event_type:"source_read",action:$.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:$.input,decision:"allow",metadata:{events:W.length,read_only:!0},created_at:_}),W.forEach((H,R)=>{let E=eZ(H,_),A=Jv(J,E,_);G.add(A);let M=Wv(J,A,E,_);if(M)Q.add(M);let K=Xv(J,A,E);for(let I of K){Q.add(I);let Z=Gv(J,I);Y+=Z.chunksDeleted,j+=Z.embeddingsDeleted,O+=Z.vectorEntriesDeleted,B+=1}if(Qv(E.eventType,E.status))V+=1;if(Yv(E.eventType))L+=1;if(jv(E.eventType)||E.acl!==void 0)N+=1;J.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[p8("evt",`${X}\x00${R}\x00${E.sourceRef}\x00${E.eventType}`),X,"info",E.eventType,JSON.stringify({source_ref:E.sourceRef,source_uri:E.sourceUri,revision:E.revision,hash:E.hash,status:E.status,affected_revisions:K.length}),E.updatedAt])}),J.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[p8("usage",X),X,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),_]),a$(J,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:$.dbPath,decision:"allow",metadata:{run_id:X,events:W.length,sources:G.size,revisions:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O},created_at:_}),{path:$.input,db_path:$.dbPath,run_id:X,events_seen:W.length,sources_touched:G.size,revisions_touched:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O,stale_revisions:B,deleted_sources:V,moved_sources:L,permission_updates:N}})()}finally{J.close()}}import{spawnSync as gV}from"child_process";import{hostname as D1,platform as wV,userInfo as Dv}from"os";var zv=1,qv="@hasna/machines",Ov="@hasna/machines/consumer";function _$($){return typeof $==="string"&&$.length>0?$:null}function s4($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function V_($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function $G($){return typeof $==="boolean"?$:null}function Lv($){return typeof $==="number"&&Number.isFinite($)?$:null}function _G($=wV()){let _=$.toLowerCase();if(_==="darwin"||_==="macos")return"macos";if(_==="win32"||_==="windows")return"windows";if(_==="linux")return"linux";return $}function NW($){let _=gV("bash",["-c",$],{encoding:"utf8",env:process.env});return{stdout:_.stdout||"",stderr:_.stderr||"",exitCode:_.status??1}}async function e2($,_){return await $(_)}async function BW($,_){return(await e2(_,`command -v ${$} >/dev/null 2>&1`)).exitCode===0}function Nv($){try{let _=JSON.parse($);if(!_||typeof _!=="object")return null;return _}catch{return null}}function MV($){if(!$)return null;return $.HostName??$.DNSName?.split(".")[0]??null}async function Bv($,_){let U=new Map;if(!await BW("tailscale",$))return _.push("tailscale_not_available"),{peers:U,selfKey:null};let W=await e2($,"tailscale status --json");if(W.exitCode!==0)return _.push(`tailscale_status_failed:${W.stderr.trim()||W.exitCode}`),{peers:U,selfKey:null};let J=Nv(W.stdout);if(!J)return _.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let X=(G)=>{let Q=MV(G);if(Q&&G)U.set(Q,G)};X(J.Self);for(let G of Object.values(J.Peer??{}))X(G);return{peers:U,selfKey:MV(J.Self)}}function Hv($){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??$??D1()}function Vv($){let _=$.machineId===$.localMachineId||$.machineId===D1(),U=$.peer?.DNSName?.replace(/\.$/,"")??null,W=U??$.peer?.TailscaleIPs?.[0]??null,J=[];if(_)J.push({kind:"local",target:"localhost",reachable:!0});if(W)J.push({kind:"tailscale",target:W,reachable:$.peer?.Online??null});let X=J.find((G)=>G.kind==="local")??J.find((G)=>G.kind==="tailscale")??null;return{machine_id:$.machineId,hostname:$.peer?.HostName??(_?D1():$.machineId),local:_,platform:$.peer?.OS?_G($.peer.OS):_?_G():null,os:$.peer?.OS??(_?wV():null),user:_?Dv().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:U,ips:$.peer?.TailscaleIPs??[],online:$.peer?.Online??null,active:$.peer?.Active??null,last_seen:$.peer?.LastSeen??null},ssh:{address:null,route:X?.kind==="local"?"local":X?.kind==="tailscale"?"tailscale":"unknown",command_target:X?.target??null},route_hints:J,tags:[],metadata:{},source:"local"}}function Rv($){if(!Array.isArray($))return[];return $.map((_)=>{let U=V_(_),W=_$(U.kind)??"unknown";return{kind:W==="local"||W==="lan"||W==="tailscale"||W==="ssh"?W:"unknown",target:_$(U.target)??"",reachable:$G(U.reachable)}}).filter((_)=>_.target.length>0)}function Av($,_){let U=_$($.machine_id)??_$($.hostname)??"unknown",W=V_($.tailscale),J=V_($.ssh),X=_$($.heartbeat_status),G=_$(J.route);return{machine_id:U,hostname:_$($.hostname),local:U===_,platform:_$($.platform),os:_$($.os),user:_$($.user),workspace_path:_$($.workspace_path),manifest_declared:$.manifest_declared===!0,heartbeat_status:X==="online"||X==="offline"?X:"unknown",last_heartbeat_at:_$($.last_heartbeat_at),tailscale:{dns_name:_$(W.dns_name),ips:s4(W.ips),online:$G(W.online),active:$G(W.active),last_seen:_$(W.last_seen)},ssh:{address:_$(J.address),route:G==="local"||G==="lan"||G==="tailscale"?G:"unknown",command_target:_$(J.command_target)},route_hints:Rv($.route_hints),tags:s4($.tags),metadata:V_($.metadata),source:"open-machines"}}function Ev($,_){return`${_} machine${_===1?"":"s"} discovered via ${$}`}function u_($){let _=$ instanceof Error?$.message:String($);return _.includes("Cannot find module '@hasna/machines'")||_.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":_}function HW($){return $.adapterMode??"auto"}function kV($){let _=$?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof _==="number")return _;let U=$?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function UG($){return typeof $.schema_version==="number"?$.schema_version:null}function VW($){return typeof $==="number"&&$>zv?$:null}function JG($){return{package:qv,entrypoint:Ov,mode:$.mode,implementation:$.implementation,contract_version:$.contractVersion??null,available:$.available,error:$.error??null}}function w$($,_="adapter_disabled"){return JG({mode:$,implementation:"disabled",available:!1,error:_})}function WG($,_){let U=VW(kV(_));if(!U)return null;return JG({mode:$,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function XG($){return JG({mode:$,implementation:"cli",available:!0})}function GG($,_){return JG({mode:$,implementation:"sdk",available:!0,contractVersion:kV(_)})}function QG($){try{return JSON.parse($)}catch{return null}}function z1($){return`'${$.replace(/'/g,"'\\''")}'`}function YG($){return["machines",...$].map(z1).join(" ")}function jG($){return $==="local"||$==="localhost"||$===D1()||$===process.env.HASNA_MACHINE_ID||$===process.env.OPEN_MACHINES_MACHINE_ID||$===process.env.MACHINE_ID}function Fv($,_){let U=jG($),W=U?_:`ssh ${z1($)} ${z1(_)}`,J=gV("bash",["-c",W],{encoding:"utf8",env:process.env});return{stdout:J.stdout||"",stderr:J.stderr||"",exitCode:J.status??1,source:U?"local":"ssh"}}async function PV($,_,U){return await $(_,U)}function Y1($,_){if(_)return"ok";return $===!1?"warn":"fail"}function j1($){return $.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function Kv($){if($==="@hasna/knowledge")return"knowledge";if($==="@hasna/machines")return"machines";return $.split("/").pop()??$}function bv($){return $.trim().split(/\r?\n/).find(Boolean)??""}function fV($){return $.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function CV($){let _={};for(let U of $.split(/\r?\n/)){let W=U.indexOf("=");if(W<=0)continue;_[U.slice(0,W)]=U.slice(W+1)}return _}function N4($){return{id:$.id,kind:$.kind,status:$.status,target:$.target,expected:$.expected??null,actual:$.actual??null,detail:$.detail,source:$.source}}async function TV($,_,U){let W=[`cmd=${z1(_.command)}`,'path="$(command -v "$cmd" 2>/dev/null || true)"','printf "path=%s\\n" "$path"',`if [ -n "$path" ]; then version="$("$cmd" ${_.versionArgs??"--version"} 2>/dev/null || true)"; printf "version=%s\\n" "$version"; fi`].join("; "),J=await PV(U,$,W),X=CV(J.stdout);return{path:X.path||null,version:X.version?bv(X.version):null,stderr:J.stderr,source:J.source??(jG($)?"local":"ssh")}}function IV($){let _=$==="name"?String.raw`s/.*"name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`:String.raw`s/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`;return[`if command -v bun >/dev/null 2>&1; then bun -e "const p=JSON.parse(await Bun.file(process.argv[1]).text()); console.log(p.${$} ?? '')" "$pkg" 2>/dev/null`,`elif command -v node >/dev/null 2>&1; then node -e "const fs=require('fs'); const p=JSON.parse(fs.readFileSync(process.argv[1], 'utf8')); console.log(p.${$} || '')" "$pkg" 2>/dev/null`,`else sed -n '${_}' "$pkg" | head -n 1`,"fi"].join("; ")}async function Mv($,_,U){let W=[`path=${z1(_.path)}`,'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"','pkg="$path/package.json"','printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',`if [ -f "$pkg" ]; then printf "package_name=%s\\n" "$(${IV("name")})"; printf "version=%s\\n" "$(${IV("version")})"; fi`].join("; "),J=await PV(U,$,W),X=CV(J.stdout);return{exists:X.exists==="yes",packageJson:X.package_json==="yes",packageName:X.package_name||null,version:X.version||null,stderr:J.stderr,source:J.source??(jG($)?"local":"ssh")}}async function Iv($,_,U){let W=await TV($,_,U),J=Boolean(W.path),X=[N4({id:`command:${j1(_.command)}:path`,kind:"command",status:Y1(_.required,J),target:_.command,expected:"available",actual:W.path??"missing",detail:J?`found at ${W.path}`:W.stderr||"command missing",source:W.source})];if(_.expectedVersion){let G=fV(W.version??"");X.push(N4({id:`command:${j1(_.command)}:version`,kind:"command",status:G===_.expectedVersion?"ok":Y1(_.required,!1),target:_.command,expected:_.expectedVersion,actual:G??W.version??"missing",detail:G?`version output: ${W.version}`:"version unavailable",source:W.source}))}return X}async function gv($,_,U){let W=_.command??Kv(_.name),J=await TV($,{command:W,expectedVersion:_.expectedVersion,required:_.required},U),X=Boolean(J.path),G=[N4({id:`package:${j1(_.name)}:command`,kind:"package",status:Y1(_.required,X),target:_.name,expected:W,actual:J.path??"missing",detail:X?`${W} found at ${J.path}`:`${W} command missing`,source:J.source})];if(_.expectedVersion){let Q=fV(J.version??"");G.push(N4({id:`package:${j1(_.name)}:version`,kind:"package",status:Q===_.expectedVersion?"ok":Y1(_.required,!1),target:_.name,expected:_.expectedVersion,actual:Q??J.version??"missing",detail:Q?`version output: ${J.version}`:"version unavailable",source:J.source}))}return G}async function wv($,_,U){let W=await Mv($,_,U),J=_.label??_.path,X=[N4({id:`workspace:${j1(J)}:path`,kind:"workspace",status:Y1(_.required,W.exists),target:J,expected:_.path,actual:W.exists?"exists":"missing",detail:W.exists?`workspace exists at ${_.path}`:W.stderr||`workspace missing at ${_.path}`,source:W.source})];if(_.expectedPackageName)X.push(N4({id:`workspace:${j1(J)}:package-name`,kind:"workspace",status:W.packageName===_.expectedPackageName?"ok":Y1(_.required,!1),target:J,expected:_.expectedPackageName,actual:W.packageName??(W.packageJson?"missing-name":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));if(_.expectedVersion)X.push(N4({id:`workspace:${j1(J)}:version`,kind:"workspace",status:W.version===_.expectedVersion?"ok":Y1(_.required,!1),target:J,expected:_.expectedVersion,actual:W.version??(W.packageJson?"missing-version":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));return X}function SV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:n6,workspace_home:_.knowledge?.workspace_home??null},message:Ev($.source,$.machines.length)}}async function DG(){try{return await import("@hasna/machines/consumer")}catch($){if(u_($)!=="module_not_found")throw $;return await import("@hasna/machines")}}function ZV($,_,U){let W=V_($);if(VW(UG(W)))return null;let J=Array.isArray(W.machines)?W.machines:null,X=_$(W.local_machine_id);if(!J||!X)return null;let G={ok:!0,source:"open-machines",generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),local_machine_id:X,local_hostname:_$(W.local_hostname)??D1(),current_platform:_$(W.current_platform)??_G(),machines:J.map((Q)=>Av(Q,X)),warnings:s4(W.warnings),adapter:U};return SV(G,_)}function o8($){return $==="local"||$==="lan"||$==="tailscale"||$==="ssh"||$==="unknown"?$:null}function vV($){let _=V_($),U=_$(_.observed_at),W=_$(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:_$(_.verified_at),expires_at:_$(_.expires_at),ttl_ms:Lv(_.ttl_ms),source_authority:W,confidence:_$(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:s4(_.reasons)}}function yV($,_){let U=V_($);if(VW(UG(U)))return null;let W=_$(U.target)??_$(U.command_target);if(U.ok!==!0||!W)return null;let J=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,X=typeof J?.selected_hint==="object"&&J.selected_hint!==null?J.selected_hint:null;return{target:W,route:o8(U.route),targetKind:o8(X?.kind)??o8(U.source)??o8(U.route),confidence:_$(U.confidence),source:"open-machines",adapter:_,evidence:J,cacheability:vV(U.cacheability),warnings:s4(U.warnings)}}function Pq($){let _=V_($);return{path:_$(_.path),source:_$(_.source)??"unresolved"}}function kv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.status),X=_$(U.severity),G=_$(U.message);if(!W||!J||!X||!G)return[];return[{id:W,status:J,severity:X,message:G,path:_$(U.path),source:_$(U.source)??"unknown",path_exists:$G(U.path_exists)}]})}function Pv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.reason),X=s4(U.command),G=_$(U.shell_command),Q=s4(U.apply_command),Y=_$(U.apply_shell_command);if(!W||!J||!X.length||!G||!Q.length||!Y)return[];return[{id:W,reason:J,command:X,shell_command:G,apply_command:Q,apply_shell_command:Y}]})}function fv($){if(!($.projectRootSource==="inferred"||$.openFilesRootSource==="inferred"||$.trustStatus==="untrusted"||$.authStatus==="unknown"||$.warnings.some((J)=>J.includes("inferred")||J.includes("untrusted")||J.includes("unknown_auth")||J.includes("missing"))))return[];let U=["machines","workspace","repair","--machine",$.requestedMachineId,"--project",$.projectId,"--repo",$.repoName,"--open-files-repo",$.openFilesRepoName??"open-files","--json"],W=[...U,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:U,shell_command:U.map(z1).join(" "),apply_command:W,apply_shell_command:W.map(z1).join(" ")}]}function hV($,_,U){let W=V_($);if(VW(UG(W)))return null;let J=V_(W.paths),X=V_(W.project),G=V_(W.machine),Q=Pq(J.project_root),Y=Pq(J.workspace_root),j=Pq(J.open_files_root);if(W.ok!==!0||!Q.path)return null;let O=typeof W.evidence==="object"&&W.evidence!==null?W.evidence:null,B=_$(W.requested_machine_id)??_.machineId,V=_$(X.project_id)??_.projectId??"open-knowledge",L=_$(X.repo_name)??_.repoName??_.projectId??"open-knowledge",N=_$(G.trust_status)??"unknown",H=_$(G.auth_status)??"unknown",R=s4(W.warnings),E=kv(W.diagnostics),A=Pv(W.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:B,machine_id:_$(W.machine_id),project_id:V,repo_name:L,project_root:Q.path,project_root_source:Q.source,workspace_root:Y.path,workspace_root_source:Y.source,open_files_root:j.path,open_files_root_source:j.source,trust_status:N,auth_status:H,current:G.current===!0,primary:G.primary===!0,diagnostics:E,repair_hints:A.length?A:fv({requestedMachineId:B,projectId:V,repoName:L,openFilesRepoName:_.openFilesRepoName,warnings:R,projectRootSource:Q.source,openFilesRootSource:j.source,trustStatus:N,authStatus:H}),evidence:O,cacheability:vV(W.cacheability),warnings:R}}async function t8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["topology","--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await e2(U,YG(W));if(J.exitCode!==0)return null;return ZV(QG(J.stdout),$,_)}async function z4($,_){let U=[];if(_.error)U.push(`open_machines_unavailable:${_.error}`);let W=$.runner??NW,J=$.includeTailscale===!1?{peers:new Map,selfKey:null}:await Bv(W,U),X=Hv(J.selfKey),Q=[...new Set([X,...J.peers.keys()])].sort().map((Y)=>Vv({machineId:Y,localMachineId:X,peer:J.peers.get(Y)}));return SV({ok:!0,source:"local",generated_at:($.now??new Date).toISOString(),local_machine_id:X,local_hostname:D1(),current_platform:_G(),machines:Q,warnings:U,adapter:_},$)}async function xV($={}){let _=HW($);if(_==="disabled")return await z4($,w$(_));let U=XG(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??DG)(),X=WG(_,J);if(X)return await z4($,X);let G=GG(_,J);if(J?.discoverMachineTopology){let Q=J.discoverMachineTopology({includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),Y=ZV(Q,$,G);if(Y)return Y;if(_==="sdk")return await z4($,w$(_,"invalid_topology_shape"));return await t8($,U)??await z4($,w$(_,"invalid_topology_shape"))}if(_==="sdk")return await z4($,w$(_,"missing_discoverMachineTopology"));return await t8($,U)??await z4($,w$(_,"missing_discoverMachineTopology"))}return await t8($,U)??await z4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await z4($,w$(_,u_(W)));return await t8($,U)??await z4($,w$(_,u_(W)))}}async function a8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["route","--machine",$.machineId,"--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await e2(U,YG(W));if(J.exitCode!==0)return null;return yV(QG(J.stdout),_)}function q4($,_){return{target:$,route:null,targetKind:null,confidence:null,source:"raw",adapter:_,evidence:null,cacheability:null,warnings:[]}}async function fq($){let _=HW($);if(_==="disabled")return q4($.machineId,w$(_));let U=XG(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??DG)(),X=WG(_,J);if(X)return q4($.machineId,X);let G=GG(_,J);if(J?.resolveMachineRoute){let Q=yV(J.resolveMachineRoute($.machineId,{includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),G);if(Q)return Q;if(_==="sdk")return q4($.machineId,w$(_,"invalid_route_shape"));return await a8($,U)??q4($.machineId,w$(_,"invalid_route_shape"))}if(_==="sdk")return q4($.machineId,w$(_,"missing_resolveMachineRoute"));return await a8($,U)??q4($.machineId,w$(_,"missing_resolveMachineRoute"))}return await a8($,U)??q4($.machineId,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]};return await a8($,U)??{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]}}}async function s8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=$.projectId??"open-knowledge",J=$.repoName??"open-knowledge",X=["workspace","resolve","--machine",$.machineId,"--project",W,"--repo",J,"--open-files-repo",$.openFilesRepoName??"open-files","--json"];if($.includeTailscale===!1)X.push("--no-tailscale");let G=await e2(U,YG(X));if(G.exitCode!==0)return null;return hV(QG(G.stdout),$,_)}function Cv($){let _=$.peerWorkspace?.trim();if(!_)return null;return{ok:!0,source:"argument",adapter:w$(HW($),"argument_override"),requested_machine_id:$.machineId,machine_id:$.machineId,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:_,project_root_source:"argument",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:[]}}function O4($,_,U){return{ok:!1,source:"raw",adapter:U,requested_machine_id:$.machineId,machine_id:null,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:null,project_root_source:"unresolved",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:_}}async function zG($){let _=Cv($);if(_)return _;let U=HW($);if(U==="disabled")return O4($,["adapter_disabled"],w$(U));let W=XG(U);try{if(U!=="cli"){let X=await($.loadOpenMachines??DG)(),G=WG(U,X);if(G)return O4($,[`unsupported_contract_version:${G.contract_version}`],G);let Q=GG(U,X);if(X?.resolveMachineWorkspace){let Y=hV(X.resolveMachineWorkspace({machineId:$.machineId,projectId:$.projectId??"open-knowledge",repoName:$.repoName??"open-knowledge",openFilesRepoName:$.openFilesRepoName??"open-files",includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),$,Q);if(Y)return Y;if(U==="sdk")return O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"));return await s8($,W)??O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"))}if(U==="sdk")return O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"));return await s8($,W)??O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"))}return await s8($,W)??O4($,["machines_cli_unavailable"],w$(U,"machines_cli_unavailable"))}catch(J){if(U==="sdk")return O4($,[u_(J)],w$(U,u_(J)));return await s8($,W)??O4($,[u_(J)],w$(U,u_(J)))}}function mV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:n6,workspace_home:_.knowledge?.workspace_home??null},message:$.ok?`Machine ${$.machine_id} passed knowledge preflight`:`Machine ${$.machine_id} failed knowledge preflight: ${$.summary.fail} failing check(s)`}}function uV($,_,U){let W=V_($);if(VW(UG(W)))return null;let J=Array.isArray(W.checks)?W.checks:null,X=_$(W.machine_id)??_$(W.machineId);if(!J||!X)return null;let G=J.map((Y)=>{let j=V_(Y),O=_$(j.status),B=_$(j.kind),V=_$(j.source);return N4({id:_$(j.id)??"unknown",kind:B==="command"||B==="package"||B==="workspace"?B:"command",status:O==="ok"||O==="warn"||O==="fail"?O:"fail",target:_$(j.target)??"unknown",expected:_$(j.expected),actual:_$(j.actual),detail:_$(j.detail)??"",source:V==="local"||V==="ssh"||V==="open-machines"?V:"open-machines"})}),Q={ok:G.filter((Y)=>Y.status==="ok").length,warn:G.filter((Y)=>Y.status==="warn").length,fail:G.filter((Y)=>Y.status==="fail").length};return mV({ok:Q.fail===0,source:"open-machines",machine_id:X,generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),checks:G,summary:Q,adapter:U},_)}function Tv($){if(!$.runner)return NW;return async(_)=>{let U=await $.runner?.("local",_);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function Sv($){return[$.name,$.command,$.expectedVersion].filter((_)=>Boolean(_)).join(":")}function Zv($){let _=[$.expectedPackageName,$.expectedVersion].filter((W)=>Boolean(W)).join(":"),U=_?`${$.path}:${_}`:$.path;return $.label?`${$.label}=${U}`:U}async function e8($,_){let U=Tv($);if(!await BW("machines",U))return null;let W=["compatibility","--json","--machine",$.machineId??"local"];for(let X of $.commands??[])W.push("--command",X.expectedVersion?`${X.command}:${X.expectedVersion}`:X.command);for(let X of $.packages??[])W.push("--package",Sv(X));for(let X of $.workspaces??[])W.push("--workspace",Zv(X));let J=await e2(U,YG(W));if(J.exitCode!==0)return null;return uV(QG(J.stdout),$,_)}async function L4($,_){let U=$.machineId??D1(),W=$.runner??Fv,J=$.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],X=$.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],G=$.workspaces??[],Q=[];for(let j of J)Q.push(...await Iv(U,j,W));for(let j of X)Q.push(...await gv(U,j,W));for(let j of G)Q.push(...await wv(U,j,W));if(_.error)Q.push(N4({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:_.error,detail:"Using knowledge local/ssh compatibility fallback",source:jG(U)?"local":"ssh"}));let Y={ok:Q.filter((j)=>j.status==="ok").length,warn:Q.filter((j)=>j.status==="warn").length,fail:Q.filter((j)=>j.status==="fail").length};return mV({ok:Y.fail===0,source:"local",machine_id:U,generated_at:($.now??new Date).toISOString(),checks:Q,summary:Y,adapter:_},$)}async function dV($={}){let _=HW($);if(_==="disabled")return await L4($,w$(_));let U=XG(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??DG)(),X=WG(_,J);if(X)return await L4($,X);let G=GG(_,J);if(J?.checkMachineCompatibility){let Q=J.checkMachineCompatibility({machineId:$.machineId,commands:$.commands,packages:$.packages,workspaces:$.workspaces,runner:$.runner,now:$.now}),Y=uV(Q,$,G);if(Y)return Y;if(_==="sdk")return await L4($,w$(_,"invalid_compatibility_shape"));return await e8($,U)??await L4($,w$(_,"invalid_compatibility_shape"))}if(_==="sdk")return await L4($,w$(_,"missing_checkMachineCompatibility"));return await e8($,U)??await L4($,w$(_,"missing_checkMachineCompatibility"))}return await e8($,U)??await L4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await L4($,w$(_,u_(W)));return await e8($,U)??await L4($,w$(_,u_(W)))}}import{createHash as vv,randomUUID as cV}from"crypto";function yv($,_){return`${$}_${vv("sha256").update(_).digest("hex").slice(0,20)}`}function hv($){let _=d($);try{let U=_.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(U.map((W)=>[W.status,W.n]))}finally{_.close()}}function nV($,_){let U=f0(_.modelRef,_.config),W=j_(U),J=d($);try{return J.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri + metadata_json = excluded.metadata_json`,[J,_,U.revision,U.hash,h$(U.raw.extracted_text_ref)??null,JSON.stringify(X),W]),$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get(_,U.revision)?.id??null}function Yv($,_,U){if(U.previousRevision){let W=$.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.previousRevision).map((J)=>J.id);if(W.length>0)return W}if(U.revision)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all(_,U.revision).map((W)=>W.id);if(U.hash)return $.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all(_,U.hash).map((W)=>W.id);return $.query("SELECT id FROM source_revisions WHERE source_id = ?").all(_).map((W)=>W.id)}function jv($,_){let U=$.query("SELECT id FROM chunks WHERE source_revision_id = ?").all(_),W=0,J=0;for(let G of U){let Q=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(G.id);W+=Q?.n??0;let Y=$.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(G.id);J+=Y?.n??0,$.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[G.id]),$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[G.id])}$.run("DELETE FROM chunks WHERE source_revision_id = ?",[_]);let X=$.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get(_);return $.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[IV(X?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),_]),{chunksDeleted:U.length,embeddingsDeleted:W,vectorEntriesDeleted:J}}function Dv($,_){return _==="deleted"||["delete","deleted","remove","removed"].includes($)}function zv($){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes($)}function qv($){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes($)}async function gV($){let _=($.now??new Date).toISOString();if($.safetyPolicy)X4($.dbPath,$.safetyPolicy);$$($.dbPath);let U=await Xv($.input,$.config,$.safetyPolicy),W=Jv(U),J=d($.dbPath),X=`run_${lZ()}`;try{return J.transaction(()=>{J.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[X,"open-files-outbox",$.input,"completed","local","open-files-outbox",JSON.stringify({path:$.input,events:W.length}),_,_]);let G=new Set,Q=new Set,Y=0,j=0,O=0,B=0,V=0,L=0,N=0;return a$(J,{event_type:"source_read",action:$.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:$.input,decision:"allow",metadata:{events:W.length,read_only:!0},created_at:_}),W.forEach((H,R)=>{let F=Uv(H,_),A=Gv(J,F,_);G.add(A);let M=Qv(J,A,F,_);if(M)Q.add(M);let K=Yv(J,A,F);for(let I of K){Q.add(I);let Z=jv(J,I);Y+=Z.chunksDeleted,j+=Z.embeddingsDeleted,O+=Z.vectorEntriesDeleted,B+=1}if(Dv(F.eventType,F.status))V+=1;if(zv(F.eventType))L+=1;if(qv(F.eventType)||F.acl!==void 0)N+=1;J.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[o8("evt",`${X}\x00${R}\x00${F.sourceRef}\x00${F.eventType}`),X,"info",F.eventType,JSON.stringify({source_ref:F.sourceRef,source_uri:F.sourceUri,revision:F.revision,hash:F.hash,status:F.status,affected_revisions:K.length}),F.updatedAt])}),J.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) + VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[o8("usage",X),X,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),_]),a$(J,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:$.dbPath,decision:"allow",metadata:{run_id:X,events:W.length,sources:G.size,revisions:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O},created_at:_}),{path:$.input,db_path:$.dbPath,run_id:X,events_seen:W.length,sources_touched:G.size,revisions_touched:Q.size,chunks_deleted:Y,embeddings_deleted:j,vector_entries_deleted:O,stale_revisions:B,deleted_sources:V,moved_sources:L,permission_updates:N}})()}finally{J.close()}}import{spawnSync as PV}from"child_process";import{hostname as z1,platform as fV,userInfo as Ov}from"os";var Lv=1,Nv="@hasna/machines",Bv="@hasna/machines/consumer";function _$($){return typeof $==="string"&&$.length>0?$:null}function e4($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function V_($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function _5($){return typeof $==="boolean"?$:null}function Hv($){return typeof $==="number"&&Number.isFinite($)?$:null}function U5($=fV()){let _=$.toLowerCase();if(_==="darwin"||_==="macos")return"macos";if(_==="win32"||_==="windows")return"windows";if(_==="linux")return"linux";return $}function NW($){let _=PV("bash",["-c",$],{encoding:"utf8",env:process.env});return{stdout:_.stdout||"",stderr:_.stderr||"",exitCode:_.status??1}}async function $U($,_){return await $(_)}async function BW($,_){return(await $U(_,`command -v ${$} >/dev/null 2>&1`)).exitCode===0}function Vv($){try{let _=JSON.parse($);if(!_||typeof _!=="object")return null;return _}catch{return null}}function wV($){if(!$)return null;return $.HostName??$.DNSName?.split(".")[0]??null}async function Rv($,_){let U=new Map;if(!await BW("tailscale",$))return _.push("tailscale_not_available"),{peers:U,selfKey:null};let W=await $U($,"tailscale status --json");if(W.exitCode!==0)return _.push(`tailscale_status_failed:${W.stderr.trim()||W.exitCode}`),{peers:U,selfKey:null};let J=Vv(W.stdout);if(!J)return _.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let X=(G)=>{let Q=wV(G);if(Q&&G)U.set(Q,G)};X(J.Self);for(let G of Object.values(J.Peer??{}))X(G);return{peers:U,selfKey:wV(J.Self)}}function Av($){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??$??z1()}function Fv($){let _=$.machineId===$.localMachineId||$.machineId===z1(),U=$.peer?.DNSName?.replace(/\.$/,"")??null,W=U??$.peer?.TailscaleIPs?.[0]??null,J=[];if(_)J.push({kind:"local",target:"localhost",reachable:!0});if(W)J.push({kind:"tailscale",target:W,reachable:$.peer?.Online??null});let X=J.find((G)=>G.kind==="local")??J.find((G)=>G.kind==="tailscale")??null;return{machine_id:$.machineId,hostname:$.peer?.HostName??(_?z1():$.machineId),local:_,platform:$.peer?.OS?U5($.peer.OS):_?U5():null,os:$.peer?.OS??(_?fV():null),user:_?Ov().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:U,ips:$.peer?.TailscaleIPs??[],online:$.peer?.Online??null,active:$.peer?.Active??null,last_seen:$.peer?.LastSeen??null},ssh:{address:null,route:X?.kind==="local"?"local":X?.kind==="tailscale"?"tailscale":"unknown",command_target:X?.target??null},route_hints:J,tags:[],metadata:{},source:"local"}}function Ev($){if(!Array.isArray($))return[];return $.map((_)=>{let U=V_(_),W=_$(U.kind)??"unknown";return{kind:W==="local"||W==="lan"||W==="tailscale"||W==="ssh"?W:"unknown",target:_$(U.target)??"",reachable:_5(U.reachable)}}).filter((_)=>_.target.length>0)}function Kv($,_){let U=_$($.machine_id)??_$($.hostname)??"unknown",W=V_($.tailscale),J=V_($.ssh),X=_$($.heartbeat_status),G=_$(J.route);return{machine_id:U,hostname:_$($.hostname),local:U===_,platform:_$($.platform),os:_$($.os),user:_$($.user),workspace_path:_$($.workspace_path),manifest_declared:$.manifest_declared===!0,heartbeat_status:X==="online"||X==="offline"?X:"unknown",last_heartbeat_at:_$($.last_heartbeat_at),tailscale:{dns_name:_$(W.dns_name),ips:e4(W.ips),online:_5(W.online),active:_5(W.active),last_seen:_$(W.last_seen)},ssh:{address:_$(J.address),route:G==="local"||G==="lan"||G==="tailscale"?G:"unknown",command_target:_$(J.command_target)},route_hints:Ev($.route_hints),tags:e4($.tags),metadata:V_($.metadata),source:"open-machines"}}function bv($,_){return`${_} machine${_===1?"":"s"} discovered via ${$}`}function u_($){let _=$ instanceof Error?$.message:String($);return _.includes("Cannot find module '@hasna/machines'")||_.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":_}function HW($){return $.adapterMode??"auto"}function CV($){let _=$?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof _==="number")return _;let U=$?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function J5($){return typeof $.schema_version==="number"?$.schema_version:null}function VW($){return typeof $==="number"&&$>Lv?$:null}function W5($){return{package:Nv,entrypoint:Bv,mode:$.mode,implementation:$.implementation,contract_version:$.contractVersion??null,available:$.available,error:$.error??null}}function w$($,_="adapter_disabled"){return W5({mode:$,implementation:"disabled",available:!1,error:_})}function X5($,_){let U=VW(CV(_));if(!U)return null;return W5({mode:$,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function G5($){return W5({mode:$,implementation:"cli",available:!0})}function Q5($,_){return W5({mode:$,implementation:"sdk",available:!0,contractVersion:CV(_)})}function Y5($){try{return JSON.parse($)}catch{return null}}function q1($){return`'${$.replace(/'/g,"'\\''")}'`}function j5($){return["machines",...$].map(q1).join(" ")}function D5($){return $==="local"||$==="localhost"||$===z1()||$===process.env.HASNA_MACHINE_ID||$===process.env.OPEN_MACHINES_MACHINE_ID||$===process.env.MACHINE_ID}function Mv($,_){let U=D5($),W=U?_:`ssh ${q1($)} ${q1(_)}`,J=PV("bash",["-c",W],{encoding:"utf8",env:process.env});return{stdout:J.stdout||"",stderr:J.stderr||"",exitCode:J.status??1,source:U?"local":"ssh"}}async function TV($,_,U){return await $(_,U)}function j1($,_){if(_)return"ok";return $===!1?"warn":"fail"}function D1($){return $.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function Iv($){if($==="@hasna/knowledge")return"knowledge";if($==="@hasna/machines")return"machines";return $.split("/").pop()??$}function gv($){return $.trim().split(/\r?\n/).find(Boolean)??""}function SV($){return $.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function ZV($){let _={};for(let U of $.split(/\r?\n/)){let W=U.indexOf("=");if(W<=0)continue;_[U.slice(0,W)]=U.slice(W+1)}return _}function N4($){return{id:$.id,kind:$.kind,status:$.status,target:$.target,expected:$.expected??null,actual:$.actual??null,detail:$.detail,source:$.source}}async function vV($,_,U){let W=[`cmd=${q1(_.command)}`,'path="$(command -v "$cmd" 2>/dev/null || true)"','printf "path=%s\\n" "$path"',`if [ -n "$path" ]; then version="$("$cmd" ${_.versionArgs??"--version"} 2>/dev/null || true)"; printf "version=%s\\n" "$version"; fi`].join("; "),J=await TV(U,$,W),X=ZV(J.stdout);return{path:X.path||null,version:X.version?gv(X.version):null,stderr:J.stderr,source:J.source??(D5($)?"local":"ssh")}}function kV($){let _=$==="name"?String.raw`s/.*"name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`:String.raw`s/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p`;return[`if command -v bun >/dev/null 2>&1; then bun -e "const p=JSON.parse(await Bun.file(process.argv[1]).text()); console.log(p.${$} ?? '')" "$pkg" 2>/dev/null`,`elif command -v node >/dev/null 2>&1; then node -e "const fs=require('fs'); const p=JSON.parse(fs.readFileSync(process.argv[1], 'utf8')); console.log(p.${$} || '')" "$pkg" 2>/dev/null`,`else sed -n '${_}' "$pkg" | head -n 1`,"fi"].join("; ")}async function wv($,_,U){let W=[`path=${q1(_.path)}`,'printf "exists=%s\\n" "$(test -d "$path" && printf yes || printf no)"','pkg="$path/package.json"','printf "package_json=%s\\n" "$(test -f "$pkg" && printf yes || printf no)"',`if [ -f "$pkg" ]; then printf "package_name=%s\\n" "$(${kV("name")})"; printf "version=%s\\n" "$(${kV("version")})"; fi`].join("; "),J=await TV(U,$,W),X=ZV(J.stdout);return{exists:X.exists==="yes",packageJson:X.package_json==="yes",packageName:X.package_name||null,version:X.version||null,stderr:J.stderr,source:J.source??(D5($)?"local":"ssh")}}async function kv($,_,U){let W=await vV($,_,U),J=Boolean(W.path),X=[N4({id:`command:${D1(_.command)}:path`,kind:"command",status:j1(_.required,J),target:_.command,expected:"available",actual:W.path??"missing",detail:J?`found at ${W.path}`:W.stderr||"command missing",source:W.source})];if(_.expectedVersion){let G=SV(W.version??"");X.push(N4({id:`command:${D1(_.command)}:version`,kind:"command",status:G===_.expectedVersion?"ok":j1(_.required,!1),target:_.command,expected:_.expectedVersion,actual:G??W.version??"missing",detail:G?`version output: ${W.version}`:"version unavailable",source:W.source}))}return X}async function Pv($,_,U){let W=_.command??Iv(_.name),J=await vV($,{command:W,expectedVersion:_.expectedVersion,required:_.required},U),X=Boolean(J.path),G=[N4({id:`package:${D1(_.name)}:command`,kind:"package",status:j1(_.required,X),target:_.name,expected:W,actual:J.path??"missing",detail:X?`${W} found at ${J.path}`:`${W} command missing`,source:J.source})];if(_.expectedVersion){let Q=SV(J.version??"");G.push(N4({id:`package:${D1(_.name)}:version`,kind:"package",status:Q===_.expectedVersion?"ok":j1(_.required,!1),target:_.name,expected:_.expectedVersion,actual:Q??J.version??"missing",detail:Q?`version output: ${J.version}`:"version unavailable",source:J.source}))}return G}async function fv($,_,U){let W=await wv($,_,U),J=_.label??_.path,X=[N4({id:`workspace:${D1(J)}:path`,kind:"workspace",status:j1(_.required,W.exists),target:J,expected:_.path,actual:W.exists?"exists":"missing",detail:W.exists?`workspace exists at ${_.path}`:W.stderr||`workspace missing at ${_.path}`,source:W.source})];if(_.expectedPackageName)X.push(N4({id:`workspace:${D1(J)}:package-name`,kind:"workspace",status:W.packageName===_.expectedPackageName?"ok":j1(_.required,!1),target:J,expected:_.expectedPackageName,actual:W.packageName??(W.packageJson?"missing-name":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));if(_.expectedVersion)X.push(N4({id:`workspace:${D1(J)}:version`,kind:"workspace",status:W.version===_.expectedVersion?"ok":j1(_.required,!1),target:J,expected:_.expectedVersion,actual:W.version??(W.packageJson?"missing-version":"missing-package-json"),detail:W.packageJson?"package.json inspected":"package.json missing",source:W.source}));return X}function yV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:n6,workspace_home:_.knowledge?.workspace_home??null},message:bv($.source,$.machines.length)}}async function z5(){try{return await import("@hasna/machines/consumer")}catch($){if(u_($)!=="module_not_found")throw $;return await import("@hasna/machines")}}function hV($,_,U){let W=V_($);if(VW(J5(W)))return null;let J=Array.isArray(W.machines)?W.machines:null,X=_$(W.local_machine_id);if(!J||!X)return null;let G={ok:!0,source:"open-machines",generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),local_machine_id:X,local_hostname:_$(W.local_hostname)??z1(),current_platform:_$(W.current_platform)??U5(),machines:J.map((Q)=>Kv(Q,X)),warnings:e4(W.warnings),adapter:U};return yV(G,_)}function t8($){return $==="local"||$==="lan"||$==="tailscale"||$==="ssh"||$==="unknown"?$:null}function xV($){let _=V_($),U=_$(_.observed_at),W=_$(_.source_authority);if(!U||!W)return null;return{observed_at:U,verified_at:_$(_.verified_at),expires_at:_$(_.expires_at),ttl_ms:Hv(_.ttl_ms),source_authority:W,confidence:_$(_.confidence),cacheable:_.cacheable===!0,stale:_.stale===!0,reasons:e4(_.reasons)}}function mV($,_){let U=V_($);if(VW(J5(U)))return null;let W=_$(U.target)??_$(U.command_target);if(U.ok!==!0||!W)return null;let J=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,X=typeof J?.selected_hint==="object"&&J.selected_hint!==null?J.selected_hint:null;return{target:W,route:t8(U.route),targetKind:t8(X?.kind)??t8(U.source)??t8(U.route),confidence:_$(U.confidence),source:"open-machines",adapter:_,evidence:J,cacheability:xV(U.cacheability),warnings:e4(U.warnings)}}function Pq($){let _=V_($);return{path:_$(_.path),source:_$(_.source)??"unresolved"}}function Cv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.status),X=_$(U.severity),G=_$(U.message);if(!W||!J||!X||!G)return[];return[{id:W,status:J,severity:X,message:G,path:_$(U.path),source:_$(U.source)??"unknown",path_exists:_5(U.path_exists)}]})}function Tv($){if(!Array.isArray($))return[];return $.flatMap((_)=>{let U=V_(_),W=_$(U.id),J=_$(U.reason),X=e4(U.command),G=_$(U.shell_command),Q=e4(U.apply_command),Y=_$(U.apply_shell_command);if(!W||!J||!X.length||!G||!Q.length||!Y)return[];return[{id:W,reason:J,command:X,shell_command:G,apply_command:Q,apply_shell_command:Y}]})}function Sv($){if(!($.projectRootSource==="inferred"||$.openFilesRootSource==="inferred"||$.trustStatus==="untrusted"||$.authStatus==="unknown"||$.warnings.some((J)=>J.includes("inferred")||J.includes("untrusted")||J.includes("unknown_auth")||J.includes("missing"))))return[];let U=["machines","workspace","repair","--machine",$.requestedMachineId,"--project",$.projectId,"--repo",$.repoName,"--open-files-repo",$.openFilesRepoName??"open-files","--json"],W=[...U,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:U,shell_command:U.map(q1).join(" "),apply_command:W,apply_shell_command:W.map(q1).join(" ")}]}function uV($,_,U){let W=V_($);if(VW(J5(W)))return null;let J=V_(W.paths),X=V_(W.project),G=V_(W.machine),Q=Pq(J.project_root),Y=Pq(J.workspace_root),j=Pq(J.open_files_root);if(W.ok!==!0||!Q.path)return null;let O=typeof W.evidence==="object"&&W.evidence!==null?W.evidence:null,B=_$(W.requested_machine_id)??_.machineId,V=_$(X.project_id)??_.projectId??"open-knowledge",L=_$(X.repo_name)??_.repoName??_.projectId??"open-knowledge",N=_$(G.trust_status)??"unknown",H=_$(G.auth_status)??"unknown",R=e4(W.warnings),F=Cv(W.diagnostics),A=Tv(W.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:B,machine_id:_$(W.machine_id),project_id:V,repo_name:L,project_root:Q.path,project_root_source:Q.source,workspace_root:Y.path,workspace_root_source:Y.source,open_files_root:j.path,open_files_root_source:j.source,trust_status:N,auth_status:H,current:G.current===!0,primary:G.primary===!0,diagnostics:F,repair_hints:A.length?A:Sv({requestedMachineId:B,projectId:V,repoName:L,openFilesRepoName:_.openFilesRepoName,warnings:R,projectRootSource:Q.source,openFilesRootSource:j.source,trustStatus:N,authStatus:H}),evidence:O,cacheability:xV(W.cacheability),warnings:R}}async function a8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["topology","--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await $U(U,j5(W));if(J.exitCode!==0)return null;return hV(Y5(J.stdout),$,_)}async function z4($,_){let U=[];if(_.error)U.push(`open_machines_unavailable:${_.error}`);let W=$.runner??NW,J=$.includeTailscale===!1?{peers:new Map,selfKey:null}:await Rv(W,U),X=Av(J.selfKey),Q=[...new Set([X,...J.peers.keys()])].sort().map((Y)=>Fv({machineId:Y,localMachineId:X,peer:J.peers.get(Y)}));return yV({ok:!0,source:"local",generated_at:($.now??new Date).toISOString(),local_machine_id:X,local_hostname:z1(),current_platform:U5(),machines:Q,warnings:U,adapter:_},$)}async function dV($={}){let _=HW($);if(_==="disabled")return await z4($,w$(_));let U=G5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??z5)(),X=X5(_,J);if(X)return await z4($,X);let G=Q5(_,J);if(J?.discoverMachineTopology){let Q=J.discoverMachineTopology({includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),Y=hV(Q,$,G);if(Y)return Y;if(_==="sdk")return await z4($,w$(_,"invalid_topology_shape"));return await a8($,U)??await z4($,w$(_,"invalid_topology_shape"))}if(_==="sdk")return await z4($,w$(_,"missing_discoverMachineTopology"));return await a8($,U)??await z4($,w$(_,"missing_discoverMachineTopology"))}return await a8($,U)??await z4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await z4($,w$(_,u_(W)));return await a8($,U)??await z4($,w$(_,u_(W)))}}async function s8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=["route","--machine",$.machineId,"--json"];if($.includeTailscale===!1)W.push("--no-tailscale");let J=await $U(U,j5(W));if(J.exitCode!==0)return null;return mV(Y5(J.stdout),_)}function q4($,_){return{target:$,route:null,targetKind:null,confidence:null,source:"raw",adapter:_,evidence:null,cacheability:null,warnings:[]}}async function fq($){let _=HW($);if(_==="disabled")return q4($.machineId,w$(_));let U=G5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??z5)(),X=X5(_,J);if(X)return q4($.machineId,X);let G=Q5(_,J);if(J?.resolveMachineRoute){let Q=mV(J.resolveMachineRoute($.machineId,{includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),G);if(Q)return Q;if(_==="sdk")return q4($.machineId,w$(_,"invalid_route_shape"));return await s8($,U)??q4($.machineId,w$(_,"invalid_route_shape"))}if(_==="sdk")return q4($.machineId,w$(_,"missing_resolveMachineRoute"));return await s8($,U)??q4($.machineId,w$(_,"missing_resolveMachineRoute"))}return await s8($,U)??q4($.machineId,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]};return await s8($,U)??{...q4($.machineId,w$(_,u_(W))),warnings:[u_(W)]}}}async function e8($,_){let U=$.runner??NW;if(!await BW("machines",U))return null;let W=$.projectId??"open-knowledge",J=$.repoName??"open-knowledge",X=["workspace","resolve","--machine",$.machineId,"--project",W,"--repo",J,"--open-files-repo",$.openFilesRepoName??"open-files","--json"];if($.includeTailscale===!1)X.push("--no-tailscale");let G=await $U(U,j5(X));if(G.exitCode!==0)return null;return uV(Y5(G.stdout),$,_)}function Zv($){let _=$.peerWorkspace?.trim();if(!_)return null;return{ok:!0,source:"argument",adapter:w$(HW($),"argument_override"),requested_machine_id:$.machineId,machine_id:$.machineId,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:_,project_root_source:"argument",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:[]}}function O4($,_,U){return{ok:!1,source:"raw",adapter:U,requested_machine_id:$.machineId,machine_id:null,project_id:$.projectId??"open-knowledge",repo_name:$.repoName??"open-knowledge",project_root:null,project_root_source:"unresolved",workspace_root:null,workspace_root_source:"unresolved",open_files_root:null,open_files_root_source:"unresolved",trust_status:"unknown",auth_status:"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:null,cacheability:null,warnings:_}}async function q5($){let _=Zv($);if(_)return _;let U=HW($);if(U==="disabled")return O4($,["adapter_disabled"],w$(U));let W=G5(U);try{if(U!=="cli"){let X=await($.loadOpenMachines??z5)(),G=X5(U,X);if(G)return O4($,[`unsupported_contract_version:${G.contract_version}`],G);let Q=Q5(U,X);if(X?.resolveMachineWorkspace){let Y=uV(X.resolveMachineWorkspace({machineId:$.machineId,projectId:$.projectId??"open-knowledge",repoName:$.repoName??"open-knowledge",openFilesRepoName:$.openFilesRepoName??"open-files",includeTailscale:$.includeTailscale,runner:$.runner,now:$.now}),$,Q);if(Y)return Y;if(U==="sdk")return O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"));return await e8($,W)??O4($,["invalid_workspace_shape"],w$(U,"invalid_workspace_shape"))}if(U==="sdk")return O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"));return await e8($,W)??O4($,["missing_resolveMachineWorkspace"],w$(U,"missing_resolveMachineWorkspace"))}return await e8($,W)??O4($,["machines_cli_unavailable"],w$(U,"machines_cli_unavailable"))}catch(J){if(U==="sdk")return O4($,[u_(J)],w$(U,u_(J)));return await e8($,W)??O4($,[u_(J)],w$(U,u_(J)))}}function cV($,_){return{...$,knowledge:{scope:_.knowledge?.scope??"global",app_path:n6,workspace_home:_.knowledge?.workspace_home??null},message:$.ok?`Machine ${$.machine_id} passed knowledge preflight`:`Machine ${$.machine_id} failed knowledge preflight: ${$.summary.fail} failing check(s)`}}function nV($,_,U){let W=V_($);if(VW(J5(W)))return null;let J=Array.isArray(W.checks)?W.checks:null,X=_$(W.machine_id)??_$(W.machineId);if(!J||!X)return null;let G=J.map((Y)=>{let j=V_(Y),O=_$(j.status),B=_$(j.kind),V=_$(j.source);return N4({id:_$(j.id)??"unknown",kind:B==="command"||B==="package"||B==="workspace"?B:"command",status:O==="ok"||O==="warn"||O==="fail"?O:"fail",target:_$(j.target)??"unknown",expected:_$(j.expected),actual:_$(j.actual),detail:_$(j.detail)??"",source:V==="local"||V==="ssh"||V==="open-machines"?V:"open-machines"})}),Q={ok:G.filter((Y)=>Y.status==="ok").length,warn:G.filter((Y)=>Y.status==="warn").length,fail:G.filter((Y)=>Y.status==="fail").length};return cV({ok:Q.fail===0,source:"open-machines",machine_id:X,generated_at:_$(W.generated_at)??(_.now??new Date).toISOString(),checks:G,summary:Q,adapter:U},_)}function vv($){if(!$.runner)return NW;return async(_)=>{let U=await $.runner?.("local",_);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function yv($){return[$.name,$.command,$.expectedVersion].filter((_)=>Boolean(_)).join(":")}function hv($){let _=[$.expectedPackageName,$.expectedVersion].filter((W)=>Boolean(W)).join(":"),U=_?`${$.path}:${_}`:$.path;return $.label?`${$.label}=${U}`:U}async function $5($,_){let U=vv($);if(!await BW("machines",U))return null;let W=["compatibility","--json","--machine",$.machineId??"local"];for(let X of $.commands??[])W.push("--command",X.expectedVersion?`${X.command}:${X.expectedVersion}`:X.command);for(let X of $.packages??[])W.push("--package",yv(X));for(let X of $.workspaces??[])W.push("--workspace",hv(X));let J=await $U(U,j5(W));if(J.exitCode!==0)return null;return nV(Y5(J.stdout),$,_)}async function L4($,_){let U=$.machineId??z1(),W=$.runner??Mv,J=$.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],X=$.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],G=$.workspaces??[],Q=[];for(let j of J)Q.push(...await kv(U,j,W));for(let j of X)Q.push(...await Pv(U,j,W));for(let j of G)Q.push(...await fv(U,j,W));if(_.error)Q.push(N4({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:_.error,detail:"Using knowledge local/ssh compatibility fallback",source:D5(U)?"local":"ssh"}));let Y={ok:Q.filter((j)=>j.status==="ok").length,warn:Q.filter((j)=>j.status==="warn").length,fail:Q.filter((j)=>j.status==="fail").length};return cV({ok:Y.fail===0,source:"local",machine_id:U,generated_at:($.now??new Date).toISOString(),checks:Q,summary:Y,adapter:_},$)}async function lV($={}){let _=HW($);if(_==="disabled")return await L4($,w$(_));let U=G5(_);try{if(_!=="cli"){let J=await($.loadOpenMachines??z5)(),X=X5(_,J);if(X)return await L4($,X);let G=Q5(_,J);if(J?.checkMachineCompatibility){let Q=J.checkMachineCompatibility({machineId:$.machineId,commands:$.commands,packages:$.packages,workspaces:$.workspaces,runner:$.runner,now:$.now}),Y=nV(Q,$,G);if(Y)return Y;if(_==="sdk")return await L4($,w$(_,"invalid_compatibility_shape"));return await $5($,U)??await L4($,w$(_,"invalid_compatibility_shape"))}if(_==="sdk")return await L4($,w$(_,"missing_checkMachineCompatibility"));return await $5($,U)??await L4($,w$(_,"missing_checkMachineCompatibility"))}return await $5($,U)??await L4($,w$(_,"machines_cli_unavailable"))}catch(W){if(_==="sdk")return await L4($,w$(_,u_(W)));return await $5($,U)??await L4($,w$(_,u_(W)))}}import{createHash as xv,randomUUID as iV}from"crypto";function mv($,_){return`${$}_${xv("sha256").update(_).digest("hex").slice(0,20)}`}function uv($){let _=d($);try{let U=_.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(U.map((W)=>[W.status,W.n]))}finally{_.close()}}function rV($,_){let U=C0(_.modelRef,_.config),W=j_(U),J=d($);try{return J.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri FROM chunks c LEFT JOIN source_revisions sr ON sr.id = c.source_revision_id LEFT JOIN sources s ON s.id = sr.source_id LEFT JOIN vector_index_entries v ON v.chunk_id = c.id AND v.provider = ? AND v.model = ? WHERE v.id IS NULL - ORDER BY c.created_at ASC, c.ordinal ASC`).all(W.provider,W.model)}finally{J.close()}}function lV($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,W=_.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,X=nV($.dbPath,$).length,G=_.query(`SELECT COUNT(*) AS n FROM source_revisions - WHERE metadata_json LIKE '%"reindex_required":true%' OR metadata_json LIKE '%"status":"stale"%'`).get()?.n??0;return{schema_version:U,chunks:W,vector_entries:J,missing_embeddings:X,queued:hv($.dbPath),stale_revisions:G}}finally{_.close()}}function Cq($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=$.reason??"missing_embedding",W=nV($.dbPath,$),J=d($.dbPath),X=0,G=0;try{J.transaction(()=>{for(let Y of W){let j=yv("rq",`embedding\x00${Y.chunk_id}\x00${U}`);if(J.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",Y.chunk_id,U)){G+=1;continue}J.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[j,"embedding",Y.chunk_id,Y.source_uri,U,"pending",JSON.stringify({source_revision_id:Y.source_revision_id}),_,_]),X+=1}})()}finally{J.close()}return{enqueued:X,already_queued:G,reason:U}}function xv($){let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0;return _.run("DELETE FROM vector_index_entries"),_.run("DELETE FROM chunk_embeddings"),{embeddings:U,vectorEntries:W}}finally{_.close()}}function mv($,_,U){let W=f0(_.modelRef,_.config),J=j_(W),X=d($);try{return X.run(`UPDATE reindex_queue + ORDER BY c.created_at ASC, c.ordinal ASC`).all(W.provider,W.model)}finally{J.close()}}function pV($){$$($.dbPath);let _=d($.dbPath);try{let U=_.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,W=_.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,X=rV($.dbPath,$).length,G=_.query(`SELECT COUNT(*) AS n FROM source_revisions + WHERE metadata_json LIKE '%"reindex_required":true%' OR metadata_json LIKE '%"status":"stale"%'`).get()?.n??0;return{schema_version:U,chunks:W,vector_entries:J,missing_embeddings:X,queued:uv($.dbPath),stale_revisions:G}}finally{_.close()}}function Cq($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=$.reason??"missing_embedding",W=rV($.dbPath,$),J=d($.dbPath),X=0,G=0;try{J.transaction(()=>{for(let Y of W){let j=mv("rq",`embedding\x00${Y.chunk_id}\x00${U}`);if(J.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",Y.chunk_id,U)){G+=1;continue}J.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[j,"embedding",Y.chunk_id,Y.source_uri,U,"pending",JSON.stringify({source_revision_id:Y.source_revision_id}),_,_]),X+=1}})()}finally{J.close()}return{enqueued:X,already_queued:G,reason:U}}function dv($){let _=d($);try{let U=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0;return _.run("DELETE FROM vector_index_entries"),_.run("DELETE FROM chunk_embeddings"),{embeddings:U,vectorEntries:W}}finally{_.close()}}function cv($,_,U){let W=C0(_.modelRef,_.config),J=j_(W),X=d($);try{return X.run(`UPDATE reindex_queue SET status = ?, updated_at = ? WHERE kind = ? AND status = ? @@ -914,13 +914,13 @@ ${JSON.stringify($.evidence,null,2)}`].join(` WHERE v.chunk_id = reindex_queue.target_id AND v.provider = ? AND v.model = ? - )`,["completed",U,"embedding","pending",J.provider,J.model]).changes}finally{X.close()}}async function iV($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=`run_${cV()}`,W=$.full?xv($.dbPath):{embeddings:0,vectorEntries:0},J=Cq({...$,reason:$.full?"full_embedding_rebuild":"missing_embedding"}),X=d($.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,"embedding-refresh",$.full?"full":"incremental","running","local",f0($.modelRef,$.config),JSON.stringify({full:$.full===!0,queued:J}),_,_])}finally{X.close()}let G=await VX({dbPath:$.dbPath,config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,limit:$.limit,now:$.now}),Q=mv($.dbPath,$,_),Y=d($.dbPath);try{Y.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:$.full===!0,queued:J,indexed:G,completed_queue_items:Q}),_,U]),Y.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${cV()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:J,indexed:G,completed_queue_items:Q}),_])}finally{Y.close()}return{run_id:U,full:$.full===!0,deleted_embeddings:W.embeddings,deleted_vector_entries:W.vectorEntries,queued:J,indexed:G,completed_queue_items:Q}}import{createHash as oV}from"crypto";import{existsSync as tV,lstatSync as uv,readdirSync as dv,readFileSync as cv,statSync as nv}from"fs";import{basename as $U,extname as lv,join as iv,relative as rv,resolve as vq,sep as pv}from"path";import{pathToFileURL as rV}from"url";var ov=100,tv=25,av=262144,sv=5,ev=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),Tq=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),$y=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),_y=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,qG=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function Sq($){return`sha256:${oV("sha256").update($).digest("hex")}`}function Uy($){return`sha256:${oV("sha256").update($).digest("hex")}`}function RW($){return $.split(pv).join("/")}function Zq($,_){let U=rv($,_);return U?RW(U):$U(_)}function e4($){return ev.has(lv($).toLowerCase())}function pV($){return RW($).split("/").some((_)=>_y.test(_))}function aV($,_=220){let U=$.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function sV($){if(!$)return 0;return $.split(/\r\n|\n|\r/).length}function eV($){return{source_ref:$.sourceRef,source_path:$.sourcePath,line_start:$.lineCount>0?1:0,line_end:$.lineCount,content_hash:$.contentHash}}function Jy(){return[{base:".",maxDepth:0,spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:10,label:"root-rule-doc"},tags:["global-rules","rule-doc"],include:($)=>Tq.has($)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:($)=>{let _=RW($),U=$U(_);if(Tq.has(U)||_==="config.toml")return!0;if(_.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test(_)&&e4(_))return!0;return!1}}},{base:".claude",spec:{family:"claude",owner:"claude",scope:"global",precedence:{rank:30,label:"claude-rules"},tags:["global-rules","claude","agent-instructions"],include:($)=>{let _=RW($);return _==="CLAUDE.md"||/^rules\//.test(_)&&e4(_)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:($)=>{let _=RW($),U=$U(_);if(Tq.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test(_)&&e4(_)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:($)=>qG.test($)&&e4($)}},{base:".",maxDepth:0,spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode-config"},tags:["global-rules","opencode","config"],include:($)=>["opencode.json","opencode.jsonc","opencode.toml","opencode.yaml","opencode.yml"].includes($)}},{base:".hasna/prompts",spec:{family:"prompt",owner:"hasna",scope:"global",precedence:{rank:60,label:"selected-prompts"},tags:["global-rules","prompt"],include:($)=>qG.test($)&&e4($)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:($)=>qG.test($)&&e4($)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:($)=>qG.test($)&&e4($)}}]}function Wy($,_){let U=new Map;for(let W of Jy()){let J=vq($,W.base);if(!tV(J))continue;if(nv(J).isFile()){let G=$U(J);if(W.spec.include(G))U.set(J,{...W.spec,absPath:J});continue}$R({basePath:J,depth:0,maxDepth:W.maxDepth??sv,spec:W.spec,candidates:U,skipped:_})}return[...U.values()].sort((W,J)=>{if(W.precedence.rank!==J.precedence.rank)return W.precedence.rank-J.precedence.rank;return W.absPath.localeCompare(J.absPath)})}function $R($){let _=$.rootBasePath??$.basePath;if($.depth>$.maxDepth)return;for(let U of dv($.basePath,{withFileTypes:!0})){let W=iv($.basePath,U.name),J=Zq(_,W);if(U.isSymbolicLink())continue;if(U.isDirectory()){if($y.has(U.name))continue;if(pV(J)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}$R({...$,rootBasePath:_,basePath:W,depth:$.depth+1});continue}if(!U.isFile())continue;let X=Zq(vq(_),W);if(pV(X)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}if(!$.spec.include(X))continue;if(!e4(W))continue;$.candidates.set(W,{...$.spec,absPath:W})}}function Xy($){if(($.tags??[]).map((W)=>W.toLowerCase()).some((W)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(W)))return!0;let U=`${$.title} -${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(U)}function _R($,_){let U={source_path:$.source_path,source_path_ref:$.source_path_ref,source_ref:$.source_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,source_hash:$.source_hash,content_hash:$.content_hash,discovered_at:$.discovered_at,tags:$.tags,redaction_status:$.redaction_status,citations:$.citations};return{source_ref:$.source_ref,name:$.title,mime:"text/markdown",size:Buffer.byteLength(_),hash:$.content_hash,revision:$.content_hash,status:"active",updated_at:$.discovered_at,permissions:{mode:"read_only",allowed_purposes:["knowledge_index","knowledge_answer","agent_context"]},rule_provenance:U,source_family:$.source_family,source_path_ref:$.source_path_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,tags:$.tags,redaction_status:$.redaction_status,legacy_json_id:$.legacy_json_id??null,extracted_text:_}}function Gy($){let _=uv($.candidate.absPath),U=$.candidate.absPath,W=Zq($.root,U);if(_.size>$.maxBytesPerFile){let L=rV(U).href;return{evidence:{source_family:$.candidate.family,title:$U(U),source_path:U,source_path_ref:W,source_ref:L,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:"sha256:skipped-too-large",content_hash:"sha256:skipped-too-large",discovered_at:$.discoveredAt,tags:[...$.candidate.tags,"skipped"],redaction_status:"refused",redactions:[],citations:[],bytes:_.size,line_count:0,importable:!1,skipped_reason:"max_bytes_exceeded",preview:null},text:"",manifest:null}}let J=cv(U),X=J.toString("utf8"),G=w_(X,$.safetyPolicy),Y=G.findings.some((L)=>L.severity==="high")?"refused":G.findings.length>0?"redacted":"clean",j=Sq(G.text),O=rV(U).href,B=sV(G.text),V={source_family:$.candidate.family,title:$U(U),source_path:U,source_path_ref:W,source_ref:O,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:Uy(J),content_hash:j,discovered_at:$.discoveredAt,tags:[...$.candidate.tags],redaction_status:Y,redactions:G.findings.map((L)=>({type:L.type,severity:L.severity})),citations:[eV({sourceRef:O,sourcePath:U,lineCount:B,contentHash:j})],bytes:J.byteLength,line_count:B,importable:Y!=="refused",skipped_reason:Y==="refused"?"secret_refused":null,preview:Y==="refused"?null:aV(G.text)};return{evidence:V,text:G.text,manifest:V.importable?_R(V,G.text):null}}function Qy($){let _=w_($.item.content,$.safetyPolicy),W=_.findings.some((j)=>j.severity==="high")?"refused":_.findings.length>0?"redacted":"clean",J=`open-files://source/legacy-json/path/${encodeURIComponent($.item.id)}`,X=Sq(_.text),G=Sq($.item.content),Q=sV(_.text),Y={source_family:"legacy_json",title:$.item.title,source_path:$.legacyStorePath,source_path_ref:`legacy-json:${$.item.id}`,source_ref:J,owner:"legacy-json",scope:$.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:G,content_hash:X,discovered_at:$.discoveredAt,tags:[...new Set(["global-rules","legacy-json",...$.item.tags??[]])],redaction_status:W,redactions:_.findings.map((j)=>({type:j.type,severity:j.severity})),citations:[eV({sourceRef:J,sourcePath:$.legacyStorePath,lineCount:Q,contentHash:X})],bytes:Buffer.byteLength($.item.content),line_count:Q,importable:W!=="refused",skipped_reason:W==="refused"?"secret_refused":null,preview:W==="refused"?null:aV(_.text),legacy_json_id:$.item.id};return{evidence:Y,text:_.text,manifest:Y.importable?_R(Y,_.text):null}}function Yy($){if(!$.legacyStorePath||!tV($.legacyStorePath))return 0;let _=new Map($.records.filter((U)=>U.legacy_json_id&&U.importable).map((U)=>[U.legacy_json_id,U]));if(_.size===0)return 0;return g6($.legacyStorePath,()=>{let U=w1($.legacyStorePath);if(!U.exists)return 0;let W=0;for(let J of U.items){let X=_.get(J.id);if(!X)continue;let G=J.metadata??{};J.archived=!0,J.metadata={...G,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:$.now,source_ref:X.source_ref,source_hash:X.source_hash,content_hash:X.content_hash,data_loss:!1}},J.tags=[...new Set([...J.tags??[],"deprecated:knowledge-rules-import"])],J.updated_at=$.now,W+=1}if(W>0)l6($.legacyStorePath,{items:U.items});return W})}async function UR($={}){let _=vq($.root??process.cwd()),U=$.scope??"global",W=$.owner??"global-agent-rules-standard",J=$.dryRun!==!1,X=($.now??new Date).toISOString(),G=Math.max(1,Math.min($.maxItems??ov,1000)),Q=Math.max(1,Math.min($.limit??tv,100)),Y=Math.max(1024,Math.min($.maxBytesPerFile??av,2097152)),j=[],B=Wy(_,j).slice(0,G).map((i)=>Gy({root:_,candidate:{...i,owner:i.owner==="repository"?W:i.owner,scope:U},discoveredAt:X,maxBytesPerFile:Y,safetyPolicy:$.safetyPolicy})),L=($.includeLegacy===!1||!$.legacyStorePath?{exists:!1,items:[]}:w1($.legacyStorePath)).items.filter((i)=>i.archived!==!0&&Xy(i)).slice(0,G),N=L.map((i)=>Qy({item:i,legacyStorePath:$.legacyStorePath,discoveredAt:X,scope:U,safetyPolicy:$.safetyPolicy})),H=[...B,...N].slice(0,G),R=H.map((i)=>i.evidence),A=H.filter((i)=>i.manifest).map((i)=>i.manifest),M=R.filter((i)=>i.redaction_status==="refused").length,K=R.slice(0,Q),I=j.slice(0,Q),Z=null,k=0;if(!J){if(!$.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(A.length>0)Z=await g0({dbPath:$.dbPath,items:A,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:$.safetyPolicy,now:$.now,maxItems:G});if($.deprecateLegacy!==!1)k=Yy({legacyStorePath:$.legacyStorePath,records:R,now:X})}return{ok:M===0||A.length>0||J,workflow:"global-rules-provenance-import",dry_run:J,writes_performed:!J,root:_,scope:U,owner:W,discovered_at:X,max_items:G,evidence_limit:Q,records_seen:R.length,records_importable:A.length,records_refused:M,records_skipped:j.length,evidence_truncated:R.length>K.length,skipped_truncated:j.length>I.length,evidence:K,skipped:I,import_result:Z,legacy:{store_path:$.legacyStorePath??null,candidates:L.length,promoted:N.filter((i)=>i.manifest).length,deprecated:k,data_loss:!1},message:J?`Discovered ${R.length} rule source(s); ${A.length} importable, ${M} refused`:`Imported ${Z?.items_seen??0} rule source(s); ${k} legacy note(s) deprecated`}}import{createHash as jy,randomUUID as JR}from"crypto";function Dy($){return`sha256:${jy("sha256").update($).digest("hex")}`}function WR($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function XR($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function $0($){return typeof $==="string"&&$.length>0?$:null}function zy($){let _=XR($),U=$0(_.url)??$0(_.uri)??$0(_.sourceUrl);if(!U)return null;return{url:U,title:$0(_.title)??$0(_.name),snippet:$0(_.snippet)??$0(_.text)??$0(_.description),provider_metadata:_}}function OG($,_){if(Array.isArray($)){for(let J of $)OG(J,_);return}let U=zy($);if(U)_.set(U.url,U);let W=XR($);for(let J of["sources","results","citations","annotations","output"])if(W[J])OG(W[J],_)}function qy($,_){return Array.from({length:Math.min(_,3)},(U,W)=>({url:`https://example.com/knowledge-web-${W+1}`,title:`Fake web source ${W+1}`,snippet:`Deterministic web-search fixture for "${$}"`,provider_metadata:{fake:!0,rank:W+1}}))}async function Oy($){let{generateText:_}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),W=G4($.config,"openai"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch;if(!X)throw Error("OpenAI provider does not expose tools.webSearch.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({externalWebAccess:!0,searchContextSize:"medium",...$.domains.length>0?{allowedDomains:$.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Ly($){let{generateText:_}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),W=G4($.config,"anthropic"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch_20250305??J.tools?.webSearch;if(!X)throw Error("Anthropic provider does not expose a web search tool.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({maxUses:$.maxUses,...$.domains.length>0?{allowedDomains:$.domains}:{}})}})}async function Ny($,_,U){if(!$.fileResults||_.length===0)return 0;let W=_.map((X)=>{let G=[X.title,X.snippet,X.url].filter(Boolean).join(` -`),Q=Dy(G);return{source_ref:X.url,name:X.title??X.url,url:X.url,mime:"text/plain",hash:Q,revision:Q,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:X.url,content_source:"provider_web_search",provider_metadata:X.provider_metadata},extracted_text:G}});return(await g0({dbPath:$.dbPath,items:W,sourceLabel:`web-search:${$.query}`,readAction:"provider_web_search_file_results",safetyPolicy:$.safetyPolicy,now:new Date(U)})).sources_upserted}async function GR($){let _=$.query.trim();if(!_)throw Error("Web search query is required.");let U=$.env??process.env,W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??5,20)),X=Math.max(1,Math.min($.maxUses??3,10)),G=$.domains??[],Q=z6($.modelRef??($.provider?`${$.provider}:${G4($.config,$.provider).default_model}`:"default"),$.config),Y=j_(Q),j=$.provider??Y.provider,O=Y.provider===j?Y.model:G4($.config,j).default_model,B=`run_${JR()}`;if(!$.fake&&$.safetyPolicy)L2($.safetyPolicy);if(!$.fake&&j!=="openai"&&j!=="anthropic")throw Error(`Provider ${j} does not expose native web search yet.`);if(!$.fake)k0(j,$.config,U);$$($.dbPath);let V=d($.dbPath);try{V.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[B,"provider-web-search",_,"running",j,O,JSON.stringify({domains:G,max_uses:X,fake:$.fake===!0}),W,W]),a$(V,{event_type:"source_read",action:$.fake?"fake_provider_web_search":"provider_web_search",target_uri:_,decision:"allow",metadata:{provider:j,model:O,domains:G,max_uses:X},created_at:W})}finally{V.close()}let L="",N=[],H={input_tokens:WR(_),output_tokens:0,cost_usd:0},R=[];if($.fake)N=qy(_,J),L=`Fake web search answer for: ${_}`,H.output_tokens=WR(L);else{let M=j==="openai"?await Oy({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G}):await Ly({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G});L=M.text;let K=new Map;OG(M.sources,K),OG(M.toolResults,K),N=Array.from(K.values()).slice(0,J);let I=P0({provider:j,model:O,usage:M.usage,providerMetadata:M.providerMetadata});H={input_tokens:I.input_tokens,output_tokens:I.output_tokens,cost_usd:I.cost_usd}}let E=await Ny($,N,W),A=d($.dbPath);try{A.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:G,max_uses:X,sources:N.length,filed_sources:E,fake:$.fake===!0}),W,B]),A.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${JR()}`,B,"info","provider_web_search_completed",JSON.stringify({sources:N.length,filed_sources:E}),W]),B2(A,{run_id:B,provider:j,model:O,input_tokens:H.input_tokens,output_tokens:H.output_tokens,cost_usd:H.cost_usd,metadata:{web_search:!0,sources:N.length,filed_sources:E},created_at:W})}finally{A.close()}if(N.length===0)R.push("no_web_sources_returned");return{run_id:B,query:_,provider:j,model:O,answer:L,sources:N,filed_sources:E,usage:H,warnings:R}}import{createHash as By,randomUUID as Hy}from"crypto";function _U($,_){return`${$}_${By("sha256").update(_).digest("hex").slice(0,20)}`}function yq($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function Vy($){return{year:String($.getUTCFullYear()),month:String($.getUTCMonth()+1).padStart(2,"0"),day:String($.getUTCDate()).padStart(2,"0")}}function Ry($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function QR($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function Ay($){return Array.from(new Set(($??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function YR($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function Ey($,_){let U=Math.max(1,Math.min(_.limit??10,50)),W=_.sourceRefs??[],J=Ay(_.query),X=["c.kind = 'source'"],G=[];if(W.length>0){X.push(`(${W.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let Q of W)G.push(Q,`%${YR(Q)}%`)}if(J.length>0){X.push(`(${J.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let Q of J)G.push(`%${YR(Q)}%`)}return G.push(U),$.query(`SELECT + )`,["completed",U,"embedding","pending",J.provider,J.model]).changes}finally{X.close()}}async function oV($){$$($.dbPath);let _=($.now??new Date).toISOString(),U=`run_${iV()}`,W=$.full?dv($.dbPath):{embeddings:0,vectorEntries:0},J=Cq({...$,reason:$.full?"full_embedding_rebuild":"missing_embedding"}),X=d($.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,"embedding-refresh",$.full?"full":"incremental","running","local",C0($.modelRef,$.config),JSON.stringify({full:$.full===!0,queued:J}),_,_])}finally{X.close()}let G=await RX({dbPath:$.dbPath,config:$.config,env:$.env,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake,limit:$.limit,now:$.now}),Q=cv($.dbPath,$,_),Y=d($.dbPath);try{Y.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:$.full===!0,queued:J,indexed:G,completed_queue_items:Q}),_,U]),Y.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${iV()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:J,indexed:G,completed_queue_items:Q}),_])}finally{Y.close()}return{run_id:U,full:$.full===!0,deleted_embeddings:W.embeddings,deleted_vector_entries:W.vectorEntries,queued:J,indexed:G,completed_queue_items:Q}}import{createHash as sV}from"crypto";import{existsSync as eV,lstatSync as nv,readdirSync as lv,readFileSync as iv,statSync as rv}from"fs";import{basename as _U,extname as pv,join as ov,relative as tv,resolve as vq,sep as av}from"path";import{pathToFileURL as tV}from"url";var sv=100,ev=25,$y=262144,_y=5,Uy=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),Tq=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),Jy=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),Wy=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,O5=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function Sq($){return`sha256:${sV("sha256").update($).digest("hex")}`}function Xy($){return`sha256:${sV("sha256").update($).digest("hex")}`}function RW($){return $.split(av).join("/")}function Zq($,_){let U=tv($,_);return U?RW(U):_U(_)}function $0($){return Uy.has(pv($).toLowerCase())}function aV($){return RW($).split("/").some((_)=>Wy.test(_))}function $R($,_=220){let U=$.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function _R($){if(!$)return 0;return $.split(/\r\n|\n|\r/).length}function UR($){return{source_ref:$.sourceRef,source_path:$.sourcePath,line_start:$.lineCount>0?1:0,line_end:$.lineCount,content_hash:$.contentHash}}function Gy(){return[{base:".",maxDepth:0,spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:10,label:"root-rule-doc"},tags:["global-rules","rule-doc"],include:($)=>Tq.has($)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:($)=>{let _=RW($),U=_U(_);if(Tq.has(U)||_==="config.toml")return!0;if(_.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test(_)&&$0(_))return!0;return!1}}},{base:".claude",spec:{family:"claude",owner:"claude",scope:"global",precedence:{rank:30,label:"claude-rules"},tags:["global-rules","claude","agent-instructions"],include:($)=>{let _=RW($);return _==="CLAUDE.md"||/^rules\//.test(_)&&$0(_)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:($)=>{let _=RW($),U=_U(_);if(Tq.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test(_)&&$0(_)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:($)=>O5.test($)&&$0($)}},{base:".",maxDepth:0,spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode-config"},tags:["global-rules","opencode","config"],include:($)=>["opencode.json","opencode.jsonc","opencode.toml","opencode.yaml","opencode.yml"].includes($)}},{base:".hasna/prompts",spec:{family:"prompt",owner:"hasna",scope:"global",precedence:{rank:60,label:"selected-prompts"},tags:["global-rules","prompt"],include:($)=>O5.test($)&&$0($)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:($)=>O5.test($)&&$0($)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:($)=>O5.test($)&&$0($)}}]}function Qy($,_){let U=new Map;for(let W of Gy()){let J=vq($,W.base);if(!eV(J))continue;if(rv(J).isFile()){let G=_U(J);if(W.spec.include(G))U.set(J,{...W.spec,absPath:J});continue}JR({basePath:J,depth:0,maxDepth:W.maxDepth??_y,spec:W.spec,candidates:U,skipped:_})}return[...U.values()].sort((W,J)=>{if(W.precedence.rank!==J.precedence.rank)return W.precedence.rank-J.precedence.rank;return W.absPath.localeCompare(J.absPath)})}function JR($){let _=$.rootBasePath??$.basePath;if($.depth>$.maxDepth)return;for(let U of lv($.basePath,{withFileTypes:!0})){let W=ov($.basePath,U.name),J=Zq(_,W);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(Jy.has(U.name))continue;if(aV(J)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}JR({...$,rootBasePath:_,basePath:W,depth:$.depth+1});continue}if(!U.isFile())continue;let X=Zq(vq(_),W);if(aV(X)){$.skipped.push({source_family:$.spec.family,source_path:W,reason:"sensitive_path"});continue}if(!$.spec.include(X))continue;if(!$0(W))continue;$.candidates.set(W,{...$.spec,absPath:W})}}function Yy($){if(($.tags??[]).map((W)=>W.toLowerCase()).some((W)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(W)))return!0;let U=`${$.title} +${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(U)}function WR($,_){let U={source_path:$.source_path,source_path_ref:$.source_path_ref,source_ref:$.source_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,source_hash:$.source_hash,content_hash:$.content_hash,discovered_at:$.discovered_at,tags:$.tags,redaction_status:$.redaction_status,citations:$.citations};return{source_ref:$.source_ref,name:$.title,mime:"text/markdown",size:Buffer.byteLength(_),hash:$.content_hash,revision:$.content_hash,status:"active",updated_at:$.discovered_at,permissions:{mode:"read_only",allowed_purposes:["knowledge_index","knowledge_answer","agent_context"]},rule_provenance:U,source_family:$.source_family,source_path_ref:$.source_path_ref,owner:$.owner,scope:$.scope,precedence:$.precedence,tags:$.tags,redaction_status:$.redaction_status,legacy_json_id:$.legacy_json_id??null,extracted_text:_}}function jy($){let _=nv($.candidate.absPath),U=$.candidate.absPath,W=Zq($.root,U);if(_.size>$.maxBytesPerFile){let L=tV(U).href;return{evidence:{source_family:$.candidate.family,title:_U(U),source_path:U,source_path_ref:W,source_ref:L,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:"sha256:skipped-too-large",content_hash:"sha256:skipped-too-large",discovered_at:$.discoveredAt,tags:[...$.candidate.tags,"skipped"],redaction_status:"refused",redactions:[],citations:[],bytes:_.size,line_count:0,importable:!1,skipped_reason:"max_bytes_exceeded",preview:null},text:"",manifest:null}}let J=iv(U),X=J.toString("utf8"),G=w_(X,$.safetyPolicy),Y=G.findings.some((L)=>L.severity==="high")?"refused":G.findings.length>0?"redacted":"clean",j=Sq(G.text),O=tV(U).href,B=_R(G.text),V={source_family:$.candidate.family,title:_U(U),source_path:U,source_path_ref:W,source_ref:O,owner:$.candidate.owner,scope:$.candidate.scope,precedence:$.candidate.precedence,source_hash:Xy(J),content_hash:j,discovered_at:$.discoveredAt,tags:[...$.candidate.tags],redaction_status:Y,redactions:G.findings.map((L)=>({type:L.type,severity:L.severity})),citations:[UR({sourceRef:O,sourcePath:U,lineCount:B,contentHash:j})],bytes:J.byteLength,line_count:B,importable:Y!=="refused",skipped_reason:Y==="refused"?"secret_refused":null,preview:Y==="refused"?null:$R(G.text)};return{evidence:V,text:G.text,manifest:V.importable?WR(V,G.text):null}}function Dy($){let _=w_($.item.content,$.safetyPolicy),W=_.findings.some((j)=>j.severity==="high")?"refused":_.findings.length>0?"redacted":"clean",J=`open-files://source/legacy-json/path/${encodeURIComponent($.item.id)}`,X=Sq(_.text),G=Sq($.item.content),Q=_R(_.text),Y={source_family:"legacy_json",title:$.item.title,source_path:$.legacyStorePath,source_path_ref:`legacy-json:${$.item.id}`,source_ref:J,owner:"legacy-json",scope:$.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:G,content_hash:X,discovered_at:$.discoveredAt,tags:[...new Set(["global-rules","legacy-json",...$.item.tags??[]])],redaction_status:W,redactions:_.findings.map((j)=>({type:j.type,severity:j.severity})),citations:[UR({sourceRef:J,sourcePath:$.legacyStorePath,lineCount:Q,contentHash:X})],bytes:Buffer.byteLength($.item.content),line_count:Q,importable:W!=="refused",skipped_reason:W==="refused"?"secret_refused":null,preview:W==="refused"?null:$R(_.text),legacy_json_id:$.item.id};return{evidence:Y,text:_.text,manifest:Y.importable?WR(Y,_.text):null}}function zy($){if(!$.legacyStorePath||!eV($.legacyStorePath))return 0;let _=new Map($.records.filter((U)=>U.legacy_json_id&&U.importable).map((U)=>[U.legacy_json_id,U]));if(_.size===0)return 0;return g6($.legacyStorePath,()=>{let U=k1($.legacyStorePath);if(!U.exists)return 0;let W=0;for(let J of U.items){let X=_.get(J.id);if(!X)continue;let G=J.metadata??{};J.archived=!0,J.metadata={...G,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:$.now,source_ref:X.source_ref,source_hash:X.source_hash,content_hash:X.content_hash,data_loss:!1}},J.tags=[...new Set([...J.tags??[],"deprecated:knowledge-rules-import"])],J.updated_at=$.now,W+=1}if(W>0)l6($.legacyStorePath,{items:U.items});return W})}async function XR($={}){let _=vq($.root??process.cwd()),U=$.scope??"global",W=$.owner??"global-agent-rules-standard",J=$.dryRun!==!1,X=($.now??new Date).toISOString(),G=Math.max(1,Math.min($.maxItems??sv,1000)),Q=Math.max(1,Math.min($.limit??ev,100)),Y=Math.max(1024,Math.min($.maxBytesPerFile??$y,2097152)),j=[],B=Qy(_,j).slice(0,G).map((i)=>jy({root:_,candidate:{...i,owner:i.owner==="repository"?W:i.owner,scope:U},discoveredAt:X,maxBytesPerFile:Y,safetyPolicy:$.safetyPolicy})),L=($.includeLegacy===!1||!$.legacyStorePath?{exists:!1,items:[]}:k1($.legacyStorePath)).items.filter((i)=>i.archived!==!0&&Yy(i)).slice(0,G),N=L.map((i)=>Dy({item:i,legacyStorePath:$.legacyStorePath,discoveredAt:X,scope:U,safetyPolicy:$.safetyPolicy})),H=[...B,...N].slice(0,G),R=H.map((i)=>i.evidence),A=H.filter((i)=>i.manifest).map((i)=>i.manifest),M=R.filter((i)=>i.redaction_status==="refused").length,K=R.slice(0,Q),I=j.slice(0,Q),Z=null,k=0;if(!J){if(!$.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(A.length>0)Z=await w0({dbPath:$.dbPath,items:A,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:$.safetyPolicy,now:$.now,maxItems:G});if($.deprecateLegacy!==!1)k=zy({legacyStorePath:$.legacyStorePath,records:R,now:X})}return{ok:M===0||A.length>0||J,workflow:"global-rules-provenance-import",dry_run:J,writes_performed:!J,root:_,scope:U,owner:W,discovered_at:X,max_items:G,evidence_limit:Q,records_seen:R.length,records_importable:A.length,records_refused:M,records_skipped:j.length,evidence_truncated:R.length>K.length,skipped_truncated:j.length>I.length,evidence:K,skipped:I,import_result:Z,legacy:{store_path:$.legacyStorePath??null,candidates:L.length,promoted:N.filter((i)=>i.manifest).length,deprecated:k,data_loss:!1},message:J?`Discovered ${R.length} rule source(s); ${A.length} importable, ${M} refused`:`Imported ${Z?.items_seen??0} rule source(s); ${k} legacy note(s) deprecated`}}import{createHash as qy,randomUUID as GR}from"crypto";function Oy($){return`sha256:${qy("sha256").update($).digest("hex")}`}function QR($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function YR($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function _0($){return typeof $==="string"&&$.length>0?$:null}function Ly($){let _=YR($),U=_0(_.url)??_0(_.uri)??_0(_.sourceUrl);if(!U)return null;return{url:U,title:_0(_.title)??_0(_.name),snippet:_0(_.snippet)??_0(_.text)??_0(_.description),provider_metadata:_}}function L5($,_){if(Array.isArray($)){for(let J of $)L5(J,_);return}let U=Ly($);if(U)_.set(U.url,U);let W=YR($);for(let J of["sources","results","citations","annotations","output"])if(W[J])L5(W[J],_)}function Ny($,_){return Array.from({length:Math.min(_,3)},(U,W)=>({url:`https://example.com/knowledge-web-${W+1}`,title:`Fake web source ${W+1}`,snippet:`Deterministic web-search fixture for "${$}"`,provider_metadata:{fake:!0,rank:W+1}}))}async function By($){let{generateText:_}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),W=G4($.config,"openai"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch;if(!X)throw Error("OpenAI provider does not expose tools.webSearch.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({externalWebAccess:!0,searchContextSize:"medium",...$.domains.length>0?{allowedDomains:$.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Hy($){let{generateText:_}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),W=G4($.config,"anthropic"),J=U({apiKey:$.env[W.api_key_env],baseURL:W.base_url}),X=J.tools?.webSearch_20250305??J.tools?.webSearch;if(!X)throw Error("Anthropic provider does not expose a web search tool.");return _({model:J($.model),prompt:$.query,tools:{web_search:X({maxUses:$.maxUses,...$.domains.length>0?{allowedDomains:$.domains}:{}})}})}async function Vy($,_,U){if(!$.fileResults||_.length===0)return 0;let W=_.map((X)=>{let G=[X.title,X.snippet,X.url].filter(Boolean).join(` +`),Q=Oy(G);return{source_ref:X.url,name:X.title??X.url,url:X.url,mime:"text/plain",hash:Q,revision:Q,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:X.url,content_source:"provider_web_search",provider_metadata:X.provider_metadata},extracted_text:G}});return(await w0({dbPath:$.dbPath,items:W,sourceLabel:`web-search:${$.query}`,readAction:"provider_web_search_file_results",safetyPolicy:$.safetyPolicy,now:new Date(U)})).sources_upserted}async function jR($){let _=$.query.trim();if(!_)throw Error("Web search query is required.");let U=$.env??process.env,W=($.now??new Date).toISOString(),J=Math.max(1,Math.min($.limit??5,20)),X=Math.max(1,Math.min($.maxUses??3,10)),G=$.domains??[],Q=z6($.modelRef??($.provider?`${$.provider}:${G4($.config,$.provider).default_model}`:"default"),$.config),Y=j_(Q),j=$.provider??Y.provider,O=Y.provider===j?Y.model:G4($.config,j).default_model,B=`run_${GR()}`;if(!$.fake&&$.safetyPolicy)N2($.safetyPolicy);if(!$.fake&&j!=="openai"&&j!=="anthropic")throw Error(`Provider ${j} does not expose native web search yet.`);if(!$.fake)P0(j,$.config,U);$$($.dbPath);let V=d($.dbPath);try{V.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[B,"provider-web-search",_,"running",j,O,JSON.stringify({domains:G,max_uses:X,fake:$.fake===!0}),W,W]),a$(V,{event_type:"source_read",action:$.fake?"fake_provider_web_search":"provider_web_search",target_uri:_,decision:"allow",metadata:{provider:j,model:O,domains:G,max_uses:X},created_at:W})}finally{V.close()}let L="",N=[],H={input_tokens:QR(_),output_tokens:0,cost_usd:0},R=[];if($.fake)N=Ny(_,J),L=`Fake web search answer for: ${_}`,H.output_tokens=QR(L);else{let M=j==="openai"?await By({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G}):await Hy({query:_,model:O,config:$.config,env:U,maxUses:X,domains:G});L=M.text;let K=new Map;L5(M.sources,K),L5(M.toolResults,K),N=Array.from(K.values()).slice(0,J);let I=f0({provider:j,model:O,usage:M.usage,providerMetadata:M.providerMetadata});H={input_tokens:I.input_tokens,output_tokens:I.output_tokens,cost_usd:I.cost_usd}}let F=await Vy($,N,W),A=d($.dbPath);try{A.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:G,max_uses:X,sources:N.length,filed_sources:F,fake:$.fake===!0}),W,B]),A.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${GR()}`,B,"info","provider_web_search_completed",JSON.stringify({sources:N.length,filed_sources:F}),W]),H2(A,{run_id:B,provider:j,model:O,input_tokens:H.input_tokens,output_tokens:H.output_tokens,cost_usd:H.cost_usd,metadata:{web_search:!0,sources:N.length,filed_sources:F},created_at:W})}finally{A.close()}if(N.length===0)R.push("no_web_sources_returned");return{run_id:B,query:_,provider:j,model:O,answer:L,sources:N,filed_sources:F,usage:H,warnings:R}}import{createHash as Ry,randomUUID as Ay}from"crypto";function UU($,_){return`${$}_${Ry("sha256").update(_).digest("hex").slice(0,20)}`}function yq($){return $.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function Fy($){return{year:String($.getUTCFullYear()),month:String($.getUTCMonth()+1).padStart(2,"0"),day:String($.getUTCDate()).padStart(2,"0")}}function Ey($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function DR($){if(!$)return{};try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function Ky($){return Array.from(new Set(($??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function zR($){return $.replace(/[\\%_]/g,(_)=>`\\${_}`)}function by($,_){let U=Math.max(1,Math.min(_.limit??10,50)),W=_.sourceRefs??[],J=Ky(_.query),X=["c.kind = 'source'"],G=[];if(W.length>0){X.push(`(${W.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let Q of W)G.push(Q,`%${zR(Q)}%`)}if(J.length>0){X.push(`(${J.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let Q of J)G.push(`%${zR(Q)}%`)}return G.push(U),$.query(`SELECT c.id AS chunk_id, c.text, c.start_offset, @@ -936,9 +936,9 @@ ${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| JOIN sources s ON s.id = sr.source_id WHERE ${X.join(" AND ")} ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(...G)}function jR($,_=420){let U=$.replace(/\s+/g," ").trim();return U.length<=_?U:`${U.slice(0,_-1).trim()}...`}function Fy($,_){if($.title?.trim())return $.title.trim();if($.query?.trim())return $.query.trim();return _[0]?.source_title??"Compiled Knowledge"}function Ky($,_,U){let W=_.map((X,G)=>{return`- [${`S${G+1}`}] ${X.source_title??X.source_uri??"Source"} (${X.source_uri??"unknown"}, revision ${X.revision??"unknown"}, hash ${X.hash??"unknown"})`}),J=_.map((X,G)=>{let Q=`S${G+1}`;return[`## ${X.source_title??`Source ${G+1}`}`,"",jR(X.text),"",`Citation: [${Q}]`].join(` + LIMIT ?`).all(...G)}function qR($,_=420){let U=$.replace(/\s+/g," ").trim();return U.length<=_?U:`${U.slice(0,_-1).trim()}...`}function My($,_){if($.title?.trim())return $.title.trim();if($.query?.trim())return $.query.trim();return _[0]?.source_title??"Compiled Knowledge"}function Iy($,_,U){let W=_.map((X,G)=>{return`- [${`S${G+1}`}] ${X.source_title??X.source_uri??"Source"} (${X.source_uri??"unknown"}, revision ${X.revision??"unknown"}, hash ${X.hash??"unknown"})`}),J=_.map((X,G)=>{let Q=`S${G+1}`;return[`## ${X.source_title??`Source ${G+1}`}`,"",qR(X.text),"",`Citation: [${Q}]`].join(` `)});return[`# ${$}`,"",`Generated at: ${U}`,"","## Sources","",...W,"",...J,""].join(` -`)}async function LG($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...O2(_.body),metadata:{..._.metadata??{}}}}async function DR($,_,U){let{year:W,month:J,day:X}=Vy(U),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return LG($,{key:G,body:`${Q}${JSON.stringify(_)} +`)}async function N5($,_){let U=await $.put(_);return{key:U.key,uri:U.uri,kind:_.key.startsWith("logs/")?"log":"wiki_page",content_type:_.content_type,modified_at:U.modified_at,...L2(_.body),metadata:{..._.metadata??{}}}}async function OR($,_,U){let{year:W,month:J,day:X}=Fy(U),G=`logs/${W}/${J}/${X}.jsonl`,Q="";try{Q=await $.getText(G)}catch{Q=""}return N5($,{key:G,body:`${Q}${JSON.stringify(_)} `,content_type:"application/x-ndjson",metadata:{provenance:D6({generated_from:String(_.event??"wiki_log"),artifact_key:G})}})}function hq($,_){$.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET @@ -947,41 +947,41 @@ ${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[_.pageId,_.path,_.title,_.artifactUri,_.contentHash,"active",JSON.stringify({artifact_key:_.path,provenance:_.provenance}),_.now,_.now]);let U=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_.pageId);for(let J of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_.pageId]);let W=_U("chk",`${_.pageId}\x00${_.contentHash}`);$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.pageId,"wiki",0,_.body,Ry(_.body),0,_.body.length,JSON.stringify({artifact_key:_.path,artifact_uri:_.artifactUri,content_hash:_.contentHash,provenance:_.provenance}),_.now]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[W,_.body,_.title,_.artifactUri])}function zR($,_,U,W){$.run("DELETE FROM citations WHERE wiki_page_id = ?",[_]);for(let J of U)$.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[_U("cit",`${_}\x00${J.source_uri}\x00${J.chunk_id??Hy()}`),_,J.chunk_id,J.source_uri,J.quote,J.start_offset,J.end_offset,JSON.stringify(J.metadata),W]);return U.length}function qR($,_){return $.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[_.pageId,_.path,_.title,_.artifactUri,_.contentHash,"active",JSON.stringify({artifact_key:_.path,provenance:_.provenance}),_.now,_.now]);let U=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_.pageId);for(let J of U)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_.pageId]);let W=UU("chk",`${_.pageId}\x00${_.contentHash}`);$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,_.pageId,"wiki",0,_.body,Ey(_.body),0,_.body.length,JSON.stringify({artifact_key:_.path,artifact_uri:_.artifactUri,content_hash:_.contentHash,provenance:_.provenance}),_.now]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[W,_.body,_.title,_.artifactUri])}function LR($,_,U,W){$.run("DELETE FROM citations WHERE wiki_page_id = ?",[_]);for(let J of U)$.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[UU("cit",`${_}\x00${J.source_uri}\x00${J.chunk_id??Ay()}`),_,J.chunk_id,J.source_uri,J.quote,J.start_offset,J.end_offset,JSON.stringify(J.metadata),W]);return U.length}function NR($,_){return $.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[_U("idx",`wiki-topic\x00${_.path}`),"wiki_topic",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash}),_.now,_.now]),1}function by($){return $.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function OR($){let _=$.now??new Date,U=_.toISOString();$$($.dbPath);let W=d($.dbPath),J;try{J=Ey(W,$)}finally{W.close()}if(J.length===0)throw Error("No source chunks matched wiki compile input.");let X=Fy($,J),Q=`wiki/generated/${yq(X)}.md`,Y=Ky(X,J,U),j=J.map((Z)=>{let k=QR(Z.metadata_json);return typeof k.source_ref==="string"?k.source_ref:Z.source_uri}).filter((Z)=>Boolean(Z)),O=D6({generated_from:"wiki_compile",artifact_key:Q,source_refs:j}),B=await LG($.store,{key:Q,body:Y,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),V=_U("wiki",Q),L=J.map((Z)=>({chunk_id:Z.chunk_id,source_uri:Z.source_uri??"unknown",quote:jR(Z.text,240),start_offset:Z.start_offset,end_offset:Z.end_offset,metadata:{source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,source_ref:QR(Z.metadata_json).source_ref??Z.source_uri}})),N=by(X),H=`wiki/concepts/${yq(N)}.md`,R=[`# ${N}`,"",`Related page: [[${Q}]]`,""].join(` -`),E=D6({generated_from:"wiki_compile_concept",artifact_key:H,source_refs:j}),A=await LG($.store,{key:H,body:R,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),M=_U("wiki",H),K=await DR($.store,{ts:U,event:"wiki_compile_completed",page_key:Q,source_refs:j,chunks_seen:J.length},_),I=d($.dbPath);try{W4(I,[B,A,K],_),hq(I,{pageId:V,path:Q,title:X,artifactUri:B.uri,contentHash:B.hash??"",body:Y,provenance:O,now:U}),hq(I,{pageId:M,path:H,title:N,artifactUri:A.uri,contentHash:A.hash??"",body:R,provenance:E,now:U}),I.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) - VALUES (?, ?, ?, ?)`,[V,M,"concept",U]);let Z=zR(I,V,L,U),k=qR(I,{title:X,path:Q,artifactUri:B.uri,contentHash:B.hash??"",now:U});return{page_id:V,path:Q,artifact_uri:B.uri,content_hash:B.hash??"",chunks_seen:J.length,citations_written:Z,concept_page_id:M,indexes_updated:k,log_key:K.key,warnings:[]}}finally{I.close()}}async function LR($){if(!$.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let _=$.now??new Date,U=_.toISOString(),W=$.prompt.length>80?`${$.prompt.slice(0,77)}...`:$.prompt,X=`wiki/answers/${yq(W)}.md`,G=$.context.citations,Q=[`# ${W}`,"",$.answer,"","## Citations","",...G.map((N,H)=>`- [C${H+1}] ${N.source_ref??N.source_uri??N.artifact_path??N.artifact_uri??"unknown"} ${N.hash?`(hash ${N.hash})`:""}`),""].join(` -`),Y=G.map((N)=>N.source_ref??N.source_uri).filter((N)=>Boolean(N)),j=D6({generated_from:"knowledge_answer",artifact_key:X,source_refs:Y}),O=await LG($.store,{key:X,body:Q,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),B=await DR($.store,{ts:U,event:"wiki_answer_filed",page_key:X,prompt:$.prompt,citations:G.length},_),V=_U("wiki",X),L=d($.dbPath);try{W4(L,[O,B],_),hq(L,{pageId:V,path:X,title:W,artifactUri:O.uri,contentHash:O.hash??"",body:Q,provenance:j,now:U});let N=zR(L,V,G.map((H)=>({chunk_id:H.chunk_id,source_uri:H.source_uri??H.artifact_uri??"unknown",quote:H.quote,start_offset:H.start_offset,end_offset:H.end_offset,metadata:{source_ref:H.source_ref,artifact_path:H.artifact_path,revision:H.revision,hash:H.hash}})),U);return qR(L,{title:W,path:X,artifactUri:O.uri,contentHash:O.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:V,path:X,artifact_uri:O.uri,citations_written:N,log_key:B.key,message:`Filed answer to ${X}`}}finally{L.close()}}function q1($,_){$.push(_)}function NR($){$$($.dbPath);let _=d($.dbPath),U=[];try{let W=_.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,X=_.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,G=_.query(`SELECT wp.id, wp.path + updated_at = excluded.updated_at`,[UU("idx",`wiki-topic\x00${_.path}`),"wiki_topic",_.title,_.artifactUri,_.path,JSON.stringify({artifact_key:_.path,content_hash:_.contentHash}),_.now,_.now]),1}function gy($){return $.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function BR($){let _=$.now??new Date,U=_.toISOString();$$($.dbPath);let W=d($.dbPath),J;try{J=by(W,$)}finally{W.close()}if(J.length===0)throw Error("No source chunks matched wiki compile input.");let X=My($,J),Q=`wiki/generated/${yq(X)}.md`,Y=Iy(X,J,U),j=J.map((Z)=>{let k=DR(Z.metadata_json);return typeof k.source_ref==="string"?k.source_ref:Z.source_uri}).filter((Z)=>Boolean(Z)),O=D6({generated_from:"wiki_compile",artifact_key:Q,source_refs:j}),B=await N5($.store,{key:Q,body:Y,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),V=UU("wiki",Q),L=J.map((Z)=>({chunk_id:Z.chunk_id,source_uri:Z.source_uri??"unknown",quote:qR(Z.text,240),start_offset:Z.start_offset,end_offset:Z.end_offset,metadata:{source_revision_id:Z.source_revision_id,revision:Z.revision,hash:Z.hash,source_ref:DR(Z.metadata_json).source_ref??Z.source_uri}})),N=gy(X),H=`wiki/concepts/${yq(N)}.md`,R=[`# ${N}`,"",`Related page: [[${Q}]]`,""].join(` +`),F=D6({generated_from:"wiki_compile_concept",artifact_key:H,source_refs:j}),A=await N5($.store,{key:H,body:R,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),M=UU("wiki",H),K=await OR($.store,{ts:U,event:"wiki_compile_completed",page_key:Q,source_refs:j,chunks_seen:J.length},_),I=d($.dbPath);try{W4(I,[B,A,K],_),hq(I,{pageId:V,path:Q,title:X,artifactUri:B.uri,contentHash:B.hash??"",body:Y,provenance:O,now:U}),hq(I,{pageId:M,path:H,title:N,artifactUri:A.uri,contentHash:A.hash??"",body:R,provenance:F,now:U}),I.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) + VALUES (?, ?, ?, ?)`,[V,M,"concept",U]);let Z=LR(I,V,L,U),k=NR(I,{title:X,path:Q,artifactUri:B.uri,contentHash:B.hash??"",now:U});return{page_id:V,path:Q,artifact_uri:B.uri,content_hash:B.hash??"",chunks_seen:J.length,citations_written:Z,concept_page_id:M,indexes_updated:k,log_key:K.key,warnings:[]}}finally{I.close()}}async function HR($){if(!$.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let _=$.now??new Date,U=_.toISOString(),W=$.prompt.length>80?`${$.prompt.slice(0,77)}...`:$.prompt,X=`wiki/answers/${yq(W)}.md`,G=$.context.citations,Q=[`# ${W}`,"",$.answer,"","## Citations","",...G.map((N,H)=>`- [C${H+1}] ${N.source_ref??N.source_uri??N.artifact_path??N.artifact_uri??"unknown"} ${N.hash?`(hash ${N.hash})`:""}`),""].join(` +`),Y=G.map((N)=>N.source_ref??N.source_uri).filter((N)=>Boolean(N)),j=D6({generated_from:"knowledge_answer",artifact_key:X,source_refs:Y}),O=await N5($.store,{key:X,body:Q,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),B=await OR($.store,{ts:U,event:"wiki_answer_filed",page_key:X,prompt:$.prompt,citations:G.length},_),V=UU("wiki",X),L=d($.dbPath);try{W4(L,[O,B],_),hq(L,{pageId:V,path:X,title:W,artifactUri:O.uri,contentHash:O.hash??"",body:Q,provenance:j,now:U});let N=LR(L,V,G.map((H)=>({chunk_id:H.chunk_id,source_uri:H.source_uri??H.artifact_uri??"unknown",quote:H.quote,start_offset:H.start_offset,end_offset:H.end_offset,metadata:{source_ref:H.source_ref,artifact_path:H.artifact_path,revision:H.revision,hash:H.hash}})),U);return NR(L,{title:W,path:X,artifactUri:O.uri,contentHash:O.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:V,path:X,artifact_uri:O.uri,citations_written:N,log_key:B.key,message:`Filed answer to ${X}`}}finally{L.close()}}function O1($,_){$.push(_)}function VR($){$$($.dbPath);let _=d($.dbPath),U=[];try{let W=_.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,J=_.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,X=_.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,G=_.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN citations c ON c.wiki_page_id = wp.id WHERE wp.status = 'active' AND wp.path LIKE 'wiki/generated/%' GROUP BY wp.id - HAVING COUNT(c.id) = 0`).all();for(let L of G)q1(U,{type:"missing_citation",severity:"error",page_id:L.id,path:L.path,message:"Generated wiki page has no citations."});let Q=_.query(`SELECT wp.id AS page_id, wp.path, c.source_uri, c.chunk_id + HAVING COUNT(c.id) = 0`).all();for(let L of G)O1(U,{type:"missing_citation",severity:"error",page_id:L.id,path:L.path,message:"Generated wiki page has no citations."});let Q=_.query(`SELECT wp.id AS page_id, wp.path, c.source_uri, c.chunk_id FROM citations c JOIN wiki_pages wp ON wp.id = c.wiki_page_id LEFT JOIN chunks ch ON ch.id = c.chunk_id - WHERE ch.metadata_json LIKE '%"stale":true%' OR ch.metadata_json LIKE '%"status":"stale"%' OR ch.metadata_json LIKE '%"status":"deleted"%'`).all();for(let L of Q)q1(U,{type:"stale_citation",severity:"warn",page_id:L.page_id,path:L.path,source_uri:L.source_uri,chunk_id:L.chunk_id??void 0,message:"Page cites a stale or deleted source chunk."});let Y=_.query(`SELECT lower(title) AS title, COUNT(*) AS n + WHERE ch.metadata_json LIKE '%"stale":true%' OR ch.metadata_json LIKE '%"status":"stale"%' OR ch.metadata_json LIKE '%"status":"deleted"%'`).all();for(let L of Q)O1(U,{type:"stale_citation",severity:"warn",page_id:L.page_id,path:L.path,source_uri:L.source_uri,chunk_id:L.chunk_id??void 0,message:"Page cites a stale or deleted source chunk."});let Y=_.query(`SELECT lower(title) AS title, COUNT(*) AS n FROM wiki_pages WHERE status = 'active' GROUP BY lower(title) - HAVING COUNT(*) > 1`).all();for(let L of Y)q1(U,{type:"duplicate_page",severity:"warn",message:`Duplicate active wiki title: ${L.title} (${L.n} pages).`});let j=_.query(`SELECT wp.id, wp.path + HAVING COUNT(*) > 1`).all();for(let L of Y)O1(U,{type:"duplicate_page",severity:"warn",message:`Duplicate active wiki title: ${L.title} (${L.n} pages).`});let j=_.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN wiki_backlinks wb1 ON wb1.from_page_id = wp.id LEFT JOIN wiki_backlinks wb2 ON wb2.to_page_id = wp.id WHERE wp.status = 'active' AND wp.path NOT IN ('wiki/README.md') GROUP BY wp.id - HAVING COUNT(wb1.to_page_id) = 0 AND COUNT(wb2.from_page_id) = 0`).all();for(let L of j)q1(U,{type:"orphan_page",severity:"info",page_id:L.id,path:L.path,message:"Wiki page has no backlinks."});let O=_.query(`SELECT wp.id AS page_id, wp.path, c.source_uri + HAVING COUNT(wb1.to_page_id) = 0 AND COUNT(wb2.from_page_id) = 0`).all();for(let L of j)O1(U,{type:"orphan_page",severity:"info",page_id:L.id,path:L.path,message:"Wiki page has no backlinks."});let O=_.query(`SELECT wp.id AS page_id, wp.path, c.source_uri FROM citations c JOIN wiki_pages wp ON wp.id = c.wiki_page_id LEFT JOIN sources s ON s.uri = c.source_uri - WHERE s.id IS NULL AND c.source_uri NOT LIKE 'file://%' AND c.source_uri NOT LIKE 's3://%' AND c.source_uri NOT LIKE 'https://%' AND c.source_uri NOT LIKE 'open-files://%'`).all();for(let L of O)q1(U,{type:"unresolved_source_ref",severity:"error",page_id:L.page_id,path:L.path,source_uri:L.source_uri,message:"Citation source URI cannot be resolved to a known or allowed source ref."});let B=_.query("SELECT id, path FROM wiki_pages WHERE lower(metadata_json) LIKE '%contradiction%'").all();for(let L of B)q1(U,{type:"contradiction_marker",severity:"warn",page_id:L.id,path:L.path,message:"Page metadata contains a contradiction marker."});let V=_.query(`SELECT c.id AS chunk_id, s.uri AS source_uri + WHERE s.id IS NULL AND c.source_uri NOT LIKE 'file://%' AND c.source_uri NOT LIKE 's3://%' AND c.source_uri NOT LIKE 'https://%' AND c.source_uri NOT LIKE 'open-files://%'`).all();for(let L of O)O1(U,{type:"unresolved_source_ref",severity:"error",page_id:L.page_id,path:L.path,source_uri:L.source_uri,message:"Citation source URI cannot be resolved to a known or allowed source ref."});let B=_.query("SELECT id, path FROM wiki_pages WHERE lower(metadata_json) LIKE '%contradiction%'").all();for(let L of B)O1(U,{type:"contradiction_marker",severity:"warn",page_id:L.id,path:L.path,message:"Page metadata contains a contradiction marker."});let V=_.query(`SELECT c.id AS chunk_id, s.uri AS source_uri FROM chunks c JOIN source_revisions sr ON sr.id = c.source_revision_id JOIN sources s ON s.id = sr.source_id @@ -989,7 +989,7 @@ ${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| WHERE c.kind = 'source' GROUP BY c.id HAVING COUNT(cit.id) = 0 - LIMIT 25`).all();for(let L of V)q1(U,{type:"new_article_candidate",severity:"info",chunk_id:L.chunk_id,source_uri:L.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((L)=>L.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:W,citations:J,backlinks:X,new_article_candidates:V.length}}}finally{_.close()}}import{createHash as My}from"crypto";function Iy($){let _=String($.getUTCFullYear()),U=String($.getUTCMonth()+1).padStart(2,"0"),W=String($.getUTCDate()).padStart(2,"0");return{year:_,month:U,day:W}}function xq($,_){return`${$}_${My("sha256").update(_).digest("hex").slice(0,20)}`}function gy($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function wy(){return`# Knowledge Agent Schema v1 + LIMIT 25`).all();for(let L of V)O1(U,{type:"new_article_candidate",severity:"info",chunk_id:L.chunk_id,source_uri:L.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((L)=>L.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:W,citations:J,backlinks:X,new_article_candidates:V.length}}}finally{_.close()}}import{createHash as wy}from"crypto";function ky($){let _=String($.getUTCFullYear()),U=String($.getUTCMonth()+1).padStart(2,"0"),W=String($.getUTCDate()).padStart(2,"0");return{year:_,month:U,day:W}}function xq($,_){return`${$}_${wy("sha256").update(_).digest("hex").slice(0,20)}`}function Py($){let _=$.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(_*1.25))}function fy(){return`# Knowledge Agent Schema v1 ## Source Rules @@ -1014,7 +1014,7 @@ ${$.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| ## Lint Rules - Flag stale pages, missing citations, contradictions, orphan pages, duplicate pages, and unresolved source refs. -`}function ky(){return`# Knowledge Index +`}function Cy(){return`# Knowledge Index This is a compact orientation index for agents. It is not the full search index. @@ -1029,14 +1029,14 @@ This is a compact orientation index for agents. It is not the full search index. Raw source files are resolved through open-files. This app stores source refs, citations, chunks, generated wiki artifacts, indexes, and run records. -`}function BR(){return`# Wiki +`}function RR(){return`# Wiki Generated durable knowledge pages live here. Pages should be concise, cited, and organized for both humans and agents. -`}async function HR($,_=new Date){let{year:U,month:W,day:J}=Iy(_),X="schemas/v1.md",G="indexes/root.md",Q="wiki/README.md",Y=`logs/${U}/${W}/${J}.jsonl`,j={ts:_.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},O=[{key:"schemas/v1.md",body:wy(),content_type:"text/markdown"},{key:"indexes/root.md",body:ky(),content_type:"text/markdown"},{key:"wiki/README.md",body:BR(),content_type:"text/markdown"},{key:Y,body:`${JSON.stringify(j)} -`,content_type:"application/x-ndjson"}],B=await Promise.all(O.map(async(V)=>{let L=await $.put(V);return{key:L.key,uri:L.uri,kind:SN(V.key),content_type:V.content_type,modified_at:L.modified_at,metadata:{provenance:D6({generated_from:"wiki_layout_init",artifact_key:V.key,citation_required:V.key.startsWith("wiki/")||V.key.startsWith("indexes/")})},...O2(V.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:Y,artifacts:B,written:["schemas/v1.md","indexes/root.md","wiki/README.md",Y]}}function mq($){let _=$.metadata?.provenance;if(_&&typeof _==="object"&&!Array.isArray(_))return _;return D6({generated_from:"wiki_layout_init",artifact_key:$.key})}function Py($,_,U,W,J,X){let G=mq(W),Q=xq("chk",`${_}\x00${W.hash??W.uri}`),Y=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_);for(let j of Y)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[j.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_]),$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[Q,_,"wiki",0,J,gy(J),0,J.length,JSON.stringify({artifact_key:W.key,artifact_uri:W.uri,content_hash:W.hash??null,provenance:G}),X]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[Q,J,U,W.uri])}function VR($,_,U=new Date){let W=U.toISOString(),J=_.find((G)=>G.key.endsWith("indexes/root.md")),X=_.find((G)=>G.key.endsWith("wiki/README.md"));if(J)$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) +`}async function AR($,_=new Date){let{year:U,month:W,day:J}=ky(_),X="schemas/v1.md",G="indexes/root.md",Q="wiki/README.md",Y=`logs/${U}/${W}/${J}.jsonl`,j={ts:_.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},O=[{key:"schemas/v1.md",body:fy(),content_type:"text/markdown"},{key:"indexes/root.md",body:Cy(),content_type:"text/markdown"},{key:"wiki/README.md",body:RR(),content_type:"text/markdown"},{key:Y,body:`${JSON.stringify(j)} +`,content_type:"application/x-ndjson"}],B=await Promise.all(O.map(async(V)=>{let L=await $.put(V);return{key:L.key,uri:L.uri,kind:yN(V.key),content_type:V.content_type,modified_at:L.modified_at,metadata:{provenance:D6({generated_from:"wiki_layout_init",artifact_key:V.key,citation_required:V.key.startsWith("wiki/")||V.key.startsWith("indexes/")})},...L2(V.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:Y,artifacts:B,written:["schemas/v1.md","indexes/root.md","wiki/README.md",Y]}}function mq($){let _=$.metadata?.provenance;if(_&&typeof _==="object"&&!Array.isArray(_))return _;return D6({generated_from:"wiki_layout_init",artifact_key:$.key})}function Ty($,_,U,W,J,X){let G=mq(W),Q=xq("chk",`${_}\x00${W.hash??W.uri}`),Y=$.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all(_);for(let j of Y)$.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[j.id]);$.run("DELETE FROM chunks WHERE wiki_page_id = ?",[_]),$.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[Q,_,"wiki",0,J,Py(J),0,J.length,JSON.stringify({artifact_key:W.key,artifact_uri:W.uri,content_hash:W.hash??null,provenance:G}),X]),$.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[Q,J,U,W.uri])}function FR($,_,U=new Date){let W=U.toISOString(),J=_.find((G)=>G.key.endsWith("indexes/root.md")),X=_.find((G)=>G.key.endsWith("wiki/README.md"));if(J)$.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, @@ -1049,13 +1049,13 @@ Pages should be concise, cited, and organized for both humans and agents. content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[G,"wiki/README.md","Wiki",X.uri,X.hash??null,"active",JSON.stringify({artifact_key:X.key,provenance:mq(X)}),W,W]),Py($,G,"Wiki",X,BR(),W)}}import{createHash as RR}from"crypto";import{cpSync as rq,chmodSync as dq,existsSync as H6,lstatSync as bR,mkdirSync as NG,readdirSync as pq,readFileSync as AW,renameSync as fy,rmSync as HG,writeFileSync as AR}from"fs";import{dirname as cq,join as B4,relative as Cy}from"path";function nq($,_=$){if(!H6($))return[];let U=bR($);if(U.isFile())return[Cy(_,$)||"."];if(!U.isDirectory())return[];return pq($).flatMap((W)=>nq(B4($,W),_)).sort()}function ER($,_){if(_.length===0)return{sha256:null,bytes:0};let U=RR("sha256"),W=0;for(let J of _){let X=B4($,J),G=AW(X),Q=RR("sha256").update(G).digest("hex");W+=G.byteLength,U.update(J),U.update("\x00"),U.update(Q),U.update("\x00")}return{sha256:U.digest("hex"),bytes:W}}function Ty($){if(!H6($))return null;let _=JSON.parse(AW($,"utf8"));return Array.isArray(_.items)?_.items.length:null}function Sy($){if(!H6($))return{exists:!1,integrity_check:null,table_counts:{}};let _=RN($);try{let U=_.query("PRAGMA integrity_check").get(),W=U?Object.values(U)[0]??null:null,J=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),X={};for(let G of J){let Q=`"${G.name.replaceAll('"','""')}"`,Y=_.query(`SELECT COUNT(*) AS n FROM ${Q}`).get();X[G.name]=Y?.n??0}return{exists:!0,integrity_check:W,table_counts:X}}finally{_.close()}}function R_($,_={}){let U=nq($.home),W=ER($.home,U),J=nq($.artifactsDir),X=ER($.artifactsDir,J),G=H6($.knowledgeDbPath);return{path:$.home,exists:H6($.home),file_count:U.length,total_bytes:W.bytes,tree_sha256:W.sha256,json_items:Ty($.jsonStorePath),sqlite:_.includeSqlite===!1?{exists:G,integrity_check:null,table_counts:{}}:Sy($.knowledgeDbPath),artifacts:{exists:H6($.artifactsDir),file_count:J.length,total_bytes:X.bytes,tree_sha256:X.sha256},files:U}}function Zy($,_){if(!_.exists)return!0;if(_.files.filter((W)=>W!=="config.json").length>0)return!1;if(!_.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(AW($.configPath,"utf8")))===JSON.stringify(MU())}catch{return!1}}function lq($,_){return $.file_count===_.file_count&&$.total_bytes===_.total_bytes&&$.tree_sha256===_.tree_sha256&&$.json_items===_.json_items&&$.sqlite.integrity_check===_.sqlite.integrity_check&&JSON.stringify($.sqlite.table_counts)===JSON.stringify(_.sqlite.table_counts)&&$.artifacts.file_count===_.artifacts.file_count&&$.artifacts.total_bytes===_.artifacts.total_bytes&&$.artifacts.tree_sha256===_.artifacts.tree_sha256}function BG($){return $.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function iq($){if(Array.isArray($))return`[${$.map(iq).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${iq(U)}`).join(",")}}`;return JSON.stringify($)}function FR($){return iq($)}function uq($){return typeof $.short_id==="string"&&$.short_id.trim().length>0?$.short_id:null}function O1($){if(!H6($))return{items:[]};let _=JSON.parse(AW($,"utf8"));if(!_||!Array.isArray(_.items))throw Error(`Invalid knowledge JSON store shape at ${$}`);return{items:_.items}}function KR($,_){let U=new Map($.items.map((O)=>[O.id,O])),W=new Map;for(let O of $.items){let B=W.get(O.id);if(B&&B.item.id!==O.id);W.set(O.id,{item:O,keyKind:"id",source:"current"});let V=uq(O);if(V&&!W.has(V))W.set(V,{item:O,keyKind:"short_id",source:"current"})}let J=[],X=0,G=0,Q=0,Y=[];for(let O of _.items){let B=U.get(O.id);if(B){if(FR(B)===FR(O))X+=1;else G+=1,J.push({type:"id_conflict",id:O.id,legacy_title:O.title,current_title:B.title});continue}let V=[{key:O.id,keyKind:"id"},...uq(O)?[{key:uq(O),keyKind:"short_id"}]:[]],L=!1;for(let{key:N,keyKind:H}of V){let R=W.get(N);if(!R)continue;if(H==="id"&&R.keyKind==="id")G+=1,J.push({type:"id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});else Q+=1,J.push({type:"short_id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});L=!0}if(L)continue;Y.push(O);for(let{key:N,keyKind:H}of V)W.set(N,{item:O,keyKind:H,source:"legacy"})}let j={items:[...$.items,...Y]};return{stats:{current_items:$.items.length,legacy_items:_.items.length,duplicate_ids_identical:X,duplicate_ids_conflicting:G,short_id_conflicts:Q,stranded_items:Y.length,merged_items:J.length===0?Y.length:0,expected_total_items:$.items.length+Y.length,final_items:null},conflicts:J,mergedStore:j}}function vy($,_){let U=[...new Set($)].sort(),W=(J)=>{if(J>=U.length)return _();return g6(U[J],()=>W(J+1),{createParent:!0})};return W(0)}function MR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.legacy),J=R_($.current),X={legacy_exists:W.exists,legacy_store_exists:H6($.legacy.jsonStorePath),current_store_exists:H6($.current.jsonStorePath),approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},G=[];if(!W.exists||!X.legacy_store_exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:W,current_before:J,backup_after:null,current_after:J,merge:{current_items:O1($.current.jsonStorePath).items.length,legacy_items:0,duplicate_ids_identical:0,duplicate_ids_conflicting:0,short_id_conflicts:0,stranded_items:0,merged_items:0,expected_total_items:O1($.current.jsonStorePath).items.length,final_items:J.json_items},conflicts:[],checks:{...X,no_conflicts:!0,final_count_matches_expected:!0},warnings:G,message:`No legacy knowledge JSON store found at ${$.legacy.jsonStorePath}`};let Q=O1($.current.jsonStorePath),Y=O1($.legacy.jsonStorePath),j=KR(Q,Y);if(X.no_conflicts=j.conflicts.length===0,j.conflicts.length>0)G.push("merge_conflicts_detected");if(!X.approval_present)G.push("write_approval_required");if(U||!X.approval_present||j.conflicts.length>0)return{ok:j.conflicts.length===0,dry_run:!0,approval_required:!X.approval_present,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.merge-backup-${BG(_)}`,legacy_before:W,current_before:J,backup_after:null,current_after:null,merge:j.stats,conflicts:j.conflicts,checks:X,warnings:G,message:j.conflicts.length===0?`Dry run: would merge ${j.stats.stranded_items} legacy item(s) into ${$.current.jsonStorePath}`:`Refusing legacy merge with ${j.conflicts.length} conflict(s)`};return vy([$.current.jsonStorePath,$.legacy.jsonStorePath],()=>{let O=O1($.current.jsonStorePath),B=O1($.legacy.jsonStorePath),V=KR(O,B);if(X.no_conflicts=V.conflicts.length===0,V.conflicts.length>0)return{ok:!1,dry_run:!0,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:null,merge:V.stats,conflicts:V.conflicts,checks:X,warnings:[...G,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${V.conflicts.length} conflict(s)`};if(V.stats.stranded_items===0)return V.stats.final_items=O.items.length,X.final_count_matches_expected=O.items.length===V.stats.expected_total_items,{ok:X.no_conflicts&&X.final_count_matches_expected,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:R_($.current),merge:V.stats,conflicts:[],checks:X,warnings:G,message:`Legacy merge already up to date for ${$.current.jsonStorePath}`};let L=`${$.legacy.home}.merge-backup-${BG(_)}`;NG(cq(L),{recursive:!0}),rq($.legacy.home,L,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let N=T_(L),H=R_(N);if(X.legacy_backup_written=lq(R_($.legacy),H),!X.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${L}`);l6($.current.jsonStorePath,V.mergedStore);let R=O1($.current.jsonStorePath);V.stats.final_items=R.items.length,X.final_count_matches_expected=R.items.length===V.stats.expected_total_items;let E=R_($.current),A=X.legacy_backup_written&&X.no_conflicts&&X.final_count_matches_expected;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:L,legacy_before:W,current_before:J,backup_after:H,current_after:E,merge:V.stats,conflicts:[],checks:X,warnings:G,message:A?`Merged ${V.stats.merged_items} legacy item(s) into ${$.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${$.current.jsonStorePath}`}})}function yy($){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,$)}function oq($){return $ instanceof Error&&/\b(EBUSY|EPERM)\b/.test($.message)}function hy($){let _;for(let U=0;U<8;U+=1)try{HG($,{recursive:!0,force:!1});return}catch(W){if(_=W,!oq(W))throw W;yy(50*(U+1))}throw _}function IR($){if(!H6($))return;let _=bR($);if(dq($,_.isDirectory()?448:384),!_.isDirectory())return;for(let U of pq($))IR(B4($,U))}function xy($){return $==="TOMBSTONE.md"||$==="migration.json"||$==="knowledge.db"||$==="knowledge.db-shm"||$==="knowledge.db-wal"||$==="knowledge.db-journal"}function my($){for(let _ of pq($)){if(_==="TOMBSTONE.md"||_==="migration.json")continue;try{HG(B4($,_),{recursive:!0,force:!1})}catch(U){if(!oq(U)||!_.startsWith("knowledge.db"))throw U}}}function uy($,_){try{fy($,_);return}catch(U){rq($,_,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{hy($)}catch(W){if(oq(W)){my($);return}throw HG(_,{recursive:!0,force:!0}),W}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function dy($,_,U){if(!_.exists)return!1;if(!_.files.includes("TOMBSTONE.md")||!_.files.includes("migration.json"))return!1;if(_.files.some((W)=>!xy(W)))return!1;try{let W=JSON.parse(AW(B4($.home,"migration.json"),"utf8"));return W.new_path===U&&typeof W.backup_path==="string"}catch{return!1}}function gR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.current),J=Zy($.current,W),X=$.approveWrite===!0&&Boolean($.approvedBy)&&(!W.exists||J),G=R_($.legacy,{includeSqlite:!X}),Q={legacy_exists:G.exists,current_absent_or_default_scaffold:!W.exists||J,approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},Y=[];if(!G.exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:null,legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:`No legacy knowledge workspace found at ${$.legacy.home}`};if(Q.legacy_is_tombstone=dy($.legacy,G,$.current.home),Q.legacy_is_tombstone)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:W,checks:{...Q,tombstone_written:!0},warnings:Y,message:`Legacy knowledge workspace already migrated to ${$.current.home}`};if(!Q.current_absent_or_default_scaffold)Y.push("current_workspace_contains_data");if(!Q.approval_present)Y.push("write_approval_required");if(U||!Q.current_absent_or_default_scaffold||!Q.approval_present)return{ok:Q.current_absent_or_default_scaffold,dry_run:!0,approval_required:!0,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.backup-${BG(_)}`,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:Q.current_absent_or_default_scaffold?`Dry run: would migrate ${$.legacy.home} to ${$.current.home}`:`Cannot migrate while ${$.current.home} contains data`};let j=`${$.legacy.home}.backup-${BG(_)}`;NG(cq($.current.home),{recursive:!0}),NG(cq(j),{recursive:!0}),rq($.legacy.home,j,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),IR(j);let O=T_(j),B=R_(O,{includeSqlite:!1});if(Q.backup_matches_legacy=lq(G,B),!Q.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${j}`);if(W.exists&&J)HG($.current.home,{recursive:!0,force:!0});uy($.legacy.home,$.current.home);let V=R_($.current,{includeSqlite:!1});Q.migrated_matches_backup=lq(B,V);let L=R_(O),N=R_($.current),H={...L,path:$.legacy.home};NG($.legacy.home,{recursive:!0});let R=B4($.legacy.home,"TOMBSTONE.md");AR(R,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${_.toISOString()}`,`Approved by: ${$.approvedBy}`,`New path: ${$.current.home}`,`Backup path: ${j}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` -`),{mode:384}),dq(R,384);let E=B4($.legacy.home,"migration.json");AR(E,`${JSON.stringify({migrated_at:_.toISOString(),approved_by:$.approvedBy,new_path:$.current.home,backup_path:j,legacy_before:H,backup_after:L,current_after:N},null,2)} -`,{mode:384}),dq(E,384),Q.tombstone_written=H6(R);let A=Q.backup_matches_legacy&&Q.migrated_matches_backup&&Q.tombstone_written;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:j,tombstone_path:R,legacy_before:H,current_before:W,backup_after:L,current_after:N,checks:Q,warnings:Y,message:A?`Migrated legacy knowledge workspace to ${$.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${$.current.home}`}}function iy($){let _=dR($);if(x$(wR(_,"knowledge.db"))||x$(wR(_,"config.json")))return I1(_);return I1(T_(xG(_)).home)}function tq($){return`${ly()}:${FW("sha256").update($.home).digest("hex").slice(0,12)}`}function eq($){return`'${$.replace(/'/g,"'\\''")}'`}function ry($){return["knowledge",...$].map(eq).join(" ")}function kR($,_){return`cd ${eq($)} && knowledge ${_.map(eq).join(" ")}`}function cR($){return!$||$==="local"||$==="localhost"}function EW($,_){return{source:$.source,adapter:$.adapter,project_root:_,project_root_source:$.project_root_source,workspace_root:$.workspace_root,workspace_root_source:$.workspace_root_source,open_files_root:$.open_files_root,open_files_root_source:$.open_files_root_source,trust_status:$.trust_status,auth_status:$.auth_status,current:$.current,primary:$.primary,diagnostics:$.diagnostics,repair_hints:$.repair_hints,evidence:$.evidence,cacheability:$.cacheability,warnings:$.warnings}}function aq($){return{source:$.source,adapter:$.adapter,target:$.target,route:$.route,target_kind:$.targetKind,confidence:$.confidence,evidence:$.evidence,cacheability:$.cacheability}}function py($){try{let _=JSON.parse($);return Array.isArray(_)?_.filter((U)=>typeof U==="string"):[]}catch{return[]}}function KW($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function G_($){return typeof $==="string"&&$.length>0?$:null}function oy($){return typeof $==="number"&&Number.isFinite($)?$:null}function VG($){return typeof $==="boolean"?$:null}function ty($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function nR($,_,U){let W=KW($),J=G_(W.observed_at)??G_(_[`${U}_observed_at`]),X=G_(W.source_authority)??G_(_[`${U}_source_authority`]);if(!J||!X)return null;return{observed_at:J,verified_at:G_(W.verified_at),expires_at:G_(W.expires_at)??G_(_[`${U}_expires_at`]),ttl_ms:oy(W.ttl_ms),source_authority:X,confidence:G_(W.confidence)??(U==="route"?G_(_.route_confidence):null),cacheable:VG(W.cacheable)??VG(_[`${U}_cacheable`])??!1,stale:VG(W.stale)??VG(_[`${U}_stale`])??!1,reasons:ty(W.reasons)}}function ay($,_){return $.machine_id===_||$.hostname===_||$.ssh_target===_||$.tailscale_dns===_||py($.tailscale_ips_json).includes(_)}function PR($,_){return OQ($).find((U)=>ay(U,_))??null}function lR($){return KW(UU($.metadata_json).resolver_evidence)}function bW($){return KW(UU($.capabilities_json).resolver)}function iR($){let _=bW($),U=G_(_.route_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;if($.tailscale_dns&&$.ssh_target===$.tailscale_dns)return"tailscale";return $.ssh_target?"ssh":"unknown"}function sy($){let _=bW($),U=G_(_.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return iR($)}function ey($){return G_(bW($).route_confidence)??"medium"}function fR($,_,U){let W=lR($),J=KW(W.route),X=bW($);return{target:$.ssh_target??$.tailscale_dns??$.hostname??$.machine_id,route:iR($),targetKind:sy($),confidence:ey($),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,route:J},cacheability:nR(J.cacheability,X,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function CR($,_,U){if(!$.workspace_home)return null;let W=lR($),J=KW(W.workspace),X=bW($);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:_,machine_id:$.machine_id,project_id:G_(J.project_id)??U.project_id,repo_name:G_(J.repo_name)??U.repo_name,project_root:$.workspace_home,project_root_source:G_(X.project_root_source)??"registry",workspace_root:G_(J.workspace_root),workspace_root_source:G_(X.workspace_root_source)??"registry",open_files_root:G_(J.open_files_root),open_files_root_source:G_(X.open_files_root_source)??"registry",trust_status:G_(X.trust_status)??"unknown",auth_status:G_(X.auth_status)??"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,workspace:J},cacheability:nR(J.cacheability,X,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function TR($){if(!$)return null;let _=$.diagnostics.filter((W)=>W.severity!=="ok"),U=$.repair_hints[0];if(!_.length&&!$.warnings.length&&!U)return null;return[_.length?`workspace diagnostics: ${_.map((W)=>`${W.id}=${W.status}`).join(", ")}`:null,$.warnings.length?`warnings: ${$.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function RG($){return{id:$.id,reason:$.reason,command:["knowledge",...$.args],shell_command:ry($.args)}}function AG($,_){let U=d($);try{return Number(U.query(_).get()?.count??0)}finally{U.close()}}function $h($,_){let U=AG($,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),W=AG($,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),J=AG($,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),X=AG($,["SELECT COUNT(*) AS count FROM sources","WHERE metadata_json LIKE '%raw_bytes%'","OR metadata_json LIKE '%raw_content%'","OR metadata_json LIKE '%content_base64%'","OR metadata_json LIKE '%source_bytes%'"].join(" ")),G=X===0;return{ok:G,source_of_truth:"open-files",configured_root:_?.open_files_root??null,configured_root_source:_?.open_files_root_source??null,source_refs:{open_files:U,metadata_mentions:W},extracted_text_artifacts:J,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:X,message:G?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${X} raw source payload metadata sentinel(s) found`}}var _h=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function $O($,_=0){if(_>8)return!1;if(!$||typeof $!=="object")return!1;if(Array.isArray($))return $.some((U)=>$O(U,_+1));for(let[U,W]of Object.entries($)){if(_h.has(U.toLowerCase()))return!0;if($O(W,_+1))return!0}return!1}function UU($){try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function SR($,_=20,U=200){if(!Number.isFinite($)||$<=0)return _;return Math.min(Math.floor($),U)}function Uh($,_=220){let U=$??"";return U.length>_?`${U.slice(0,_)}...`:U}function s_($,_=["metadata_json"]){return $.map((U)=>{let W={...U};for(let J of _){let X=W[J];if(typeof X==="string"){let G=J.endsWith("_json")?J.slice(0,-5):J;W[G]=UU(X),delete W[J]}}return W})}function d_($,_,U=[]){return $.query(_).all(...U)}function Jh($){if(!x$($))return{exists:!1,read_error:null,items:[]};try{let _=JSON.parse(ny($,"utf8"));if(!_||!Array.isArray(_.items))return{exists:!0,read_error:"invalid_store_shape",items:[]};return{exists:!0,read_error:null,items:_.items}}catch(_){return{exists:!0,read_error:_ instanceof Error?_.message:String(_),items:[]}}}function ZR($){return{id:$.id,short_id:$.short_id??null,title:$.title,content_preview:Uh($.content),url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:$.archived===!0,created_at:$.created_at,updated_at:$.updated_at}}function vR(){return{schema_version:0,sources:0,source_revisions:0,chunks:0,wiki_pages:0,citations:0,indexes:0,runs:0,run_events:0,redaction_findings:0,audit_events:0,approval_gates:0,storage_objects:0,embeddings:0,vector_entries:0,reindex_queue:0,knowledge_machines:0,sync_snapshots:0,sync_changes:0,sync_conflicts:0,sync_table_clocks:0,sync_imports:0}}function rR($,_,U=!1){return{query:$,limit:_,offset:0,mode:{keyword:!0,catalog:!0,semantic:U},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:0,catalog_results:0,semantic_results:0,merged_results:0},warnings:["knowledge_db_missing"],results:[]}}function Wh($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Xh($,_,U=!1){let W=rR($,_,U);return{query:$,normalized_query:Wh($),created_at:new Date().toISOString(),mode:W.mode,warnings:W.warnings,search_counts:W.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function sq($,_,U){let W=U??_.jsonStorePath;if(x$(W))return W;if($==="global"){let J=bU();if(x$(J))return J}return W}function Gh($){let _=JSON.stringify($);return Math.max(1,Math.ceil(_.length/4))}function _O($,_){let U=($??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function yR($,_,U){let W=w_(_O($,U),_);return{text:W.text,redactions:W.findings.length}}function hR($,_,U){let W=$.now??new Date,J=$.source??"search",X=$.purpose??(J==="loops"||J==="runs"?"proposal":"agent_context"),G=($.query??$.topic??_.query).normalize("NFKC").trim().replace(/\s+/g," "),Q=Math.max(1,Math.min($.maxItems??$.limit??8,50)),Y=Math.max(500,Math.min($.maxTokens??6000,1e5)),j=0,O=_.citations.slice(0,Math.max(Q*2,Q)).map((A,M)=>{let K=yR(A.quote,U,M<3?220:140);j+=K.redactions;let I=A.source_ref??A.source_uri??A.artifact_path??A.artifact_uri??A.id;return{id:`cite_${FW("sha256").update(`${A.id}\x00${I}`).digest("hex").slice(0,12)}`,kind:A.artifact_uri||A.artifact_path?"artifact":"source",ref:I,source_ref:A.source_ref,source_uri:A.source_uri,artifact_uri:A.artifact_uri,artifact_path:A.artifact_path,run_id:null,run_event_id:null,revision:A.revision,hash:A.hash,chunk_id:A.chunk_id,offsets:{start:A.start_offset,end:A.end_offset},quote_preview:K.text}}),B=new Map(_.citations.map((A,M)=>[A.id,O[M]])),V=_.excerpts.slice(0,Math.max(Q*2,Q)).map((A)=>{let M=_.results.find((Z)=>Z.id===A.result_id),K=A.citation_id?B.get(A.citation_id):void 0,I=yR(A.text,U,520);return j+=I.redactions,{id:`ev_${FW("sha256").update(`${A.kind}\x00${A.result_id}\x00${A.citation_id??""}`).digest("hex").slice(0,14)}`,kind:A.kind,title:_O(M?.title??K?.ref??A.kind,100),text_preview:I.text,score:Number(A.score.toFixed(6)),citation_ids:K?[K.id]:[],provenance:{source:J,record_ref:`${A.kind}:${A.result_id}`,created_at:_.created_at,updated_at:null,metadata_keys:[]}}}).sort((A,M)=>M.score-A.score||A.id.localeCompare(M.id)).slice(0,Q),L=new Set(V.flatMap((A)=>A.citation_ids)),N=O.filter((A)=>L.has(A.id)),H=Array.from(new Set(_.warnings)),R=`ctx_${FW("sha256").update([J,X,G,H.join(","),V.map((A)=>A.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,E={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:W.toISOString(),source:J,purpose:X,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:R,budgets:{max_tokens:Y,estimated_tokens:0,max_items:Q,items_included:V.length,items_available:_.excerpts.length,items_truncated:Math.max(0,_.excerpts.length-V.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:j,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:N,evidence:V,duplicate_candidates:[],outline:{title:G?`Knowledge context: ${_O(G,80)}`:"Knowledge context",bullets:V.length>0?V.slice(0,5).map((A)=>`${A.id}: ${A.title}`):["No matching bounded evidence was found."],evidence_ids:V.slice(0,8).map((A)=>A.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:H,message:`${V.length} bounded evidence item(s), estimated under ${Y} token(s)`};return E.budgets.estimated_tokens=Gh(E),E.budgets.token_budget_exceeded=E.budgets.estimated_tokens>Y,E.message=`${E.evidence.length} bounded evidence item(s), estimated ${E.budgets.estimated_tokens}/${Y} token(s)`,E}function Qh(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Yh(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function jh($){return{ok:!0,scope:$.scope,workspace_home:$.workspaceHome,sqlite_schema_version:0,local_machine_id:$.localMachineId??null,machines:{total:0,rows:[]},snapshots:{total:0,latest:null},changes:{total:0,by_operation:[]},clocks:{total:0,rows:[]},imports:{total:0,latest:null},conflicts:{total:0,by_status:[],open:0},table_counts:{},message:"0 machine(s), 0 open sync conflict(s)"}}function xR($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=($.query??$.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),X=Math.max(1,Math.min($.maxItems??$.limit??8,50)),G=Math.max(500,Math.min($.maxTokens??6000,1e5)),Q=`ctx_${FW("sha256").update(["empty",U,W,J,$.topic??"",$.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:J,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:Q,budgets:{max_tokens:G,estimated_tokens:0,max_items:X,items_included:0,items_available:0,items_truncated:0,token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:0,reminders:["This pack is read-only and performs no durable writes.","No knowledge.db exists for this scope yet."]},citations:[],evidence:[],duplicate_candidates:[],outline:{title:J?`Context for ${J}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${G} token(s)`}}function UO($){let _=$.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return _?`${_}/`:null}function Dh($,_){let U=d($);try{let W=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json + updated_at = excluded.updated_at`,[G,"wiki/README.md","Wiki",X.uri,X.hash??null,"active",JSON.stringify({artifact_key:X.key,provenance:mq(X)}),W,W]),Ty($,G,"Wiki",X,RR(),W)}}import{createHash as ER}from"crypto";import{cpSync as rq,chmodSync as dq,existsSync as H6,lstatSync as gR,mkdirSync as B5,readdirSync as pq,readFileSync as AW,renameSync as Sy,rmSync as V5,writeFileSync as KR}from"fs";import{dirname as cq,join as B4,relative as Zy}from"path";function nq($,_=$){if(!H6($))return[];let U=gR($);if(U.isFile())return[Zy(_,$)||"."];if(!U.isDirectory())return[];return pq($).flatMap((W)=>nq(B4($,W),_)).sort()}function bR($,_){if(_.length===0)return{sha256:null,bytes:0};let U=ER("sha256"),W=0;for(let J of _){let X=B4($,J),G=AW(X),Q=ER("sha256").update(G).digest("hex");W+=G.byteLength,U.update(J),U.update("\x00"),U.update(Q),U.update("\x00")}return{sha256:U.digest("hex"),bytes:W}}function vy($){if(!H6($))return null;let _=JSON.parse(AW($,"utf8"));return Array.isArray(_.items)?_.items.length:null}function yy($){if(!H6($))return{exists:!1,integrity_check:null,table_counts:{}};let _=EN($);try{let U=_.query("PRAGMA integrity_check").get(),W=U?Object.values(U)[0]??null:null,J=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),X={};for(let G of J){let Q=`"${G.name.replaceAll('"','""')}"`,Y=_.query(`SELECT COUNT(*) AS n FROM ${Q}`).get();X[G.name]=Y?.n??0}return{exists:!0,integrity_check:W,table_counts:X}}finally{_.close()}}function R_($,_={}){let U=nq($.home),W=bR($.home,U),J=nq($.artifactsDir),X=bR($.artifactsDir,J),G=H6($.knowledgeDbPath);return{path:$.home,exists:H6($.home),file_count:U.length,total_bytes:W.bytes,tree_sha256:W.sha256,json_items:vy($.jsonStorePath),sqlite:_.includeSqlite===!1?{exists:G,integrity_check:null,table_counts:{}}:yy($.knowledgeDbPath),artifacts:{exists:H6($.artifactsDir),file_count:J.length,total_bytes:X.bytes,tree_sha256:X.sha256},files:U}}function hy($,_){if(!_.exists)return!0;if(_.files.filter((W)=>W!=="config.json").length>0)return!1;if(!_.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(AW($.configPath,"utf8")))===JSON.stringify(IU())}catch{return!1}}function lq($,_){return $.file_count===_.file_count&&$.total_bytes===_.total_bytes&&$.tree_sha256===_.tree_sha256&&$.json_items===_.json_items&&$.sqlite.integrity_check===_.sqlite.integrity_check&&JSON.stringify($.sqlite.table_counts)===JSON.stringify(_.sqlite.table_counts)&&$.artifacts.file_count===_.artifacts.file_count&&$.artifacts.total_bytes===_.artifacts.total_bytes&&$.artifacts.tree_sha256===_.artifacts.tree_sha256}function H5($){return $.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function iq($){if(Array.isArray($))return`[${$.map(iq).join(",")}]`;if($&&typeof $==="object")return`{${Object.entries($).sort(([_],[U])=>_.localeCompare(U)).map(([_,U])=>`${JSON.stringify(_)}:${iq(U)}`).join(",")}}`;return JSON.stringify($)}function MR($){return iq($)}function uq($){return typeof $.short_id==="string"&&$.short_id.trim().length>0?$.short_id:null}function L1($){if(!H6($))return{items:[]};let _=JSON.parse(AW($,"utf8"));if(!_||!Array.isArray(_.items))throw Error(`Invalid knowledge JSON store shape at ${$}`);return{items:_.items}}function IR($,_){let U=new Map($.items.map((O)=>[O.id,O])),W=new Map;for(let O of $.items){let B=W.get(O.id);if(B&&B.item.id!==O.id);W.set(O.id,{item:O,keyKind:"id",source:"current"});let V=uq(O);if(V&&!W.has(V))W.set(V,{item:O,keyKind:"short_id",source:"current"})}let J=[],X=0,G=0,Q=0,Y=[];for(let O of _.items){let B=U.get(O.id);if(B){if(MR(B)===MR(O))X+=1;else G+=1,J.push({type:"id_conflict",id:O.id,legacy_title:O.title,current_title:B.title});continue}let V=[{key:O.id,keyKind:"id"},...uq(O)?[{key:uq(O),keyKind:"short_id"}]:[]],L=!1;for(let{key:N,keyKind:H}of V){let R=W.get(N);if(!R)continue;if(H==="id"&&R.keyKind==="id")G+=1,J.push({type:"id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});else Q+=1,J.push({type:"short_id_conflict",id:N,legacy_id:O.id,current_id:R.item.id,legacy_title:O.title,current_title:R.item.title});L=!0}if(L)continue;Y.push(O);for(let{key:N,keyKind:H}of V)W.set(N,{item:O,keyKind:H,source:"legacy"})}let j={items:[...$.items,...Y]};return{stats:{current_items:$.items.length,legacy_items:_.items.length,duplicate_ids_identical:X,duplicate_ids_conflicting:G,short_id_conflicts:Q,stranded_items:Y.length,merged_items:J.length===0?Y.length:0,expected_total_items:$.items.length+Y.length,final_items:null},conflicts:J,mergedStore:j}}function xy($,_){let U=[...new Set($)].sort(),W=(J)=>{if(J>=U.length)return _();return g6(U[J],()=>W(J+1),{createParent:!0})};return W(0)}function wR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.legacy),J=R_($.current),X={legacy_exists:W.exists,legacy_store_exists:H6($.legacy.jsonStorePath),current_store_exists:H6($.current.jsonStorePath),approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},G=[];if(!W.exists||!X.legacy_store_exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:W,current_before:J,backup_after:null,current_after:J,merge:{current_items:L1($.current.jsonStorePath).items.length,legacy_items:0,duplicate_ids_identical:0,duplicate_ids_conflicting:0,short_id_conflicts:0,stranded_items:0,merged_items:0,expected_total_items:L1($.current.jsonStorePath).items.length,final_items:J.json_items},conflicts:[],checks:{...X,no_conflicts:!0,final_count_matches_expected:!0},warnings:G,message:`No legacy knowledge JSON store found at ${$.legacy.jsonStorePath}`};let Q=L1($.current.jsonStorePath),Y=L1($.legacy.jsonStorePath),j=IR(Q,Y);if(X.no_conflicts=j.conflicts.length===0,j.conflicts.length>0)G.push("merge_conflicts_detected");if(!X.approval_present)G.push("write_approval_required");if(U||!X.approval_present||j.conflicts.length>0)return{ok:j.conflicts.length===0,dry_run:!0,approval_required:!X.approval_present,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.merge-backup-${H5(_)}`,legacy_before:W,current_before:J,backup_after:null,current_after:null,merge:j.stats,conflicts:j.conflicts,checks:X,warnings:G,message:j.conflicts.length===0?`Dry run: would merge ${j.stats.stranded_items} legacy item(s) into ${$.current.jsonStorePath}`:`Refusing legacy merge with ${j.conflicts.length} conflict(s)`};return xy([$.current.jsonStorePath,$.legacy.jsonStorePath],()=>{let O=L1($.current.jsonStorePath),B=L1($.legacy.jsonStorePath),V=IR(O,B);if(X.no_conflicts=V.conflicts.length===0,V.conflicts.length>0)return{ok:!1,dry_run:!0,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:null,merge:V.stats,conflicts:V.conflicts,checks:X,warnings:[...G,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${V.conflicts.length} conflict(s)`};if(V.stats.stranded_items===0)return V.stats.final_items=O.items.length,X.final_count_matches_expected=O.items.length===V.stats.expected_total_items,{ok:X.no_conflicts&&X.final_count_matches_expected,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,legacy_before:R_($.legacy),current_before:R_($.current),backup_after:null,current_after:R_($.current),merge:V.stats,conflicts:[],checks:X,warnings:G,message:`Legacy merge already up to date for ${$.current.jsonStorePath}`};let L=`${$.legacy.home}.merge-backup-${H5(_)}`;B5(cq(L),{recursive:!0}),rq($.legacy.home,L,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let N=T_(L),H=R_(N);if(X.legacy_backup_written=lq(R_($.legacy),H),!X.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${L}`);l6($.current.jsonStorePath,V.mergedStore);let R=L1($.current.jsonStorePath);V.stats.final_items=R.items.length,X.final_count_matches_expected=R.items.length===V.stats.expected_total_items;let F=R_($.current),A=X.legacy_backup_written&&X.no_conflicts&&X.final_count_matches_expected;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:L,legacy_before:W,current_before:J,backup_after:H,current_after:F,merge:V.stats,conflicts:[],checks:X,warnings:G,message:A?`Merged ${V.stats.merged_items} legacy item(s) into ${$.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${$.current.jsonStorePath}`}})}function my($){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,$)}function oq($){return $ instanceof Error&&/\b(EBUSY|EPERM)\b/.test($.message)}function uy($){let _;for(let U=0;U<8;U+=1)try{V5($,{recursive:!0,force:!1});return}catch(W){if(_=W,!oq(W))throw W;my(50*(U+1))}throw _}function kR($){if(!H6($))return;let _=gR($);if(dq($,_.isDirectory()?448:384),!_.isDirectory())return;for(let U of pq($))kR(B4($,U))}function dy($){return $==="TOMBSTONE.md"||$==="migration.json"||$==="knowledge.db"||$==="knowledge.db-shm"||$==="knowledge.db-wal"||$==="knowledge.db-journal"}function cy($){for(let _ of pq($)){if(_==="TOMBSTONE.md"||_==="migration.json")continue;try{V5(B4($,_),{recursive:!0,force:!1})}catch(U){if(!oq(U)||!_.startsWith("knowledge.db"))throw U}}}function ny($,_){try{Sy($,_);return}catch(U){rq($,_,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{uy($)}catch(W){if(oq(W)){cy($);return}throw V5(_,{recursive:!0,force:!0}),W}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function ly($,_,U){if(!_.exists)return!1;if(!_.files.includes("TOMBSTONE.md")||!_.files.includes("migration.json"))return!1;if(_.files.some((W)=>!dy(W)))return!1;try{let W=JSON.parse(AW(B4($.home,"migration.json"),"utf8"));return W.new_path===U&&typeof W.backup_path==="string"}catch{return!1}}function PR($){let _=$.now??new Date,U=$.approveWrite!==!0,W=R_($.current),J=hy($.current,W),X=$.approveWrite===!0&&Boolean($.approvedBy)&&(!W.exists||J),G=R_($.legacy,{includeSqlite:!X}),Q={legacy_exists:G.exists,current_absent_or_default_scaffold:!W.exists||J,approval_present:$.approveWrite===!0&&Boolean($.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},Y=[];if(!G.exists)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:null,legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:`No legacy knowledge workspace found at ${$.legacy.home}`};if(Q.legacy_is_tombstone=ly($.legacy,G,$.current.home),Q.legacy_is_tombstone)return{ok:!0,dry_run:U,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:null,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:W,checks:{...Q,tombstone_written:!0},warnings:Y,message:`Legacy knowledge workspace already migrated to ${$.current.home}`};if(!Q.current_absent_or_default_scaffold)Y.push("current_workspace_contains_data");if(!Q.approval_present)Y.push("write_approval_required");if(U||!Q.current_absent_or_default_scaffold||!Q.approval_present)return{ok:Q.current_absent_or_default_scaffold,dry_run:!0,approval_required:!0,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:`${$.legacy.home}.backup-${H5(_)}`,tombstone_path:B4($.legacy.home,"TOMBSTONE.md"),legacy_before:G,current_before:W,backup_after:null,current_after:null,checks:Q,warnings:Y,message:Q.current_absent_or_default_scaffold?`Dry run: would migrate ${$.legacy.home} to ${$.current.home}`:`Cannot migrate while ${$.current.home} contains data`};let j=`${$.legacy.home}.backup-${H5(_)}`;B5(cq($.current.home),{recursive:!0}),B5(cq(j),{recursive:!0}),rq($.legacy.home,j,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),kR(j);let O=T_(j),B=R_(O,{includeSqlite:!1});if(Q.backup_matches_legacy=lq(G,B),!Q.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${j}`);if(W.exists&&J)V5($.current.home,{recursive:!0,force:!0});ny($.legacy.home,$.current.home);let V=R_($.current,{includeSqlite:!1});Q.migrated_matches_backup=lq(B,V);let L=R_(O),N=R_($.current),H={...L,path:$.legacy.home};B5($.legacy.home,{recursive:!0});let R=B4($.legacy.home,"TOMBSTONE.md");KR(R,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${_.toISOString()}`,`Approved by: ${$.approvedBy}`,`New path: ${$.current.home}`,`Backup path: ${j}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` +`),{mode:384}),dq(R,384);let F=B4($.legacy.home,"migration.json");KR(F,`${JSON.stringify({migrated_at:_.toISOString(),approved_by:$.approvedBy,new_path:$.current.home,backup_path:j,legacy_before:H,backup_after:L,current_after:N},null,2)} +`,{mode:384}),dq(F,384),Q.tombstone_written=H6(R);let A=Q.backup_matches_legacy&&Q.migrated_matches_backup&&Q.tombstone_written;return{ok:A,dry_run:!1,approval_required:!1,scope:$.scope,current_home:$.current.home,legacy_home:$.legacy.home,backup_home:j,tombstone_path:R,legacy_before:H,current_before:W,backup_after:L,current_after:N,checks:Q,warnings:Y,message:A?`Migrated legacy knowledge workspace to ${$.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${$.current.home}`}}function oy($){let _=lR($);if(x$(fR(_,"knowledge.db"))||x$(fR(_,"config.json")))return g1(_);return g1(T_(m5(_)).home)}function tq($){return`${py()}:${EW("sha256").update($.home).digest("hex").slice(0,12)}`}function eq($){return`'${$.replace(/'/g,"'\\''")}'`}function ty($){return["knowledge",...$].map(eq).join(" ")}function CR($,_){return`cd ${eq($)} && knowledge ${_.map(eq).join(" ")}`}function iR($){return!$||$==="local"||$==="localhost"}function FW($,_){return{source:$.source,adapter:$.adapter,project_root:_,project_root_source:$.project_root_source,workspace_root:$.workspace_root,workspace_root_source:$.workspace_root_source,open_files_root:$.open_files_root,open_files_root_source:$.open_files_root_source,trust_status:$.trust_status,auth_status:$.auth_status,current:$.current,primary:$.primary,diagnostics:$.diagnostics,repair_hints:$.repair_hints,evidence:$.evidence,cacheability:$.cacheability,warnings:$.warnings}}function aq($){return{source:$.source,adapter:$.adapter,target:$.target,route:$.route,target_kind:$.targetKind,confidence:$.confidence,evidence:$.evidence,cacheability:$.cacheability}}function ay($){try{let _=JSON.parse($);return Array.isArray(_)?_.filter((U)=>typeof U==="string"):[]}catch{return[]}}function KW($){return $&&typeof $==="object"&&!Array.isArray($)?$:{}}function G_($){return typeof $==="string"&&$.length>0?$:null}function sy($){return typeof $==="number"&&Number.isFinite($)?$:null}function R5($){return typeof $==="boolean"?$:null}function ey($){return Array.isArray($)?$.filter((_)=>typeof _==="string"):[]}function rR($,_,U){let W=KW($),J=G_(W.observed_at)??G_(_[`${U}_observed_at`]),X=G_(W.source_authority)??G_(_[`${U}_source_authority`]);if(!J||!X)return null;return{observed_at:J,verified_at:G_(W.verified_at),expires_at:G_(W.expires_at)??G_(_[`${U}_expires_at`]),ttl_ms:sy(W.ttl_ms),source_authority:X,confidence:G_(W.confidence)??(U==="route"?G_(_.route_confidence):null),cacheable:R5(W.cacheable)??R5(_[`${U}_cacheable`])??!1,stale:R5(W.stale)??R5(_[`${U}_stale`])??!1,reasons:ey(W.reasons)}}function $h($,_){return $.machine_id===_||$.hostname===_||$.ssh_target===_||$.tailscale_dns===_||ay($.tailscale_ips_json).includes(_)}function TR($,_){return OQ($).find((U)=>$h(U,_))??null}function pR($){return KW(JU($.metadata_json).resolver_evidence)}function bW($){return KW(JU($.capabilities_json).resolver)}function oR($){let _=bW($),U=G_(_.route_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;if($.tailscale_dns&&$.ssh_target===$.tailscale_dns)return"tailscale";return $.ssh_target?"ssh":"unknown"}function _h($){let _=bW($),U=G_(_.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return oR($)}function Uh($){return G_(bW($).route_confidence)??"medium"}function SR($,_,U){let W=pR($),J=KW(W.route),X=bW($);return{target:$.ssh_target??$.tailscale_dns??$.hostname??$.machine_id,route:oR($),targetKind:_h($),confidence:Uh($),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,route:J},cacheability:rR(J.cacheability,X,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function ZR($,_,U){if(!$.workspace_home)return null;let W=pR($),J=KW(W.workspace),X=bW($);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:_,machine_id:$.machine_id,project_id:G_(J.project_id)??U.project_id,repo_name:G_(J.repo_name)??U.repo_name,project_root:$.workspace_home,project_root_source:G_(X.project_root_source)??"registry",workspace_root:G_(J.workspace_root),workspace_root_source:G_(X.workspace_root_source)??"registry",open_files_root:G_(J.open_files_root),open_files_root_source:G_(X.open_files_root_source)??"registry",trust_status:G_(X.trust_status)??"unknown",auth_status:G_(X.auth_status)??"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:{registry:!0,requested_machine_id:_,machine_id:$.machine_id,recorded_at:$.updated_at,workspace:J},cacheability:rR(J.cacheability,X,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function vR($){if(!$)return null;let _=$.diagnostics.filter((W)=>W.severity!=="ok"),U=$.repair_hints[0];if(!_.length&&!$.warnings.length&&!U)return null;return[_.length?`workspace diagnostics: ${_.map((W)=>`${W.id}=${W.status}`).join(", ")}`:null,$.warnings.length?`warnings: ${$.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function A5($){return{id:$.id,reason:$.reason,command:["knowledge",...$.args],shell_command:ty($.args)}}function F5($,_){let U=d($);try{return Number(U.query(_).get()?.count??0)}finally{U.close()}}function Jh($,_){let U=F5($,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),W=F5($,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),J=F5($,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),X=F5($,["SELECT COUNT(*) AS count FROM sources","WHERE metadata_json LIKE '%raw_bytes%'","OR metadata_json LIKE '%raw_content%'","OR metadata_json LIKE '%content_base64%'","OR metadata_json LIKE '%source_bytes%'"].join(" ")),G=X===0;return{ok:G,source_of_truth:"open-files",configured_root:_?.open_files_root??null,configured_root_source:_?.open_files_root_source??null,source_refs:{open_files:U,metadata_mentions:W},extracted_text_artifacts:J,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:X,message:G?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${X} raw source payload metadata sentinel(s) found`}}var Wh=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function $O($,_=0){if(_>8)return!1;if(!$||typeof $!=="object")return!1;if(Array.isArray($))return $.some((U)=>$O(U,_+1));for(let[U,W]of Object.entries($)){if(Wh.has(U.toLowerCase()))return!0;if($O(W,_+1))return!0}return!1}function JU($){try{let _=JSON.parse($);return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}catch{return{}}}function yR($,_=20,U=200){if(!Number.isFinite($)||$<=0)return _;return Math.min(Math.floor($),U)}function Xh($,_=220){let U=$??"";return U.length>_?`${U.slice(0,_)}...`:U}function s_($,_=["metadata_json"]){return $.map((U)=>{let W={...U};for(let J of _){let X=W[J];if(typeof X==="string"){let G=J.endsWith("_json")?J.slice(0,-5):J;W[G]=JU(X),delete W[J]}}return W})}function d_($,_,U=[]){return $.query(_).all(...U)}function Gh($){if(!x$($))return{exists:!1,read_error:null,items:[]};try{let _=JSON.parse(ry($,"utf8"));if(!_||!Array.isArray(_.items))return{exists:!0,read_error:"invalid_store_shape",items:[]};return{exists:!0,read_error:null,items:_.items}}catch(_){return{exists:!0,read_error:_ instanceof Error?_.message:String(_),items:[]}}}function hR($){return{id:$.id,short_id:$.short_id??null,title:$.title,content_preview:Xh($.content),url:$.url??null,tags:$.tags??[],metadata:$.metadata??{},archived:$.archived===!0,created_at:$.created_at,updated_at:$.updated_at}}function xR(){return{schema_version:0,sources:0,source_revisions:0,chunks:0,wiki_pages:0,citations:0,indexes:0,runs:0,run_events:0,redaction_findings:0,audit_events:0,approval_gates:0,storage_objects:0,embeddings:0,vector_entries:0,reindex_queue:0,knowledge_machines:0,sync_snapshots:0,sync_changes:0,sync_conflicts:0,sync_table_clocks:0,sync_imports:0}}function tR($,_,U=!1){return{query:$,limit:_,offset:0,mode:{keyword:!0,catalog:!0,semantic:U},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:0,catalog_results:0,semantic_results:0,merged_results:0},warnings:["knowledge_db_missing"],results:[]}}function Qh($){return $.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Yh($,_,U=!1){let W=tR($,_,U);return{query:$,normalized_query:Qh($),created_at:new Date().toISOString(),mode:W.mode,warnings:W.warnings,search_counts:W.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function sq($,_,U){let W=U??_.jsonStorePath;if(x$(W))return W;if($==="global"){let J=MU();if(x$(J))return J}return W}function jh($){let _=JSON.stringify($);return Math.max(1,Math.ceil(_.length/4))}function _O($,_){let U=($??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-1)).trim()}...`}function mR($,_,U){let W=w_(_O($,U),_);return{text:W.text,redactions:W.findings.length}}function uR($,_,U){let W=$.now??new Date,J=$.source??"search",X=$.purpose??(J==="loops"||J==="runs"?"proposal":"agent_context"),G=($.query??$.topic??_.query).normalize("NFKC").trim().replace(/\s+/g," "),Q=Math.max(1,Math.min($.maxItems??$.limit??8,50)),Y=Math.max(500,Math.min($.maxTokens??6000,1e5)),j=0,O=_.citations.slice(0,Math.max(Q*2,Q)).map((A,M)=>{let K=mR(A.quote,U,M<3?220:140);j+=K.redactions;let I=A.source_ref??A.source_uri??A.artifact_path??A.artifact_uri??A.id;return{id:`cite_${EW("sha256").update(`${A.id}\x00${I}`).digest("hex").slice(0,12)}`,kind:A.artifact_uri||A.artifact_path?"artifact":"source",ref:I,source_ref:A.source_ref,source_uri:A.source_uri,artifact_uri:A.artifact_uri,artifact_path:A.artifact_path,run_id:null,run_event_id:null,revision:A.revision,hash:A.hash,chunk_id:A.chunk_id,offsets:{start:A.start_offset,end:A.end_offset},quote_preview:K.text}}),B=new Map(_.citations.map((A,M)=>[A.id,O[M]])),V=_.excerpts.slice(0,Math.max(Q*2,Q)).map((A)=>{let M=_.results.find((Z)=>Z.id===A.result_id),K=A.citation_id?B.get(A.citation_id):void 0,I=mR(A.text,U,520);return j+=I.redactions,{id:`ev_${EW("sha256").update(`${A.kind}\x00${A.result_id}\x00${A.citation_id??""}`).digest("hex").slice(0,14)}`,kind:A.kind,title:_O(M?.title??K?.ref??A.kind,100),text_preview:I.text,score:Number(A.score.toFixed(6)),citation_ids:K?[K.id]:[],provenance:{source:J,record_ref:`${A.kind}:${A.result_id}`,created_at:_.created_at,updated_at:null,metadata_keys:[]}}}).sort((A,M)=>M.score-A.score||A.id.localeCompare(M.id)).slice(0,Q),L=new Set(V.flatMap((A)=>A.citation_ids)),N=O.filter((A)=>L.has(A.id)),H=Array.from(new Set(_.warnings)),R=`ctx_${EW("sha256").update([J,X,G,H.join(","),V.map((A)=>A.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,F={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:W.toISOString(),source:J,purpose:X,query:G,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:R,budgets:{max_tokens:Y,estimated_tokens:0,max_items:Q,items_included:V.length,items_available:_.excerpts.length,items_truncated:Math.max(0,_.excerpts.length-V.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:j,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:N,evidence:V,duplicate_candidates:[],outline:{title:G?`Knowledge context: ${_O(G,80)}`:"Knowledge context",bullets:V.length>0?V.slice(0,5).map((A)=>`${A.id}: ${A.title}`):["No matching bounded evidence was found."],evidence_ids:V.slice(0,8).map((A)=>A.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:H,message:`${V.length} bounded evidence item(s), estimated under ${Y} token(s)`};return F.budgets.estimated_tokens=jh(F),F.budgets.token_budget_exceeded=F.budgets.estimated_tokens>Y,F.message=`${F.evidence.length} bounded evidence item(s), estimated ${F.budgets.estimated_tokens}/${Y} token(s)`,F}function Dh(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function zh(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function qh($){return{ok:!0,scope:$.scope,workspace_home:$.workspaceHome,sqlite_schema_version:0,local_machine_id:$.localMachineId??null,machines:{total:0,rows:[]},snapshots:{total:0,latest:null},changes:{total:0,by_operation:[]},clocks:{total:0,rows:[]},imports:{total:0,latest:null},conflicts:{total:0,by_status:[],open:0},table_counts:{},message:"0 machine(s), 0 open sync conflict(s)"}}function dR($){let _=$.now??new Date,U=$.source??"search",W=$.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),J=($.query??$.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),X=Math.max(1,Math.min($.maxItems??$.limit??8,50)),G=Math.max(500,Math.min($.maxTokens??6000,1e5)),Q=`ctx_${EW("sha256").update(["empty",U,W,J,$.topic??"",$.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:_.toISOString(),source:U,purpose:W,query:J,topic:$.topic??null,since:$.since??null,dry_run:!0,idempotency_key:Q,budgets:{max_tokens:G,estimated_tokens:0,max_items:X,items_included:0,items_available:0,items_truncated:0,token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:0,reminders:["This pack is read-only and performs no durable writes.","No knowledge.db exists for this scope yet."]},citations:[],evidence:[],duplicate_candidates:[],outline:{title:J?`Context for ${J}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${G} token(s)`}}function UO($){let _=$.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return _?`${_}/`:null}function Oh($,_){let U=d($);try{let W=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),J=new Map,X=0,G=0,Q=0,Y=0,j=0,O=0,B=0,V=0,L=0,N=0,H=0,R=0,E=new Map,A=[],M=[],K=[],I=[],Z=_.artifact_store.uri_prefix,k=UO(_);for(let d$ of W){if(J.set(d$.kind,(J.get(d$.kind)??0)+1),d$.hash?.startsWith("sha256:"))X+=1;if(typeof d$.size_bytes==="number"&&d$.size_bytes>=0)G+=1,Q+=d$.size_bytes;if(d$.artifact_uri.startsWith(Z))Y+=1;else if(A.length<5)A.push(d$.artifact_uri);let W_=UU(d$.metadata_json);if($O(W_))B+=1;let M1=typeof W_.key==="string"?W_.key:null;if(!M1)j+=1;else if(k&&M1.startsWith(k)){if(O+=1,M.length<5)M.push(M1)}let PO=typeof W_.artifact_modified_at==="string"?W_.artifact_modified_at:null;if(PO)if(Number.isNaN(Date.parse(PO))){if(L+=1,K.length<5)K.push(d$.artifact_uri)}else V+=1;let KU=W_.provenance&&typeof W_.provenance==="object"&&!Array.isArray(W_.provenance)?W_.provenance:null;if(KU){N+=1;let ZG=typeof KU.artifact_key==="string"?KU.artifact_key:null,fO=typeof KU.generated_from==="string"?KU.generated_from:"unknown";if(E.set(fO,(E.get(fO)??0)+1),ZG){if(H+=1,M1&&ZG!==M1){if(R+=1,I.length<5)I.push(`${d$.artifact_uri}:provenance.artifact_key=${ZG}:key=${M1}`)}}else if(I.length<5)I.push(`${d$.artifact_uri}:missing_provenance_artifact_key`)}else if(I.length<5)I.push(`${d$.artifact_uri}:missing_provenance`)}let i=W.length-X,r$=W.length-G,f$=W.length-V-L,p$=W.length-N,J_=N-H,O$=W.length-Y,Y_=[i>0?`artifact_manifest_missing_hash:${i}`:null,r$>0?`artifact_manifest_missing_size:${r$}`:null,j>0?`artifact_manifest_missing_key:${j}`:null,O$>0?`artifact_manifest_uri_prefix_mismatch:${O$}`:null,O>0?`artifact_manifest_s3_key_contains_storage_prefix:${O}`:null,L>0?`artifact_manifest_invalid_modified_at:${L}`:null,p$>0?`artifact_manifest_missing_provenance:${p$}`:null,J_>0?`artifact_manifest_missing_provenance_artifact_key:${J_}`:null,R>0?`artifact_manifest_provenance_key_mismatch:${R}`:null,B>0?`artifact_manifest_raw_payload_sentinels:${B}`:null].filter((d$)=>Boolean(d$)),t$=Y_.length===0;return{ok:t$,read_only:!0,storage_type:_.storage_type,artifact_uri_prefix:Z,s3:_.artifact_store.s3,artifacts:{total:W.length,by_kind:[...J.entries()].map(([d$,W_])=>({kind:d$,count:W_})).sort((d$,W_)=>d$.kind.localeCompare(W_.kind)),with_hash:X,missing_hash:i,with_size:G,missing_size:r$,total_size_bytes:Q},modified_time:{with_modified_at:V,missing_modified_at:f$,invalid_modified_at:L,examples:K},provenance:{with_provenance:N,missing_provenance:p$,with_artifact_key:H,missing_artifact_key:J_,artifact_key_mismatches:R,generated_from:[...E.entries()].map(([d$,W_])=>({value:d$,count:W_})).sort((d$,W_)=>d$.value.localeCompare(W_.value)),examples:I},uri_prefix:{matching:Y,mismatched:O$,examples:A},keys:{with_key:W.length-j,missing_key:j,prefixed_with_storage_prefix:O,prefixed_examples:M},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:O===0&&j===0,tracks_modified_time:V>0&&L===0,preserves_provenance:p$===0&&J_===0&&R===0},raw_payload_sentinel_hits:B,warnings:Y_,message:t$?`${W.length} generated artifact manifest row(s) ready for ${_.storage_type} sync`:`Generated artifact manifest needs attention: ${Y_.join(", ")}`}}finally{U.close()}}function zh($,_){let U=UO(_);if(!U)return[];let W=d($);try{let J=W.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY artifact_uri ASC`).all(),J=new Map,X=0,G=0,Q=0,Y=0,j=0,O=0,B=0,V=0,L=0,N=0,H=0,R=0,F=new Map,A=[],M=[],K=[],I=[],Z=_.artifact_store.uri_prefix,k=UO(_);for(let d$ of W){if(J.set(d$.kind,(J.get(d$.kind)??0)+1),d$.hash?.startsWith("sha256:"))X+=1;if(typeof d$.size_bytes==="number"&&d$.size_bytes>=0)G+=1,Q+=d$.size_bytes;if(d$.artifact_uri.startsWith(Z))Y+=1;else if(A.length<5)A.push(d$.artifact_uri);let W_=JU(d$.metadata_json);if($O(W_))B+=1;let I1=typeof W_.key==="string"?W_.key:null;if(!I1)j+=1;else if(k&&I1.startsWith(k)){if(O+=1,M.length<5)M.push(I1)}let PO=typeof W_.artifact_modified_at==="string"?W_.artifact_modified_at:null;if(PO)if(Number.isNaN(Date.parse(PO))){if(L+=1,K.length<5)K.push(d$.artifact_uri)}else V+=1;let bU=W_.provenance&&typeof W_.provenance==="object"&&!Array.isArray(W_.provenance)?W_.provenance:null;if(bU){N+=1;let v5=typeof bU.artifact_key==="string"?bU.artifact_key:null,fO=typeof bU.generated_from==="string"?bU.generated_from:"unknown";if(F.set(fO,(F.get(fO)??0)+1),v5){if(H+=1,I1&&v5!==I1){if(R+=1,I.length<5)I.push(`${d$.artifact_uri}:provenance.artifact_key=${v5}:key=${I1}`)}}else if(I.length<5)I.push(`${d$.artifact_uri}:missing_provenance_artifact_key`)}else if(I.length<5)I.push(`${d$.artifact_uri}:missing_provenance`)}let i=W.length-X,r$=W.length-G,f$=W.length-V-L,p$=W.length-N,J_=N-H,O$=W.length-Y,Y_=[i>0?`artifact_manifest_missing_hash:${i}`:null,r$>0?`artifact_manifest_missing_size:${r$}`:null,j>0?`artifact_manifest_missing_key:${j}`:null,O$>0?`artifact_manifest_uri_prefix_mismatch:${O$}`:null,O>0?`artifact_manifest_s3_key_contains_storage_prefix:${O}`:null,L>0?`artifact_manifest_invalid_modified_at:${L}`:null,p$>0?`artifact_manifest_missing_provenance:${p$}`:null,J_>0?`artifact_manifest_missing_provenance_artifact_key:${J_}`:null,R>0?`artifact_manifest_provenance_key_mismatch:${R}`:null,B>0?`artifact_manifest_raw_payload_sentinels:${B}`:null].filter((d$)=>Boolean(d$)),t$=Y_.length===0;return{ok:t$,read_only:!0,storage_type:_.storage_type,artifact_uri_prefix:Z,s3:_.artifact_store.s3,artifacts:{total:W.length,by_kind:[...J.entries()].map(([d$,W_])=>({kind:d$,count:W_})).sort((d$,W_)=>d$.kind.localeCompare(W_.kind)),with_hash:X,missing_hash:i,with_size:G,missing_size:r$,total_size_bytes:Q},modified_time:{with_modified_at:V,missing_modified_at:f$,invalid_modified_at:L,examples:K},provenance:{with_provenance:N,missing_provenance:p$,with_artifact_key:H,missing_artifact_key:J_,artifact_key_mismatches:R,generated_from:[...F.entries()].map(([d$,W_])=>({value:d$,count:W_})).sort((d$,W_)=>d$.value.localeCompare(W_.value)),examples:I},uri_prefix:{matching:Y,mismatched:O$,examples:A},keys:{with_key:W.length-j,missing_key:j,prefixed_with_storage_prefix:O,prefixed_examples:M},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:O===0&&j===0,tracks_modified_time:V>0&&L===0,preserves_provenance:p$===0&&J_===0&&R===0},raw_payload_sentinel_hits:B,warnings:Y_,message:t$?`${W.length} generated artifact manifest row(s) ready for ${_.storage_type} sync`:`Generated artifact manifest needs attention: ${Y_.join(", ")}`}}finally{U.close()}}function Lh($,_){let U=UO(_);if(!U)return[];let W=d($);try{let J=W.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),X=[];for(let G of J){let Q=UU(G.metadata_json),Y=typeof Q.key==="string"?Q.key:null;if(!Y?.startsWith(U))continue;let j=Y.slice(U.length);if(!j)continue;X.push({id:G.id,artifact_uri:G.artifact_uri,kind:G.kind,current_key:Y,repaired_key:S6(j),hash:G.hash,size_bytes:G.size_bytes})}return X}finally{W.close()}}function qh($){let _=["--scope",$.scope,"--json"],U=$.tables?.length?["--tables",$.tables.join(",")]:[],W=[RG({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",..._]})];if($.machine&&!cR($.machine))W.push(RG({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",$.machine,...$.peerWorkspace?["--peer-workspace",$.peerWorkspace]:[],...U,..._]}));else if($.peerWorkspace)W.push(RG({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",$.peerWorkspace,...U,..._]}));for(let J of $.resolvedWorkspace?.repair_hints??[])W.push({id:J.id,reason:J.reason,command:J.command,shell_command:J.shell_command});if($.openConflicts>0)W.push(RG({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",..._]}));return W}function Oh(){let $=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",_=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!_)return{command:$,argsPrefix:[]};let U;try{U=JSON.parse(_)}catch(W){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${W instanceof Error?W.message:String(W)}`)}if(!Array.isArray(U)||!U.every((W)=>typeof W==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:$,argsPrefix:U}}function mR($,_,U,W){let J=Oh(),X=cy(J.command,[...J.argsPrefix,W.target,_],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((X.status??1)!==0){let G=W.source==="open-machines"?` via ${W.route??"resolved"}:${W.target}`:"";throw Error(`ssh ${$}${G} failed: ${(X.stderr||X.stdout||String(X.status)).trim()}`)}return X.stdout||""}function uR($,_,U){try{return JSON.parse(U)}catch(W){let J=U.trim().slice(0,240);throw Error(`Remote knowledge ${_} on ${$} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${J||String(W)}`)}}function Lh($,_){if(typeof _!=="object"||_===null||!("format"in _)||_.format!=="knowledge-sync-bundle")throw Error(`Remote knowledge sync export on ${$} did not return a knowledge sync bundle. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||U<x4||W>h4)throw Error(`Remote knowledge sync export on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Nh($,_){if(typeof _!=="object"||_===null||!("ok"in _)||!("target"in _)||!("tables"in _)||!("artifacts"in _)||!("conflicts_created"in _))throw Error(`Remote knowledge sync import on ${$} did not return a sync import result. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||U<x4||W>h4)throw Error(`Remote knowledge sync import on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Bh($){if(!$)return;let _=$.trim().toLowerCase();if(_==="local"||_==="offline")return"local";if(_==="hosted"||_==="remote"||_==="knowledge.md")return"hosted";throw Error("Invalid setup mode. Use hosted or local.")}class pR{options;ensuredWorkspace;cachedConfig;constructor($={}){this.options=$}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??dW(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=I1(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let $=this.ensureWorkspace();return GX({storePath:$.jsonStorePath,storePathOverridden:!1})}async listItems(){return this.itemStore().listAll()}async getItem($){return this.itemStore().get($)}async createItem($){return this.itemStore().create($)}async updateItem($,_){return this.itemStore().update($,_)}async deleteItem($){return this.itemStore().delete($)}async deleteItems($){return this.itemStore().deleteMany($)}async resolveInventory($={}){if(this.isApiMode())return this.cloudInventory($);return this.inventory($)}config($={}){let _=$.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||$.ensure||x$(_.configPath))this.cachedConfig=x$(_.configPath)?uG(_.configPath):MU();return this.cachedConfig}safetyPolicy(){return uN(this.config(),this.workspace)}artifactStore(){return S5(this.config(),this.ensureWorkspace())}storageContract(){return jX(this.config(),this.workspace,this.scope)}validateStorage(){return y5(this.config(),this.workspace)}assertStorageValid($){let _=this.validateStorage();if(!_.ok)throw Error(`Storage contract invalid before ${$}: ${_.errors.join("; ")}`)}migrateLegacyPath($={}){let _=this.workspace,U=mG(this.options.scope,this.options.cwd),W=gR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}mergeLegacyPath($={}){let _=this.workspace,U=mG(this.options.scope,this.options.cwd),W=MR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}setup($={}){let _=this.ensureWorkspace(),U=this.config({ensure:!0}),W=Bh($.mode)??U.mode,J=$.apiUrl?J4($.apiUrl):U.hosted?.api_url?J4(U.hosted.api_url):null,X={...U,mode:W,hosted:{...U.hosted??{},...J?{api_url:J}:{}},storage:$.canonicalExample?vO():U.storage};yO(_.configPath,X),this.cachedConfig=X;let G=jX(X,_,this.scope);return{ok:!0,mode:W,api_url:X.hosted?.api_url??null,storage_type:X.storage.type,artifact_uri_prefix:G.artifact_store.uri_prefix,canonical_example:G.canonical_example,config_path:_.configPath,next:W==="hosted"?["knowledge auth login --api-key <key>","knowledge storage status --json"]:["knowledge search <query>","knowledge <prompt>"],message:`Set knowledge mode to ${W}`}}authStatus($=process.env){return kN(this.config(),$)}saveAuth($,_=process.env){let U=$.apiUrl??this.config().hosted?.api_url;return gN({api_key:$.apiKey,email:$.email,org_id:$.orgId,org_slug:$.orgSlug,user_id:$.userId,api_url:U},_)}clearAuth($=process.env){return wN($)}paths(){let $=this.workspace;return{ok:!0,scope:this.scope,home:$.home,exists:x$($.home),config_path:$.configPath,config_exists:x$($.configPath),json_store_path:$.jsonStorePath,json_store_exists:x$($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:x$($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,runs_dir:$.runsDir,schemas_dir:$.schemasDir,wiki_dir:$.wikiDir,config:this.config(),message:$.home}}initDb(){return $$(this.ensureWorkspace().knowledgeDbPath)}dbStats(){QX("reading knowledge.db stats");let $=this.workspace;if(!x$($.knowledgeDbPath))return vR();return f5($.knowledgeDbPath)}itemOnlyInventory($){let _=this.workspace,{items:U,limit:W,includeArchived:J,storePath:X,storeExists:G,storeReadError:Q}=$,Y=U.filter((V)=>V.archived!==!0),j=J?U:Y,O=vR(),B={legacy_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,schema_version:O.schema_version,sources:O.sources,source_revisions:O.source_revisions,chunks:O.chunks,wiki_pages:O.wiki_pages,citations:O.citations,indexes:O.indexes,runs:O.runs,run_events:O.run_events,storage_objects:O.storage_objects,embeddings:O.embeddings,vector_entries:O.vector_entries,reindex_queue:O.reindex_queue,redaction_findings:O.redaction_findings,audit_events:O.audit_events,approval_gates:O.approval_gates,knowledge_machines:O.knowledge_machines,sync_snapshots:O.sync_snapshots,sync_changes:O.sync_changes,sync_conflicts:O.sync_conflicts,sync_table_clocks:O.sync_table_clocks,sync_imports:O.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:W,paths:{json_store_path:_.jsonStorePath,json_store_exists:x$(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:x$(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:B,legacy_store:{path:X,exists:G,read_error:Q,total_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,items_returned:Math.min(j.length,W)},items:j.slice(0,W).map(ZR),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory($={}){let _=SR($.limit),U=await this.fetchCloudItems(),W=pU();return this.itemOnlyInventory({items:U,limit:_,includeArchived:$.includeArchived??!1,storePath:W?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory($={}){let _=this.workspace,U=SR($.limit),W=$.storePath??_.jsonStorePath,J=Jh(W),X=J.items.filter((O)=>O.archived!==!0),G=$.includeArchived?J.items:X;if(!x$(_.knowledgeDbPath))return this.itemOnlyInventory({items:J.items,limit:U,includeArchived:$.includeArchived??!1,storePath:W,storeExists:J.exists,storeReadError:J.read_error});$$(_.knowledgeDbPath);let Y=f5(_.knowledgeDbPath),j=d(_.knowledgeDbPath);try{let O=s_(d_(j,` + ORDER BY artifact_uri ASC`).all(),X=[];for(let G of J){let Q=JU(G.metadata_json),Y=typeof Q.key==="string"?Q.key:null;if(!Y?.startsWith(U))continue;let j=Y.slice(U.length);if(!j)continue;X.push({id:G.id,artifact_uri:G.artifact_uri,kind:G.kind,current_key:Y,repaired_key:S6(j),hash:G.hash,size_bytes:G.size_bytes})}return X}finally{W.close()}}function Nh($){let _=["--scope",$.scope,"--json"],U=$.tables?.length?["--tables",$.tables.join(",")]:[],W=[A5({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",..._]})];if($.machine&&!iR($.machine))W.push(A5({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",$.machine,...$.peerWorkspace?["--peer-workspace",$.peerWorkspace]:[],...U,..._]}));else if($.peerWorkspace)W.push(A5({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",$.peerWorkspace,...U,..._]}));for(let J of $.resolvedWorkspace?.repair_hints??[])W.push({id:J.id,reason:J.reason,command:J.command,shell_command:J.shell_command});if($.openConflicts>0)W.push(A5({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",..._]}));return W}function Bh(){let $=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",_=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!_)return{command:$,argsPrefix:[]};let U;try{U=JSON.parse(_)}catch(W){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${W instanceof Error?W.message:String(W)}`)}if(!Array.isArray(U)||!U.every((W)=>typeof W==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:$,argsPrefix:U}}function cR($,_,U,W){let J=Bh(),X=iy(J.command,[...J.argsPrefix,W.target,_],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((X.status??1)!==0){let G=W.source==="open-machines"?` via ${W.route??"resolved"}:${W.target}`:"";throw Error(`ssh ${$}${G} failed: ${(X.stderr||X.stdout||String(X.status)).trim()}`)}return X.stdout||""}function nR($,_,U){try{return JSON.parse(U)}catch(W){let J=U.trim().slice(0,240);throw Error(`Remote knowledge ${_} on ${$} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${J||String(W)}`)}}function Hh($,_){if(typeof _!=="object"||_===null||!("format"in _)||_.format!=="knowledge-sync-bundle")throw Error(`Remote knowledge sync export on ${$} did not return a knowledge sync bundle. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||U<m4||W>x4)throw Error(`Remote knowledge sync export on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Vh($,_){if(typeof _!=="object"||_===null||!("ok"in _)||!("target"in _)||!("tables"in _)||!("artifacts"in _)||!("conflicts_created"in _))throw Error(`Remote knowledge sync import on ${$} did not return a sync import result. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:W}=_;if(typeof U!=="number"||typeof W!=="number"||U<m4||W>x4)throw Error(`Remote knowledge sync import on ${$} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Rh($){if(!$)return;let _=$.trim().toLowerCase();if(_==="local"||_==="offline")return"local";if(_==="hosted"||_==="remote"||_==="knowledge.md")return"hosted";throw Error("Invalid setup mode. Use hosted or local.")}class aR{options;ensuredWorkspace;cachedConfig;constructor($={}){this.options=$}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??dW(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=g1(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let $=this.ensureWorkspace();return QX({storePath:$.jsonStorePath,storePathOverridden:!1})}async listItems(){return this.itemStore().listAll()}async getItem($){return this.itemStore().get($)}async createItem($){return this.itemStore().create($)}async updateItem($,_){return this.itemStore().update($,_)}async deleteItem($){return this.itemStore().delete($)}async deleteItems($){return this.itemStore().deleteMany($)}async resolveInventory($={}){if(this.isApiMode())return this.cloudInventory($);return this.inventory($)}config($={}){let _=$.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||$.ensure||x$(_.configPath))this.cachedConfig=x$(_.configPath)?d5(_.configPath):IU();return this.cachedConfig}safetyPolicy(){return nN(this.config(),this.workspace)}artifactStore(){return SG(this.config(),this.ensureWorkspace())}storageContract(){return DX(this.config(),this.workspace,this.scope)}validateStorage(){return yG(this.config(),this.workspace)}assertStorageValid($){let _=this.validateStorage();if(!_.ok)throw Error(`Storage contract invalid before ${$}: ${_.errors.join("; ")}`)}migrateLegacyPath($={}){let _=this.workspace,U=u5(this.options.scope,this.options.cwd),W=PR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}mergeLegacyPath($={}){let _=this.workspace,U=u5(this.options.scope,this.options.cwd),W=wR({scope:this.scope,current:_,legacy:U,approveWrite:$.approveWrite,approvedBy:$.approvedBy});if(!W.dry_run&&W.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return W}setup($={}){let _=this.ensureWorkspace(),U=this.config({ensure:!0}),W=Rh($.mode)??U.mode,J=$.apiUrl?J4($.apiUrl):U.hosted?.api_url?J4(U.hosted.api_url):null,X={...U,mode:W,hosted:{...U.hosted??{},...J?{api_url:J}:{}},storage:$.canonicalExample?vO():U.storage};yO(_.configPath,X),this.cachedConfig=X;let G=DX(X,_,this.scope);return{ok:!0,mode:W,api_url:X.hosted?.api_url??null,storage_type:X.storage.type,artifact_uri_prefix:G.artifact_store.uri_prefix,canonical_example:G.canonical_example,config_path:_.configPath,next:W==="hosted"?["knowledge auth login --api-key <key>","knowledge storage status --json"]:["knowledge search <query>","knowledge <prompt>"],message:`Set knowledge mode to ${W}`}}authStatus($=process.env){return CN(this.config(),$)}saveAuth($,_=process.env){let U=$.apiUrl??this.config().hosted?.api_url;return PN({api_key:$.apiKey,email:$.email,org_id:$.orgId,org_slug:$.orgSlug,user_id:$.userId,api_url:U},_)}clearAuth($=process.env){return fN($)}paths(){let $=this.workspace;return{ok:!0,scope:this.scope,home:$.home,exists:x$($.home),config_path:$.configPath,config_exists:x$($.configPath),json_store_path:$.jsonStorePath,json_store_exists:x$($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:x$($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,runs_dir:$.runsDir,schemas_dir:$.schemasDir,wiki_dir:$.wikiDir,config:this.config(),message:$.home}}initDb(){return $$(this.ensureWorkspace().knowledgeDbPath)}dbStats(){YX("reading knowledge.db stats");let $=this.workspace;if(!x$($.knowledgeDbPath))return xR();return fG($.knowledgeDbPath)}itemOnlyInventory($){let _=this.workspace,{items:U,limit:W,includeArchived:J,storePath:X,storeExists:G,storeReadError:Q}=$,Y=U.filter((V)=>V.archived!==!0),j=J?U:Y,O=xR(),B={legacy_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,schema_version:O.schema_version,sources:O.sources,source_revisions:O.source_revisions,chunks:O.chunks,wiki_pages:O.wiki_pages,citations:O.citations,indexes:O.indexes,runs:O.runs,run_events:O.run_events,storage_objects:O.storage_objects,embeddings:O.embeddings,vector_entries:O.vector_entries,reindex_queue:O.reindex_queue,redaction_findings:O.redaction_findings,audit_events:O.audit_events,approval_gates:O.approval_gates,knowledge_machines:O.knowledge_machines,sync_snapshots:O.sync_snapshots,sync_changes:O.sync_changes,sync_conflicts:O.sync_conflicts,sync_table_clocks:O.sync_table_clocks,sync_imports:O.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:W,paths:{json_store_path:_.jsonStorePath,json_store_exists:x$(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:x$(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:B,legacy_store:{path:X,exists:G,read_error:Q,total_items:U.length,active_items:Y.length,archived_items:U.length-Y.length,items_returned:Math.min(j.length,W)},items:j.slice(0,W).map(hR),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory($={}){let _=yR($.limit),U=await this.fetchCloudItems(),W=pU();return this.itemOnlyInventory({items:U,limit:_,includeArchived:$.includeArchived??!1,storePath:W?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory($={}){let _=this.workspace,U=yR($.limit),W=$.storePath??_.jsonStorePath,J=Gh(W),X=J.items.filter((O)=>O.archived!==!0),G=$.includeArchived?J.items:X;if(!x$(_.knowledgeDbPath))return this.itemOnlyInventory({items:J.items,limit:U,includeArchived:$.includeArchived??!1,storePath:W,storeExists:J.exists,storeReadError:J.read_error});$$(_.knowledgeDbPath);let Y=fG(_.knowledgeDbPath),j=d(_.knowledgeDbPath);try{let O=s_(d_(j,` SELECT s.id, s.uri, @@ -1138,7 +1138,7 @@ Pages should be concise, cited, and organized for both humans and agents. FROM runs ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),E=d_(j,` + `,[U])),F=d_(j,` SELECT provider, model, dimensions, status, COUNT(*) AS entries FROM vector_index_entries GROUP BY provider, model, dimensions, status @@ -1194,17 +1194,17 @@ Pages should be concise, cited, and organized for both humans and agents. FROM audit_events ORDER BY created_at DESC LIMIT ? - `,[U])),k={legacy_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,schema_version:Y.schema_version,sources:Y.sources,source_revisions:Y.source_revisions,chunks:Y.chunks,wiki_pages:Y.wiki_pages,citations:Y.citations,indexes:Y.indexes,runs:Y.runs,run_events:Y.run_events,storage_objects:Y.storage_objects,embeddings:Y.embeddings,vector_entries:Y.vector_entries,reindex_queue:Y.reindex_queue,redaction_findings:Y.redaction_findings,audit_events:Y.audit_events,approval_gates:Y.approval_gates,knowledge_machines:Y.knowledge_machines,sync_snapshots:Y.sync_snapshots,sync_changes:Y.sync_changes,sync_conflicts:Y.sync_conflicts,sync_table_clocks:Y.sync_table_clocks,sync_imports:Y.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:U,paths:{json_store_path:W,json_store_exists:J.exists,knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:!0,artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:k,legacy_store:{path:W,exists:J.exists,read_error:J.read_error,total_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,items_returned:Math.min(G.length,U)},items:G.slice(0,U).map(ZR),sources:O,source_revisions:B,chunks:V,wiki_pages:L,indexes:N,storage_objects:H,runs:R,vector_indexes:E,reindex_queue:A,machines:M,sync_conflicts:K,approval_gates:I,audit_events:Z,message:`${J.items.length} item(s), ${Y.sources} source(s), ${Y.chunks} chunk(s), ${Y.wiki_pages} wiki page(s), ${Y.storage_objects} artifact(s)`}}finally{j.close()}}assertAppWikiWrite($){oU({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:$})}async initAppWiki($={}){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return GB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async addAppWikiNote($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return QB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal,title:$.title,content:$.content,tags:$.tags,sourceRefs:$.sourceRefs,path:$.path,metadata:$.metadata})}listAppWikiNotes($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return YB({dbPath:_.knowledgeDbPath,limit:$.limit})}async getAppWikiNote($,_={}){let U=this.workspace;if(!x$(U.knowledgeDbPath))return null;return jB({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:$,includeContent:_.includeContent})}async addAppWikiSourceRef($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return DB({scope:this.scope,workspace:_,sourceRef:$.sourceRef,purpose:$.purpose,config:this.config(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async searchAppWiki($){return this.search($)}async queryAppWiki($){return this.retrieveContext($)}async initWiki(){let $=this.ensureWorkspace();$$($.knowledgeDbPath);let _=await HR(this.artifactStore()),U=d($.knowledgeDbPath);try{W4(U,_.artifacts),VR(U,_.artifacts)}finally{U.close()}return _}async compileWiki($={}){let _=this.ensureWorkspace();return OR({...$,dbPath:_.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer($){let _=this.ensureWorkspace(),U=await this.retrieveContext({query:$.prompt,limit:$.limit,semantic:$.semantic,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake});return LR({dbPath:_.knowledgeDbPath,store:this.artifactStore(),prompt:$.prompt,answer:$.answer,context:U,approveWrite:$.approveWrite})}lintWiki(){let $=this.ensureWorkspace();return NR({dbPath:$.knowledgeDbPath})}async ingestManifest($){let _=this.ensureWorkspace();return _B({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource($,_){let U=this.ensureWorkspace();return NX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance($={}){let _=$.dryRun!==!1,U=_?this.workspace:this.ensureWorkspace();return UR({root:$.root??this.options.cwd??process.cwd(),scope:this.scope,owner:$.owner,dryRun:_,deprecateLegacy:$.deprecateLegacy,includeLegacy:$.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:$.maxItems,limit:$.limit})}async resolveSource($,_={}){let U=this.ensureWorkspace();return qX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_.purpose,limit:_.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox($){let _=this.ensureWorkspace();return bV({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return Qh();return lV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}enqueueReindex($={}){let _=this.ensureWorkspace();return Cq({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async refreshEmbeddings($={}){let _=this.ensureWorkspace();return iV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}providerStatus($=process.env){return NB(this.config(),$)}modelRegistry(){return p5(this.config())}embeddingStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return Yh();return EB($.knowledgeDbPath)}async indexEmbeddings($={}){let _=this.ensureWorkspace();return VX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}isApiMode(){return C4()}async fetchCloudItems(){let $=pU();if(!$)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return XX($)}async semanticSearch($){let _=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems(),W=await C0(U,{...$},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:W.results}}if(!x$(_.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:[]};return RX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async search($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return C0(W,$)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U))return KX({...$,legacyStorePath:U,config:this.config()});return rR($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return FX({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return MX(W,$)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U)){let W=await KX({...$,legacyStorePath:U,config:this.config()});return R2(W,{contextChars:$.contextChars})}return Xh($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return A2({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack($){let _=this.workspace;if(this.isApiMode()){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"){let J=await this.fetchCloudItems(),X=await C0(J,{...$,query:W}),G=R2(X,{contextChars:$.contextChars});return hR($,G,this.safetyPolicy())}return xR($)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"&&x$(U)){let J=await KX({...$,query:W,legacyStorePath:U,config:this.config()}),X=R2(J,{contextChars:$.contextChars});return hR($,X,this.safetyPolicy())}return xR($)}return aB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt($){if(this.isApiMode()){let W=await this.fetchCloudItems();return dB(W,{...$,config:this.config()})}let _=this.ensureWorkspace(),U=$.legacyStorePath??_.jsonStorePath;if(!$.legacyStorePath)kU(U);return uB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch($){let _=this.ensureWorkspace();return GR({...$,dbPath:_.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology($={}){let _=this.workspace;return xV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}async machinePreflight($={}){let _=this.workspace;return dV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}syncStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return jh({scope:this.scope,workspaceHome:$.home});return AH({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home})}async syncDoctor($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.syncStatus(),W=this.storageContract(),J=this.validateStorage(),X=Dh(_.knowledgeDbPath,W),G=$.machine?.trim()||null,Q=$.peerWorkspace?.trim()||null,Y=[],j=null,O=null;if(G&&!cR(G)){let H=await fq({machineId:G,includeTailscale:$.includeTailscale});j=aq(H),Y.push(...H.warnings)}if(G||Q){let H=await zG({machineId:G??tq(_),peerWorkspace:Q,includeTailscale:$.includeTailscale});if(G&&!Q&&(j?.source==="raw"||!H.ok||!H.project_root)){let R=PR(_.knowledgeDbPath,G);if(R){if(j?.source==="raw"&&R.ssh_target)j=aq(fR(R,G,{target:j.target,route:j.route,targetKind:j.target_kind,confidence:j.confidence,source:j.source,adapter:j.adapter,evidence:j.evidence,cacheability:j.cacheability,warnings:[]}));if(!H.ok||!H.project_root){let E=CR(R,G,H);if(E)O=EW(E,E.project_root),Y.push(...E.warnings)}}}O=H.ok&&H.project_root?EW(H,H.project_root):O??{...EW(H,Q??""),project_root:H.project_root??Q??""},Y.push(...H.warnings)}if(!J.ok)Y.push(...J.errors.map((H)=>`storage:${H}`));let B=$h(_.knowledgeDbPath,O);if(!B.ok)Y.push("open_files_boundary_raw_payload_sentinels");if(!X.ok)Y.push(...X.warnings);let V=O?.diagnostics.filter((H)=>H.severity==="fail")??[],L=J.ok&&X.ok&&B.ok&&V.length===0&&(O?.project_root!==""||!O),N=qh({scope:this.scope,machine:G,peerWorkspace:Q,tables:$.tables,resolvedWorkspace:O,openConflicts:U.conflicts.open});return{ok:L,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:_.home,database:{sqlite_schema_version:U.sqlite_schema_version,table_counts:U.table_counts},storage:{contract:W,validation:J,artifact_manifest:X},sync:{machines:U.machines.total,snapshots:U.snapshots.total,clocks:U.clocks.total,imports:U.imports.total,open_conflicts:U.conflicts.open,table_clocks:U.clocks.rows},open_files:B,resolved_route:j,resolved_workspace:O,recommended_commands:N,warnings:[...new Set(Y)],message:L?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(Y)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.storageContract(),W=UO(U),J=zh(_.knowledgeDbPath,U),X=$.dryRun===!0||$.approveWrite!==!0;if(J.length===0)return{ok:!0,dry_run:X,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if($.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:`Would repair ${J.length} legacy S3 artifact manifest key(s)`};if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by <name>"};let G=d(_.knowledgeDbPath);try{let Q=new Date().toISOString();G.transaction((O)=>{let B=G.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),V=G.query("SELECT id, metadata_json FROM storage_objects").all(),L=new Map(V.map((N)=>[N.id,UU(N.metadata_json)]));for(let N of O){let H=L.get(N.id)??{};H.key=N.repaired_key,B.run(JSON.stringify(H),Q,N.id)}})(J);let j=a$(G,{event_type:"artifact_manifest_key_repair",action:"storage.artifact_manifest.repair_keys",target_uri:`knowledge-storage://${_.home}/storage_objects`,decision:"allow",metadata:{approved_by:$.approvedBy,repaired:J.length,storage_type:U.storage_type,storage_prefix:W,artifact_uris:J.map((O)=>O.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:J.length,audit_event_id:j,message:`Repaired ${J.length} legacy S3 artifact manifest key(s)`}}finally{G.close()}}async createSyncSnapshot($={}){let _=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:$.includeTailscale!==!1});return RH({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),topology:U,machineId:$.machineId})}syncConflicts($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return EH(_.knowledgeDbPath,$)}syncConflict($){let _=this.ensureWorkspace(),U=ZX(_.knowledgeDbPath,$);if(!U)throw Error(`Sync conflict not found: ${$}`);return U}proposeSyncConflictResolution($){let _=this.ensureWorkspace();return XJ(_.knowledgeDbPath,$)}async proposeSyncConflictResolutionWithAi($){let _=this.ensureWorkspace();return FV({dbPath:_.knowledgeDbPath,id:$.id,config:this.config(),modelRef:$.modelRef,fake:$.fake,env:$.env})}resolveSyncConflict($){let _=this.ensureWorkspace(),U=XJ(_.knowledgeDbPath,$.id);if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by <name>"};let W=bH(_.knowledgeDbPath,{id:$.id,strategy:$.strategy??U.proposed_strategy,approvedBy:$.approvedBy,proposedPatchUri:$.proposedPatchUri}),J=d(_.knowledgeDbPath);try{let X=a$(J,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${$.id}`,decision:"allow",metadata:{conflict_id:$.id,entity_kind:W.entity_kind,entity_id:W.entity_id,strategy:W.resolution_strategy,approved_by:W.approved_by,proposed_patch_uri:W.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:W,audit_event_id:X,message:`Resolved sync conflict ${$.id}`}}finally{J.close()}}syncMachines(){let $=this.workspace;if(!x$($.knowledgeDbPath))return[];return OQ($.knowledgeDbPath)}exportSyncBundle($={}){let _=this.ensureWorkspace();return this.assertStorageValid("sync export"),$$(_.knowledgeDbPath),WJ({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.recordClocks!==!1})}async importSyncBundle($){let _=this.ensureWorkspace();return this.assertStorageValid("sync import"),$$(_.knowledgeDbPath),SX({targetDbPath:_.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:_.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:$.bundle,direction:$.direction??"import",dryRun:$.dryRun,localMachineId:$.machineId??null})}async syncRemotePeer($){let _=$.direction??"both",U=$.dryRun===!0,W=this.ensureWorkspace();$$(W.knowledgeDbPath);let J=$.tables?.length?["--tables",$.tables.join(",")]:[],X=$.includeArtifactContent===!1?["--no-artifact-content"]:[],G=["--scope",this.scope,"--json"],Q=await fq({machineId:$.machine,includeTailscale:$.includeTailscale}),Y=await zG({machineId:$.machine,peerWorkspace:$.peerWorkspace,includeTailscale:$.includeTailscale});if(!$.peerWorkspace&&Q.source==="raw"||!Y.ok||!Y.project_root){let L=PR(W.knowledgeDbPath,$.machine);if(L){if(!$.peerWorkspace&&Q.source==="raw"&&L.ssh_target)Q=fR(L,$.machine,Q);if(!Y.ok||!Y.project_root){let N=CR(L,$.machine,Y);if(N)Y=N}}}if(!Y.ok||!Y.project_root)throw Error([`Unable to resolve peer workspace for ${$.machine}.`,"Pass --peer-workspace <repo-or-knowledge-home> or configure workspace path mapping in machines.",Y.warnings.length?`Warnings: ${Y.warnings.join(", ")}`:null].filter(Boolean).join(" "));let j=Y.project_root,O={ok:!0,dry_run:U,direction:_,transport:"ssh",machine:$.machine,resolved_machine:Q.target,resolved_route:aq(Q),resolved_workspace:EW(Y,Y.project_root),peer_workspace:j,message:""},B=!1,V=()=>{if(U||B)return;BH(W.knowledgeDbPath,{machineId:$.machine,route:Q,workspace:Y}),B=!0};if(_==="pull"||_==="both"){let L=kR(j,["sync","export",...G,...J,...X]),N=mR($.machine,L,void 0,Q),H=uR($.machine,"sync export",N);Lh($.machine,H),O.pull=await this.importSyncBundle({bundle:H,dryRun:U,direction:"pull",machineId:$.machineId??null})}if(_==="push"||_==="both"){V();let L=this.exportSyncBundle({machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:!U}),N=kR(j,["sync","import",...G,...U?["--dry-run"]:[]]),H=uR($.machine,"sync import",mR($.machine,N,JSON.stringify(L),Q));Nh($.machine,H),O.push=H}return O.ok=(O.pull?.ok??!0)&&(O.push?.ok??!0),V(),O.message=[TR(O.resolved_workspace),O.pull?`pull: ${O.pull.message}`:null,O.push?`push: ${O.push.message}`:null].filter(Boolean).join("; "),O}async syncPeer($){let _=$.direction??"both",U=this.ensureWorkspace();$$(U.knowledgeDbPath);let W=dR($.peerWorkspace),J=iy(W);$$(J.knowledgeDbPath);let X=uG(J.configPath),G=jX(X,J,this.scope),Q=S5(X,J),Y=$.machineId??tq(U),j=tq(J),O=await zG({machineId:$.machineId??j,peerWorkspace:W,includeTailscale:!1}),B=()=>WJ({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:Y,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),V=()=>WJ({dbPath:J.knowledgeDbPath,scope:this.scope,workspaceHome:J.home,storage:G,machineId:j,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),L={ok:!0,dry_run:$.dryRun===!0,direction:_,resolved_workspace:EW(O,O.project_root??W),message:""};if(_==="pull"||_==="both")L.pull=await SX({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:V(),targetBundle:B(),direction:"pull",dryRun:$.dryRun,localMachineId:Y});if(_==="push"||_==="both")L.push=await SX({targetDbPath:J.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:J.home,targetStorage:G,targetStore:Q,bundle:B(),targetBundle:V(),direction:"push",dryRun:$.dryRun,localMachineId:j});return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),L.message=[TR(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}}function EG($={}){return new pR($)}var Hh=Object.defineProperty,Vh=($)=>$;function Rh($,_){this[$]=Vh.bind(null,_)}var Ah=($,_)=>{for(var U in _)Hh($,U,{get:_[U],enumerable:!0,configurable:!0,set:Rh.bind(_,U)})},q={};Ah(q,{void:()=>Wx,util:()=>g$,unknown:()=>Ux,union:()=>Yx,undefined:()=>eh,tuple:()=>zx,transformer:()=>aR,symbol:()=>sh,string:()=>QA,strictObject:()=>Qx,setErrorMap:()=>Kh,set:()=>Lx,record:()=>qx,quotelessJson:()=>Eh,promise:()=>Ax,preprocess:()=>Kx,pipeline:()=>bx,ostring:()=>Mx,optional:()=>Ex,onumber:()=>Ix,oboolean:()=>gx,objectUtil:()=>GO,object:()=>Gx,number:()=>YA,nullable:()=>Fx,null:()=>$x,never:()=>Jx,nativeEnum:()=>Rx,nan:()=>oh,map:()=>Ox,makeIssue:()=>KG,literal:()=>Hx,lazy:()=>Bx,late:()=>rh,isValid:()=>L1,isDirty:()=>YO,isAsync:()=>MW,isAborted:()=>QO,intersection:()=>Dx,instanceof:()=>ph,getParsedType:()=>V4,getErrorMap:()=>FG,function:()=>Nx,enum:()=>Vx,effect:()=>aR,discriminatedUnion:()=>jx,defaultErrorMap:()=>GU,datetimeRegex:()=>WA,date:()=>ah,custom:()=>GA,coerce:()=>wx,boolean:()=>jA,bigint:()=>th,array:()=>Xx,any:()=>_x,addIssueToContext:()=>u,ZodVoid:()=>gW,ZodUnknown:()=>_0,ZodUnion:()=>DU,ZodUndefined:()=>YU,ZodType:()=>F$,ZodTuple:()=>u6,ZodTransformer:()=>e_,ZodSymbol:()=>IW,ZodString:()=>R6,ZodSet:()=>H1,ZodSchema:()=>F$,ZodRecord:()=>wW,ZodReadonly:()=>HU,ZodPromise:()=>V1,ZodPipeline:()=>fW,ZodParsedType:()=>l,ZodOptional:()=>E6,ZodObject:()=>U_,ZodNumber:()=>U0,ZodNullable:()=>R4,ZodNull:()=>jU,ZodNever:()=>m6,ZodNativeEnum:()=>LU,ZodNaN:()=>PW,ZodMap:()=>kW,ZodLiteral:()=>OU,ZodLazy:()=>qU,ZodIssueCode:()=>T,ZodIntersection:()=>zU,ZodFunction:()=>XU,ZodFirstPartyTypeKind:()=>Q$,ZodError:()=>c_,ZodEnum:()=>W0,ZodEffects:()=>e_,ZodDiscriminatedUnion:()=>bG,ZodDefault:()=>NU,ZodDate:()=>N1,ZodCatch:()=>BU,ZodBranded:()=>MG,ZodBoolean:()=>QU,ZodBigInt:()=>J0,ZodArray:()=>A6,ZodAny:()=>B1,Schema:()=>F$,ParseStatus:()=>A_,OK:()=>g_,NEVER:()=>kx,INVALID:()=>W$,EMPTY_PATH:()=>bh,DIRTY:()=>WU,BRAND:()=>ih});var g$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(g$||(g$={}));var GO;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(GO||(GO={}));var l=g$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),V4=($)=>{switch(typeof $){case"undefined":return l.undefined;case"string":return l.string;case"number":return Number.isNaN($)?l.nan:l.number;case"boolean":return l.boolean;case"function":return l.function;case"bigint":return l.bigint;case"symbol":return l.symbol;case"object":if(Array.isArray($))return l.array;if($===null)return l.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return l.promise;if(typeof Map<"u"&&$ instanceof Map)return l.map;if(typeof Set<"u"&&$ instanceof Set)return l.set;if(typeof Date<"u"&&$ instanceof Date)return l.date;return l.object;default:return l.unknown}},T=g$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Eh=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class c_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof c_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,g$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}c_.create=($)=>{return new c_($)};var Fh=($,_)=>{let U;switch($.code){case T.invalid_type:if($.received===l.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case T.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,g$.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:U=`Unrecognized key(s) in object: ${g$.joinValues($.keys,", ")}`;break;case T.invalid_union:U="Invalid input";break;case T.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${g$.joinValues($.options)}`;break;case T.invalid_enum_value:U=`Invalid enum value. Expected ${g$.joinValues($.options)}, received '${$.received}'`;break;case T.invalid_arguments:U="Invalid function arguments";break;case T.invalid_return_type:U="Invalid function return type";break;case T.invalid_date:U="Invalid date";break;case T.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else g$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case T.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case T.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case T.custom:U="Invalid input";break;case T.invalid_intersection_types:U="Intersection results could not be merged";break;case T.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case T.not_finite:U="Number must be finite";break;default:U=_.defaultError,g$.assertNever($)}return{message:U}},GU=Fh,_A=GU;function Kh($){_A=$}function FG(){return _A}var KG=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},bh=[];function u($,_){let U=FG(),W=KG({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===GU?void 0:GU].filter((J)=>!!J)});$.common.issues.push(W)}class A_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return W$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return A_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return W$;if(X.status==="aborted")return W$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var W$=Object.freeze({status:"aborted"}),WU=($)=>({status:"dirty",value:$}),g_=($)=>({status:"valid",value:$}),QO=($)=>$.status==="aborted",YO=($)=>$.status==="dirty",L1=($)=>$.status==="valid",MW=($)=>typeof Promise<"u"&&$ instanceof Promise,e;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(e||(e={}));class F6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var oR=($,_)=>{if(L1(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new c_($.common.issues);return this._error=U,this._error}}}};function B$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class F${get description(){return this._def.description}_getType($){return V4($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new A_,ctx:{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(MW(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parseSync({data:$,path:U.path,parent:U});return oR(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return L1(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>L1(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(MW(W)?W:Promise.resolve(W));return oR(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:T.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new e_({schema:this,typeName:Q$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return E6.create(this,this._def)}nullable(){return R4.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return A6.create(this)}promise(){return V1.create(this,this._def)}or($){return DU.create([this,$],this._def)}and($){return zU.create(this,$,this._def)}transform($){return new e_({...B$(this._def),schema:this,typeName:Q$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new NU({...B$(this._def),innerType:this,defaultValue:_,typeName:Q$.ZodDefault})}brand(){return new MG({typeName:Q$.ZodBranded,type:this,...B$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new BU({...B$(this._def),innerType:this,catchValue:_,typeName:Q$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return fW.create(this,$)}readonly(){return HU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Mh=/^c[^\s-]{8,}$/i,Ih=/^[0-9a-z]+$/,gh=/^[0-9A-HJKMNP-TV-Z]{26}$/i,wh=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,kh=/^[a-z0-9_-]{21}$/i,Ph=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,fh=/^[-+]?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)?)??$/,Ch=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Th="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",JO,Sh=/^(?:(?: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])$/,Zh=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,vh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,yh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,hh=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,xh=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,UA="((\\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])))",mh=new RegExp(`^${UA}$`);function JA($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function uh($){return new RegExp(`^${JA($)}$`)}function WA($){let _=`${UA}T${JA($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function dh($,_){if((_==="v4"||!_)&&Sh.test($))return!0;if((_==="v6"||!_)&&vh.test($))return!0;return!1}function ch($,_){if(!Ph.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function nh($,_){if((_==="v4"||!_)&&Zh.test($))return!0;if((_==="v6"||!_)&&yh.test($))return!0;return!1}class R6 extends F${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==l.string){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.string,received:J.parsedType}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)u(W,{code:T.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!Ch.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"email",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!JO)JO=new RegExp(Th,"u");if(!JO.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"emoji",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!wh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"uuid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!kh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"nanoid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!Mh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"cuid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!Ih.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"cuid2",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!gh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"ulid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),u(W,{validation:"url",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"regex",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!WA(J).test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!mh.test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!uh(J).test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!fh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"duration",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!dh($.data,J.version))W=this._getOrReturnCtx($,W),u(W,{validation:"ip",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!ch($.data,J.alg))W=this._getOrReturnCtx($,W),u(W,{validation:"jwt",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!nh($.data,J.version))W=this._getOrReturnCtx($,W),u(W,{validation:"cidr",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!hh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"base64",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!xh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"base64url",code:T.invalid_string,message:J.message}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:T.invalid_string,...e.errToObj(U)})}_addCheck($){return new R6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...e.errToObj($)})}url($){return this._addCheck({kind:"url",...e.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...e.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...e.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...e.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...e.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...e.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...e.errToObj($)})}base64($){return this._addCheck({kind:"base64",...e.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...e.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...e.errToObj($)})}ip($){return this._addCheck({kind:"ip",...e.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...e.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...e.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...e.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...e.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...e.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...e.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...e.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...e.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...e.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...e.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...e.errToObj(_)})}nonempty($){return this.min(1,e.errToObj($))}trim(){return new R6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}R6.create=($)=>{return new R6({checks:[],typeName:Q$.ZodString,coerce:$?.coerce??!1,...B$($)})};function lh($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class U0 extends F${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==l.number){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.number,received:J.parsedType}),W$}let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="int"){if(!g$.isInteger($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(lh($.data,J.value)!==0)U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.not_finite,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new U0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new U0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:e.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}finite($){return this._addCheck({kind:"finite",message:e.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:e.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:e.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&g$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}U0.create=($)=>{return new U0({checks:[],typeName:Q$.ZodNumber,coerce:$?.coerce||!1,...B$($)})};class J0 extends F${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==l.bigint)return this._getInvalidInput($);let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.bigint,received:_.parsedType}),W$}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new J0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new J0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}J0.create=($)=>{return new J0({checks:[],typeName:Q$.ZodBigInt,coerce:$?.coerce??!1,...B$($)})};class QU extends F${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==l.boolean){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.boolean,received:U.parsedType}),W$}return g_($.data)}}QU.create=($)=>{return new QU({typeName:Q$.ZodBoolean,coerce:$?.coerce||!1,...B$($)})};class N1 extends F${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==l.date){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.date,received:J.parsedType}),W$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_date}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new N1({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:e.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:e.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}N1.create=($)=>{return new N1({checks:[],coerce:$?.coerce||!1,typeName:Q$.ZodDate,...B$($)})};class IW extends F${_parse($){if(this._getType($)!==l.symbol){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.symbol,received:U.parsedType}),W$}return g_($.data)}}IW.create=($)=>{return new IW({typeName:Q$.ZodSymbol,...B$($)})};class YU extends F${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.undefined,received:U.parsedType}),W$}return g_($.data)}}YU.create=($)=>{return new YU({typeName:Q$.ZodUndefined,...B$($)})};class jU extends F${_parse($){if(this._getType($)!==l.null){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.null,received:U.parsedType}),W$}return g_($.data)}}jU.create=($)=>{return new jU({typeName:Q$.ZodNull,...B$($)})};class B1 extends F${constructor(){super(...arguments);this._any=!0}_parse($){return g_($.data)}}B1.create=($)=>{return new B1({typeName:Q$.ZodAny,...B$($)})};class _0 extends F${constructor(){super(...arguments);this._unknown=!0}_parse($){return g_($.data)}}_0.create=($)=>{return new _0({typeName:Q$.ZodUnknown,...B$($)})};class m6 extends F${_parse($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.never,received:_.parsedType}),W$}}m6.create=($)=>{return new m6({typeName:Q$.ZodNever,...B$($)})};class gW extends F${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.void,received:U.parsedType}),W$}return g_($.data)}}gW.create=($)=>{return new gW({typeName:Q$.ZodVoid,...B$($)})};class A6 extends F${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==l.array)return u(_,{code:T.invalid_type,expected:l.array,received:_.parsedType}),W$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)u(_,{code:X?T.too_big:T.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)u(_,{code:T.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)u(_,{code:T.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new F6(_,X,_.path,G))})).then((X)=>{return A_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new F6(_,X,_.path,G))});return A_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new A6({...this._def,minLength:{value:$,message:e.toString(_)}})}max($,_){return new A6({...this._def,maxLength:{value:$,message:e.toString(_)}})}length($,_){return new A6({...this._def,exactLength:{value:$,message:e.toString(_)}})}nonempty($){return this.min(1,$)}}A6.create=($,_)=>{return new A6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:Q$.ZodArray,...B$(_)})};function JU($){if($ instanceof U_){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=E6.create(JU(W))}return new U_({...$._def,shape:()=>_})}else if($ instanceof A6)return new A6({...$._def,type:JU($.element)});else if($ instanceof E6)return E6.create(JU($.unwrap()));else if($ instanceof R4)return R4.create(JU($.unwrap()));else if($ instanceof u6)return u6.create($.items.map((_)=>JU(_)));else return $}class U_ extends F${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=g$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==l.object){let Y=this._getOrReturnCtx($);return u(Y,{code:T.invalid_type,expected:l.object,received:Y.parsedType}),W$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof m6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new F6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof m6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)u(W,{code:T.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new F6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return A_.mergeObjectSync(U,Y)});else return A_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return e.errToObj,new U_({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:e.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new U_({...this._def,unknownKeys:"strip"})}passthrough(){return new U_({...this._def,unknownKeys:"passthrough"})}extend($){return new U_({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new U_({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:Q$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new U_({...this._def,catchall:$})}pick($){let _={};for(let U of g$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}omit($){let _={};for(let U of g$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}deepPartial(){return JU(this)}partial($){let _={};for(let U of g$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new U_({...this._def,shape:()=>_})}required($){let _={};for(let U of g$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof E6)J=J._def.innerType;_[U]=J}return new U_({...this._def,shape:()=>_})}keyof(){return XA(g$.objectKeys(this.shape))}}U_.create=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.strictCreate=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strict",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.lazycreate=($,_)=>{return new U_({shape:$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};class DU extends F${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new c_(G.ctx.common.issues));return u(_,{code:T.invalid_union,unionErrors:X}),W$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new c_(Q));return u(_,{code:T.invalid_union,unionErrors:G}),W$}}get options(){return this._def.options}}DU.create=($,_)=>{return new DU({options:$,typeName:Q$.ZodUnion,...B$(_)})};var H4=($)=>{if($ instanceof qU)return H4($.schema);else if($ instanceof e_)return H4($.innerType());else if($ instanceof OU)return[$.value];else if($ instanceof W0)return $.options;else if($ instanceof LU)return g$.objectValues($.enum);else if($ instanceof NU)return H4($._def.innerType);else if($ instanceof YU)return[void 0];else if($ instanceof jU)return[null];else if($ instanceof E6)return[void 0,...H4($.unwrap())];else if($ instanceof R4)return[null,...H4($.unwrap())];else if($ instanceof MG)return H4($.unwrap());else if($ instanceof HU)return H4($.unwrap());else if($ instanceof BU)return H4($._def.innerType);else return[]};class bG extends F${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.object)return u(_,{code:T.invalid_type,expected:l.object,received:_.parsedType}),W$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return u(_,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),W$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=H4(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new bG({typeName:Q$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...B$(U)})}}function jO($,_){let U=V4($),W=V4(_);if($===_)return{valid:!0,data:$};else if(U===l.object&&W===l.object){let J=g$.objectKeys(_),X=g$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=jO($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===l.array&&W===l.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=jO(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===l.date&&W===l.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class zU extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(QO(J)||QO(X))return W$;let G=jO(J.value,X.value);if(!G.valid)return u(U,{code:T.invalid_intersection_types}),W$;if(YO(J)||YO(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}zU.create=($,_,U)=>{return new zU({left:$,right:_,typeName:Q$.ZodIntersection,...B$(U)})};class u6 extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.array)return u(U,{code:T.invalid_type,expected:l.array,received:U.parsedType}),W$;if(U.data.length<this._def.items.length)return u(U,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W$;if(!this._def.rest&&U.data.length>this._def.items.length)u(U,{code:T.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new F6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return A_.mergeArray(_,X)});else return A_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new u6({...this._def,rest:$})}}u6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new u6({items:$,typeName:Q$.ZodTuple,rest:null,...B$(_)})};class wW extends F${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.object)return u(U,{code:T.invalid_type,expected:l.object,received:U.parsedType}),W$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new F6(U,G,U.path,G)),value:X._parse(new F6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return A_.mergeObjectAsync(_,W);else return A_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof F$)return new wW({keyType:$,valueType:_,typeName:Q$.ZodRecord,...B$(U)});return new wW({keyType:R6.create(),valueType:$,typeName:Q$.ZodRecord,...B$(_)})}}class kW extends F${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.map)return u(U,{code:T.invalid_type,expected:l.map,received:U.parsedType}),W$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new F6(U,G,U.path,[Y,"key"])),value:J._parse(new F6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}kW.create=($,_,U)=>{return new kW({valueType:_,keyType:$,typeName:Q$.ZodMap,...B$(U)})};class H1 extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.set)return u(U,{code:T.invalid_type,expected:l.set,received:U.parsedType}),W$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)u(U,{code:T.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)u(U,{code:T.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return W$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new F6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new H1({...this._def,minSize:{value:$,message:e.toString(_)}})}max($,_){return new H1({...this._def,maxSize:{value:$,message:e.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}H1.create=($,_)=>{return new H1({valueType:$,minSize:null,maxSize:null,typeName:Q$.ZodSet,...B$(_)})};class XU extends F${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.function)return u(_,{code:T.invalid_type,expected:l.function,received:_.parsedType}),W$;function U(G,Q){return KG({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,FG(),GU].filter((Y)=>!!Y),issueData:{code:T.invalid_arguments,argumentsError:Q}})}function W(G,Q){return KG({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,FG(),GU].filter((Y)=>!!Y),issueData:{code:T.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof V1){let G=this;return g_(async function(...Q){let Y=new c_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return g_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new c_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new c_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new XU({...this._def,args:u6.create($).rest(_0.create())})}returns($){return new XU({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new XU({args:$?$:u6.create([]).rest(_0.create()),returns:_||_0.create(),typeName:Q$.ZodFunction,...B$(U)})}}class qU extends F${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}qU.create=($,_)=>{return new qU({getter:$,typeName:Q$.ZodLazy,...B$(_)})};class OU extends F${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return u(_,{received:_.data,code:T.invalid_literal,expected:this._def.value}),W$}return{status:"valid",value:$.data}}get value(){return this._def.value}}OU.create=($,_)=>{return new OU({value:$,typeName:Q$.ZodLiteral,...B$(_)})};function XA($,_){return new W0({values:$,typeName:Q$.ZodEnum,...B$(_)})}class W0 extends F${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{expected:g$.joinValues(U),received:_.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{received:_.data,code:T.invalid_enum_value,options:U}),W$}return g_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return W0.create($,{...this._def,..._})}exclude($,_=this._def){return W0.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}W0.create=XA;class LU extends F${_parse($){let _=g$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==l.string&&U.parsedType!==l.number){let W=g$.objectValues(_);return u(U,{expected:g$.joinValues(W),received:U.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(g$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=g$.objectValues(_);return u(U,{received:U.data,code:T.invalid_enum_value,options:W}),W$}return g_($.data)}get enum(){return this._def.values}}LU.create=($,_)=>{return new LU({values:$,typeName:Q$.ZodNativeEnum,...B$(_)})};class V1 extends F${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.promise&&_.common.async===!1)return u(_,{code:T.invalid_type,expected:l.promise,received:_.parsedType}),W$;let U=_.parsedType===l.promise?_.data:Promise.resolve(_.data);return g_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}V1.create=($,_)=>{return new V1({type:$,typeName:Q$.ZodPromise,...B$(_)})};class e_ extends F${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(u(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return W$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return W$;if(Q.status==="dirty")return WU(Q.value);if(_.value==="dirty")return WU(Q.value);return Q});else{if(_.value==="aborted")return W$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")return WU(G.value);if(_.value==="dirty")return WU(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!L1(X))return W$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!L1(X))return W$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});g$.assertNever(W)}}e_.create=($,_,U)=>{return new e_({schema:$,typeName:Q$.ZodEffects,effect:_,...B$(U)})};e_.createWithPreprocess=($,_,U)=>{return new e_({schema:_,effect:{type:"preprocess",transform:$},typeName:Q$.ZodEffects,...B$(U)})};class E6 extends F${_parse($){if(this._getType($)===l.undefined)return g_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}E6.create=($,_)=>{return new E6({innerType:$,typeName:Q$.ZodOptional,...B$(_)})};class R4 extends F${_parse($){if(this._getType($)===l.null)return g_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}R4.create=($,_)=>{return new R4({innerType:$,typeName:Q$.ZodNullable,...B$(_)})};class NU extends F${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===l.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}NU.create=($,_)=>{return new NU({innerType:$,typeName:Q$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...B$(_)})};class BU extends F${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(MW(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new c_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new c_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}BU.create=($,_)=>{return new BU({innerType:$,typeName:Q$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...B$(_)})};class PW extends F${_parse($){if(this._getType($)!==l.nan){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.nan,received:U.parsedType}),W$}return{status:"valid",value:$.data}}}PW.create=($)=>{return new PW({typeName:Q$.ZodNaN,...B$($)})};var ih=Symbol("zod_brand");class MG extends F${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class fW extends F${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return W$;if(J.status==="dirty")return _.dirty(),WU(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return W$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new fW({in:$,out:_,typeName:Q$.ZodPipeline})}}class HU extends F${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(L1(W))W.value=Object.freeze(W.value);return W};return MW(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}HU.create=($,_)=>{return new HU({innerType:$,typeName:Q$.ZodReadonly,...B$(_)})};function tR($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function GA($,_={},U){if($)return B1.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=tR(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=tR(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return B1.create()}var rh={object:U_.lazycreate},Q$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(Q$||(Q$={}));var ph=($,_={message:`Input not instance of ${$.name}`})=>GA((U)=>U instanceof $,_),QA=R6.create,YA=U0.create,oh=PW.create,th=J0.create,jA=QU.create,ah=N1.create,sh=IW.create,eh=YU.create,$x=jU.create,_x=B1.create,Ux=_0.create,Jx=m6.create,Wx=gW.create,Xx=A6.create,Gx=U_.create,Qx=U_.strictCreate,Yx=DU.create,jx=bG.create,Dx=zU.create,zx=u6.create,qx=wW.create,Ox=kW.create,Lx=H1.create,Nx=XU.create,Bx=qU.create,Hx=OU.create,Vx=W0.create,Rx=LU.create,Ax=V1.create,aR=e_.create,Ex=E6.create,Fx=R4.create,Kx=e_.createWithPreprocess,bx=fW.create,Mx=()=>QA().optional(),Ix=()=>YA().optional(),gx=()=>jA().optional(),wx={string:($)=>R6.create({...$,coerce:!0}),number:($)=>U0.create({...$,coerce:!0}),boolean:($)=>QU.create({...$,coerce:!0}),bigint:($)=>J0.create({...$,coerce:!0}),date:($)=>N1.create({...$,coerce:!0})},kx=W$;var r={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},DA=q.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),n_=q.string().datetime(),z$=q.string().trim().min(1),K6=z$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),zA=q.string().regex(/^[a-fA-F0-9]{64}$/),qA=q.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),A4=q.record(q.unknown()),AU=q.array(q.string().min(1)).default([]),R1=n_.nullable().optional(),Px=new Set(["succeeded","failed","cancelled","blocked","skipped"]),E1=q.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function m$($){return q.object({schema:q.literal($),id:q.string().min(1),createdAt:n_,updatedAt:R1,metadata:A4.optional()}).strict()}var Qa=q.object({schema:DA,id:q.string().min(1),createdAt:n_,updatedAt:R1,metadata:A4.optional()}).strict(),OA=q.enum(["agent","human","service","model","workflow","system"]),fx=m$(r.actorRef).extend({kind:OA,name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional(),capabilities:q.array(q.string().min(1)).default([])}).strict(),d6=q.object({kind:OA,id:q.string().min(1),name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional()}).strict(),LA=q.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),Cx=m$(r.resourceRef).extend({kind:LA,name:q.string().min(1).optional(),uri:K6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:AU}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),E$=q.object({kind:LA,id:q.string().min(1),name:q.string().min(1).optional(),uri:K6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:AU}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),DO=q.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),Tx=q.enum(["none","partial","full","unknown"]),Sx=m$(r.evidenceRef).extend({kind:DO,uri:K6,sha256:zA.optional(),summary:q.string().min(1).optional(),contentType:q.string().min(1).optional(),sizeBytes:q.number().int().nonnegative().optional(),redaction:Tx.default("unknown"),producer:d6.optional(),resourceRefs:q.array(E$).default([]),tags:AU}).strict(),i$=q.object({id:q.string().min(1),kind:DO.optional(),uri:K6.optional(),sha256:zA.optional(),summary:q.string().min(1).optional()}).strict(),CW=m$(r.costEstimate).extend({currency:q.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:q.number().int().nonnegative(),provider:q.string().min(1).optional(),model:q.string().min(1).optional(),accountId:q.string().min(1).optional(),promptTokens:q.number().int().nonnegative().optional(),completionTokens:q.number().int().nonnegative().optional(),totalTokens:q.number().int().nonnegative().optional(),basis:q.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:q.array(E$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:q.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),Zx=q.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),NA=m$(r.decisionEnvelope).extend({decisionType:q.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:Zx,actor:d6.optional(),traceId:q.string().min(1).optional(),inputHash:qA.optional(),policyBundleId:q.string().min(1).optional(),selected:q.array(E$).default([]),skipped:q.array(E$).default([]),reason:q.string().min(1),obligations:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),costEstimate:CW.optional(),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),vx=m$(r.capabilityCard).extend({kind:q.enum(["model","tool","machine","agent","lane","connector","service"]),name:q.string().min(1),version:q.string().min(1).optional(),status:q.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:q.array(q.string().min(1)).default([]),limitations:q.array(q.string().min(1)).default([]),riskLevel:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:CW.optional(),evidenceRefs:q.array(i$).default([])}).strict(),VU=q.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),yx=q.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),hx=q.object({refName:z$,requiredForModes:q.array(VU).min(1),allowedSecretInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:z$,revocationCheck:q.boolean().default(!0)}).strict(),xx=q.object({operation:z$,supportedModes:q.array(VU).min(1),sideEffectClass:yx,requiresApproval:q.boolean().default(!1),requiresIdempotencyKey:q.boolean().default(!1),requiresSandboxEvidence:q.boolean().default(!1),requiresRollbackOrRevocation:q.boolean().default(!1),rollbackOrRevocation:z$.optional(),noSideEffectSmoke:z$.optional(),reconciliation:z$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),mx=q.object({providerId:z$,appId:z$,adapterId:z$,ownerPackage:z$,modes:q.array(VU).min(1),defaultMode:VU,credentialRequirements:q.array(hx).default([]),operations:q.array(xx).min(1),rateLimitPosture:z$,costPosture:z$.optional(),auditEvents:q.array(z$).default([]),redactionRules:q.array(z$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:q.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),ux=q.object({appId:z$,repo:z$,priority:q.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:q.array(z$).min(1),firstOperations:q.array(z$).min(1),blockedUntil:q.array(z$).default([])}).strict(),dx=m$(r.providerLiveModeStandard).extend({name:z$,version:z$,modes:q.array(VU).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:q.array(z$).min(1),liveMutationGate:q.object({requiredMode:q.literal("live_mutating"),requiredChecks:q.array(z$).min(1),forbiddenBypassSignals:q.array(z$).min(1),disabledLiveSmoke:z$}).strict(),noSideEffectSmoke:q.object({requiredForModes:q.array(VU).min(1),commandEvidence:q.array(z$).min(1),secretOutputScan:q.boolean().default(!0)}).strict(),credentialPolicy:q.object({acceptedInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:q.literal(!1),missingCredentialBehavior:q.literal("fail_closed"),revocationCheckRequired:q.boolean().default(!0)}).strict(),operationCards:q.array(mx).min(1),firstAdoptionTargets:q.array(ux).min(1),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),cx=q.object({id:q.string().min(1),title:q.string().min(1).optional(),summary:q.string().min(1),text:q.string().optional(),tokens:q.number().int().nonnegative().optional(),source:i$,resourceRefs:q.array(E$).default([])}).strict(),BA=m$(r.contextPack).extend({objective:q.string().min(1),budget:q.object({maxTokens:q.number().int().positive().optional(),maxBytes:q.number().int().positive().optional()}).strict().optional(),items:q.array(cx).default([]),citations:q.array(i$).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),permissions:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),conflicts:q.array(q.string().min(1)).default([]),uncertainty:q.string().min(1).optional()}).strict(),V6=z$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),A1=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),nx=q.enum(["public","internal","private","sensitive"]),lx=q.enum(["draft","active","paused","archived"]),zO=q.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),HA=m$(r.integrationRef).extend({kind:zO,name:q.string().min(1),projectId:A1.optional(),sourcePackage:z$.optional(),externalId:z$.optional(),uri:K6.optional(),enabled:q.boolean().default(!0),readOnly:q.boolean().default(!0),capabilities:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:E$.optional(),evidenceRefs:q.array(i$).default([]),config:A4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),ix=q.object({schemaRoot:V6.default(".hasna/project"),dashboardManifest:V6.default(".hasna/project/dashboard.render.json"),snapshotsDir:V6.default(".hasna/project/snapshots"),documentsDir:V6.default("documents"),reportsDir:V6.default("reports"),evidenceDir:V6.default(".hasna/project/evidence"),privateDir:V6.default(".hasna/project/private")}).strict(),rx=m$(r.projectManifest).extend({projectId:A1,slug:A1,name:q.string().min(1),summary:q.string().min(1).optional(),status:lx.default("active"),classification:nx.default("private"),owner:d6.optional(),layout:ix.default({}),integrations:q.array(HA).default([]),renderManifests:q.array(E$).default([]),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),tags:AU}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:q.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),px=q.enum(["local","package","provider","url"]),qO=q.object({id:q.string().min(1),kind:px,specifier:q.string().min(1),path:V6.optional(),packageName:q.string().min(1).optional(),uri:K6.optional(),provider:zO.optional(),schemaId:DA.optional(),integrity:qA.optional(),resourceRef:E$.optional(),optional:q.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:q.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:q.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:q.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),ox=q.enum(["dashboard","canvas","panel","report","document","custom"]),tx=q.object({id:q.string().min(1),title:q.string().min(1),kind:ox,default:q.boolean().default(!1),entry:V6.optional(),imports:q.array(qO).default([]),panelRefs:q.array(E$).default([]),dataRefs:q.array(E$).default([]),layout:A4.optional()}).strict(),ax=m$(r.renderManifest).extend({projectId:A1,name:q.string().min(1),version:q.string().min(1),manifestPath:V6.default(".hasna/project/dashboard.render.json"),renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:q.array(tx).min(1),imports:q.array(qO).default([]),theme:A4.optional(),compatibility:q.object({minProjectsVersion:q.string().min(1).optional(),minContractsVersion:q.string().min(1).optional()}).strict().optional(),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:q.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),sx=q.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),ex=q.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),$m=q.object({id:q.string().min(1),label:q.string().min(1),value:q.union([q.string(),q.number(),q.boolean()]),unit:q.string().min(1).optional(),status:q.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:q.array(E$).default([])}).strict(),_m=q.object({id:q.string().min(1),title:q.string().min(1),summary:q.string().min(1).optional(),status:q.string().min(1).optional(),priority:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:n_.optional(),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),metadata:A4.optional()}).strict(),Um=q.object({renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:q.string().min(1).optional(),entry:V6.optional(),imports:q.array(qO).default([]),spec:A4.default({})}).strict(),VA=m$(r.projectPanel).extend({projectId:A1,provider:q.object({kind:zO,id:q.string().min(1),name:q.string().min(1).optional(),sourcePackage:z$.optional(),externalId:z$.optional()}).strict(),kind:ex,title:q.string().min(1),summary:q.string().min(1).optional(),state:sx.default("ready"),stateReason:q.string().min(1).optional(),generatedAt:n_,freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),metrics:q.array($m).default([]),items:q.array(_m).default([]),actions:q.array(E$).default([]),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),renderFragment:Um.optional(),warnings:q.array(q.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:q.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),Jm=m$(r.projectSnapshot).extend({projectId:A1,generatedAt:n_,status:E1.default("unknown"),manifestRef:E$,renderManifestRef:E$.optional(),panels:q.array(VA).default([]),contextPacks:q.array(BA).default([]),proofBundleRefs:q.array(E$).default([]),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),warnings:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),RA=q.object({id:q.string().min(1),kind:q.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),expected:q.string().min(1).optional(),timeoutMs:q.number().int().positive().optional(),resourceRefs:q.array(E$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:q.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Wm=m$(r.validationPlan).extend({objective:q.string().min(1),subject:E$.optional(),checks:q.array(RA).min(1),verifier:d6.optional(),requiredEvidenceKinds:q.array(DO).default([])}).strict(),Xm=q.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Gm=q.enum(["draft","active","deprecated","archived"]),Qm=q.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Ym=q.object({key:q.string().regex(/^[A-Z][A-Z0-9_]*$/),description:q.string().min(1),required:q.boolean().default(!1),["secret"]:q.boolean().default(!1),group:q.string().min(1).optional(),default:q.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),jm=q.object({name:q.string().min(1),command:q.string().min(1),description:q.string().min(1).optional(),required:q.boolean().default(!1)}).strict(),Dm=q.object({packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:q.array(q.string().min(1)).default([]),requiredFiles:q.array(q.string().min(1)).default([]),requiredDirectories:q.array(q.string().min(1)).default([]),optionalDirectories:q.array(q.string().min(1)).default([])}).strict(),zm=m$(r.scaffoldManifest).extend({name:q.string().min(1),version:q.string().min(1),summary:q.string().min(1),type:Xm,status:Gm.default("draft"),capabilities:q.array(Qm).default([]),techStack:q.array(q.string().min(1)).default([]),tags:AU,source:E$.optional(),output:Dm,env:q.array(Ym).default([]),scripts:q.array(jm).default([]),validationChecks:q.array(RA).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:q.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),qm=q.enum(["installed","failed","cancelled","partial","unknown"]),Om=m$(r.scaffoldInstallRecord).extend({scaffoldId:q.string().min(1),scaffoldVersion:q.string().min(1).optional(),manifestRef:E$.optional(),target:E$,status:qm,installedAt:n_.optional(),installer:d6.optional(),packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:A4.optional(),generatedFiles:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),proofBundleRefs:q.array(E$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),RU=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),OO=q.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),AA=q.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Lm=q.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Nm=z$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Bm=q.enum(["active","stub","deprecated","archived"]),Hm=q.enum(["stable","beta","canary","internal"]),Vm=q.object({transport:q.enum(["http","stdio"]).default("http"),bin:q.string().min(1).optional(),url:K6.optional()}).strict(),Rm=q.object({healthPath:q.string().min(1).default("/health"),port:q.number().int().positive().optional(),baseUrl:K6.optional()}).strict(),Am=q.object({bins:q.array(q.string().min(1)).default([]),mcp:Vm.optional(),http:Rm.optional()}).strict(),Em=m$(r.app).extend({appId:RU,npmName:OO,repoFolder:RU,githubUrl:Nm,projectSlug:A1,surfaces:Am.default({}),lifecycle:Bm,releaseChannel:Hm.default("stable"),summary:q.string().min(1).optional(),tags:AU}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),Fm=q.enum(["skill","ci","backfilled"]),Km=m$(r.release).extend({appId:RU,package:OO,version:AA,gitSha:Lm,publishedAt:n_,publishPath:Fm,changelogRef:E$.optional(),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),bm=q.enum(["install","update","rollback","freeze-blocked"]),Mm=q.object({cliVersion:q.string().min(1).optional(),mcpHealth:q.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),Im=m$(r.rolloutRecord).extend({appId:RU,package:OO,version:AA,machine:z$,action:bm,result:E1,verifiedBy:Mm.optional(),at:n_,evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:q.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),gm=q.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),wm=q.enum(["pending","queued","sent","failed","skipped","suppressed"]),km=q.object({channel:gm,status:wm,deliveredAt:n_.optional(),detail:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Pm=m$(r.announcement).extend({campaignId:z$,appId:RU.optional(),releaseRef:E$.optional(),channels:q.array(km).min(1),audienceRef:E$,sentAt:n_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),fm=q.enum(["tag","attribute","group"]),Cm=q.enum(["eq","neq","in","not_in","exists","not_exists"]),sR=q.union([q.string(),q.number(),q.boolean()]),Tm=q.object({kind:fm,key:q.string().min(1).optional(),op:Cm.default("eq"),value:sR.optional(),values:q.array(sR).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:q.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),Sm=q.object({match:q.enum(["all","any"]).default("all"),predicates:q.array(Tm).min(1)}).strict(),Zm=q.enum(["opt_in","opt_out","transactional","none"]),vm=m$(r.audience).extend({audienceId:RU,name:z$,definition:Sm,consentPolicy:Zm,suppressionSyncedAt:R1}).strict(),WO=["@hasna/cloud","open-cloud"],ym=q.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),hm=q.object({id:q.string().min(1),provider:ym,kind:q.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:q.string().min(1),region:q.string().min(1).optional(),accountId:q.string().min(1).optional(),uri:K6.optional(),machineScoped:q.boolean().default(!1)}).strict(),EA=m$(r.appCloudManifest).extend({packageName:q.string().min(1),packageVersion:q.string().min(1).optional(),appId:q.string().min(1),repository:E$.optional(),storageMode:q.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:q.enum(["none","app_owned","external_service","local_cache"]),cloudResources:q.array(hm).default([]),localCache:q.object({path:q.string().min(1).optional(),pullMode:q.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:q.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:q.array(q.string().min(1)).default([...WO]),dependencies:q.array(q.string().min(1)).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...WO,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:q.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of WO)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:q.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:q.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),FA=q.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),xm=q.enum(["low","medium","high","critical"]),KA=q.object({id:q.string().min(1),kind:FA,severity:xm,path:q.string().min(1).optional(),packageName:q.string().min(1).optional(),pattern:q.string().min(1),message:q.string().min(1),evidenceRefs:q.array(i$).default([])}).strict(),mm=q.object({id:q.string().min(1),kind:FA,status:E1,target:q.string().min(1),command:q.string().min(1).optional(),evidenceRefs:q.array(i$).default([]),findings:q.array(KA).default([])}).strict(),um=m$(r.noCloudEvidencePack).extend({subject:E$,packageName:q.string().min(1).optional(),packageVersion:q.string().min(1).optional(),generatedBy:d6.optional(),scanMode:q.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:E1,verdict:q.enum(["passed","failed","warning","not_run"]),appCloudManifest:EA.optional(),checks:q.array(mm).min(1),findings:q.array(KA).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),dm=q.object({checkId:q.string().min(1),status:E1,summary:q.string().min(1).optional(),startedAt:R1,finishedAt:R1,evidenceRefs:q.array(i$).default([])}).strict(),cm=m$(r.proofBundle).extend({subject:E$,validationPlanRef:E$.optional(),status:E1,verdict:q.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:q.array(dm).default([]),verifier:d6.optional(),evidenceRefs:q.array(i$).default([]),residualRisks:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),nm=m$(r.workRun).extend({objective:q.string().min(1),status:E1,actor:d6,traceId:q.string().min(1).optional(),startedAt:R1,finishedAt:R1,constraints:q.array(q.string().min(1)).default([]),resourceRefs:q.array(E$).default([]),decisions:q.array(NA).default([]),costEstimates:q.array(CW).default([]),evidenceRefs:q.array(i$).default([]),validationPlanRefs:q.array(E$).default([]),proofBundleRefs:q.array(E$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:q.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(Px.has($.status)&&!$.finishedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),lm=q.object({id:q.string().min(1),at:n_,kind:q.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:q.string().min(1),resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([]),costEstimate:CW.optional()}).strict(),im=m$(r.agentTrajectory).extend({actor:d6,workRunRef:E$.optional(),events:q.array(lm).default([]),outcome:q.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:E$.optional()}).strict(),rm="v1",pm=q.enum(["library","cli-with-store","service","saas"]),om=["local","self-hosted","cloud"],bA=q.enum(om),tm=q.enum(["supported","deferred","unsupported"]),am=q.enum(["none","local-only","api-key","session","service-token","custom"]),XO=q.object({method:q.enum(["GET","POST","PUT","PATCH","DELETE"]),path:q.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:q.boolean().default(!1),description:q.string().min(1).optional()}).strict(),sm=q.object({id:q.string().min(1),kind:q.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),evidenceRef:i$.optional(),status:q.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),em=q.object({name:q.string().min(1),status:tm,bin:q.string().min(1).optional(),mcpBin:q.string().min(1).optional(),authMode:am,deploymentModes:q.array(bA).min(1),health:XO.optional(),readiness:XO.optional(),version:XO.optional(),apiBasePath:q.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:q.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:q.string().min(1).optional(),readinessGates:q.array(sm).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:q.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:q.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:q.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),$u=["local","cloud"],MA=q.enum($u);var _u=q.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Uu=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Ju($){return Uu.map((_)=>`${$}${_}`)}function eR($){return`hasna/oss/${$}/database-url`}var Wu=q.object({mode:MA,envPrefix:q.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:q.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:q.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:q.string().min(1).optional()}).strict(),Xu=q.object({$schema:q.string().min(1).optional(),schema:q.literal(r.serviceContract),name:_u,class:pm,contractVersion:q.literal(rm),kitVersion:q.string().min(1),description:q.string().min(1).optional(),bins:q.array(q.string().min(1)).default([]),storage:Wu.optional(),deploymentModes:q.array(bA).default(["local"]),serviceSurfaces:q.array(em).default([]),metadata:A4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Ju($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:q.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==eR($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${eR($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:q.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:q.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),Ya=q.object({status:q.enum(["ok","degraded","unavailable"]),version:q.string().min(1),mode:MA}).strict(),ja=q.object({ready:q.boolean(),reason:q.string().min(1).optional()}).strict(),Da=q.object({version:q.string().min(1)}).strict(),Gu=q.enum(["info","notice","breaking","critical"]),Qu=q.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),Yu=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],ju=q.enum(Yu);var Du=q.enum(["fleet","package","machine"]),IA=m$(r.commsEventEnvelope).extend({type:Qu,severity:Gu,scope:Du,summary:q.string().min(1).optional(),source:d6.optional(),affected_packages:q.array(z$).default([]),affected_machines:q.array(z$).default([]),action_required:q.boolean().default(!1),ack_by:n_.optional(),dedupe_key:z$,resourceRefs:q.array(E$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),zu=q.enum(["fleet","package","product","loop-lane","initiative","personal"]),qu=q.enum(["quiet","work","firehose"]),Ou=z$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),Lu=m$(r.commsChannelMetadata).extend({class:zu,noise:qu.optional(),owner:z$.optional(),until:Ou.optional(),successor:z$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),$A={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Nu=m$(r.commsMessageMetadata).extend({tag:ju,envelope:IA}).strict().superRefine(($,_)=>{let U=$A[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries($A))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Bu={[r.actorRef]:fx,[r.resourceRef]:Cx,[r.evidenceRef]:Sx,[r.workRun]:nm,[r.decisionEnvelope]:NA,[r.costEstimate]:CW,[r.capabilityCard]:vx,[r.providerLiveModeStandard]:dx,[r.contextPack]:BA,[r.integrationRef]:HA,[r.projectManifest]:rx,[r.projectPanel]:VA,[r.projectSnapshot]:Jm,[r.renderManifest]:ax,[r.agentTrajectory]:im,[r.validationPlan]:Wm,[r.proofBundle]:cm,[r.scaffoldManifest]:zm,[r.scaffoldInstallRecord]:Om,[r.appCloudManifest]:EA,[r.noCloudEvidencePack]:um,[r.serviceContract]:Xu,[r.commsEventEnvelope]:IA,[r.commsChannelMetadata]:Lu,[r.commsMessageMetadata]:Nu,[r.app]:Em,[r.release]:Km,[r.rolloutRecord]:Im,[r.announcement]:Pm,[r.audience]:vm};class gA extends Error{schemaId;issues;constructor($,_){super(`Contract validation failed for ${$}`);this.name="ContractValidationError",this.schemaId=$,this.issues=_}}function wA($,_){let W=Bu[$].safeParse(_);if(!W.success)throw new gA($,W.error.issues);return W.data}var za={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",title:"Hasna Service Contract v1",description:"Repo self-description (hasna.contract.json) for the Hasna Service Contract v1. Storage runtime enum is local|cloud ONLY per Amendment A1 (PURE REMOTE).",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:r.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: <name>, <name>-cli, <name>-mcp, <name>-serve, <name>-worker, <name>-runner, <name>-daemon, <name>-migrate, <name>-doctor."},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},description:"Supported deployment modes. local = this machine, self-hosted = Hasna-owned AWS, cloud = multi-tenant SaaS for outside users."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode","deploymentModes"],properties:{name:{type:"string",minLength:1},status:{enum:["supported","deferred","unsupported"]},bin:{type:"string",minLength:1},mcpBin:{type:"string",minLength:1},authMode:{enum:["none","local-only","api-key","session","service-token","custom"]},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},minItems:1},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},readiness:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},version:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},apiBasePath:{type:"string",pattern:"^/v[0-9]+$"},openApiPath:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$"},deferReason:{type:"string",minLength:1},readinessGates:{type:"array",items:{type:"object",additionalProperties:!1,required:["id","kind"],properties:{id:{type:"string",minLength:1},kind:{enum:["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]},required:{type:"boolean"},command:{type:"string",minLength:1},evidenceRef:{type:"object"},status:{enum:["pending","passed","failed","blocked","deferred"]},summary:{type:"string",minLength:1}}}}}},description:"Declared HTTP/MCP service surfaces. Supported surfaces name lifecycle endpoints; unsafe or unfinished surfaces use deferred/unsupported with a reason."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["local","cloud"],description:"Runtime storage enum. local|cloud ONLY (Amendment A1: PURE REMOTE)."},envPrefix:{type:"string",pattern:"^HASNA_[A-Z][A-Z0-9]*_$",description:"Primary env prefix, e.g. HASNA_TODOS_."},aliasEnvPrefix:{type:"string",pattern:"^[A-Z][A-Z0-9]*_$",description:"Optional short alias env prefix, e.g. TODOS_."},databaseUrlSecretRef:{type:"string",pattern:"^hasna/oss/[a-z0-9-]+/database-url$",description:"Secret Manager ref for the cloud database URL."},sqlitePath:{type:"string",minLength:1,description:"Local sqlite path (~/.hasna/<name>/<name>.db)."}}},metadata:{type:"object"}}};var kA="@hasna/knowledge";function Hu($){if(!Number.isFinite($??0))return 20;return Math.max(1,Math.min(100,Math.trunc($??20)))}function Vu($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function TW($,_=180){let U=String($??"").replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Q_($,_=""){return typeof $==="string"&&$.length>0?$:_}function SW($){return typeof $==="number"&&Number.isFinite($)?$:0}function EU($){if(typeof $!=="string"||$.length===0)return;let _=$.includes("T")?$:`${$.replace(" ","T")}Z`,U=new Date(_);return Number.isNaN(U.valueOf())?void 0:U.toISOString()}function IG($){return K6.safeParse($).success}function b6($,_,U,W,J=[]){return{kind:$,id:_,name:U,uri:W&&IG(W)?W:void 0,externalId:_,sourcePackage:kA,tags:J}}function Ru($){return[...$.items.flatMap((U)=>[U.updated_at,U.created_at]),...$.sources.flatMap((U)=>[U.updated_at,U.created_at]),...$.chunks.map((U)=>U.created_at),...$.wiki_pages.flatMap((U)=>[U.updated_at,U.created_at]),...$.storage_objects.flatMap((U)=>[U.updated_at,U.created_at]),...$.runs.flatMap((U)=>[U.updated_at,U.created_at]),...$.reindex_queue.flatMap((U)=>[U.updated_at,U.created_at]),...$.sync_conflicts.map((U)=>U.created_at),...$.approval_gates.flatMap((U)=>[U.updated_at,U.created_at])].map(EU).filter(Boolean).sort((U,W)=>W.localeCompare(U))[0]}function Au($){if(!$)return"unknown";let _=Date.now()-new Date($).valueOf();if(!Number.isFinite(_))return"unknown";return _>2592000000?"stale":"fresh"}function Eu($){let _=(U)=>{let W=String(U??"").toLowerCase();return W!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(W)};return $.reindex_queue.filter((U)=>_(U.status)).length+$.sync_conflicts.filter((U)=>_(U.status)).length+$.approval_gates.filter((U)=>_(U.status)).length}function Fu($,_){let U=[];for(let W of $.items.slice(0,_))U.push({id:`item_${W.id}`,title:W.title,summary:TW(W.content_preview),status:W.archived?"archived":"active",priority:"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("knowledge",W.id,W.title,`knowledge://item/${encodeURIComponent(W.id)}`,W.tags)],evidenceRefs:W.url&&IG(W.url)?[{id:`url_${W.id}`,kind:"url",uri:W.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:W.archived,tags:W.tags,url:W.url||void 0}});for(let W of $.sources.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,Q_(W.uri,"source")),X=Q_(W.title,Q_(W.uri,J)),G=Q_(W.uri,`knowledge://source/${encodeURIComponent(J)}`);U.push({id:`source_${J}`,title:X,summary:TW(`${SW(W.chunks)} chunk(s), ${SW(W.revisions)} revision(s)`),status:SW(W.chunks)>0?"indexed":"source",priority:"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("document",J,X,G)],evidenceRefs:IG(G)?[{id:`source_${J}`,kind:"url",uri:G,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:W.kind,chunks:SW(W.chunks),revisions:SW(W.revisions)}})}for(let W of $.chunks.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"chunk"),X=Q_(W.source_uri);U.push({id:`chunk_${J}`,title:Q_(W.wiki_title,X?`Chunk from ${X}`:`Knowledge chunk ${J}`),summary:TW(W.text_preview),status:"chunk",priority:"low",timestamp:EU(W.created_at),resourceRefs:[b6("context_pack",J,Q_(W.wiki_title,J),`knowledge://chunk/${encodeURIComponent(J)}`)],evidenceRefs:X&&IG(X)?[{id:`chunk_source_${J}`,kind:"url",uri:X,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:X||void 0,token_count:W.token_count,ordinal:W.ordinal}})}for(let W of $.sync_conflicts.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"sync_conflict");U.push({id:`sync_conflict_${J}`,title:`Sync conflict: ${Q_(W.entity_kind,"entity")}/${Q_(W.entity_id,J)}`,summary:TW(`Status ${Q_(W.status,"unknown")}; strategy ${Q_(W.resolution_strategy,"none")}.`),status:Q_(W.status,"unknown"),priority:"critical",timestamp:EU(W.created_at),resourceRefs:[b6("finding",J,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:W.local_machine_id,remote_machine_id:W.remote_machine_id}})}for(let W of $.reindex_queue.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"reindex");U.push({id:`reindex_${J}`,title:`Reindex ${Q_(W.kind,"item")}: ${Q_(W.target_id,J)}`,summary:TW(W.reason),status:Q_(W.status,"unknown"),priority:Q_(W.status).toLowerCase()==="failed"?"high":"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("action",J,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:W.attempts,source_uri:W.source_uri}})}return U.slice(0,_)}async function PA($,_={}){let U=Hu(_.limit),W=new Date().toISOString(),J=Vu($),G=await(_.service??EG({scope:_.scope??"project",cwd:_.cwd})).resolveInventory({limit:U,storePath:_.storePath,includeArchived:_.includeArchived}),Q=Ru(G),Y=Au(Q),j=G.summary.active_items+G.summary.sources+G.summary.chunks+G.summary.wiki_pages+G.summary.storage_objects,O=Eu(G),B=j===0?"empty":Y==="stale"?"stale":"ready",V=Fu(G,U),L={schema:r.projectPanel,id:`knowledge_panel_${J}`,createdAt:W,projectId:J,provider:{kind:"knowledge",id:`knowledge_${J}`,name:"Knowledge",sourcePackage:kA,externalId:G.home},kind:"knowledge",title:"Knowledge",summary:B==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${G.summary.active_items} active note(s), ${G.summary.sources} source(s), ${G.summary.chunks} chunk(s), and ${G.summary.wiki_pages} wiki page(s).`,state:B,stateReason:B==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:W,freshness:Y,metrics:[{id:"active_items",label:"Active notes",value:G.summary.active_items,status:G.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:G.summary.sources,status:G.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:G.summary.chunks,status:G.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:G.summary.wiki_pages,status:G.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:G.summary.storage_objects,status:G.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:G.summary.vector_entries,status:G.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:O,status:O>0?"warning":"good"}],items:V,actions:[b6("action","knowledge:inventory","Inspect knowledge inventory"),b6("action","knowledge:context-pack","Build cited context pack"),b6("action","knowledge:ingest","Ingest project source")],resourceRefs:[b6("project",J,$,`project://${J}`),b6("knowledge",`home_${J}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(J)}`),b6("artifact",`db_${J}`,"Knowledge database",`knowledge://db/${encodeURIComponent(J)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:U}},metadata:{scope:G.scope,home:G.home,json_store_exists:G.paths.json_store_exists,latest_activity_at:Q}};return wA(r.projectPanel,L)}function fA($){let _=[`${$.title}: ${$.state}`,$.summary??"",...$.metrics.map((U)=>`${U.label}: ${U.value}`)].filter(Boolean);if($.items.length>0){_.push("Items:");for(let U of $.items.slice(0,10))if(_.push(`- ${U.title}${U.status?` [${U.status}]`:""}`),U.summary)_.push(` ${U.summary}`)}return _.join(` -`)}var SA=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"];var Ku=["remote","hybrid","self_hosted"],ZA="HASNA_KNOWLEDGE_STORAGE_MODE",vA="KNOWLEDGE_STORAGE_MODE";function CA($){return process.env[$]?.trim()||void 0}function TA($){let _=$?.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return"local";if(_==="cloud")return"cloud";if(_&&Ku.includes(_))return"cloud";return}function bu($={}){let _=I1(dW($.scope,$.cwd).home);return $$(_.knowledgeDbPath),{db:d(_.knowledgeDbPath),path:_.knowledgeDbPath,scope:$.scope??"global"}}function yA(){let $=TA(CA(ZA))??TA(CA(vA));if($)return $;return"local"}function LO($={}){let _=bu($);try{Mu(_.db);let U=_.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:yA(),service:"knowledge",scope:_.scope,databasePath:_.path,tables:SA,sync:U}}finally{_.db.close()}}function Mu($){$.exec(` + `,[U])),k={legacy_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,schema_version:Y.schema_version,sources:Y.sources,source_revisions:Y.source_revisions,chunks:Y.chunks,wiki_pages:Y.wiki_pages,citations:Y.citations,indexes:Y.indexes,runs:Y.runs,run_events:Y.run_events,storage_objects:Y.storage_objects,embeddings:Y.embeddings,vector_entries:Y.vector_entries,reindex_queue:Y.reindex_queue,redaction_findings:Y.redaction_findings,audit_events:Y.audit_events,approval_gates:Y.approval_gates,knowledge_machines:Y.knowledge_machines,sync_snapshots:Y.sync_snapshots,sync_changes:Y.sync_changes,sync_conflicts:Y.sync_conflicts,sync_table_clocks:Y.sync_table_clocks,sync_imports:Y.sync_imports};return{ok:!0,scope:this.scope,home:_.home,limit:U,paths:{json_store_path:W,json_store_exists:J.exists,knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:!0,artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,wiki_dir:_.wikiDir},summary:k,legacy_store:{path:W,exists:J.exists,read_error:J.read_error,total_items:J.items.length,active_items:X.length,archived_items:J.items.length-X.length,items_returned:Math.min(G.length,U)},items:G.slice(0,U).map(hR),sources:O,source_revisions:B,chunks:V,wiki_pages:L,indexes:N,storage_objects:H,runs:R,vector_indexes:F,reindex_queue:A,machines:M,sync_conflicts:K,approval_gates:I,audit_events:Z,message:`${J.items.length} item(s), ${Y.sources} source(s), ${Y.chunks} chunk(s), ${Y.wiki_pages} wiki page(s), ${Y.storage_objects} artifact(s)`}}finally{j.close()}}assertAppWikiWrite($){oU({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:$})}async initAppWiki($={}){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return jB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async addAppWikiNote($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return DB({scope:this.scope,workspace:_,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal,title:$.title,content:$.content,tags:$.tags,sourceRefs:$.sourceRefs,path:$.path,metadata:$.metadata})}listAppWikiNotes($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return zB({dbPath:_.knowledgeDbPath,limit:$.limit})}async getAppWikiNote($,_={}){let U=this.workspace;if(!x$(U.knowledgeDbPath))return null;return qB({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:$,includeContent:_.includeContent})}async addAppWikiSourceRef($){this.assertAppWikiWrite($.allowGlobal);let _=this.ensureWorkspace();return OB({scope:this.scope,workspace:_,sourceRef:$.sourceRef,purpose:$.purpose,config:this.config(),safetyPolicy:this.safetyPolicy(),allowGlobal:$.allowGlobal})}async searchAppWiki($){return this.search($)}async queryAppWiki($){return this.retrieveContext($)}async initWiki(){let $=this.ensureWorkspace();$$($.knowledgeDbPath);let _=await AR(this.artifactStore()),U=d($.knowledgeDbPath);try{W4(U,_.artifacts),FR(U,_.artifacts)}finally{U.close()}return _}async compileWiki($={}){let _=this.ensureWorkspace();return BR({...$,dbPath:_.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer($){let _=this.ensureWorkspace(),U=await this.retrieveContext({query:$.prompt,limit:$.limit,semantic:$.semantic,modelRef:$.modelRef,dimensions:$.dimensions,fake:$.fake});return HR({dbPath:_.knowledgeDbPath,store:this.artifactStore(),prompt:$.prompt,answer:$.answer,context:U,approveWrite:$.approveWrite})}lintWiki(){let $=this.ensureWorkspace();return VR({dbPath:$.knowledgeDbPath})}async ingestManifest($){let _=this.ensureWorkspace();return WB({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource($,_){let U=this.ensureWorkspace();return BX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance($={}){let _=$.dryRun!==!1,U=_?this.workspace:this.ensureWorkspace();return XR({root:$.root??this.options.cwd??process.cwd(),scope:this.scope,owner:$.owner,dryRun:_,deprecateLegacy:$.deprecateLegacy,includeLegacy:$.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:$.maxItems,limit:$.limit})}async resolveSource($,_={}){let U=this.ensureWorkspace();return OX({dbPath:U.knowledgeDbPath,sourceRef:$,purpose:_.purpose,limit:_.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox($){let _=this.ensureWorkspace();return gV({dbPath:_.knowledgeDbPath,input:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return Dh();return pV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}enqueueReindex($={}){let _=this.ensureWorkspace();return Cq({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async refreshEmbeddings($={}){let _=this.ensureWorkspace();return oV({...$,dbPath:_.knowledgeDbPath,config:this.config()})}providerStatus($=process.env){return VB(this.config(),$)}modelRegistry(){return pG(this.config())}embeddingStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return zh();return bB($.knowledgeDbPath)}async indexEmbeddings($={}){let _=this.ensureWorkspace();return RX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}isApiMode(){return T4()}async fetchCloudItems(){let $=pU();if(!$)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return GX($)}async semanticSearch($){let _=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems(),W=await T0(U,{...$},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:W.results}}if(!x$(_.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:$.dimensions??1536,query:$.query,results:[]};return AX({...$,dbPath:_.knowledgeDbPath,config:this.config()})}async search($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return T0(W,$)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U))return bX({...$,legacyStorePath:U,config:this.config()});return tR($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return KX({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext($){let _=this.workspace;if(this.isApiMode()){let W=await this.fetchCloudItems();return IX(W,$)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){if(x$(U)){let W=await bX({...$,legacyStorePath:U,config:this.config()});return A2(W,{contextChars:$.contextChars})}return Yh($.query,Math.max(1,Math.min($.limit??10,100)),$.semantic===!0||$.fake===!0||Boolean($.modelRef))}return F2({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack($){let _=this.workspace;if(this.isApiMode()){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"){let J=await this.fetchCloudItems(),X=await T0(J,{...$,query:W}),G=A2(X,{contextChars:$.contextChars});return uR($,G,this.safetyPolicy())}return dR($)}let U=sq(this.scope,_,$.legacyStorePath);if(!x$(_.knowledgeDbPath)){let W=($.query??$.topic??"").trim();if(W&&$.source!=="loops"&&$.source!=="runs"&&x$(U)){let J=await bX({...$,query:W,legacyStorePath:U,config:this.config()}),X=A2(J,{contextChars:$.contextChars});return uR($,X,this.safetyPolicy())}return dR($)}return $H({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt($){if(this.isApiMode()){let W=await this.fetchCloudItems();return lB(W,{...$,config:this.config()})}let _=this.ensureWorkspace(),U=$.legacyStorePath??_.jsonStorePath;if(!$.legacyStorePath)PU(U);return nB({...$,dbPath:_.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch($){let _=this.ensureWorkspace();return jR({...$,dbPath:_.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology($={}){let _=this.workspace;return dV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}async machinePreflight($={}){let _=this.workspace;return lV({...$,knowledge:{scope:this.scope,workspace_home:_.home}})}syncStatus(){let $=this.workspace;if(!x$($.knowledgeDbPath))return qh({scope:this.scope,workspaceHome:$.home});return KH({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home})}async syncDoctor($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.syncStatus(),W=this.storageContract(),J=this.validateStorage(),X=Oh(_.knowledgeDbPath,W),G=$.machine?.trim()||null,Q=$.peerWorkspace?.trim()||null,Y=[],j=null,O=null;if(G&&!iR(G)){let H=await fq({machineId:G,includeTailscale:$.includeTailscale});j=aq(H),Y.push(...H.warnings)}if(G||Q){let H=await q5({machineId:G??tq(_),peerWorkspace:Q,includeTailscale:$.includeTailscale});if(G&&!Q&&(j?.source==="raw"||!H.ok||!H.project_root)){let R=TR(_.knowledgeDbPath,G);if(R){if(j?.source==="raw"&&R.ssh_target)j=aq(SR(R,G,{target:j.target,route:j.route,targetKind:j.target_kind,confidence:j.confidence,source:j.source,adapter:j.adapter,evidence:j.evidence,cacheability:j.cacheability,warnings:[]}));if(!H.ok||!H.project_root){let F=ZR(R,G,H);if(F)O=FW(F,F.project_root),Y.push(...F.warnings)}}}O=H.ok&&H.project_root?FW(H,H.project_root):O??{...FW(H,Q??""),project_root:H.project_root??Q??""},Y.push(...H.warnings)}if(!J.ok)Y.push(...J.errors.map((H)=>`storage:${H}`));let B=Jh(_.knowledgeDbPath,O);if(!B.ok)Y.push("open_files_boundary_raw_payload_sentinels");if(!X.ok)Y.push(...X.warnings);let V=O?.diagnostics.filter((H)=>H.severity==="fail")??[],L=J.ok&&X.ok&&B.ok&&V.length===0&&(O?.project_root!==""||!O),N=Nh({scope:this.scope,machine:G,peerWorkspace:Q,tables:$.tables,resolvedWorkspace:O,openConflicts:U.conflicts.open});return{ok:L,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:_.home,database:{sqlite_schema_version:U.sqlite_schema_version,table_counts:U.table_counts},storage:{contract:W,validation:J,artifact_manifest:X},sync:{machines:U.machines.total,snapshots:U.snapshots.total,clocks:U.clocks.total,imports:U.imports.total,open_conflicts:U.conflicts.open,table_clocks:U.clocks.rows},open_files:B,resolved_route:j,resolved_workspace:O,recommended_commands:N,warnings:[...new Set(Y)],message:L?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(Y)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys($={}){let _=this.ensureWorkspace();$$(_.knowledgeDbPath);let U=this.storageContract(),W=UO(U),J=Lh(_.knowledgeDbPath,U),X=$.dryRun===!0||$.approveWrite!==!0;if(J.length===0)return{ok:!0,dry_run:X,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if($.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:`Would repair ${J.length} legacy S3 artifact manifest key(s)`};if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by <name>"};let G=d(_.knowledgeDbPath);try{let Q=new Date().toISOString();G.transaction((O)=>{let B=G.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),V=G.query("SELECT id, metadata_json FROM storage_objects").all(),L=new Map(V.map((N)=>[N.id,JU(N.metadata_json)]));for(let N of O){let H=L.get(N.id)??{};H.key=N.repaired_key,B.run(JSON.stringify(H),Q,N.id)}})(J);let j=a$(G,{event_type:"artifact_manifest_key_repair",action:"storage.artifact_manifest.repair_keys",target_uri:`knowledge-storage://${_.home}/storage_objects`,decision:"allow",metadata:{approved_by:$.approvedBy,repaired:J.length,storage_type:U.storage_type,storage_prefix:W,artifact_uris:J.map((O)=>O.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:W,candidates:J,repaired:J.length,audit_event_id:j,message:`Repaired ${J.length} legacy S3 artifact manifest key(s)`}}finally{G.close()}}async createSyncSnapshot($={}){let _=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:$.includeTailscale!==!1});return EH({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),topology:U,machineId:$.machineId})}syncConflicts($={}){let _=this.workspace;if(!x$(_.knowledgeDbPath))return[];return bH(_.knowledgeDbPath,$)}syncConflict($){let _=this.ensureWorkspace(),U=vX(_.knowledgeDbPath,$);if(!U)throw Error(`Sync conflict not found: ${$}`);return U}proposeSyncConflictResolution($){let _=this.ensureWorkspace();return XJ(_.knowledgeDbPath,$)}async proposeSyncConflictResolutionWithAi($){let _=this.ensureWorkspace();return MV({dbPath:_.knowledgeDbPath,id:$.id,config:this.config(),modelRef:$.modelRef,fake:$.fake,env:$.env})}resolveSyncConflict($){let _=this.ensureWorkspace(),U=XJ(_.knowledgeDbPath,$.id);if($.approveWrite!==!0||!$.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by <name>"};let W=gH(_.knowledgeDbPath,{id:$.id,strategy:$.strategy??U.proposed_strategy,approvedBy:$.approvedBy,proposedPatchUri:$.proposedPatchUri}),J=d(_.knowledgeDbPath);try{let X=a$(J,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${$.id}`,decision:"allow",metadata:{conflict_id:$.id,entity_kind:W.entity_kind,entity_id:W.entity_id,strategy:W.resolution_strategy,approved_by:W.approved_by,proposed_patch_uri:W.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:W,audit_event_id:X,message:`Resolved sync conflict ${$.id}`}}finally{J.close()}}syncMachines(){let $=this.workspace;if(!x$($.knowledgeDbPath))return[];return OQ($.knowledgeDbPath)}exportSyncBundle($={}){let _=this.ensureWorkspace();return this.assertStorageValid("sync export"),$$(_.knowledgeDbPath),WJ({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home,storage:this.storageContract(),machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.recordClocks!==!1})}async importSyncBundle($){let _=this.ensureWorkspace();return this.assertStorageValid("sync import"),$$(_.knowledgeDbPath),ZX({targetDbPath:_.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:_.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:$.bundle,direction:$.direction??"import",dryRun:$.dryRun,localMachineId:$.machineId??null})}async syncRemotePeer($){let _=$.direction??"both",U=$.dryRun===!0,W=this.ensureWorkspace();$$(W.knowledgeDbPath);let J=$.tables?.length?["--tables",$.tables.join(",")]:[],X=$.includeArtifactContent===!1?["--no-artifact-content"]:[],G=["--scope",this.scope,"--json"],Q=await fq({machineId:$.machine,includeTailscale:$.includeTailscale}),Y=await q5({machineId:$.machine,peerWorkspace:$.peerWorkspace,includeTailscale:$.includeTailscale});if(!$.peerWorkspace&&Q.source==="raw"||!Y.ok||!Y.project_root){let L=TR(W.knowledgeDbPath,$.machine);if(L){if(!$.peerWorkspace&&Q.source==="raw"&&L.ssh_target)Q=SR(L,$.machine,Q);if(!Y.ok||!Y.project_root){let N=ZR(L,$.machine,Y);if(N)Y=N}}}if(!Y.ok||!Y.project_root)throw Error([`Unable to resolve peer workspace for ${$.machine}.`,"Pass --peer-workspace <repo-or-knowledge-home> or configure workspace path mapping in machines.",Y.warnings.length?`Warnings: ${Y.warnings.join(", ")}`:null].filter(Boolean).join(" "));let j=Y.project_root,O={ok:!0,dry_run:U,direction:_,transport:"ssh",machine:$.machine,resolved_machine:Q.target,resolved_route:aq(Q),resolved_workspace:FW(Y,Y.project_root),peer_workspace:j,message:""},B=!1,V=()=>{if(U||B)return;RH(W.knowledgeDbPath,{machineId:$.machine,route:Q,workspace:Y}),B=!0};if(_==="pull"||_==="both"){let L=CR(j,["sync","export",...G,...J,...X]),N=cR($.machine,L,void 0,Q),H=nR($.machine,"sync export",N);Hh($.machine,H),O.pull=await this.importSyncBundle({bundle:H,dryRun:U,direction:"pull",machineId:$.machineId??null})}if(_==="push"||_==="both"){V();let L=this.exportSyncBundle({machineId:$.machineId??null,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:!U}),N=CR(j,["sync","import",...G,...U?["--dry-run"]:[]]),H=nR($.machine,"sync import",cR($.machine,N,JSON.stringify(L),Q));Vh($.machine,H),O.push=H}return O.ok=(O.pull?.ok??!0)&&(O.push?.ok??!0),V(),O.message=[vR(O.resolved_workspace),O.pull?`pull: ${O.pull.message}`:null,O.push?`push: ${O.push.message}`:null].filter(Boolean).join("; "),O}async syncPeer($){let _=$.direction??"both",U=this.ensureWorkspace();$$(U.knowledgeDbPath);let W=lR($.peerWorkspace),J=oy(W);$$(J.knowledgeDbPath);let X=d5(J.configPath),G=DX(X,J,this.scope),Q=SG(X,J),Y=$.machineId??tq(U),j=tq(J),O=await q5({machineId:$.machineId??j,peerWorkspace:W,includeTailscale:!1}),B=()=>WJ({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:Y,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),V=()=>WJ({dbPath:J.knowledgeDbPath,scope:this.scope,workspaceHome:J.home,storage:G,machineId:j,tables:$.tables,includeArtifactContent:$.includeArtifactContent,recordClocks:$.dryRun!==!0}),L={ok:!0,dry_run:$.dryRun===!0,direction:_,resolved_workspace:FW(O,O.project_root??W),message:""};if(_==="pull"||_==="both")L.pull=await ZX({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:V(),targetBundle:B(),direction:"pull",dryRun:$.dryRun,localMachineId:Y});if(_==="push"||_==="both")L.push=await ZX({targetDbPath:J.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:J.home,targetStorage:G,targetStore:Q,bundle:B(),targetBundle:V(),direction:"push",dryRun:$.dryRun,localMachineId:j});return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),L.message=[vR(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}}function E5($={}){return new aR($)}var Ah=Object.defineProperty,Fh=($)=>$;function Eh($,_){this[$]=Fh.bind(null,_)}var Kh=($,_)=>{for(var U in _)Ah($,U,{get:_[U],enumerable:!0,configurable:!0,set:Eh.bind(_,U)})},q={};Kh(q,{void:()=>Qx,util:()=>g$,unknown:()=>Xx,union:()=>zx,undefined:()=>Ux,tuple:()=>Lx,transformer:()=>$A,symbol:()=>_x,string:()=>DA,strictObject:()=>Dx,setErrorMap:()=>Ih,set:()=>Hx,record:()=>Nx,quotelessJson:()=>bh,promise:()=>Kx,preprocess:()=>Ix,pipeline:()=>gx,ostring:()=>wx,optional:()=>bx,onumber:()=>kx,oboolean:()=>Px,objectUtil:()=>GO,object:()=>jx,number:()=>zA,nullable:()=>Mx,null:()=>Jx,never:()=>Gx,nativeEnum:()=>Ex,nan:()=>sh,map:()=>Bx,makeIssue:()=>b5,literal:()=>Ax,lazy:()=>Rx,late:()=>th,isValid:()=>N1,isDirty:()=>YO,isAsync:()=>MW,isAborted:()=>QO,intersection:()=>Ox,instanceof:()=>ah,getParsedType:()=>V4,getErrorMap:()=>K5,function:()=>Vx,enum:()=>Fx,effect:()=>$A,discriminatedUnion:()=>qx,defaultErrorMap:()=>QU,datetimeRegex:()=>QA,date:()=>$x,custom:()=>jA,coerce:()=>fx,boolean:()=>qA,bigint:()=>eh,array:()=>Yx,any:()=>Wx,addIssueToContext:()=>u,ZodVoid:()=>gW,ZodUnknown:()=>U0,ZodUnion:()=>zU,ZodUndefined:()=>jU,ZodType:()=>E$,ZodTuple:()=>u6,ZodTransformer:()=>e_,ZodSymbol:()=>IW,ZodString:()=>R6,ZodSet:()=>V1,ZodSchema:()=>E$,ZodRecord:()=>wW,ZodReadonly:()=>VU,ZodPromise:()=>R1,ZodPipeline:()=>fW,ZodParsedType:()=>l,ZodOptional:()=>F6,ZodObject:()=>U_,ZodNumber:()=>J0,ZodNullable:()=>R4,ZodNull:()=>DU,ZodNever:()=>m6,ZodNativeEnum:()=>NU,ZodNaN:()=>PW,ZodMap:()=>kW,ZodLiteral:()=>LU,ZodLazy:()=>OU,ZodIssueCode:()=>T,ZodIntersection:()=>qU,ZodFunction:()=>GU,ZodFirstPartyTypeKind:()=>Q$,ZodError:()=>c_,ZodEnum:()=>X0,ZodEffects:()=>e_,ZodDiscriminatedUnion:()=>M5,ZodDefault:()=>BU,ZodDate:()=>B1,ZodCatch:()=>HU,ZodBranded:()=>I5,ZodBoolean:()=>YU,ZodBigInt:()=>W0,ZodArray:()=>A6,ZodAny:()=>H1,Schema:()=>E$,ParseStatus:()=>A_,OK:()=>g_,NEVER:()=>Cx,INVALID:()=>W$,EMPTY_PATH:()=>gh,DIRTY:()=>XU,BRAND:()=>oh});var g$;(function($){$.assertEqual=(J)=>{};function _(J){}$.assertIs=_;function U(J){throw Error()}$.assertNever=U,$.arrayToEnum=(J)=>{let X={};for(let G of J)X[G]=G;return X},$.getValidEnumValues=(J)=>{let X=$.objectKeys(J).filter((Q)=>typeof J[J[Q]]!=="number"),G={};for(let Q of X)G[Q]=J[Q];return $.objectValues(G)},$.objectValues=(J)=>{return $.objectKeys(J).map(function(X){return J[X]})},$.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let X=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))X.push(G);return X},$.find=(J,X)=>{for(let G of J)if(X(G))return G;return},$.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function W(J,X=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(J,X)=>{if(typeof X==="bigint")return X.toString();return X}})(g$||(g$={}));var GO;(function($){$.mergeShapes=(_,U)=>{return{..._,...U}}})(GO||(GO={}));var l=g$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),V4=($)=>{switch(typeof $){case"undefined":return l.undefined;case"string":return l.string;case"number":return Number.isNaN($)?l.nan:l.number;case"boolean":return l.boolean;case"function":return l.function;case"bigint":return l.bigint;case"symbol":return l.symbol;case"object":if(Array.isArray($))return l.array;if($===null)return l.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return l.promise;if(typeof Map<"u"&&$ instanceof Map)return l.map;if(typeof Set<"u"&&$ instanceof Set)return l.set;if(typeof Date<"u"&&$ instanceof Date)return l.date;return l.object;default:return l.unknown}},T=g$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),bh=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class c_ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=$}format($){let _=$||function(J){return J.message},U={_errors:[]},W=(J)=>{for(let X of J.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)U._errors.push(_(X));else{let G=U,Q=0;while(Q<X.path.length){let Y=X.path[Q];if(Q!==X.path.length-1)G[Y]=G[Y]||{_errors:[]};else G[Y]=G[Y]||{_errors:[]},G[Y]._errors.push(_(X));G=G[Y],Q++}}};return W(this),U}static assert($){if(!($ instanceof c_))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,g$.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(_)=>_.message){let _={},U=[];for(let W of this.issues)if(W.path.length>0){let J=W.path[0];_[J]=_[J]||[],_[J].push($(W))}else U.push($(W));return{formErrors:U,fieldErrors:_}}get formErrors(){return this.flatten()}}c_.create=($)=>{return new c_($)};var Mh=($,_)=>{let U;switch($.code){case T.invalid_type:if($.received===l.undefined)U="Required";else U=`Expected ${$.expected}, received ${$.received}`;break;case T.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify($.expected,g$.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:U=`Unrecognized key(s) in object: ${g$.joinValues($.keys,", ")}`;break;case T.invalid_union:U="Invalid input";break;case T.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${g$.joinValues($.options)}`;break;case T.invalid_enum_value:U=`Invalid enum value. Expected ${g$.joinValues($.options)}, received '${$.received}'`;break;case T.invalid_arguments:U="Invalid function arguments";break;case T.invalid_return_type:U="Invalid function return type";break;case T.invalid_date:U="Invalid date";break;case T.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(U=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)U=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)U=`Invalid input: must end with "${$.validation.endsWith}"`;else g$.assertNever($.validation);else if($.validation!=="regex")U=`Invalid ${$.validation}`;else U="Invalid";break;case T.too_small:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")U=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else U="Invalid input";break;case T.too_big:if($.type==="array")U=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")U=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")U=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")U=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")U=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else U="Invalid input";break;case T.custom:U="Invalid input";break;case T.invalid_intersection_types:U="Intersection results could not be merged";break;case T.not_multiple_of:U=`Number must be a multiple of ${$.multipleOf}`;break;case T.not_finite:U="Number must be finite";break;default:U=_.defaultError,g$.assertNever($)}return{message:U}},QU=Mh,WA=QU;function Ih($){WA=$}function K5(){return WA}var b5=($)=>{let{data:_,path:U,errorMaps:W,issueData:J}=$,X=[...U,...J.path||[]],G={...J,path:X};if(J.message!==void 0)return{...J,path:X,message:J.message};let Q="",Y=W.filter((j)=>!!j).slice().reverse();for(let j of Y)Q=j(G,{data:_,defaultError:Q}).message;return{...J,path:X,message:Q}},gh=[];function u($,_){let U=K5(),W=b5({issueData:_,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U,U===QU?void 0:QU].filter((J)=>!!J)});$.common.issues.push(W)}class A_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,_){let U=[];for(let W of _){if(W.status==="aborted")return W$;if(W.status==="dirty")$.dirty();U.push(W.value)}return{status:$.value,value:U}}static async mergeObjectAsync($,_){let U=[];for(let W of _){let J=await W.key,X=await W.value;U.push({key:J,value:X})}return A_.mergeObjectSync($,U)}static mergeObjectSync($,_){let U={};for(let W of _){let{key:J,value:X}=W;if(J.status==="aborted")return W$;if(X.status==="aborted")return W$;if(J.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(J.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))U[J.value]=X.value}return{status:$.value,value:U}}}var W$=Object.freeze({status:"aborted"}),XU=($)=>({status:"dirty",value:$}),g_=($)=>({status:"valid",value:$}),QO=($)=>$.status==="aborted",YO=($)=>$.status==="dirty",N1=($)=>$.status==="valid",MW=($)=>typeof Promise<"u"&&$ instanceof Promise,e;(function($){$.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},$.toString=(_)=>typeof _==="string"?_:_?.message})(e||(e={}));class E6{constructor($,_,U,W){this._cachedPath=[],this.parent=$,this.data=_,this._path=U,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var sR=($,_)=>{if(N1(_))return{success:!0,data:_.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new c_($.common.issues);return this._error=U,this._error}}}};function B$($){if(!$)return{};let{errorMap:_,invalid_type_error:U,required_error:W,description:J}=$;if(_&&(U||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(_)return{errorMap:_,description:J};return{errorMap:(G,Q)=>{let{message:Y}=$;if(G.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(G.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??U??Q.defaultError}},description:J}}class E${get description(){return this._def.description}_getType($){return V4($.data)}_getOrReturnCtx($,_){return _||{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new A_,ctx:{common:$.parent.common,data:$.data,parsedType:V4($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let _=this._parse($);if(MW(_))throw Error("Synchronous parse encountered promise.");return _}_parseAsync($){let _=this._parse($);return Promise.resolve(_)}parse($,_){let U=this.safeParse($,_);if(U.success)return U.data;throw U.error}safeParse($,_){let U={common:{issues:[],async:_?.async??!1,contextualErrorMap:_?.errorMap},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parseSync({data:$,path:U.path,parent:U});return sR(U,W)}"~validate"($){let _={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)};if(!this["~standard"].async)try{let U=this._parseSync({data:$,path:[],parent:_});return N1(U)?{value:U.value}:{issues:_.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;_.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:_}).then((U)=>N1(U)?{value:U.value}:{issues:_.common.issues})}async parseAsync($,_){let U=await this.safeParseAsync($,_);if(U.success)return U.data;throw U.error}async safeParseAsync($,_){let U={common:{issues:[],contextualErrorMap:_?.errorMap,async:!0},path:_?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:V4($)},W=this._parse({data:$,path:U.path,parent:U}),J=await(MW(W)?W:Promise.resolve(W));return sR(U,J)}refine($,_){let U=(W)=>{if(typeof _==="string"||typeof _>"u")return{message:_};else if(typeof _==="function")return _(W);else return _};return this._refinement((W,J)=>{let X=$(W),G=()=>J.addIssue({code:T.custom,...U(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Q)=>{if(!Q)return G(),!1;else return!0});if(!X)return G(),!1;else return!0})}refinement($,_){return this._refinement((U,W)=>{if(!$(U))return W.addIssue(typeof _==="function"?_(U,W):_),!1;else return!0})}_refinement($){return new e_({schema:this,typeName:Q$.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(_)=>this["~validate"](_)}}optional(){return F6.create(this,this._def)}nullable(){return R4.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return A6.create(this)}promise(){return R1.create(this,this._def)}or($){return zU.create([this,$],this._def)}and($){return qU.create(this,$,this._def)}transform($){return new e_({...B$(this._def),schema:this,typeName:Q$.ZodEffects,effect:{type:"transform",transform:$}})}default($){let _=typeof $==="function"?$:()=>$;return new BU({...B$(this._def),innerType:this,defaultValue:_,typeName:Q$.ZodDefault})}brand(){return new I5({typeName:Q$.ZodBranded,type:this,...B$(this._def)})}catch($){let _=typeof $==="function"?$:()=>$;return new HU({...B$(this._def),innerType:this,catchValue:_,typeName:Q$.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return fW.create(this,$)}readonly(){return VU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var wh=/^c[^\s-]{8,}$/i,kh=/^[0-9a-z]+$/,Ph=/^[0-9A-HJKMNP-TV-Z]{26}$/i,fh=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ch=/^[a-z0-9_-]{21}$/i,Th=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Sh=/^[-+]?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)?)??$/,Zh=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,vh="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",JO,yh=/^(?:(?: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])$/,hh=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,xh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,mh=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,uh=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,dh=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,XA="((\\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])))",ch=new RegExp(`^${XA}$`);function GA($){let _="[0-5]\\d";if($.precision)_=`${_}\\.\\d{${$.precision}}`;else if($.precision==null)_=`${_}(\\.\\d+)?`;let U=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${_})${U}`}function nh($){return new RegExp(`^${GA($)}$`)}function QA($){let _=`${XA}T${GA($)}`,U=[];if(U.push($.local?"Z?":"Z"),$.offset)U.push("([+-]\\d{2}:?\\d{2})");return _=`${_}(${U.join("|")})`,new RegExp(`^${_}$`)}function lh($,_){if((_==="v4"||!_)&&yh.test($))return!0;if((_==="v6"||!_)&&xh.test($))return!0;return!1}function ih($,_){if(!Th.test($))return!1;try{let[U]=$.split(".");if(!U)return!1;let W=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),J=JSON.parse(atob(W));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(_&&J.alg!==_)return!1;return!0}catch{return!1}}function rh($,_){if((_==="v4"||!_)&&hh.test($))return!0;if((_==="v6"||!_)&&mh.test($))return!0;return!1}class R6 extends E${_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==l.string){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.string,received:J.parsedType}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.length<J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="max"){if($.data.length>J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),U.dirty()}else if(J.kind==="length"){let X=$.data.length>J.value,G=$.data.length<J.value;if(X||G){if(W=this._getOrReturnCtx($,W),X)u(W,{code:T.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)u(W,{code:T.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});U.dirty()}}else if(J.kind==="email"){if(!Zh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"email",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="emoji"){if(!JO)JO=new RegExp(vh,"u");if(!JO.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"emoji",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="uuid"){if(!fh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"uuid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="nanoid"){if(!Ch.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"nanoid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid"){if(!wh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"cuid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cuid2"){if(!kh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"cuid2",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ulid"){if(!Ph.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"ulid",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),u(W,{validation:"url",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"regex",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="trim")$.data=$.data.trim();else if(J.kind==="includes"){if(!$.data.includes(J.value,J.position))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),U.dirty()}else if(J.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(J.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(J.kind==="startsWith"){if(!$.data.startsWith(J.value))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{startsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="endsWith"){if(!$.data.endsWith(J.value))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:{endsWith:J.value},message:J.message}),U.dirty()}else if(J.kind==="datetime"){if(!QA(J).test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"datetime",message:J.message}),U.dirty()}else if(J.kind==="date"){if(!ch.test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"date",message:J.message}),U.dirty()}else if(J.kind==="time"){if(!nh(J).test($.data))W=this._getOrReturnCtx($,W),u(W,{code:T.invalid_string,validation:"time",message:J.message}),U.dirty()}else if(J.kind==="duration"){if(!Sh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"duration",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="ip"){if(!lh($.data,J.version))W=this._getOrReturnCtx($,W),u(W,{validation:"ip",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="jwt"){if(!ih($.data,J.alg))W=this._getOrReturnCtx($,W),u(W,{validation:"jwt",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="cidr"){if(!rh($.data,J.version))W=this._getOrReturnCtx($,W),u(W,{validation:"cidr",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64"){if(!uh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"base64",code:T.invalid_string,message:J.message}),U.dirty()}else if(J.kind==="base64url"){if(!dh.test($.data))W=this._getOrReturnCtx($,W),u(W,{validation:"base64url",code:T.invalid_string,message:J.message}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:$.data}}_regex($,_,U){return this.refinement((W)=>$.test(W),{validation:_,code:T.invalid_string,...e.errToObj(U)})}_addCheck($){return new R6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...e.errToObj($)})}url($){return this._addCheck({kind:"url",...e.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...e.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...e.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...e.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...e.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...e.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...e.errToObj($)})}base64($){return this._addCheck({kind:"base64",...e.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...e.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...e.errToObj($)})}ip($){return this._addCheck({kind:"ip",...e.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...e.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...e.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...e.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...e.errToObj($)})}regex($,_){return this._addCheck({kind:"regex",regex:$,...e.errToObj(_)})}includes($,_){return this._addCheck({kind:"includes",value:$,position:_?.position,...e.errToObj(_?.message)})}startsWith($,_){return this._addCheck({kind:"startsWith",value:$,...e.errToObj(_)})}endsWith($,_){return this._addCheck({kind:"endsWith",value:$,...e.errToObj(_)})}min($,_){return this._addCheck({kind:"min",value:$,...e.errToObj(_)})}max($,_){return this._addCheck({kind:"max",value:$,...e.errToObj(_)})}length($,_){return this._addCheck({kind:"length",value:$,...e.errToObj(_)})}nonempty($){return this.min(1,e.errToObj($))}trim(){return new R6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new R6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxLength(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}R6.create=($)=>{return new R6({checks:[],typeName:Q$.ZodString,coerce:$?.coerce??!1,...B$($)})};function ph($,_){let U=($.toString().split(".")[1]||"").length,W=(_.toString().split(".")[1]||"").length,J=U>W?U:W,X=Number.parseInt($.toFixed(J).replace(".","")),G=Number.parseInt(_.toFixed(J).replace(".",""));return X%G/10**J}class J0 extends E${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==l.number){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.number,received:J.parsedType}),W$}let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="int"){if(!g$.isInteger($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.invalid_type,expected:"integer",received:"float",message:J.message}),W.dirty()}else if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if(ph($.data,J.value)!==0)U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else if(J.kind==="finite"){if(!Number.isFinite($.data))U=this._getOrReturnCtx($,U),u(U,{code:T.not_finite,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new J0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new J0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:e.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}finite($){return this._addCheck({kind:"finite",message:e.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:e.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:e.toString($)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&g$.isInteger($.value))}get isFinite(){let $=null,_=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if(_===null||U.value>_)_=U.value}else if(U.kind==="max"){if($===null||U.value<$)$=U.value}return Number.isFinite(_)&&Number.isFinite($)}}J0.create=($)=>{return new J0({checks:[],typeName:Q$.ZodNumber,coerce:$?.coerce||!1,...B$($)})};class W0 extends E${constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==l.bigint)return this._getInvalidInput($);let U=void 0,W=new A_;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?$.data<J.value:$.data<=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="max"){if(J.inclusive?$.data>J.value:$.data>=J.value)U=this._getOrReturnCtx($,U),u(U,{code:T.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),W.dirty()}else if(J.kind==="multipleOf"){if($.data%J.value!==BigInt(0))U=this._getOrReturnCtx($,U),u(U,{code:T.not_multiple_of,multipleOf:J.value,message:J.message}),W.dirty()}else g$.assertNever(J);return{status:W.value,value:$.data}}_getInvalidInput($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.bigint,received:_.parsedType}),W$}gte($,_){return this.setLimit("min",$,!0,e.toString(_))}gt($,_){return this.setLimit("min",$,!1,e.toString(_))}lte($,_){return this.setLimit("max",$,!0,e.toString(_))}lt($,_){return this.setLimit("max",$,!1,e.toString(_))}setLimit($,_,U,W){return new W0({...this._def,checks:[...this._def.checks,{kind:$,value:_,inclusive:U,message:e.toString(W)}]})}_addCheck($){return new W0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:e.toString($)})}multipleOf($,_){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(_)})}get minValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $}get maxValue(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $}}W0.create=($)=>{return new W0({checks:[],typeName:Q$.ZodBigInt,coerce:$?.coerce??!1,...B$($)})};class YU extends E${_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==l.boolean){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.boolean,received:U.parsedType}),W$}return g_($.data)}}YU.create=($)=>{return new YU({typeName:Q$.ZodBoolean,coerce:$?.coerce||!1,...B$($)})};class B1 extends E${_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==l.date){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_type,expected:l.date,received:J.parsedType}),W$}if(Number.isNaN($.data.getTime())){let J=this._getOrReturnCtx($);return u(J,{code:T.invalid_date}),W$}let U=new A_,W=void 0;for(let J of this._def.checks)if(J.kind==="min"){if($.data.getTime()<J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),U.dirty()}else if(J.kind==="max"){if($.data.getTime()>J.value)W=this._getOrReturnCtx($,W),u(W,{code:T.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),U.dirty()}else g$.assertNever(J);return{status:U.value,value:new Date($.data.getTime())}}_addCheck($){return new B1({...this._def,checks:[...this._def.checks,$]})}min($,_){return this._addCheck({kind:"min",value:$.getTime(),message:e.toString(_)})}max($,_){return this._addCheck({kind:"max",value:$.getTime(),message:e.toString(_)})}get minDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="min"){if($===null||_.value>$)$=_.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let _ of this._def.checks)if(_.kind==="max"){if($===null||_.value<$)$=_.value}return $!=null?new Date($):null}}B1.create=($)=>{return new B1({checks:[],coerce:$?.coerce||!1,typeName:Q$.ZodDate,...B$($)})};class IW extends E${_parse($){if(this._getType($)!==l.symbol){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.symbol,received:U.parsedType}),W$}return g_($.data)}}IW.create=($)=>{return new IW({typeName:Q$.ZodSymbol,...B$($)})};class jU extends E${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.undefined,received:U.parsedType}),W$}return g_($.data)}}jU.create=($)=>{return new jU({typeName:Q$.ZodUndefined,...B$($)})};class DU extends E${_parse($){if(this._getType($)!==l.null){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.null,received:U.parsedType}),W$}return g_($.data)}}DU.create=($)=>{return new DU({typeName:Q$.ZodNull,...B$($)})};class H1 extends E${constructor(){super(...arguments);this._any=!0}_parse($){return g_($.data)}}H1.create=($)=>{return new H1({typeName:Q$.ZodAny,...B$($)})};class U0 extends E${constructor(){super(...arguments);this._unknown=!0}_parse($){return g_($.data)}}U0.create=($)=>{return new U0({typeName:Q$.ZodUnknown,...B$($)})};class m6 extends E${_parse($){let _=this._getOrReturnCtx($);return u(_,{code:T.invalid_type,expected:l.never,received:_.parsedType}),W$}}m6.create=($)=>{return new m6({typeName:Q$.ZodNever,...B$($)})};class gW extends E${_parse($){if(this._getType($)!==l.undefined){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.void,received:U.parsedType}),W$}return g_($.data)}}gW.create=($)=>{return new gW({typeName:Q$.ZodVoid,...B$($)})};class A6 extends E${_parse($){let{ctx:_,status:U}=this._processInputParams($),W=this._def;if(_.parsedType!==l.array)return u(_,{code:T.invalid_type,expected:l.array,received:_.parsedType}),W$;if(W.exactLength!==null){let X=_.data.length>W.exactLength.value,G=_.data.length<W.exactLength.value;if(X||G)u(_,{code:X?T.too_big:T.too_small,minimum:G?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),U.dirty()}if(W.minLength!==null){if(_.data.length<W.minLength.value)u(_,{code:T.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),U.dirty()}if(W.maxLength!==null){if(_.data.length>W.maxLength.value)u(_,{code:T.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),U.dirty()}if(_.common.async)return Promise.all([..._.data].map((X,G)=>{return W.type._parseAsync(new E6(_,X,_.path,G))})).then((X)=>{return A_.mergeArray(U,X)});let J=[..._.data].map((X,G)=>{return W.type._parseSync(new E6(_,X,_.path,G))});return A_.mergeArray(U,J)}get element(){return this._def.type}min($,_){return new A6({...this._def,minLength:{value:$,message:e.toString(_)}})}max($,_){return new A6({...this._def,maxLength:{value:$,message:e.toString(_)}})}length($,_){return new A6({...this._def,exactLength:{value:$,message:e.toString(_)}})}nonempty($){return this.min(1,$)}}A6.create=($,_)=>{return new A6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:Q$.ZodArray,...B$(_)})};function WU($){if($ instanceof U_){let _={};for(let U in $.shape){let W=$.shape[U];_[U]=F6.create(WU(W))}return new U_({...$._def,shape:()=>_})}else if($ instanceof A6)return new A6({...$._def,type:WU($.element)});else if($ instanceof F6)return F6.create(WU($.unwrap()));else if($ instanceof R4)return R4.create(WU($.unwrap()));else if($ instanceof u6)return u6.create($.items.map((_)=>WU(_)));else return $}class U_ extends E${constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),_=g$.objectKeys($);return this._cached={shape:$,keys:_},this._cached}_parse($){if(this._getType($)!==l.object){let Y=this._getOrReturnCtx($);return u(Y,{code:T.invalid_type,expected:l.object,received:Y.parsedType}),W$}let{status:U,ctx:W}=this._processInputParams($),{shape:J,keys:X}=this._getCached(),G=[];if(!(this._def.catchall instanceof m6&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!X.includes(Y))G.push(Y)}let Q=[];for(let Y of X){let j=J[Y],O=W.data[Y];Q.push({key:{status:"valid",value:Y},value:j._parse(new E6(W,O,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof m6){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let j of G)Q.push({key:{status:"valid",value:j},value:{status:"valid",value:W.data[j]}});else if(Y==="strict"){if(G.length>0)u(W,{code:T.unrecognized_keys,keys:G}),U.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let j of G){let O=W.data[j];Q.push({key:{status:"valid",value:j},value:Y._parse(new E6(W,O,W.path,j)),alwaysSet:j in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let j of Q){let O=await j.key,B=await j.value;Y.push({key:O,value:B,alwaysSet:j.alwaysSet})}return Y}).then((Y)=>{return A_.mergeObjectSync(U,Y)});else return A_.mergeObjectSync(U,Q)}get shape(){return this._def.shape()}strict($){return e.errToObj,new U_({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(_,U)=>{let W=this._def.errorMap?.(_,U).message??U.defaultError;if(_.code==="unrecognized_keys")return{message:e.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new U_({...this._def,unknownKeys:"strip"})}passthrough(){return new U_({...this._def,unknownKeys:"passthrough"})}extend($){return new U_({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new U_({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:Q$.ZodObject})}setKey($,_){return this.augment({[$]:_})}catchall($){return new U_({...this._def,catchall:$})}pick($){let _={};for(let U of g$.objectKeys($))if($[U]&&this.shape[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}omit($){let _={};for(let U of g$.objectKeys(this.shape))if(!$[U])_[U]=this.shape[U];return new U_({...this._def,shape:()=>_})}deepPartial(){return WU(this)}partial($){let _={};for(let U of g$.objectKeys(this.shape)){let W=this.shape[U];if($&&!$[U])_[U]=W;else _[U]=W.optional()}return new U_({...this._def,shape:()=>_})}required($){let _={};for(let U of g$.objectKeys(this.shape))if($&&!$[U])_[U]=this.shape[U];else{let J=this.shape[U];while(J instanceof F6)J=J._def.innerType;_[U]=J}return new U_({...this._def,shape:()=>_})}keyof(){return YA(g$.objectKeys(this.shape))}}U_.create=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.strictCreate=($,_)=>{return new U_({shape:()=>$,unknownKeys:"strict",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};U_.lazycreate=($,_)=>{return new U_({shape:$,unknownKeys:"strip",catchall:m6.create(),typeName:Q$.ZodObject,...B$(_)})};class zU extends E${_parse($){let{ctx:_}=this._processInputParams($),U=this._def.options;function W(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return _.common.issues.push(...G.ctx.common.issues),G.result;let X=J.map((G)=>new c_(G.ctx.common.issues));return u(_,{code:T.invalid_union,unionErrors:X}),W$}if(_.common.async)return Promise.all(U.map(async(J)=>{let X={..._,common:{..._.common,issues:[]},parent:null};return{result:await J._parseAsync({data:_.data,path:_.path,parent:X}),ctx:X}})).then(W);else{let J=void 0,X=[];for(let Q of U){let Y={..._,common:{..._.common,issues:[]},parent:null},j=Q._parseSync({data:_.data,path:_.path,parent:Y});if(j.status==="valid")return j;else if(j.status==="dirty"&&!J)J={result:j,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(J)return _.common.issues.push(...J.ctx.common.issues),J.result;let G=X.map((Q)=>new c_(Q));return u(_,{code:T.invalid_union,unionErrors:G}),W$}}get options(){return this._def.options}}zU.create=($,_)=>{return new zU({options:$,typeName:Q$.ZodUnion,...B$(_)})};var H4=($)=>{if($ instanceof OU)return H4($.schema);else if($ instanceof e_)return H4($.innerType());else if($ instanceof LU)return[$.value];else if($ instanceof X0)return $.options;else if($ instanceof NU)return g$.objectValues($.enum);else if($ instanceof BU)return H4($._def.innerType);else if($ instanceof jU)return[void 0];else if($ instanceof DU)return[null];else if($ instanceof F6)return[void 0,...H4($.unwrap())];else if($ instanceof R4)return[null,...H4($.unwrap())];else if($ instanceof I5)return H4($.unwrap());else if($ instanceof VU)return H4($.unwrap());else if($ instanceof HU)return H4($._def.innerType);else return[]};class M5 extends E${_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.object)return u(_,{code:T.invalid_type,expected:l.object,received:_.parsedType}),W$;let U=this.discriminator,W=_.data[U],J=this.optionsMap.get(W);if(!J)return u(_,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),W$;if(_.common.async)return J._parseAsync({data:_.data,path:_.path,parent:_});else return J._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,_,U){let W=new Map;for(let J of _){let X=H4(J.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let G of X){if(W.has(G))throw Error(`Discriminator property ${String($)} has duplicate value ${String(G)}`);W.set(G,J)}}return new M5({typeName:Q$.ZodDiscriminatedUnion,discriminator:$,options:_,optionsMap:W,...B$(U)})}}function jO($,_){let U=V4($),W=V4(_);if($===_)return{valid:!0,data:$};else if(U===l.object&&W===l.object){let J=g$.objectKeys(_),X=g$.objectKeys($).filter((Q)=>J.indexOf(Q)!==-1),G={...$,..._};for(let Q of X){let Y=jO($[Q],_[Q]);if(!Y.valid)return{valid:!1};G[Q]=Y.data}return{valid:!0,data:G}}else if(U===l.array&&W===l.array){if($.length!==_.length)return{valid:!1};let J=[];for(let X=0;X<$.length;X++){let G=$[X],Q=_[X],Y=jO(G,Q);if(!Y.valid)return{valid:!1};J.push(Y.data)}return{valid:!0,data:J}}else if(U===l.date&&W===l.date&&+$===+_)return{valid:!0,data:$};else return{valid:!1}}class qU extends E${_parse($){let{status:_,ctx:U}=this._processInputParams($),W=(J,X)=>{if(QO(J)||QO(X))return W$;let G=jO(J.value,X.value);if(!G.valid)return u(U,{code:T.invalid_intersection_types}),W$;if(YO(J)||YO(X))_.dirty();return{status:_.value,value:G.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([J,X])=>W(J,X));else return W(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}qU.create=($,_,U)=>{return new qU({left:$,right:_,typeName:Q$.ZodIntersection,...B$(U)})};class u6 extends E${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.array)return u(U,{code:T.invalid_type,expected:l.array,received:U.parsedType}),W$;if(U.data.length<this._def.items.length)return u(U,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W$;if(!this._def.rest&&U.data.length>this._def.items.length)u(U,{code:T.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let J=[...U.data].map((X,G)=>{let Q=this._def.items[G]||this._def.rest;if(!Q)return null;return Q._parse(new E6(U,X,U.path,G))}).filter((X)=>!!X);if(U.common.async)return Promise.all(J).then((X)=>{return A_.mergeArray(_,X)});else return A_.mergeArray(_,J)}get items(){return this._def.items}rest($){return new u6({...this._def,rest:$})}}u6.create=($,_)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new u6({items:$,typeName:Q$.ZodTuple,rest:null,...B$(_)})};class wW extends E${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.object)return u(U,{code:T.invalid_type,expected:l.object,received:U.parsedType}),W$;let W=[],J=this._def.keyType,X=this._def.valueType;for(let G in U.data)W.push({key:J._parse(new E6(U,G,U.path,G)),value:X._parse(new E6(U,U.data[G],U.path,G)),alwaysSet:G in U.data});if(U.common.async)return A_.mergeObjectAsync(_,W);else return A_.mergeObjectSync(_,W)}get element(){return this._def.valueType}static create($,_,U){if(_ instanceof E$)return new wW({keyType:$,valueType:_,typeName:Q$.ZodRecord,...B$(U)});return new wW({keyType:R6.create(),valueType:$,typeName:Q$.ZodRecord,...B$(_)})}}class kW extends E${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.map)return u(U,{code:T.invalid_type,expected:l.map,received:U.parsedType}),W$;let W=this._def.keyType,J=this._def.valueType,X=[...U.data.entries()].map(([G,Q],Y)=>{return{key:W._parse(new E6(U,G,U.path,[Y,"key"])),value:J._parse(new E6(U,Q,U.path,[Y,"value"]))}});if(U.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let Q of X){let Y=await Q.key,j=await Q.value;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}})}else{let G=new Map;for(let Q of X){let{key:Y,value:j}=Q;if(Y.status==="aborted"||j.status==="aborted")return W$;if(Y.status==="dirty"||j.status==="dirty")_.dirty();G.set(Y.value,j.value)}return{status:_.value,value:G}}}}kW.create=($,_,U)=>{return new kW({valueType:_,keyType:$,typeName:Q$.ZodMap,...B$(U)})};class V1 extends E${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.parsedType!==l.set)return u(U,{code:T.invalid_type,expected:l.set,received:U.parsedType}),W$;let W=this._def;if(W.minSize!==null){if(U.data.size<W.minSize.value)u(U,{code:T.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),_.dirty()}if(W.maxSize!==null){if(U.data.size>W.maxSize.value)u(U,{code:T.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),_.dirty()}let J=this._def.valueType;function X(Q){let Y=new Set;for(let j of Q){if(j.status==="aborted")return W$;if(j.status==="dirty")_.dirty();Y.add(j.value)}return{status:_.value,value:Y}}let G=[...U.data.values()].map((Q,Y)=>J._parse(new E6(U,Q,U.path,Y)));if(U.common.async)return Promise.all(G).then((Q)=>X(Q));else return X(G)}min($,_){return new V1({...this._def,minSize:{value:$,message:e.toString(_)}})}max($,_){return new V1({...this._def,maxSize:{value:$,message:e.toString(_)}})}size($,_){return this.min($,_).max($,_)}nonempty($){return this.min(1,$)}}V1.create=($,_)=>{return new V1({valueType:$,minSize:null,maxSize:null,typeName:Q$.ZodSet,...B$(_)})};class GU extends E${constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.function)return u(_,{code:T.invalid_type,expected:l.function,received:_.parsedType}),W$;function U(G,Q){return b5({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,K5(),QU].filter((Y)=>!!Y),issueData:{code:T.invalid_arguments,argumentsError:Q}})}function W(G,Q){return b5({data:G,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,K5(),QU].filter((Y)=>!!Y),issueData:{code:T.invalid_return_type,returnTypeError:Q}})}let J={errorMap:_.common.contextualErrorMap},X=_.data;if(this._def.returns instanceof R1){let G=this;return g_(async function(...Q){let Y=new c_([]),j=await G._def.args.parseAsync(Q,J).catch((V)=>{throw Y.addIssue(U(Q,V)),Y}),O=await Reflect.apply(X,this,j);return await G._def.returns._def.type.parseAsync(O,J).catch((V)=>{throw Y.addIssue(W(O,V)),Y})})}else{let G=this;return g_(function(...Q){let Y=G._def.args.safeParse(Q,J);if(!Y.success)throw new c_([U(Q,Y.error)]);let j=Reflect.apply(X,this,Y.data),O=G._def.returns.safeParse(j,J);if(!O.success)throw new c_([W(j,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new GU({...this._def,args:u6.create($).rest(U0.create())})}returns($){return new GU({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,_,U){return new GU({args:$?$:u6.create([]).rest(U0.create()),returns:_||U0.create(),typeName:Q$.ZodFunction,...B$(U)})}}class OU extends E${get schema(){return this._def.getter()}_parse($){let{ctx:_}=this._processInputParams($);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}}OU.create=($,_)=>{return new OU({getter:$,typeName:Q$.ZodLazy,...B$(_)})};class LU extends E${_parse($){if($.data!==this._def.value){let _=this._getOrReturnCtx($);return u(_,{received:_.data,code:T.invalid_literal,expected:this._def.value}),W$}return{status:"valid",value:$.data}}get value(){return this._def.value}}LU.create=($,_)=>{return new LU({value:$,typeName:Q$.ZodLiteral,...B$(_)})};function YA($,_){return new X0({values:$,typeName:Q$.ZodEnum,...B$(_)})}class X0 extends E${_parse($){if(typeof $.data!=="string"){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{expected:g$.joinValues(U),received:_.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let _=this._getOrReturnCtx($),U=this._def.values;return u(_,{received:_.data,code:T.invalid_enum_value,options:U}),W$}return g_($.data)}get options(){return this._def.values}get enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Values(){let $={};for(let _ of this._def.values)$[_]=_;return $}get Enum(){let $={};for(let _ of this._def.values)$[_]=_;return $}extract($,_=this._def){return X0.create($,{...this._def,..._})}exclude($,_=this._def){return X0.create(this.options.filter((U)=>!$.includes(U)),{...this._def,..._})}}X0.create=YA;class NU extends E${_parse($){let _=g$.getValidEnumValues(this._def.values),U=this._getOrReturnCtx($);if(U.parsedType!==l.string&&U.parsedType!==l.number){let W=g$.objectValues(_);return u(U,{expected:g$.joinValues(W),received:U.parsedType,code:T.invalid_type}),W$}if(!this._cache)this._cache=new Set(g$.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=g$.objectValues(_);return u(U,{received:U.data,code:T.invalid_enum_value,options:W}),W$}return g_($.data)}get enum(){return this._def.values}}NU.create=($,_)=>{return new NU({values:$,typeName:Q$.ZodNativeEnum,...B$(_)})};class R1 extends E${unwrap(){return this._def.type}_parse($){let{ctx:_}=this._processInputParams($);if(_.parsedType!==l.promise&&_.common.async===!1)return u(_,{code:T.invalid_type,expected:l.promise,received:_.parsedType}),W$;let U=_.parsedType===l.promise?_.data:Promise.resolve(_.data);return g_(U.then((W)=>{return this._def.type.parseAsync(W,{path:_.path,errorMap:_.common.contextualErrorMap})}))}}R1.create=($,_)=>{return new R1({type:$,typeName:Q$.ZodPromise,...B$(_)})};class e_ extends E${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:_,ctx:U}=this._processInputParams($),W=this._def.effect||null,J={addIssue:(X)=>{if(u(U,X),X.fatal)_.abort();else _.dirty()},get path(){return U.path}};if(J.addIssue=J.addIssue.bind(J),W.type==="preprocess"){let X=W.transform(U.data,J);if(U.common.async)return Promise.resolve(X).then(async(G)=>{if(_.value==="aborted")return W$;let Q=await this._def.schema._parseAsync({data:G,path:U.path,parent:U});if(Q.status==="aborted")return W$;if(Q.status==="dirty")return XU(Q.value);if(_.value==="dirty")return XU(Q.value);return Q});else{if(_.value==="aborted")return W$;let G=this._def.schema._parseSync({data:X,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")return XU(G.value);if(_.value==="dirty")return XU(G.value);return G}}if(W.type==="refinement"){let X=(G)=>{let Q=W.refinement(G,J);if(U.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(U.common.async===!1){let G=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value),{status:_.value,value:G.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((G)=>{if(G.status==="aborted")return W$;if(G.status==="dirty")_.dirty();return X(G.value).then(()=>{return{status:_.value,value:G.value}})})}if(W.type==="transform")if(U.common.async===!1){let X=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!N1(X))return W$;let G=W.transform(X.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:G}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((X)=>{if(!N1(X))return W$;return Promise.resolve(W.transform(X.value,J)).then((G)=>({status:_.value,value:G}))});g$.assertNever(W)}}e_.create=($,_,U)=>{return new e_({schema:$,typeName:Q$.ZodEffects,effect:_,...B$(U)})};e_.createWithPreprocess=($,_,U)=>{return new e_({schema:_,effect:{type:"preprocess",transform:$},typeName:Q$.ZodEffects,...B$(U)})};class F6 extends E${_parse($){if(this._getType($)===l.undefined)return g_(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}F6.create=($,_)=>{return new F6({innerType:$,typeName:Q$.ZodOptional,...B$(_)})};class R4 extends E${_parse($){if(this._getType($)===l.null)return g_(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}R4.create=($,_)=>{return new R4({innerType:$,typeName:Q$.ZodNullable,...B$(_)})};class BU extends E${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;if(_.parsedType===l.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:_.path,parent:_})}removeDefault(){return this._def.innerType}}BU.create=($,_)=>{return new BU({innerType:$,typeName:Q$.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...B$(_)})};class HU extends E${_parse($){let{ctx:_}=this._processInputParams($),U={..._,common:{..._.common,issues:[]}},W=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(MW(W))return W.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new c_(U.common.issues)},input:U.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new c_(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}HU.create=($,_)=>{return new HU({innerType:$,typeName:Q$.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...B$(_)})};class PW extends E${_parse($){if(this._getType($)!==l.nan){let U=this._getOrReturnCtx($);return u(U,{code:T.invalid_type,expected:l.nan,received:U.parsedType}),W$}return{status:"valid",value:$.data}}}PW.create=($)=>{return new PW({typeName:Q$.ZodNaN,...B$($)})};var oh=Symbol("zod_brand");class I5 extends E${_parse($){let{ctx:_}=this._processInputParams($),U=_.data;return this._def.type._parse({data:U,path:_.path,parent:_})}unwrap(){return this._def.type}}class fW extends E${_parse($){let{status:_,ctx:U}=this._processInputParams($);if(U.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(J.status==="aborted")return W$;if(J.status==="dirty")return _.dirty(),XU(J.value);else return this._def.out._parseAsync({data:J.value,path:U.path,parent:U})})();else{let W=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(W.status==="aborted")return W$;if(W.status==="dirty")return _.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:U.path,parent:U})}}static create($,_){return new fW({in:$,out:_,typeName:Q$.ZodPipeline})}}class VU extends E${_parse($){let _=this._def.innerType._parse($),U=(W)=>{if(N1(W))W.value=Object.freeze(W.value);return W};return MW(_)?_.then((W)=>U(W)):U(_)}unwrap(){return this._def.innerType}}VU.create=($,_)=>{return new VU({innerType:$,typeName:Q$.ZodReadonly,...B$(_)})};function eR($,_){let U=typeof $==="function"?$(_):typeof $==="string"?{message:$}:$;return typeof U==="string"?{message:U}:U}function jA($,_={},U){if($)return H1.create().superRefine((W,J)=>{let X=$(W);if(X instanceof Promise)return X.then((G)=>{if(!G){let Q=eR(_,W),Y=Q.fatal??U??!0;J.addIssue({code:"custom",...Q,fatal:Y})}});if(!X){let G=eR(_,W),Q=G.fatal??U??!0;J.addIssue({code:"custom",...G,fatal:Q})}return});return H1.create()}var th={object:U_.lazycreate},Q$;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(Q$||(Q$={}));var ah=($,_={message:`Input not instance of ${$.name}`})=>jA((U)=>U instanceof $,_),DA=R6.create,zA=J0.create,sh=PW.create,eh=W0.create,qA=YU.create,$x=B1.create,_x=IW.create,Ux=jU.create,Jx=DU.create,Wx=H1.create,Xx=U0.create,Gx=m6.create,Qx=gW.create,Yx=A6.create,jx=U_.create,Dx=U_.strictCreate,zx=zU.create,qx=M5.create,Ox=qU.create,Lx=u6.create,Nx=wW.create,Bx=kW.create,Hx=V1.create,Vx=GU.create,Rx=OU.create,Ax=LU.create,Fx=X0.create,Ex=NU.create,Kx=R1.create,$A=e_.create,bx=F6.create,Mx=R4.create,Ix=e_.createWithPreprocess,gx=fW.create,wx=()=>DA().optional(),kx=()=>zA().optional(),Px=()=>qA().optional(),fx={string:($)=>R6.create({...$,coerce:!0}),number:($)=>J0.create({...$,coerce:!0}),boolean:($)=>YU.create({...$,coerce:!0}),bigint:($)=>W0.create({...$,coerce:!0}),date:($)=>B1.create({...$,coerce:!0})},Cx=W$;var r={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},OA=q.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),n_=q.string().datetime(),z$=q.string().trim().min(1),K6=z$.refine(($)=>$.startsWith("artifact://")||$.startsWith("repo://")||$.startsWith("project://")||$.startsWith("dashboard://")||$.startsWith("render://")||$.startsWith("integration://")||$.startsWith("task://")||$.startsWith("todo://")||$.startsWith("file://")||$.startsWith("files://")||$.startsWith("mailery://")||$.startsWith("conversation://")||$.startsWith("knowledge://")||$.startsWith("memento://")||$.startsWith("https://")||$.startsWith("http://")||$.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),LA=q.string().regex(/^[a-fA-F0-9]{64}$/),NA=q.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),A4=q.record(q.unknown()),FU=q.array(q.string().min(1)).default([]),A1=n_.nullable().optional(),Tx=new Set(["succeeded","failed","cancelled","blocked","skipped"]),E1=q.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function m$($){return q.object({schema:q.literal($),id:q.string().min(1),createdAt:n_,updatedAt:A1,metadata:A4.optional()}).strict()}var za=q.object({schema:OA,id:q.string().min(1),createdAt:n_,updatedAt:A1,metadata:A4.optional()}).strict(),BA=q.enum(["agent","human","service","model","workflow","system"]),Sx=m$(r.actorRef).extend({kind:BA,name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional(),capabilities:q.array(q.string().min(1)).default([])}).strict(),d6=q.object({kind:BA,id:q.string().min(1),name:q.string().min(1).optional(),provider:q.string().min(1).optional(),accountId:q.string().min(1).optional(),machineId:q.string().min(1).optional()}).strict(),HA=q.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),Zx=m$(r.resourceRef).extend({kind:HA,name:q.string().min(1).optional(),uri:K6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:FU}).strict().superRefine(($,_)=>{if(!$.uri&&!($.externalId&&$.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),F$=q.object({kind:HA,id:q.string().min(1),name:q.string().min(1).optional(),uri:K6.optional(),externalId:z$.optional(),sourcePackage:z$.optional(),tags:FU}).strict().superRefine(($,_)=>{if(!$.uri&&Boolean($.externalId)!==Boolean($.sourcePackage))_.addIssue({code:q.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:$.externalId?["sourcePackage"]:["externalId"]})}),DO=q.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),vx=q.enum(["none","partial","full","unknown"]),yx=m$(r.evidenceRef).extend({kind:DO,uri:K6,sha256:LA.optional(),summary:q.string().min(1).optional(),contentType:q.string().min(1).optional(),sizeBytes:q.number().int().nonnegative().optional(),redaction:vx.default("unknown"),producer:d6.optional(),resourceRefs:q.array(F$).default([]),tags:FU}).strict(),i$=q.object({id:q.string().min(1),kind:DO.optional(),uri:K6.optional(),sha256:LA.optional(),summary:q.string().min(1).optional()}).strict(),CW=m$(r.costEstimate).extend({currency:q.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:q.number().int().nonnegative(),provider:q.string().min(1).optional(),model:q.string().min(1).optional(),accountId:q.string().min(1).optional(),promptTokens:q.number().int().nonnegative().optional(),completionTokens:q.number().int().nonnegative().optional(),totalTokens:q.number().int().nonnegative().optional(),basis:q.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:q.array(F$).default([])}).strict().superRefine(($,_)=>{if($.promptTokens!==void 0&&$.completionTokens!==void 0&&$.totalTokens!==void 0&&$.totalTokens!==$.promptTokens+$.completionTokens)_.addIssue({code:q.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),hx=q.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),VA=m$(r.decisionEnvelope).extend({decisionType:q.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:hx,actor:d6.optional(),traceId:q.string().min(1).optional(),inputHash:NA.optional(),policyBundleId:q.string().min(1).optional(),selected:q.array(F$).default([]),skipped:q.array(F$).default([]),reason:q.string().min(1),obligations:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),costEstimate:CW.optional(),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.status==="selected"&&$.selected.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if($.status==="skipped"&&$.skipped.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if($.status==="denied"){if($.selected.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!$.policyBundleId&&$.evidenceRefs.length===0&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if($.status==="approval_required"&&$.obligations.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),xx=m$(r.capabilityCard).extend({kind:q.enum(["model","tool","machine","agent","lane","connector","service"]),name:q.string().min(1),version:q.string().min(1).optional(),status:q.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:q.array(q.string().min(1)).default([]),limitations:q.array(q.string().min(1)).default([]),riskLevel:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:CW.optional(),evidenceRefs:q.array(i$).default([])}).strict(),RU=q.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),mx=q.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),ux=q.object({refName:z$,requiredForModes:q.array(RU).min(1),allowedSecretInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:z$,revocationCheck:q.boolean().default(!0)}).strict(),dx=q.object({operation:z$,supportedModes:q.array(RU).min(1),sideEffectClass:mx,requiresApproval:q.boolean().default(!1),requiresIdempotencyKey:q.boolean().default(!1),requiresSandboxEvidence:q.boolean().default(!1),requiresRollbackOrRevocation:q.boolean().default(!1),rollbackOrRevocation:z$.optional(),noSideEffectSmoke:z$.optional(),reconciliation:z$.optional()}).strict().superRefine(($,_)=>{if($.supportedModes.includes("live_mutating")){if($.sideEffectClass==="none"||$.sideEffectClass==="read_only")_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!$.requiresApproval)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!$.requiresIdempotencyKey)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!$.requiresSandboxEvidence)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!$.requiresRollbackOrRevocation||!$.rollbackOrRevocation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!$.reconciliation)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),cx=q.object({providerId:z$,appId:z$,adapterId:z$,ownerPackage:z$,modes:q.array(RU).min(1),defaultMode:RU,credentialRequirements:q.array(ux).default([]),operations:q.array(dx).min(1),rateLimitPosture:z$,costPosture:z$.optional(),auditEvents:q.array(z$).default([]),redactionRules:q.array(z$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if(!$.modes.includes($.defaultMode))_.addIssue({code:q.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set($.operations.flatMap((W)=>W.supportedModes));for(let W of U)if(!$.modes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`operation mode ${W} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!$.credentialRequirements.some((J)=>J.requiredForModes.includes("live_mutating")))_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if($.auditEvents.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),nx=q.object({appId:z$,repo:z$,priority:q.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:q.array(z$).min(1),firstOperations:q.array(z$).min(1),blockedUntil:q.array(z$).default([])}).strict(),lx=m$(r.providerLiveModeStandard).extend({name:z$,version:z$,modes:q.array(RU).refine(($)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every((_)=>$.includes(_)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:q.array(z$).min(1),liveMutationGate:q.object({requiredMode:q.literal("live_mutating"),requiredChecks:q.array(z$).min(1),forbiddenBypassSignals:q.array(z$).min(1),disabledLiveSmoke:z$}).strict(),noSideEffectSmoke:q.object({requiredForModes:q.array(RU).min(1),commandEvidence:q.array(z$).min(1),secretOutputScan:q.boolean().default(!0)}).strict(),credentialPolicy:q.object({acceptedInputs:q.array(q.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:q.literal(!1),missingCredentialBehavior:q.literal("fail_closed"),revocationCheckRequired:q.boolean().default(!0)}).strict(),operationCards:q.array(cx).min(1),firstAdoptionTargets:q.array(nx).min(1),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=new Set($.firstAdoptionTargets.map((J)=>J.appId)),W=new Set($.operationCards.map((J)=>J.appId));for(let J of U)if(!W.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:`first adoption target ${J} requires a provider capability card`,path:["firstAdoptionTargets"]})}),ix=q.object({id:q.string().min(1),title:q.string().min(1).optional(),summary:q.string().min(1),text:q.string().optional(),tokens:q.number().int().nonnegative().optional(),source:i$,resourceRefs:q.array(F$).default([])}).strict(),RA=m$(r.contextPack).extend({objective:q.string().min(1),budget:q.object({maxTokens:q.number().int().positive().optional(),maxBytes:q.number().int().positive().optional()}).strict().optional(),items:q.array(ix).default([]),citations:q.array(i$).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),permissions:q.array(q.string().min(1)).default([]),redactions:q.array(q.string().min(1)).default([]),conflicts:q.array(q.string().min(1)).default([]),uncertainty:q.string().min(1).optional()}).strict(),V6=z$.refine(($)=>!$.startsWith("/")&&!$.includes("\\")&&!$.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),F1=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),rx=q.enum(["public","internal","private","sensitive"]),px=q.enum(["draft","active","paused","archived"]),zO=q.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),AA=m$(r.integrationRef).extend({kind:zO,name:q.string().min(1),projectId:F1.optional(),sourcePackage:z$.optional(),externalId:z$.optional(),uri:K6.optional(),enabled:q.boolean().default(!0),readOnly:q.boolean().default(!0),capabilities:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:F$.optional(),evidenceRefs:q.array(i$).default([]),config:A4.optional()}).strict().superRefine(($,_)=>{if(!$.uri&&!($.sourcePackage&&$.externalId)&&!$.resourceRef)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),ox=q.object({schemaRoot:V6.default(".hasna/project"),dashboardManifest:V6.default(".hasna/project/dashboard.render.json"),snapshotsDir:V6.default(".hasna/project/snapshots"),documentsDir:V6.default("documents"),reportsDir:V6.default("reports"),evidenceDir:V6.default(".hasna/project/evidence"),privateDir:V6.default(".hasna/project/private")}).strict(),tx=m$(r.projectManifest).extend({projectId:F1,slug:F1,name:q.string().min(1),summary:q.string().min(1).optional(),status:px.default("active"),classification:rx.default("private"),owner:d6.optional(),layout:ox.default({}),integrations:q.array(AA).default([]),renderManifests:q.array(F$).default([]),resourceRefs:q.array(F$).default([]),evidenceRefs:q.array(i$).default([]),tags:FU}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.projectId!==$.slug)_.addIssue({code:q.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[J,X]of $.integrations.entries()){if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",J,"id"]});if(U.add(X.id),X.projectId&&X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",J,"projectId"]})}for(let[J,X]of $.renderManifests.entries()){if(X.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",J,"kind"]});if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",J,"id"]});W.add(X.id)}}),ax=q.enum(["local","package","provider","url"]),qO=q.object({id:q.string().min(1),kind:ax,specifier:q.string().min(1),path:V6.optional(),packageName:q.string().min(1).optional(),uri:K6.optional(),provider:zO.optional(),schemaId:OA.optional(),integrity:NA.optional(),resourceRef:F$.optional(),optional:q.boolean().default(!1)}).strict().superRefine(($,_)=>{if($.kind==="local"&&!$.path)_.addIssue({code:q.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if($.kind==="package"&&!$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if($.kind==="provider"&&!$.provider)_.addIssue({code:q.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if($.kind==="url"&&!$.uri)_.addIssue({code:q.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),sx=q.enum(["dashboard","canvas","panel","report","document","custom"]),ex=q.object({id:q.string().min(1),title:q.string().min(1),kind:sx,default:q.boolean().default(!1),entry:V6.optional(),imports:q.array(qO).default([]),panelRefs:q.array(F$).default([]),dataRefs:q.array(F$).default([]),layout:A4.optional()}).strict(),$m=m$(r.renderManifest).extend({projectId:F1,name:q.string().min(1),version:q.string().min(1),manifestPath:V6.default(".hasna/project/dashboard.render.json"),renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:q.array(ex).min(1),imports:q.array(qO).default([]),theme:A4.optional(),compatibility:q.object({minProjectsVersion:q.string().min(1).optional(),minContractsVersion:q.string().min(1).optional()}).strict().optional(),resourceRefs:q.array(F$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=$.views.filter((X)=>X.default),W=new Set,J=new Set;if(U.length>1)_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[X,G]of $.imports.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",X,"id"]});J.add(G.id)}for(let[X,G]of $.views.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",X,"id"]});W.add(G.id);let Q=new Set;for(let[Y,j]of G.imports.entries()){if(Q.has(j.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",X,"imports",Y,"id"]});Q.add(j.id)}for(let[Y,j]of G.panelRefs.entries())if(j.kind!=="panel")_.addIssue({code:q.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",X,"panelRefs",Y,"kind"]})}}),_m=q.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),Um=q.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Jm=q.object({id:q.string().min(1),label:q.string().min(1),value:q.union([q.string(),q.number(),q.boolean()]),unit:q.string().min(1).optional(),status:q.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:q.array(F$).default([])}).strict(),Wm=q.object({id:q.string().min(1),title:q.string().min(1),summary:q.string().min(1).optional(),status:q.string().min(1).optional(),priority:q.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:n_.optional(),resourceRefs:q.array(F$).default([]),evidenceRefs:q.array(i$).default([]),metadata:A4.optional()}).strict(),Xm=q.object({renderer:q.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:q.string().min(1).optional(),entry:V6.optional(),imports:q.array(qO).default([]),spec:A4.default({})}).strict(),FA=m$(r.projectPanel).extend({projectId:F1,provider:q.object({kind:zO,id:q.string().min(1),name:q.string().min(1).optional(),sourcePackage:z$.optional(),externalId:z$.optional()}).strict(),kind:Um,title:q.string().min(1),summary:q.string().min(1).optional(),state:_m.default("ready"),stateReason:q.string().min(1).optional(),generatedAt:n_,freshness:q.enum(["fresh","stale","unknown"]).default("unknown"),metrics:q.array(Jm).default([]),items:q.array(Wm).default([]),actions:q.array(F$).default([]),resourceRefs:q.array(F$).default([]),evidenceRefs:q.array(i$).default([]),renderFragment:Xm.optional(),warnings:q.array(q.string().min(1)).default([])}).strict().superRefine(($,_)=>{let U=new Set(["error","auth_required","unavailable","stale"]),W=new Set,J=new Set;if(U.has($.state)&&!$.stateReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if($.state==="ready"&&$.metrics.length===0&&$.items.length===0&&!$.renderFragment)_.addIssue({code:q.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[X,G]of $.metrics.entries()){if(W.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",X,"id"]});W.add(G.id)}for(let[X,G]of $.items.entries()){if(J.has(G.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",X,"id"]});J.add(G.id)}for(let[X,G]of $.actions.entries())if(G.kind!=="action")_.addIssue({code:q.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",X,"kind"]})}),Gm=m$(r.projectSnapshot).extend({projectId:F1,generatedAt:n_,status:E1.default("unknown"),manifestRef:F$,renderManifestRef:F$.optional(),panels:q.array(FA).default([]),contextPacks:q.array(RA).default([]),proofBundleRefs:q.array(F$).default([]),resourceRefs:q.array(F$).default([]),evidenceRefs:q.array(i$).default([]),warnings:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{let U=new Set,W=new Set;if($.manifestRef.kind!=="project")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if($.renderManifestRef&&$.renderManifestRef.kind!=="render")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[J,X]of $.proofBundleRefs.entries())if(X.kind!=="proof_bundle")_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",J,"kind"]});for(let[J,X]of $.panels.entries()){if(X.projectId!==$.projectId)_.addIssue({code:q.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",J,"projectId"]});if(U.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",J,"id"]});U.add(X.id)}for(let[J,X]of $.contextPacks.entries()){if(W.has(X.id))_.addIssue({code:q.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",J,"id"]});W.add(X.id)}}),EA=q.object({id:q.string().min(1),kind:q.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),expected:q.string().min(1).optional(),timeoutMs:q.number().int().positive().optional(),resourceRefs:q.array(F$).default([])}).strict().superRefine(($,_)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has($.kind)&&!$.command&&!$.expected)_.addIssue({code:q.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Qm=m$(r.validationPlan).extend({objective:q.string().min(1),subject:F$.optional(),checks:q.array(EA).min(1),verifier:d6.optional(),requiredEvidenceKinds:q.array(DO).default([])}).strict(),Ym=q.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),jm=q.enum(["draft","active","deprecated","archived"]),Dm=q.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),zm=q.object({key:q.string().regex(/^[A-Z][A-Z0-9_]*$/),description:q.string().min(1),required:q.boolean().default(!1),["secret"]:q.boolean().default(!1),group:q.string().min(1).optional(),default:q.string().optional()}).strict().superRefine(($,_)=>{if($.secret&&$.default!==void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),qm=q.object({name:q.string().min(1),command:q.string().min(1),description:q.string().min(1).optional(),required:q.boolean().default(!1)}).strict(),Om=q.object({packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:q.array(q.string().min(1)).default([]),requiredFiles:q.array(q.string().min(1)).default([]),requiredDirectories:q.array(q.string().min(1)).default([]),optionalDirectories:q.array(q.string().min(1)).default([])}).strict(),Lm=m$(r.scaffoldManifest).extend({name:q.string().min(1),version:q.string().min(1),summary:q.string().min(1),type:Ym,status:jm.default("draft"),capabilities:q.array(Dm).default([]),techStack:q.array(q.string().min(1)).default([]),tags:FU,source:F$.optional(),output:Om,env:q.array(zm).default([]),scripts:q.array(qm).default([]),validationChecks:q.array(EA).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.source?.uri?.startsWith("file://"))_.addIssue({code:q.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if($.status==="active"&&$.validationChecks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if($.status==="active"&&$.output.requiredFiles.length===0&&$.output.requiredDirectories.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Nm=q.enum(["installed","failed","cancelled","partial","unknown"]),Bm=m$(r.scaffoldInstallRecord).extend({scaffoldId:q.string().min(1),scaffoldVersion:q.string().min(1).optional(),manifestRef:F$.optional(),target:F$,status:Nm,installedAt:n_.optional(),installer:d6.optional(),packageManager:q.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:A4.optional(),generatedFiles:q.array(F$).default([]),evidenceRefs:q.array(i$).default([]),proofBundleRefs:q.array(F$).default([])}).strict().superRefine(($,_)=>{if($.status==="installed"&&!$.installedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if($.status==="installed"&&$.generatedFiles.length===0&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if(($.status==="failed"||$.status==="partial")&&$.evidenceRefs.length===0&&$.proofBundleRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),AU=q.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),OO=q.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),KA=q.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),Hm=q.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Vm=z$.refine(($)=>$.startsWith("https://github.com/")||$.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Rm=q.enum(["active","stub","deprecated","archived"]),Am=q.enum(["stable","beta","canary","internal"]),Fm=q.object({transport:q.enum(["http","stdio"]).default("http"),bin:q.string().min(1).optional(),url:K6.optional()}).strict(),Em=q.object({healthPath:q.string().min(1).default("/health"),port:q.number().int().positive().optional(),baseUrl:K6.optional()}).strict(),Km=q.object({bins:q.array(q.string().min(1)).default([]),mcp:Fm.optional(),http:Em.optional()}).strict(),bm=m$(r.app).extend({appId:AU,npmName:OO,repoFolder:AU,githubUrl:Vm,projectSlug:F1,surfaces:Km.default({}),lifecycle:Rm,releaseChannel:Am.default("stable"),summary:q.string().min(1).optional(),tags:FU}).strict().superRefine(($,_)=>{let U=new Set;for(let[W,J]of $.surfaces.bins.entries()){if(U.has(J))_.addIssue({code:q.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",W]});U.add(J)}}),Mm=q.enum(["skill","ci","backfilled"]),Im=m$(r.release).extend({appId:AU,package:OO,version:KA,gitSha:Hm,publishedAt:n_,publishPath:Mm,changelogRef:F$.optional(),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.publishPath!=="backfilled"&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),gm=q.enum(["install","update","rollback","freeze-blocked"]),wm=q.object({cliVersion:q.string().min(1).optional(),mcpHealth:q.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine(($,_)=>{if(!$.cliVersion&&$.mcpHealth===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),km=m$(r.rolloutRecord).extend({appId:AU,package:OO,version:KA,machine:z$,action:gm,result:E1,verifiedBy:wm.optional(),at:n_,evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.action==="freeze-blocked"&&$.result!=="blocked"&&$.result!=="skipped")_.addIssue({code:q.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean($.verifiedBy?.cliVersion)||$.verifiedBy?.mcpHealth!==void 0&&$.verifiedBy.mcpHealth!=="not_checked",W=$.verifiedBy?Object.keys($.verifiedBy).length>0:!1;if(($.action==="install"||$.action==="update")&&$.result==="succeeded"&&(!$.verifiedBy||W&&!U))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Pm=q.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),fm=q.enum(["pending","queued","sent","failed","skipped","suppressed"]),Cm=q.object({channel:Pm,status:fm,deliveredAt:n_.optional(),detail:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if($.status==="sent"&&!$.deliveredAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if($.status==="failed"&&!$.detail)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Tm=m$(r.announcement).extend({campaignId:z$,appId:AU.optional(),releaseRef:F$.optional(),channels:q.array(Cm).min(1),audienceRef:F$,sentAt:n_}).strict().superRefine(($,_)=>{if($.releaseRef&&$.releaseRef.kind!=="release")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if($.audienceRef.kind!=="audience")_.addIssue({code:q.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Sm=q.enum(["tag","attribute","group"]),Zm=q.enum(["eq","neq","in","not_in","exists","not_exists"]),_A=q.union([q.string(),q.number(),q.boolean()]),vm=q.object({kind:Sm,key:q.string().min(1).optional(),op:Zm.default("eq"),value:_A.optional(),values:q.array(_A).default([])}).strict().superRefine(($,_)=>{if($.kind==="attribute"&&!$.key)_.addIssue({code:q.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if(($.op==="eq"||$.op==="neq")&&$.value===void 0)_.addIssue({code:q.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if(($.op==="in"||$.op==="not_in")&&$.values.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),ym=q.object({match:q.enum(["all","any"]).default("all"),predicates:q.array(vm).min(1)}).strict(),hm=q.enum(["opt_in","opt_out","transactional","none"]),xm=m$(r.audience).extend({audienceId:AU,name:z$,definition:ym,consentPolicy:hm,suppressionSyncedAt:A1}).strict(),WO=["@hasna/cloud","open-cloud"],mm=q.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),um=q.object({id:q.string().min(1),provider:mm,kind:q.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:q.string().min(1),region:q.string().min(1).optional(),accountId:q.string().min(1).optional(),uri:K6.optional(),machineScoped:q.boolean().default(!1)}).strict(),bA=m$(r.appCloudManifest).extend({packageName:q.string().min(1),packageVersion:q.string().min(1).optional(),appId:q.string().min(1),repository:F$.optional(),storageMode:q.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:q.enum(["none","app_owned","external_service","local_cache"]),cloudResources:q.array(um).default([]),localCache:q.object({path:q.string().min(1).optional(),pullMode:q.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:q.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:q.array(q.string().min(1)).default([...WO]),dependencies:q.array(q.string().min(1)).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=new Set([...WO,...$.forbiddenSharedRuntimes]);if(U.has($.packageName))_.addIssue({code:q.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let W of WO)if(!$.forbiddenSharedRuntimes.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${W}`,path:["forbiddenSharedRuntimes"]});for(let W of U)if($.dependencies.includes(W))_.addIssue({code:q.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${W}`,path:["dependencies"]});if($.storageMode==="local_only"&&$.cloudBoundary!=="none")_.addIssue({code:q.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if($.storageMode==="app_owned_cloud"&&$.cloudBoundary!=="app_owned")_.addIssue({code:q.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if($.storageMode==="hybrid_local_cache"){if($.cloudBoundary!=="local_cache")_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!$.localCache)_.addIssue({code:q.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if($.storageMode==="external_service"){if($.cloudBoundary!=="external_service")_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if($.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if(($.storageMode==="app_owned_cloud"||$.storageMode==="hybrid_local_cache")&&$.cloudResources.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if($.cloudBoundary==="none"&&$.cloudResources.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});$.cloudResources.forEach((W,J)=>{if(W.ownerPackage!==$.packageName)_.addIssue({code:q.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",J,"ownerPackage"]})})}),MA=q.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),dm=q.enum(["low","medium","high","critical"]),IA=q.object({id:q.string().min(1),kind:MA,severity:dm,path:q.string().min(1).optional(),packageName:q.string().min(1).optional(),pattern:q.string().min(1),message:q.string().min(1),evidenceRefs:q.array(i$).default([])}).strict(),cm=q.object({id:q.string().min(1),kind:MA,status:E1,target:q.string().min(1),command:q.string().min(1).optional(),evidenceRefs:q.array(i$).default([]),findings:q.array(IA).default([])}).strict(),nm=m$(r.noCloudEvidencePack).extend({subject:F$,packageName:q.string().min(1).optional(),packageVersion:q.string().min(1).optional(),generatedBy:d6.optional(),scanMode:q.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:E1,verdict:q.enum(["passed","failed","warning","not_run"]),appCloudManifest:bA.optional(),checks:q.array(cm).min(1),findings:q.array(IA).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{let U=[...$.findings,...$.checks.flatMap((J)=>J.findings)],W=U.filter((J)=>J.severity==="high"||J.severity==="critical");if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(W.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if($.checks.some((J)=>J.status!=="succeeded"))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if($.verdict==="failed"&&U.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if($.status==="succeeded"&&$.checks.some((J)=>J.status==="failed"))_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});$.checks.forEach((J,X)=>{let G=J.findings.filter((Q)=>Q.severity==="high"||Q.severity==="critical");if(J.status==="succeeded"&&G.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",X,"findings"]})})}),lm=q.object({checkId:q.string().min(1),status:E1,summary:q.string().min(1).optional(),startedAt:A1,finishedAt:A1,evidenceRefs:q.array(i$).default([])}).strict(),im=m$(r.proofBundle).extend({subject:F$,validationPlanRef:F$.optional(),status:E1,verdict:q.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:q.array(lm).default([]),verifier:d6.optional(),evidenceRefs:q.array(i$).default([]),residualRisks:q.array(q.string().min(1)).default([]),freshness:q.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine(($,_)=>{if($.verdict==="passed"){if($.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if($.checks.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if($.checks.forEach((W,J)=>{if(W.status!=="succeeded")_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",J,"status"]})}),!($.evidenceRefs.length>0||$.checks.some((W)=>W.evidenceRefs.length>0)))_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!$.verifier)_.addIssue({code:q.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if($.verdict==="not_run"&&$.checks.length>0)_.addIssue({code:q.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if($.verdict==="failed"&&!$.checks.some((U)=>U.status==="failed")&&$.evidenceRefs.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),rm=m$(r.workRun).extend({objective:q.string().min(1),status:E1,actor:d6,traceId:q.string().min(1).optional(),startedAt:A1,finishedAt:A1,constraints:q.array(q.string().min(1)).default([]),resourceRefs:q.array(F$).default([]),decisions:q.array(VA).default([]),costEstimates:q.array(CW).default([]),evidenceRefs:q.array(i$).default([]),validationPlanRefs:q.array(F$).default([]),proofBundleRefs:q.array(F$).default([])}).strict().superRefine(($,_)=>{if($.startedAt&&$.finishedAt&&Date.parse($.finishedAt)<Date.parse($.startedAt))_.addIssue({code:q.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(Tx.has($.status)&&!$.finishedAt)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=$.evidenceRefs.length>0||$.proofBundleRefs.length>0;if($.status==="succeeded"&&!U)_.addIssue({code:q.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if(($.status==="failed"||$.status==="blocked")&&!U&&$.decisions.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),pm=q.object({id:q.string().min(1),at:n_,kind:q.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:q.string().min(1),resourceRefs:q.array(F$).default([]),evidenceRefs:q.array(i$).default([]),costEstimate:CW.optional()}).strict(),om=m$(r.agentTrajectory).extend({actor:d6,workRunRef:F$.optional(),events:q.array(pm).default([]),outcome:q.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:F$.optional()}).strict(),tm="v1",am=q.enum(["library","cli-with-store","service","saas"]),sm=["local","self-hosted","cloud"],gA=q.enum(sm),em=q.enum(["supported","deferred","unsupported"]),$u=q.enum(["none","local-only","api-key","session","service-token","custom"]),XO=q.object({method:q.enum(["GET","POST","PUT","PATCH","DELETE"]),path:q.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:q.boolean().default(!1),description:q.string().min(1).optional()}).strict(),_u=q.object({id:q.string().min(1),kind:q.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:q.boolean().default(!0),command:q.string().min(1).optional(),evidenceRef:i$.optional(),status:q.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:q.string().min(1).optional()}).strict().superRefine(($,_)=>{if(($.status==="passed"||$.status==="failed"||$.status==="blocked")&&!$.command&&!$.evidenceRef&&!$.summary)_.addIssue({code:q.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),Uu=q.object({name:q.string().min(1),status:em,bin:q.string().min(1).optional(),mcpBin:q.string().min(1).optional(),authMode:$u,deploymentModes:q.array(gA).min(1),health:XO.optional(),readiness:XO.optional(),version:XO.optional(),apiBasePath:q.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:q.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),deferReason:q.string().min(1).optional(),readinessGates:q.array(_u).default([])}).strict().superRefine(($,_)=>{if($.status==="supported"){if(!$.bin)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a serve bin",path:["bin"]});if(!$.health)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a health endpoint",path:["health"]});if(!$.version)_.addIssue({code:q.ZodIssueCode.custom,message:"Supported service surfaces require a version endpoint",path:["version"]})}if(($.status==="deferred"||$.status==="unsupported")&&!$.deferReason)_.addIssue({code:q.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if($.health&&$.health.path!=="/health")_.addIssue({code:q.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if($.readiness&&$.readiness.path!=="/ready")_.addIssue({code:q.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if($.version&&$.version.path!=="/version")_.addIssue({code:q.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]})}),Ju=["local","cloud"],wA=q.enum(Ju);var Wu=q.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Xu=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Gu($){return Xu.map((_)=>`${$}${_}`)}function UA($){return`hasna/oss/${$}/database-url`}var Qu=q.object({mode:wA,envPrefix:q.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:q.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:q.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:q.string().min(1).optional()}).strict(),Yu=q.object({$schema:q.string().min(1).optional(),schema:q.literal(r.serviceContract),name:Wu,class:am,contractVersion:q.literal(tm),kitVersion:q.string().min(1),description:q.string().min(1).optional(),bins:q.array(q.string().min(1)).default([]),storage:Qu.optional(),deploymentModes:q.array(gA).default(["local"]),serviceSurfaces:q.array(Uu).default([]),metadata:A4.optional()}).strict().superRefine(($,_)=>{let U=new Set(Gu($.name)),W=new Set;for(let[X,G]of $.bins.entries()){if(W.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",X]});if(W.add(G),!U.has(G))_.addIssue({code:q.ZodIssueCode.custom,message:`Bin "${G}" is not allowlisted for app "${$.name}"; allowed: ${[...U].join(", ")}`,path:["bins",X]})}let J=(X)=>W.has(`${$.name}${X}`);if($.storage){let X=$.name.toUpperCase().replace(/-/g,"_");if($.storage.envPrefix&&$.storage.envPrefix!==`HASNA_${X}_`)_.addIssue({code:q.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${X}_`,path:["storage","envPrefix"]});if($.storage.databaseUrlSecretRef&&$.storage.databaseUrlSecretRef!==UA($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${UA($.name)}`,path:["storage","databaseUrlSecretRef"]});if($.storage.mode==="cloud"&&!$.storage.databaseUrlSecretRef)_.addIssue({code:q.ZodIssueCode.custom,message:"cloud storage requires a databaseUrlSecretRef (PURE REMOTE: reads and writes go to cloud Postgres)",path:["storage","databaseUrlSecretRef"]})}if($.class==="library"){if($.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(J("-serve")||J("-mcp"))_.addIssue({code:q.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if($.class==="cli-with-store"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else if($.storage.mode==="local"&&!$.storage.sqlitePath)_.addIssue({code:q.ZodIssueCode.custom,message:"local cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(!W.has($.name))_.addIssue({code:q.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${$.name}" bin`,path:["bins"]})}if($.class==="service"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`service repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if($.class==="saas"){if(!$.storage)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else if($.storage.mode!=="cloud")_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must use cloud storage mode",path:["storage","mode"]});if(!J("-serve"))_.addIssue({code:q.ZodIssueCode.custom,message:`saas repos must ship the "${$.name}-serve" bin`,path:["bins"]});if($.serviceSurfaces.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[X,G]of $.serviceSurfaces.entries()){if(G.bin&&!W.has(G.bin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface bin "${G.bin}" must be declared in bins`,path:["serviceSurfaces",X,"bin"]});if(G.mcpBin&&!W.has(G.mcpBin))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface MCP bin "${G.mcpBin}" must be declared in bins`,path:["serviceSurfaces",X,"mcpBin"]});for(let[Q,Y]of G.deploymentModes.entries())if(!$.deploymentModes.includes(Y))_.addIssue({code:q.ZodIssueCode.custom,message:`Service surface deployment mode "${Y}" must be declared in deploymentModes`,path:["serviceSurfaces",X,"deploymentModes",Q]})}}),qa=q.object({status:q.enum(["ok","degraded","unavailable"]),version:q.string().min(1),mode:wA}).strict(),Oa=q.object({ready:q.boolean(),reason:q.string().min(1).optional()}).strict(),La=q.object({version:q.string().min(1)}).strict(),ju=q.enum(["info","notice","breaking","critical"]),Du=q.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (<source>.<entity>.<action>)"),zu=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],qu=q.enum(zu);var Ou=q.enum(["fleet","package","machine"]),kA=m$(r.commsEventEnvelope).extend({type:Du,severity:ju,scope:Ou,summary:q.string().min(1).optional(),source:d6.optional(),affected_packages:q.array(z$).default([]),affected_machines:q.array(z$).default([]),action_required:q.boolean().default(!1),ack_by:n_.optional(),dedupe_key:z$,resourceRefs:q.array(F$).default([]),evidenceRefs:q.array(i$).default([])}).strict().superRefine(($,_)=>{if($.scope==="package"&&$.affected_packages.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if($.scope==="machine"&&$.affected_machines.length===0)_.addIssue({code:q.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if($.ack_by&&!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if($.type==="fleet.freeze"||$.type==="fleet.unfreeze"){if($.severity!=="critical")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always critical`,path:["severity"]});if($.scope!=="fleet")_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events are always fleet-scoped`,path:["scope"]});if(!$.action_required)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.type} events require action_required`,path:["action_required"]})}}),Lu=q.enum(["fleet","package","product","loop-lane","initiative","personal"]),Nu=q.enum(["quiet","work","firehose"]),Bu=z$.refine(($)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test($),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:<todos-id>)"),Hu=m$(r.commsChannelMetadata).extend({class:Lu,noise:Nu.optional(),owner:z$.optional(),until:Bu.optional(),successor:z$.optional()}).strict().superRefine(($,_)=>{if($.class==="initiative"){if(!$.owner)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!$.until)_.addIssue({code:q.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),JA={FREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.freeze"},UNFREEZE:{defaultSeverity:"critical",allowedSeverities:["critical"],requiredEventType:"fleet.unfreeze"},BREAKING:{defaultSeverity:"breaking",allowedSeverities:["breaking"],requiredEventType:null},CUTOVER:{defaultSeverity:"notice",allowedSeverities:["notice","breaking"],requiredEventType:null},POLICY:{defaultSeverity:"breaking",allowedSeverities:["notice","breaking"],requiredEventType:null},RELEASE:{defaultSeverity:"info",allowedSeverities:["info","notice"],requiredEventType:null}},Vu=m$(r.commsMessageMetadata).extend({tag:qu,envelope:kA}).strict().superRefine(($,_)=>{let U=JA[$.tag];if(!U.allowedSeverities.includes($.envelope.severity))_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&$.envelope.type!==U.requiredEventType)_.addIssue({code:q.ZodIssueCode.custom,message:`[${$.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[W,J]of Object.entries(JA))if(J.requiredEventType===$.envelope.type&&$.tag!==W)_.addIssue({code:q.ZodIssueCode.custom,message:`${$.envelope.type} events must use the [${W}] tag`,path:["tag"]})});var Ru={[r.actorRef]:Sx,[r.resourceRef]:Zx,[r.evidenceRef]:yx,[r.workRun]:rm,[r.decisionEnvelope]:VA,[r.costEstimate]:CW,[r.capabilityCard]:xx,[r.providerLiveModeStandard]:lx,[r.contextPack]:RA,[r.integrationRef]:AA,[r.projectManifest]:tx,[r.projectPanel]:FA,[r.projectSnapshot]:Gm,[r.renderManifest]:$m,[r.agentTrajectory]:om,[r.validationPlan]:Qm,[r.proofBundle]:im,[r.scaffoldManifest]:Lm,[r.scaffoldInstallRecord]:Bm,[r.appCloudManifest]:bA,[r.noCloudEvidencePack]:nm,[r.serviceContract]:Yu,[r.commsEventEnvelope]:kA,[r.commsChannelMetadata]:Hu,[r.commsMessageMetadata]:Vu,[r.app]:bm,[r.release]:Im,[r.rolloutRecord]:km,[r.announcement]:Tm,[r.audience]:xm};class PA extends Error{schemaId;issues;constructor($,_){super(`Contract validation failed for ${$}`);this.name="ContractValidationError",this.schemaId=$,this.issues=_}}function fA($,_){let W=Ru[$].safeParse(_);if(!W.success)throw new PA($,W.error.issues);return W.data}var Na={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",title:"Hasna Service Contract v1",description:"Repo self-description (hasna.contract.json) for the Hasna Service Contract v1. Storage runtime enum is local|cloud ONLY per Amendment A1 (PURE REMOTE).",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:r.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: <name>, <name>-cli, <name>-mcp, <name>-serve, <name>-worker, <name>-runner, <name>-daemon, <name>-migrate, <name>-doctor."},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},description:"Supported deployment modes. local = this machine, self-hosted = Hasna-owned AWS, cloud = multi-tenant SaaS for outside users."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode","deploymentModes"],properties:{name:{type:"string",minLength:1},status:{enum:["supported","deferred","unsupported"]},bin:{type:"string",minLength:1},mcpBin:{type:"string",minLength:1},authMode:{enum:["none","local-only","api-key","session","service-token","custom"]},deploymentModes:{type:"array",items:{enum:["local","self-hosted","cloud"]},minItems:1},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},readiness:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},version:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{enum:["GET","POST","PUT","PATCH","DELETE"]},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},apiBasePath:{type:"string",pattern:"^/v[0-9]+$"},openApiPath:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$"},deferReason:{type:"string",minLength:1},readinessGates:{type:"array",items:{type:"object",additionalProperties:!1,required:["id","kind"],properties:{id:{type:"string",minLength:1},kind:{enum:["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]},required:{type:"boolean"},command:{type:"string",minLength:1},evidenceRef:{type:"object"},status:{enum:["pending","passed","failed","blocked","deferred"]},summary:{type:"string",minLength:1}}}}}},description:"Declared HTTP/MCP service surfaces. Supported surfaces name lifecycle endpoints; unsafe or unfinished surfaces use deferred/unsupported with a reason."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["local","cloud"],description:"Runtime storage enum. local|cloud ONLY (Amendment A1: PURE REMOTE)."},envPrefix:{type:"string",pattern:"^HASNA_[A-Z][A-Z0-9]*_$",description:"Primary env prefix, e.g. HASNA_TODOS_."},aliasEnvPrefix:{type:"string",pattern:"^[A-Z][A-Z0-9]*_$",description:"Optional short alias env prefix, e.g. TODOS_."},databaseUrlSecretRef:{type:"string",pattern:"^hasna/oss/[a-z0-9-]+/database-url$",description:"Secret Manager ref for the cloud database URL."},sqlitePath:{type:"string",minLength:1,description:"Local sqlite path (~/.hasna/<name>/<name>.db)."}}},metadata:{type:"object"}}};var CA="@hasna/knowledge";function Au($){if(!Number.isFinite($??0))return 20;return Math.max(1,Math.min(100,Math.trunc($??20)))}function Fu($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function TW($,_=180){let U=String($??"").replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Q_($,_=""){return typeof $==="string"&&$.length>0?$:_}function SW($){return typeof $==="number"&&Number.isFinite($)?$:0}function EU($){if(typeof $!=="string"||$.length===0)return;let _=$.includes("T")?$:`${$.replace(" ","T")}Z`,U=new Date(_);return Number.isNaN(U.valueOf())?void 0:U.toISOString()}function g5($){return K6.safeParse($).success}function b6($,_,U,W,J=[]){return{kind:$,id:_,name:U,uri:W&&g5(W)?W:void 0,externalId:_,sourcePackage:CA,tags:J}}function Eu($){return[...$.items.flatMap((U)=>[U.updated_at,U.created_at]),...$.sources.flatMap((U)=>[U.updated_at,U.created_at]),...$.chunks.map((U)=>U.created_at),...$.wiki_pages.flatMap((U)=>[U.updated_at,U.created_at]),...$.storage_objects.flatMap((U)=>[U.updated_at,U.created_at]),...$.runs.flatMap((U)=>[U.updated_at,U.created_at]),...$.reindex_queue.flatMap((U)=>[U.updated_at,U.created_at]),...$.sync_conflicts.map((U)=>U.created_at),...$.approval_gates.flatMap((U)=>[U.updated_at,U.created_at])].map(EU).filter(Boolean).sort((U,W)=>W.localeCompare(U))[0]}function Ku($){if(!$)return"unknown";let _=Date.now()-new Date($).valueOf();if(!Number.isFinite(_))return"unknown";return _>2592000000?"stale":"fresh"}function bu($){let _=(U)=>{let W=String(U??"").toLowerCase();return W!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(W)};return $.reindex_queue.filter((U)=>_(U.status)).length+$.sync_conflicts.filter((U)=>_(U.status)).length+$.approval_gates.filter((U)=>_(U.status)).length}function Mu($,_){let U=[];for(let W of $.items.slice(0,_))U.push({id:`item_${W.id}`,title:W.title,summary:TW(W.content_preview),status:W.archived?"archived":"active",priority:"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("knowledge",W.id,W.title,`knowledge://item/${encodeURIComponent(W.id)}`,W.tags)],evidenceRefs:W.url&&g5(W.url)?[{id:`url_${W.id}`,kind:"url",uri:W.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:W.archived,tags:W.tags,url:W.url||void 0}});for(let W of $.sources.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,Q_(W.uri,"source")),X=Q_(W.title,Q_(W.uri,J)),G=Q_(W.uri,`knowledge://source/${encodeURIComponent(J)}`);U.push({id:`source_${J}`,title:X,summary:TW(`${SW(W.chunks)} chunk(s), ${SW(W.revisions)} revision(s)`),status:SW(W.chunks)>0?"indexed":"source",priority:"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("document",J,X,G)],evidenceRefs:g5(G)?[{id:`source_${J}`,kind:"url",uri:G,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:W.kind,chunks:SW(W.chunks),revisions:SW(W.revisions)}})}for(let W of $.chunks.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"chunk"),X=Q_(W.source_uri);U.push({id:`chunk_${J}`,title:Q_(W.wiki_title,X?`Chunk from ${X}`:`Knowledge chunk ${J}`),summary:TW(W.text_preview),status:"chunk",priority:"low",timestamp:EU(W.created_at),resourceRefs:[b6("context_pack",J,Q_(W.wiki_title,J),`knowledge://chunk/${encodeURIComponent(J)}`)],evidenceRefs:X&&g5(X)?[{id:`chunk_source_${J}`,kind:"url",uri:X,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:X||void 0,token_count:W.token_count,ordinal:W.ordinal}})}for(let W of $.sync_conflicts.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"sync_conflict");U.push({id:`sync_conflict_${J}`,title:`Sync conflict: ${Q_(W.entity_kind,"entity")}/${Q_(W.entity_id,J)}`,summary:TW(`Status ${Q_(W.status,"unknown")}; strategy ${Q_(W.resolution_strategy,"none")}.`),status:Q_(W.status,"unknown"),priority:"critical",timestamp:EU(W.created_at),resourceRefs:[b6("finding",J,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:W.local_machine_id,remote_machine_id:W.remote_machine_id}})}for(let W of $.reindex_queue.slice(0,Math.max(0,_-U.length))){let J=Q_(W.id,"reindex");U.push({id:`reindex_${J}`,title:`Reindex ${Q_(W.kind,"item")}: ${Q_(W.target_id,J)}`,summary:TW(W.reason),status:Q_(W.status,"unknown"),priority:Q_(W.status).toLowerCase()==="failed"?"high":"medium",timestamp:EU(W.updated_at??W.created_at),resourceRefs:[b6("action",J,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(J)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:W.attempts,source_uri:W.source_uri}})}return U.slice(0,_)}async function TA($,_={}){let U=Au(_.limit),W=new Date().toISOString(),J=Fu($),G=await(_.service??E5({scope:_.scope??"project",cwd:_.cwd})).resolveInventory({limit:U,storePath:_.storePath,includeArchived:_.includeArchived}),Q=Eu(G),Y=Ku(Q),j=G.summary.active_items+G.summary.sources+G.summary.chunks+G.summary.wiki_pages+G.summary.storage_objects,O=bu(G),B=j===0?"empty":Y==="stale"?"stale":"ready",V=Mu(G,U),L={schema:r.projectPanel,id:`knowledge_panel_${J}`,createdAt:W,projectId:J,provider:{kind:"knowledge",id:`knowledge_${J}`,name:"Knowledge",sourcePackage:CA,externalId:G.home},kind:"knowledge",title:"Knowledge",summary:B==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${G.summary.active_items} active note(s), ${G.summary.sources} source(s), ${G.summary.chunks} chunk(s), and ${G.summary.wiki_pages} wiki page(s).`,state:B,stateReason:B==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:W,freshness:Y,metrics:[{id:"active_items",label:"Active notes",value:G.summary.active_items,status:G.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:G.summary.sources,status:G.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:G.summary.chunks,status:G.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:G.summary.wiki_pages,status:G.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:G.summary.storage_objects,status:G.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:G.summary.vector_entries,status:G.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:O,status:O>0?"warning":"good"}],items:V,actions:[b6("action","knowledge:inventory","Inspect knowledge inventory"),b6("action","knowledge:context-pack","Build cited context pack"),b6("action","knowledge:ingest","Ingest project source")],resourceRefs:[b6("project",J,$,`project://${J}`),b6("knowledge",`home_${J}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(J)}`),b6("artifact",`db_${J}`,"Knowledge database",`knowledge://db/${encodeURIComponent(J)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:U}},metadata:{scope:G.scope,home:G.home,json_store_exists:G.paths.json_store_exists,latest_activity_at:Q}};return fA(r.projectPanel,L)}function SA($){let _=[`${$.title}: ${$.state}`,$.summary??"",...$.metrics.map((U)=>`${U.label}: ${U.value}`)].filter(Boolean);if($.items.length>0){_.push("Items:");for(let U of $.items.slice(0,10))if(_.push(`- ${U.title}${U.status?` [${U.status}]`:""}`),U.summary)_.push(` ${U.summary}`)}return _.join(` +`)}var yA=["sources","wiki_pages","source_revisions","chunks","chunk_embeddings","wiki_backlinks","citations","knowledge_indexes","runs","run_events","provider_usage","redaction_findings","storage_objects","audit_events","approval_gates","vector_index_entries","reindex_queue","knowledge_machines","knowledge_sync_snapshots","knowledge_sync_changes","knowledge_sync_conflicts","knowledge_sync_table_clocks","knowledge_sync_imports"];var Iu=["remote","hybrid","self_hosted"],hA="HASNA_KNOWLEDGE_STORAGE_MODE",xA="KNOWLEDGE_STORAGE_MODE";function ZA($){return process.env[$]?.trim()||void 0}function vA($){let _=$?.trim().toLowerCase().replace(/-/g,"_");if(_==="local")return"local";if(_==="cloud")return"cloud";if(_&&Iu.includes(_))return"cloud";return}function gu($={}){let _=g1(dW($.scope,$.cwd).home);return $$(_.knowledgeDbPath),{db:d(_.knowledgeDbPath),path:_.knowledgeDbPath,scope:$.scope??"global"}}function mA(){let $=vA(ZA(hA))??vA(ZA(xA));if($)return $;return"local"}function LO($={}){let _=gu($);try{wu(_.db);let U=_.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:mA(),service:"knowledge",scope:_.scope,databasePath:_.path,tables:yA,sync:U}}finally{_.db.close()}}function wu($){$.exec(` CREATE TABLE IF NOT EXISTS _knowledge_sync_meta ( table_name TEXT NOT NULL, last_synced_at TEXT, direction TEXT NOT NULL CHECK(direction IN ('push', 'pull')), PRIMARY KEY (table_name, direction) ) - `)}var $E=hE(eA(),1),{program:aa,createCommand:sa,createArgument:ea,createOption:$s,CommanderError:_s,InvalidArgumentError:Us,InvalidOptionArgumentError:Js,Command:_E,Argument:Ws,Option:Xs,Help:Gs}=$E.default;import{chmod as KO,mkdir as bd,readFile as Md,rename as Id,writeFile as XE}from"fs/promises";import{Buffer as OE}from"buffer";import{existsSync as LE}from"fs";import{homedir as gd}from"os";import{join as hW}from"path";import{createHmac as Td,timingSafeEqual as Ls}from"crypto";import{randomUUID as vd}from"crypto";import{spawn as yd}from"child_process";import{randomUUID as cd}from"crypto";function Bd($,_){return _.split(".").reduce((U,W)=>{if(U&&typeof U==="object"&&W in U)return U[W];return},$)}function Hd($,_){let U=[],W=(X)=>{if(!U.some((G)=>Object.is(G,X)))U.push(X)};if(_.includes(".")&&_ in $)W($[_]);let J=Bd($,_);if(J!==void 0||!_.includes("."))W(J);return U}function Vd($,_={}){let U="";for(let W=0;W<$.length;W+=1){let J=$[W];if(J==="*")if($[W+1]==="*")U+=".*",W+=1;else U+=_.segmentSafe?"[^/]*":".*";else U+=J.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function vW($,_,U={}){if(_===void 0)return!0;if($===void 0)return!1;return(Array.isArray(_)?_:[_]).some((J)=>Vd(J,U).test($))}function UE($,_){if(!_)return!0;return Object.entries(_).every(([U,W])=>{let J=Hd($,U);return Rd(J,W,U)})}function Rd($,_,U){if(Fd(_))return!$.some((W)=>JE(W,_.not,U));return $.some((W)=>JE(W,_,U))}function JE($,_,U){if(typeof _==="string"||Array.isArray(_))return Ad($).some((W)=>vW(W,_,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray($))return $.some((W)=>W===_);return $===_}function Ad($){if($===void 0)return[];if(Array.isArray($))return $.flatMap((_)=>Ed(_)?[String(_)]:[]);return[String($)]}function Ed($){return $===null||typeof $==="string"||typeof $==="number"||typeof $==="boolean"}function Fd($){return Boolean($&&typeof $==="object"&&!Array.isArray($)&&"not"in $)}function Kd($,_){return vW($.source,_.source)&&vW($.type,_.type)&&vW($.subject,_.subject)&&vW($.severity,_.severity)&&UE($.data,_.data)&&UE($.metadata,_.metadata)}function WE($,_){if(!$.enabled)return!1;if(!$.filters||$.filters.length===0)return!0;return $.filters.some((U)=>Kd(_,U))}var PG="HASNA_EVENTS_DIR",fG="HASNA_EVENTS_HOME",gO="local-json-v1:",wd=100,kd=1000;function NE($){return $||process.env[PG]||process.env[fG]||hW(gd(),".hasna","events")}function Pd(){if(process.env[PG])return PG;if(process.env[fG])return fG;return null}class CG{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor($=NE()){this.dataDir=$,this.runtime=fd($),this.channelsPath=hW($,"channels.json"),this.eventsPath=hW($,"events.json"),this.deliveriesPath=hW($,"deliveries.json")}async init(){await bd(this.dataDir,{recursive:!0,mode:448}),await KO(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.findIndex((W)=>W.id===$.id);if(U>=0)_[U]={...$,createdAt:_[U].createdAt,updatedAt:new Date().toISOString()};else _.push($);return await this.writeJson(this.channelsPath,_),U>=0?_[U]:$}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel($){return(await this.listChannels()).find((U)=>U.id===$)}async removeChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.filter((W)=>W.id!==$);return await this.writeJson(this.channelsPath,U),U.length!==_.length}async appendEvent($){await this.init();let _=await this.readJson(this.eventsPath,[]);return _.push($),await this.writeJson(this.eventsPath,_),$}async appendEventOnce($,_={}){await this.init();let U=await this.readJson(this.eventsPath,[]);if(_.dedupe!==!1){let J=QE(U,{id:$.id,dedupeKey:$.dedupeKey});if(J)return{event:J,stored:!1,deduped:!0,identity:{id:J.id,dedupeKey:J.dedupeKey}}}return U.push($),await this.writeJson(this.eventsPath,U),{event:$,stored:!0,deduped:!1,identity:{id:$.id,dedupeKey:$.dedupeKey}}}async listEvents($={}){await this.init();let _=await this.readJson(this.eventsPath,[]);return GE(_,$)}async listEventsPage($={}){await this.init();let _=await this.readJson(this.eventsPath,[]),U=GE(_,{eventId:$.eventId,source:$.source,type:$.type}),W=TG($.cursor,$),J=SG($.limit),X=U.slice(W,W+J),G=W+X.length,Q=G<U.length;return{events:X,cursor:$.cursor,nextCursor:Q?BE(G,$):void 0,hasMore:Q}}async findEventByIdentity($){let _=await this.listEvents();return QE(_,$)}async appendDelivery($){await this.init();let _=await this.readJson(this.deliveriesPath,[]);return _.push($),await this.writeJson(this.deliveriesPath,_),$}async listDeliveries(){return await this.init(),this.readJson(this.deliveriesPath,[])}async exportData(){return{channels:await this.listChannels(),events:await this.listEvents(),deliveries:await this.listDeliveries()}}async ensureArrayFile($){if(!LE($))await XE($,`[] -`,{encoding:"utf-8",mode:384});await KO($,384).catch(()=>{return})}async readJson($,_){try{let U=await Md($,"utf-8");if(!U.trim())return _;return JSON.parse(U)}catch(U){if(U.code==="ENOENT")return _;throw U}}async writeJson($,_){let U=`${$}.${process.pid}.${Date.now()}.tmp`;await XE(U,`${JSON.stringify(_,null,2)} -`,{encoding:"utf-8",mode:384}),await Id(U,$),await KO($,384).catch(()=>{return})}}function fd($=NE()){return{mode:"local-files",name:"json-events-store",remote:!1,localFiles:!0,localSqlite:!1,postgres:!1,s3:!1,aws:!1,durable:!0,idempotency:"best-effort-local",replayCursors:!0,description:`Local JSON files in ${$}; no SQLite, Postgres, S3, or AWS runtime is configured by this store.`}}function BE($,_={}){if(!Number.isInteger($)||$<0)throw Error(`Invalid event cursor offset: ${$}`);let U={offset:$,eventId:_.eventId,source:_.source,type:_.type};return`${gO}${OE.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function TG($,_={}){if(!$)return 0;if(!$.startsWith(gO))throw Error(`Invalid local JSON event cursor: ${$}`);let U=$.slice(gO.length),W;try{W=JSON.parse(OE.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${$}`)}let J=W.offset;if(!Number.isInteger(J)||J<0)throw Error(`Invalid local JSON event cursor: ${$}`);return bO("eventId",W.eventId,_.eventId),bO("source",W.source,_.source),bO("type",W.type,_.type),J}function SG($){if($===void 0)return wd;if(!Number.isInteger($)||$<1)throw Error(`Event page limit must be a positive integer, got ${$}`);return Math.min($,kd)}function GE($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor){let W=TG(_.cursor,_);U=U.slice(W)}if(_.limit!==void 0)U=U.slice(0,SG(_.limit));return U}function bO($,_,U){if(_!==U)throw Error(`Local JSON event cursor ${$} filter mismatch`)}function QE($,_){return $.find((U)=>_.id!==void 0&&U.id===_.id||_.dedupeKey!==void 0&&U.dedupeKey===_.dedupeKey)}async function Cd($){let _=new CG($);await _.init();let[U,W,J]=await Promise.all([_.listChannels(),_.listEvents(),_.listDeliveries()]),X=U.reduce((G,Q)=>{return G[Q.transport]=(G[Q.transport]??0)+1,G},{});return{service:"events",schemaVersion:"1.0",dataDir:_.dataDir,storage:_.runtime,env:{primary:PG,fallback:fG,active:Pd()},files:{channels:MO(_.dataDir,"channels.json",U.length),events:MO(_.dataDir,"events.json",W.length),deliveries:MO(_.dataDir,"deliveries.json",J.length)},counts:{channels:U.length,enabledChannels:U.filter((G)=>G.enabled).length,disabledChannels:U.filter((G)=>!G.enabled).length,events:W.length,deliveries:J.length},transports:X,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function MO($,_,U){let W=hW($,_);return{path:W,exists:LE(W),records:U}}function Sd($,_){return`${$}.${_}`}function Zd($,_,U){return`sha256=${Td("sha256",$).update(Sd(_,U)).digest("hex")}`}function c6(){return new Date().toISOString()}function yW($,_=4096){return $.length>_?`${$.slice(0,_)}...`:$}function hd($,_){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let U=JSON.stringify($),W=$.time,J={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":$.id,"X-Hasna-Event-Type":$.type,"X-Hasna-Timestamp":W,..._.webhook.headers};if(_.webhook.secret)J["X-Hasna-Signature"]=Zd(_.webhook.secret,W,U);return{body:U,headers:J}}async function xd($,_,U={}){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let W=c6(),{body:J,headers:X}=hd($,_),G=new AbortController,Q=setTimeout(()=>G.abort(),_.webhook.timeoutMs??15000);try{let Y=await(U.fetchImpl??fetch)(_.webhook.url,{method:"POST",headers:X,body:J,signal:G.signal}),j=yW(await Y.text());return{attempt:1,status:Y.ok?"success":"failed",startedAt:W,completedAt:c6(),responseStatus:Y.status,responseBody:j,error:Y.ok?void 0:`Webhook returned HTTP ${Y.status}`}}catch(Y){return{attempt:1,status:"failed",startedAt:W,completedAt:c6(),error:Y instanceof Error?Y.message:String(Y)}}finally{clearTimeout(Q)}}async function md($,_){if(!_.command)throw Error(`Channel ${_.id} has no command config`);let U=c6(),W=JSON.stringify($),J={...process.env,..._.command.env,HASNA_CHANNEL_ID:_.id,HASNA_EVENT_ID:$.id,HASNA_EVENT_TYPE:$.type,HASNA_EVENT_SOURCE:$.source,HASNA_EVENT_SUBJECT:$.subject??"",HASNA_EVENT_SEVERITY:$.severity,HASNA_EVENT_TIME:$.time,HASNA_EVENT_DEDUPE_KEY:$.dedupeKey??"",HASNA_EVENT_SCHEMA_VERSION:$.schemaVersion,HASNA_EVENT_JSON:W};return new Promise((X)=>{let G=yd(_.command.command,_.command.args??[],{cwd:_.command.cwd,env:J,stdio:["pipe","pipe","pipe"]}),Q="",Y="",j=setTimeout(()=>G.kill("SIGTERM"),_.command.timeoutMs??15000);G.stdin.end(W),G.stdout.on("data",(O)=>{Q+=O.toString()}),G.stderr.on("data",(O)=>{Y+=O.toString()}),G.on("error",(O)=>{clearTimeout(j),X({attempt:1,status:"failed",startedAt:U,completedAt:c6(),stdout:yW(Q),stderr:yW(Y),error:O.message})}),G.on("close",(O,B)=>{clearTimeout(j);let V=O===0;X({attempt:1,status:V?"success":"failed",startedAt:U,completedAt:c6(),stdout:yW(Q),stderr:yW(Y),error:V?void 0:`Command exited with ${B?`signal ${B}`:`code ${O}`}`})})})}async function ud($,_,U={}){if(_.transport==="webhook")return xd($,_,U);if(_.transport==="command")return md($,_);return{attempt:1,status:"skipped",startedAt:c6(),completedAt:c6(),error:`Unsupported transport: ${_.transport}`}}function YE($,_,U){let W=U.some((J)=>J.status==="success")?"success":U.every((J)=>J.status==="skipped")?"skipped":"failed";return{id:vd(),eventId:$.id,channelId:_.id,transport:_.transport,status:W,attempts:U,createdAt:U[0]?.startedAt??c6(),completedAt:U.at(-1)?.completedAt??c6()}}class HE extends Error{eventType;issues;constructor($,_){let U=_.map((W)=>`${W.path||"<root>"}: ${W.message}`).join("; ");super(`Event validation failed for type "${$}": ${U}`);this.name="EventValidationError",this.eventType=$,this.issues=_}}class VE{definitions=new Map;register($){return this.definitions.set($.type,$),this}unregister($){return this.definitions.delete($)}has($){return this.definitions.has($)}get($){return this.definitions.get($)}list(){return[...this.definitions.values()]}validateEvent($){let _=this.definitions.get($.type);if(!_)return{ok:!0};return _.validate($.data,$)}assertEventValid($){let _=this.validateEvent($);if(!_.ok)throw new HE($.type,_.issues)}}var dd=new VE;function IO($){return{id:$.id??cd(),source:$.source,type:$.type,time:pd($.time),subject:$.subject,severity:$.severity??"info",data:$.data??{},message:$.message,dedupeKey:$.dedupeKey,schemaVersion:$.schemaVersion??"1.0",metadata:$.metadata??{}}}class RE{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor($={}){this.store=$.store??new CG($.dataDir),this.redactors=$.redactors??[],this.transportOptions={fetchImpl:$.fetchImpl},this.catalog=$.catalog??dd,this.validateCatalogTypes=$.validateCatalogTypes??!1}async addChannel($){let _=new Date().toISOString();return this.store.addChannel({...$,createdAt:$.createdAt??_,updatedAt:$.updatedAt??_})}async listChannels(){return this.store.listChannels()}async removeChannel($){return this.store.removeChannel($)}async emit($,_={}){let U=_.redactSensitiveData===!1?IO($):id(IO($));if(_.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let W=await this.appendEvent(U,{dedupe:_.dedupe!==!1});if(W.deduped)return{event:W.event,deliveries:[],deduped:!0};let J=_.deliver===!1?[]:await this.deliver(W.event);return{event:W.event,deliveries:J,deduped:!1}}async listEvents($={}){if(Object.keys($).length===0)return this.store.listEvents();return jE(await this.store.listEvents(),$)}async listEventsPage($={}){if(this.store.listEventsPage)return this.store.listEventsPage($);let _=jE(await this.store.listEvents(),{eventId:$.eventId,source:$.source,type:$.type}),U=TG($.cursor,$),W=SG($.limit),J=_.slice(U,U+W),X=U+J.length,G=X<_.length;return{events:J,cursor:$.cursor,nextCursor:G?BE(X,$):void 0,hasMore:G}}async listDeliveries(){return this.store.listDeliveries()}async deliver($){let U=(await this.store.listChannels()).filter((J)=>WE(J,$)),W=[];for(let J of U){let X=await this.applyRedaction($,J),G=await this.deliverWithRetry(X,J);await this.store.appendDelivery(G),W.push(G)}return W}async matchChannel($,_={}){let U=await this.store.getChannel($);if(!U)throw Error(`Channel not found: ${$}`);let W=IO({source:_.source??"hasna.events",type:_.type??"events.test",subject:_.subject??$,severity:_.severity??"info",data:_.data??{test:!0},message:_.message??"Hasna events test delivery",dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion,metadata:_.metadata,time:_.time,id:_.id}),J=WE(U,W);return{channelId:U.id,matched:J,event:W,filters:U.filters,reason:J?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel($,_={},U={}){let W=await this.store.getChannel($);if(!W)throw Error(`Channel not found: ${$}`);let J=await this.matchChannel($,_),X=J.event;if(U.honorFilters&&!J.matched){let Y=new Date().toISOString(),j=YE(X,W,[{attempt:1,status:"skipped",startedAt:Y,completedAt:Y,error:J.reason}]);return j.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(j),j}let G=await this.applyRedaction(X,W),Q=await this.deliverWithRetry(G,W);return await this.store.appendDelivery(Q),Q}async replay($={}){let _=$.cursor||$.limit!==void 0?await this.listEventsPage($):{events:await this.listEvents($),hasMore:!1};if($.dryRun)return{events:_.events,deliveries:[],cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore};let U=[];for(let W of _.events)U.push(...await this.deliver(W));return{events:_.events,deliveries:U,cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore}}async appendEvent($,_){if(this.store.appendEventOnce)return this.store.appendEventOnce($,{dedupe:_.dedupe});if(_.dedupe){let W=await this.store.findEventByIdentity({id:$.id,dedupeKey:$.dedupeKey});if(W)return{event:W,stored:!1,deduped:!0,identity:{id:W.id,dedupeKey:W.dedupeKey}}}let U=await this.store.appendEvent($);return{event:U,stored:!0,deduped:!1,identity:{id:U.id,dedupeKey:U.dedupeKey}}}async applyRedaction($,_){let U=nd($,_.redact?.paths??[],_.redact?.replacement??"[REDACTED]");for(let W of this.redactors)U=await W(U,_);return U}async deliverWithRetry($,_){let U=od(_.retry),W=[];for(let J=0;J<U.maxAttempts;J+=1){let X=await ud($,_,this.transportOptions);if(X.attempt=J+1,X.status==="failed"&&J+1<U.maxAttempts)X.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**J);if(W.push(X),X.status!=="failed")break;if(X.nextBackoffMs)await Bun.sleep(X.nextBackoffMs)}return YE($,_,W)}}function nd($,_,U="[REDACTED]"){if(_.length===0)return $;let W=structuredClone($);for(let J of _)rd(W,J,U);return W}function AE($){let _=structuredClone($);if(_.webhook?.secret)_.webhook.secret="[REDACTED]";if(_.command?.env)_.command.env=Object.fromEntries(Object.entries(_.command.env).map(([U,W])=>[U,EE(U)?"[REDACTED]":W]));return _}function ld($){return $.map(AE)}function id($,_="[REDACTED]"){return wO($,_)}function EE($){return/secret|token|password|api[_-]?key|authorization/i.test($)}function wO($,_){if(Array.isArray($))return $.map((U)=>wO(U,_));if(!$||typeof $!=="object")return $;return Object.fromEntries(Object.entries($).map(([U,W])=>[U,EE(U)?_:wO(W,_)]))}function rd($,_,U){let W=_.split("."),J=$;for(let G of W.slice(0,-1)){let Q=J[G];if(!Q||typeof Q!=="object")return;J=Q}let X=W.at(-1);if(X&&X in J)J[X]=U}function jE($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor)U=U.slice(TG(_.cursor,_));if(_.limit!==void 0)U=U.slice(0,SG(_.limit));return U}function pd($){if(!$)return new Date().toISOString();return $ instanceof Date?$.toISOString():$}function od($){return{maxAttempts:Math.max(1,$?.maxAttempts??1),backoffMs:Math.max(0,$?.backoffMs??250),multiplier:Math.max(1,$?.multiplier??2)}}function kG($,_,U=!1){if(!$?.length)return;let W={};for(let J of $){let X=sd(J,_),G=X.path;if(G in W)throw Error(`Duplicate ${_} filter path: ${G}`);let Q=U?ad(X.rawValue,_):X.rawValue;W[G]=X.negated?{not:Q}:Q}return W}function td($){let _={};if($.source)_.source=$.source;if($.type)_.type=$.type;if($.subject)_.subject=$.subject;if($.severity)_.severity=$.severity;let U=DE(kG($.data,"data"),kG($.dataJson,"data-json",!0)),W=DE(kG($.metadata,"metadata"),kG($.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)_.data=U;if(Object.keys(W).length>0)_.metadata=W;return Object.keys(_).length>0?[_]:void 0}function DE(...$){let _={};for(let U of $){if(!U)continue;for(let[W,J]of Object.entries(U)){if(W in _)throw Error(`Duplicate filter path: ${W}`);_[W]=J}}return _}function ad($,_){let U=JSON.parse($);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((W)=>typeof W==="string"))return U;throw Error(`${_} filter JSON values must be string, string[], number, boolean, or null`)}function sd($,_){let U=$.indexOf("!=");if(U>0)return{path:$.slice(0,U),rawValue:$.slice(U+2),negated:!0};let W=$.indexOf("=");if(W<=0)throw Error(`Invalid ${_} filter, expected path=value or path!=value: ${$}`);return{path:$.slice(0,W),rawValue:$.slice(W+1),negated:!1}}var ed=100;function FU($,_){if(!$)return _;let U=JSON.parse($);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function $c($){if(!$?.length)return;let _={};for(let U of $){let W=U.indexOf("=");if(W===-1)throw Error(`Invalid header, expected name=value: ${U}`);_[U.slice(0,W)]=U.slice(W+1)}return _}function X0($){if($.createClient)return $.createClient();return new RE({store:new CG($.dataDir)})}function K1($,_,U){if(_)console.log(JSON.stringify($,null,2));else console.log(U)}function zE($,_){let U=$ instanceof Error?$.message:String($);if(_)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function qE($){return Boolean($?.json||$?.opts?.().json||$?.optsWithGlobals?.().json||$?.parent?.opts?.().json||$?.parent?.optsWithGlobals?.().json)}function F4($,_){return qE($)||qE(_)}function _c($,_){let U=$.command(_.channelsCommandName??"channels").description("Manage Hasna event channels");return U.command("add").description("Add or replace a channel").argument("<target>","Webhook URL or command binary").requiredOption("--id <id>","Channel identifier").option("--transport <kind>","Transport kind: webhook or command","webhook").option("--name <name>","Display name").option("--type <pattern>","Event type filter, e.g. todos.task.*").option("--source <pattern>","Event source filter").option("--subject <pattern>","Event subject filter").option("--severity <pattern>","Event severity filter").option("--data <path=value...>","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",F1,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",F1,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",F1,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",F1,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",F1,[]).option("--arg <arg...>","Command argument",F1,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",xW).option("--retry-attempts <n>","Maximum delivery attempts",xW).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",xW).option("--redact <path...>","Event field path to redact before delivery",F1,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=new Date().toISOString(),Q={id:J.id,name:J.name,enabled:!J.disabled,transport:J.transport,filters:td(J),retry:J.retryAttempts||J.retryBackoffMs?{maxAttempts:J.retryAttempts,backoffMs:J.retryBackoffMs}:void 0,redact:J.redact?.length?{paths:J.redact}:void 0,createdAt:G,updatedAt:G};if(J.transport==="webhook")Q.webhook={url:W,secret:J.secret,headers:$c(J.header),timeoutMs:J.timeoutMs};else if(J.transport==="command")Q.command={command:W,args:J.arg??[],timeoutMs:J.timeoutMs};else throw Error(`Transport ${J.transport} is reserved for future use and cannot be added yet`);let Y=await X0(_).addChannel(Q);K1(AE(Y),F4(J,X),`Added ${Y.transport} channel ${Y.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await X0(_).listChannels();if(F4(W,J)){console.log(JSON.stringify(ld(X),null,2));return}if(!X.length){console.log("No channels configured.");return}for(let G of X)console.log(`${G.id} ${G.enabled?"enabled":"disabled"} ${G.transport} ${G.webhook?.url??G.command?.command??G.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await Cd(_.dataDir);K1(X,F4(W,J),`events dataDir: ${X.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=await X0(_).removeChannel(W);K1({removed:G},F4(J,X),G?`Removed ${W}`:`Channel not found: ${W}`)}),U.command("test").description("Send a test event to one channel").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events test delivery").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=F4(J,X);try{let Q=await X0(_).testChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:FU(J.data,{test:!0}),metadata:FU(J.metadata,{})},{honorFilters:J.honorFilters});K1(Q,G,`${Q.status}: ${Q.channelId}`)}catch(Q){zE(Q,G)}}),U.command("match").description("Check whether a sample event matches one channel without delivering").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events match preview").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=F4(J,X);try{let Q=await X0(_).matchChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:FU(J.data,{test:!0}),metadata:FU(J.metadata,{})});K1(Q,G,`${Q.matched?"matched":"skipped"}: ${Q.channelId}`)}catch(Q){zE(Q,G)}}),U}function Uc($,_){let U=$.command(_.eventsCommandName??"events").description("Emit, list, and replay Hasna events");U.command("emit").description("Emit an event from this app").argument("<type>","Event type").option("--source <source>","Event source override").option("--subject <subject>","Event subject").option("--severity <severity>","Event severity","info").option("--message <message>","Event message").option("--dedupe-key <key>","Dedupe key").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(J,X,G)=>{let Q=await X0(_).emit({source:X.source??_.source,type:J,subject:X.subject,severity:X.severity,message:X.message,dedupeKey:X.dedupeKey,data:FU(X.data,{}),metadata:FU(X.metadata,{})},{deliver:X.deliver,dedupe:X.dedupe});K1(Q,F4(X,G),`${Q.deduped?"Deduped":"Emitted"} ${Q.event.id} to ${Q.deliveries.length} channel(s)`)});let W=_.defaultEventListLimit??ed;return U.command("list").description("List recorded events").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--limit <n>",`Limit to the most recent <n> events (default ${W}; use 0 for all)`,xW,W).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await X0(_).listEvents();if(J.source)G=G.filter((Q)=>Q.source===J.source);if(J.type)G=G.filter((Q)=>Q.type===J.type);if(J.limit)G=G.slice(-J.limit);if(F4(J,X)){console.log(JSON.stringify(G,null,2));return}if(!G.length){console.log("No events recorded.");return}for(let Q of G)console.log(`${Q.time} ${Q.id} ${Q.source} ${Q.type} ${Q.severity}`)}),U.command("replay").description("Replay recorded events").option("--id <id>","Replay one event id").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--cursor <cursor>","Opaque replay cursor from a previous page").option("--limit <n>","Maximum events to replay",xW).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await X0(_).replay({eventId:J.id,source:J.source,type:J.type,cursor:J.cursor,limit:J.limit,dryRun:J.dryRun});K1(G,F4(J,X),Jc(G.events.length,G.deliveries.length,G.nextCursor))}),U}function FE($,_){_c($,_),Uc($,_)}function xW($){let _=Number($);if(!Number.isFinite(_))throw Error(`Expected a number, got ${$}`);return _}function F1($,_){return _.push($),_}function Jc($,_,U){let W=U?`, next cursor: ${U}`:"";return`Replayed ${$} event(s), ${_} delivery result(s)${W}`}import{basename as Xc}from"path";var M6={name:"@hasna/knowledge",version:"0.2.91",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs",build:"rm -rf dist && bun build --target=bun --outfile=bin/knowledge.js --minify --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/cli.ts && bun build --target=bun --outfile=bin/knowledge-mcp.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @modelcontextprotocol/sdk --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/mcp.js && bun build --target=bun --outfile=bin/knowledge-serve.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/serve-entry.ts && bun build ./src/index.ts ./src/storage.ts ./src/serve.ts --outdir ./dist --target bun --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek && bun scripts/strip-generated-trailing-whitespace.mjs && bunx tsc -p tsconfig.build.json",prepublishOnly:"bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. <hasna@example.com>",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.5.2","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};var KE={debug:0,info:1,warn:2,error:3},Gc=()=>{if(process.env.DEBUG)return"debug";if(process.env.LOG_LEVEL==="debug")return"debug";if(process.env.LOG_LEVEL==="warn")return"warn";if(process.env.LOG_LEVEL==="error")return"error";return"info"};function b1($,_,U){if(KE[$]<KE[Gc()])return;let W={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[$],J=U?`${W} ${_} ${JSON.stringify(U)}`:`${W} ${_}`;if($==="error")console.error(J);else console.error(J)}var wE=["events","webhooks"],kE=["add","list","get","delete","update","archive","restore","upsert","untag","export","prune","dedupe","stats","inventory","project-panel","paths","mode","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...wE],PE={ls:"list",rm:"delete",edit:"update",unarchive:"restore"};function Qc($){let _=new Set,U=[];for(let W of $){let J=W.toLowerCase();if(_.has(J))continue;_.add(J),U.push(W)}return U}function bE($,_){let U=new Set(($??[]).map((W)=>W.toLowerCase()));return _.filter((W)=>!U.has(W.toLowerCase()))}function kO($,_,U){if(U===void 0)return{...$,message:_};return{...$,added:U.length,message:`${_} (added ${U.length} tag${U.length===1?"":"s"})`}}function Yc($,_){if(_===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>");let U=_.split(",").map((W)=>W.trim()).filter((W)=>W.length>0);if(U.length===0)throw Error(`Invalid --tag value ${JSON.stringify(_)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return Qc([...$??[],...U])}function jc($){let _=[],U={};for(let W=0;W<$.length;W+=1){let J=$[W];if(!J.startsWith("-")){_.push(J);continue}switch(J){case"--json":U.json=!0;break;case"--verbose":U.verbose=!0;break;case"--yes":case"-y":U.yes=!0;break;case"--help":case"-h":U.help=!0;break;case"--version":case"-v":U.version=!0;break;case"--desc":U.desc=!0;break;case"--page":case"-p":U.page=Number($[W+1]),W+=1;break;case"--limit":case"-l":U.limit=Number($[W+1]),W+=1;break;case"--search":case"-s":U.search=$[W+1],W+=1;break;case"--sort":U.sort=$[W+1],W+=1;break;case"--id":U.id=$[W+1],W+=1;break;case"--store":U.store=$[W+1],W+=1;break;case"--title":U.title=$[W+1],W+=1;break;case"--content":U.content=$[W+1],W+=1;break;case"--url":U.url=$[W+1],W+=1;break;case"--tag":case"-t":U.tag=Yc(U.tag,$[W+1]),U.tagRaw=[...U.tagRaw??[],$[W+1]],W+=1;break;case"--format":U.format=$[W+1],W+=1;break;case"--completions":U.completions=$[W+1],W+=1;break;case"--purpose":U.purpose=$[W+1],W+=1;break;case"--model":U.model=$[W+1],W+=1;break;case"--strategy":U.strategy=$[W+1],W+=1;break;case"--dimensions":U.dimensions=Number($[W+1]),W+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number($[W+1]),W+=1;break;case"--max-items":U.maxItems=Number($[W+1]),W+=1;break;case"--from":U.from=$[W+1],W+=1;break;case"--since":U.since=$[W+1],W+=1;break;case"--topic":U.topic=$[W+1],W+=1;break;case"--dedupe":U.dedupe=!0;break;case"--generate":U.generate=!0;break;case"--approve-write":U.approveWrite=!0;break;case"--provider":U.provider=$[W+1],W+=1;break;case"--mode":U.mode=$[W+1],W+=1;break;case"--machine":U.machine=$[W+1],W+=1;break;case"--workspace":U.workspace=$[W+1],W+=1;break;case"--api-url":U.apiUrl=$[W+1],W+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=$[W+1],W+=1;break;case"--email":U.email=$[W+1],W+=1;break;case"--org":U.org=$[W+1],W+=1;break;case"--org-id":U.orgId=$[W+1],W+=1;break;case"--user-id":U.userId=$[W+1],W+=1;break;case"--owner":U.owner=$[W+1],W+=1;break;case"--approved-by":U.approvedBy=$[W+1],W+=1;break;case"--patch-uri":U.patchUri=$[W+1],W+=1;break;case"--domain":U.domain=[...U.domain??[],$[W+1]],W+=1;break;case"--file-results":U.fileResults=!0;break;case"--full":U.full=!0;break;case"--dry-run":U.dryRun=!0;break;case"--fake":U.fake=!0;break;case"--no-tailscale":U.tailscale=!1;break;case"--no-artifact-content":U.artifactContent=!1;break;case"--no-color":U.noColor=!0;break;case"--scope":U.scope=$[W+1],W+=1;break;case"--tables":U.tables=$[W+1],W+=1;break;case"--peer-workspace":U.peerWorkspace=$[W+1],W+=1;break;case"--older-than":U.olderThan=Number($[W+1]),W+=1;break;case"--empty":U.empty=!0;break;case"--archived":U.archived=!0;break;case"--include-archived":U.includeArchived=!0;break;case"--project":U.project=$[W+1],W+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],$[W+1]],W+=1;break;case"--allow-global":U.allowGlobal=!0;break;default:throw Error(`Unknown flag: ${J}. Run 'knowledge --help' for valid options.`)}}return{positional:_,flags:U}}function Dc($){if(!$)return"";return PE[$]??$}function zc($,_){let U=Array.from({length:$.length+1},()=>Array(_.length+1).fill(0));for(let W=0;W<=$.length;W+=1)U[W][0]=W;for(let W=0;W<=_.length;W+=1)U[0][W]=W;for(let W=1;W<=$.length;W+=1)for(let J=1;J<=_.length;J+=1){let X=$[W-1]===_[J-1]?0:1;U[W][J]=Math.min(U[W-1][J]+1,U[W][J-1]+1,U[W-1][J-1]+X)}return U[$.length][_.length]}function qc($){if(!$)return"";let _=[...kE,...Object.keys(PE)],U="",W=Number.POSITIVE_INFINITY;for(let J of _){let X=zc($,J);if(X<W)W=X,U=J}return W<=3?U:""}function Oc(){return Xc(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Lc($){if(!wE.includes($[0]??""))return!1;let _=new _E;return _.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),FE(_,{source:"knowledge"}),await _.parseAsync($,{from:"user"}),!0}function Nc(){console.log(`knowledge - local agent knowledge store + `)}var JF=uF(UF(),1),{program:_s,createCommand:Us,createArgument:Js,createOption:Ws,CommanderError:Xs,InvalidArgumentError:Gs,InvalidOptionArgumentError:Qs,Command:WF,Argument:Ys,Option:js,Help:Ds}=JF.default;import{chmod as KO,mkdir as gd,readFile as wd,rename as kd,writeFile as YF}from"fs/promises";import{Buffer as BF}from"buffer";import{existsSync as HF}from"fs";import{homedir as Pd}from"os";import{join as hW}from"path";import{createHmac as vd,timingSafeEqual as Vs}from"crypto";import{randomUUID as xd}from"crypto";import{spawn as md}from"child_process";import{randomUUID as id}from"crypto";function Rd($,_){return _.split(".").reduce((U,W)=>{if(U&&typeof U==="object"&&W in U)return U[W];return},$)}function Ad($,_){let U=[],W=(X)=>{if(!U.some((G)=>Object.is(G,X)))U.push(X)};if(_.includes(".")&&_ in $)W($[_]);let J=Rd($,_);if(J!==void 0||!_.includes("."))W(J);return U}function Fd($,_={}){let U="";for(let W=0;W<$.length;W+=1){let J=$[W];if(J==="*")if($[W+1]==="*")U+=".*",W+=1;else U+=_.segmentSafe?"[^/]*":".*";else U+=J.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function vW($,_,U={}){if(_===void 0)return!0;if($===void 0)return!1;return(Array.isArray(_)?_:[_]).some((J)=>Fd(J,U).test($))}function XF($,_){if(!_)return!0;return Object.entries(_).every(([U,W])=>{let J=Ad($,U);return Ed(J,W,U)})}function Ed($,_,U){if(Md(_))return!$.some((W)=>GF(W,_.not,U));return $.some((W)=>GF(W,_,U))}function GF($,_,U){if(typeof _==="string"||Array.isArray(_))return Kd($).some((W)=>vW(W,_,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray($))return $.some((W)=>W===_);return $===_}function Kd($){if($===void 0)return[];if(Array.isArray($))return $.flatMap((_)=>bd(_)?[String(_)]:[]);return[String($)]}function bd($){return $===null||typeof $==="string"||typeof $==="number"||typeof $==="boolean"}function Md($){return Boolean($&&typeof $==="object"&&!Array.isArray($)&&"not"in $)}function Id($,_){return vW($.source,_.source)&&vW($.type,_.type)&&vW($.subject,_.subject)&&vW($.severity,_.severity)&&XF($.data,_.data)&&XF($.metadata,_.metadata)}function QF($,_){if(!$.enabled)return!1;if(!$.filters||$.filters.length===0)return!0;return $.filters.some((U)=>Id(_,U))}var f5="HASNA_EVENTS_DIR",C5="HASNA_EVENTS_HOME",gO="local-json-v1:",fd=100,Cd=1000;function VF($){return $||process.env[f5]||process.env[C5]||hW(Pd(),".hasna","events")}function Td(){if(process.env[f5])return f5;if(process.env[C5])return C5;return null}class T5{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor($=VF()){this.dataDir=$,this.runtime=Sd($),this.channelsPath=hW($,"channels.json"),this.eventsPath=hW($,"events.json"),this.deliveriesPath=hW($,"deliveries.json")}async init(){await gd(this.dataDir,{recursive:!0,mode:448}),await KO(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.findIndex((W)=>W.id===$.id);if(U>=0)_[U]={...$,createdAt:_[U].createdAt,updatedAt:new Date().toISOString()};else _.push($);return await this.writeJson(this.channelsPath,_),U>=0?_[U]:$}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel($){return(await this.listChannels()).find((U)=>U.id===$)}async removeChannel($){await this.init();let _=await this.readJson(this.channelsPath,[]),U=_.filter((W)=>W.id!==$);return await this.writeJson(this.channelsPath,U),U.length!==_.length}async appendEvent($){await this.init();let _=await this.readJson(this.eventsPath,[]);return _.push($),await this.writeJson(this.eventsPath,_),$}async appendEventOnce($,_={}){await this.init();let U=await this.readJson(this.eventsPath,[]);if(_.dedupe!==!1){let J=DF(U,{id:$.id,dedupeKey:$.dedupeKey});if(J)return{event:J,stored:!1,deduped:!0,identity:{id:J.id,dedupeKey:J.dedupeKey}}}return U.push($),await this.writeJson(this.eventsPath,U),{event:$,stored:!0,deduped:!1,identity:{id:$.id,dedupeKey:$.dedupeKey}}}async listEvents($={}){await this.init();let _=await this.readJson(this.eventsPath,[]);return jF(_,$)}async listEventsPage($={}){await this.init();let _=await this.readJson(this.eventsPath,[]),U=jF(_,{eventId:$.eventId,source:$.source,type:$.type}),W=S5($.cursor,$),J=Z5($.limit),X=U.slice(W,W+J),G=W+X.length,Q=G<U.length;return{events:X,cursor:$.cursor,nextCursor:Q?RF(G,$):void 0,hasMore:Q}}async findEventByIdentity($){let _=await this.listEvents();return DF(_,$)}async appendDelivery($){await this.init();let _=await this.readJson(this.deliveriesPath,[]);return _.push($),await this.writeJson(this.deliveriesPath,_),$}async listDeliveries(){return await this.init(),this.readJson(this.deliveriesPath,[])}async exportData(){return{channels:await this.listChannels(),events:await this.listEvents(),deliveries:await this.listDeliveries()}}async ensureArrayFile($){if(!HF($))await YF($,`[] +`,{encoding:"utf-8",mode:384});await KO($,384).catch(()=>{return})}async readJson($,_){try{let U=await wd($,"utf-8");if(!U.trim())return _;return JSON.parse(U)}catch(U){if(U.code==="ENOENT")return _;throw U}}async writeJson($,_){let U=`${$}.${process.pid}.${Date.now()}.tmp`;await YF(U,`${JSON.stringify(_,null,2)} +`,{encoding:"utf-8",mode:384}),await kd(U,$),await KO($,384).catch(()=>{return})}}function Sd($=VF()){return{mode:"local-files",name:"json-events-store",remote:!1,localFiles:!0,localSqlite:!1,postgres:!1,s3:!1,aws:!1,durable:!0,idempotency:"best-effort-local",replayCursors:!0,description:`Local JSON files in ${$}; no SQLite, Postgres, S3, or AWS runtime is configured by this store.`}}function RF($,_={}){if(!Number.isInteger($)||$<0)throw Error(`Invalid event cursor offset: ${$}`);let U={offset:$,eventId:_.eventId,source:_.source,type:_.type};return`${gO}${BF.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function S5($,_={}){if(!$)return 0;if(!$.startsWith(gO))throw Error(`Invalid local JSON event cursor: ${$}`);let U=$.slice(gO.length),W;try{W=JSON.parse(BF.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${$}`)}let J=W.offset;if(!Number.isInteger(J)||J<0)throw Error(`Invalid local JSON event cursor: ${$}`);return bO("eventId",W.eventId,_.eventId),bO("source",W.source,_.source),bO("type",W.type,_.type),J}function Z5($){if($===void 0)return fd;if(!Number.isInteger($)||$<1)throw Error(`Event page limit must be a positive integer, got ${$}`);return Math.min($,Cd)}function jF($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor){let W=S5(_.cursor,_);U=U.slice(W)}if(_.limit!==void 0)U=U.slice(0,Z5(_.limit));return U}function bO($,_,U){if(_!==U)throw Error(`Local JSON event cursor ${$} filter mismatch`)}function DF($,_){return $.find((U)=>_.id!==void 0&&U.id===_.id||_.dedupeKey!==void 0&&U.dedupeKey===_.dedupeKey)}async function Zd($){let _=new T5($);await _.init();let[U,W,J]=await Promise.all([_.listChannels(),_.listEvents(),_.listDeliveries()]),X=U.reduce((G,Q)=>{return G[Q.transport]=(G[Q.transport]??0)+1,G},{});return{service:"events",schemaVersion:"1.0",dataDir:_.dataDir,storage:_.runtime,env:{primary:f5,fallback:C5,active:Td()},files:{channels:MO(_.dataDir,"channels.json",U.length),events:MO(_.dataDir,"events.json",W.length),deliveries:MO(_.dataDir,"deliveries.json",J.length)},counts:{channels:U.length,enabledChannels:U.filter((G)=>G.enabled).length,disabledChannels:U.filter((G)=>!G.enabled).length,events:W.length,deliveries:J.length},transports:X,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function MO($,_,U){let W=hW($,_);return{path:W,exists:HF(W),records:U}}function yd($,_){return`${$}.${_}`}function hd($,_,U){return`sha256=${vd("sha256",$).update(yd(_,U)).digest("hex")}`}function c6(){return new Date().toISOString()}function yW($,_=4096){return $.length>_?`${$.slice(0,_)}...`:$}function ud($,_){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let U=JSON.stringify($),W=$.time,J={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":$.id,"X-Hasna-Event-Type":$.type,"X-Hasna-Timestamp":W,..._.webhook.headers};if(_.webhook.secret)J["X-Hasna-Signature"]=hd(_.webhook.secret,W,U);return{body:U,headers:J}}async function dd($,_,U={}){if(!_.webhook)throw Error(`Channel ${_.id} has no webhook config`);let W=c6(),{body:J,headers:X}=ud($,_),G=new AbortController,Q=setTimeout(()=>G.abort(),_.webhook.timeoutMs??15000);try{let Y=await(U.fetchImpl??fetch)(_.webhook.url,{method:"POST",headers:X,body:J,signal:G.signal}),j=yW(await Y.text());return{attempt:1,status:Y.ok?"success":"failed",startedAt:W,completedAt:c6(),responseStatus:Y.status,responseBody:j,error:Y.ok?void 0:`Webhook returned HTTP ${Y.status}`}}catch(Y){return{attempt:1,status:"failed",startedAt:W,completedAt:c6(),error:Y instanceof Error?Y.message:String(Y)}}finally{clearTimeout(Q)}}async function cd($,_){if(!_.command)throw Error(`Channel ${_.id} has no command config`);let U=c6(),W=JSON.stringify($),J={...process.env,..._.command.env,HASNA_CHANNEL_ID:_.id,HASNA_EVENT_ID:$.id,HASNA_EVENT_TYPE:$.type,HASNA_EVENT_SOURCE:$.source,HASNA_EVENT_SUBJECT:$.subject??"",HASNA_EVENT_SEVERITY:$.severity,HASNA_EVENT_TIME:$.time,HASNA_EVENT_DEDUPE_KEY:$.dedupeKey??"",HASNA_EVENT_SCHEMA_VERSION:$.schemaVersion,HASNA_EVENT_JSON:W};return new Promise((X)=>{let G=md(_.command.command,_.command.args??[],{cwd:_.command.cwd,env:J,stdio:["pipe","pipe","pipe"]}),Q="",Y="",j=setTimeout(()=>G.kill("SIGTERM"),_.command.timeoutMs??15000);G.stdin.end(W),G.stdout.on("data",(O)=>{Q+=O.toString()}),G.stderr.on("data",(O)=>{Y+=O.toString()}),G.on("error",(O)=>{clearTimeout(j),X({attempt:1,status:"failed",startedAt:U,completedAt:c6(),stdout:yW(Q),stderr:yW(Y),error:O.message})}),G.on("close",(O,B)=>{clearTimeout(j);let V=O===0;X({attempt:1,status:V?"success":"failed",startedAt:U,completedAt:c6(),stdout:yW(Q),stderr:yW(Y),error:V?void 0:`Command exited with ${B?`signal ${B}`:`code ${O}`}`})})})}async function nd($,_,U={}){if(_.transport==="webhook")return dd($,_,U);if(_.transport==="command")return cd($,_);return{attempt:1,status:"skipped",startedAt:c6(),completedAt:c6(),error:`Unsupported transport: ${_.transport}`}}function zF($,_,U){let W=U.some((J)=>J.status==="success")?"success":U.every((J)=>J.status==="skipped")?"skipped":"failed";return{id:xd(),eventId:$.id,channelId:_.id,transport:_.transport,status:W,attempts:U,createdAt:U[0]?.startedAt??c6(),completedAt:U.at(-1)?.completedAt??c6()}}class AF extends Error{eventType;issues;constructor($,_){let U=_.map((W)=>`${W.path||"<root>"}: ${W.message}`).join("; ");super(`Event validation failed for type "${$}": ${U}`);this.name="EventValidationError",this.eventType=$,this.issues=_}}class FF{definitions=new Map;register($){return this.definitions.set($.type,$),this}unregister($){return this.definitions.delete($)}has($){return this.definitions.has($)}get($){return this.definitions.get($)}list(){return[...this.definitions.values()]}validateEvent($){let _=this.definitions.get($.type);if(!_)return{ok:!0};return _.validate($.data,$)}assertEventValid($){let _=this.validateEvent($);if(!_.ok)throw new AF($.type,_.issues)}}var ld=new FF;function IO($){return{id:$.id??id(),source:$.source,type:$.type,time:ad($.time),subject:$.subject,severity:$.severity??"info",data:$.data??{},message:$.message,dedupeKey:$.dedupeKey,schemaVersion:$.schemaVersion??"1.0",metadata:$.metadata??{}}}class EF{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor($={}){this.store=$.store??new T5($.dataDir),this.redactors=$.redactors??[],this.transportOptions={fetchImpl:$.fetchImpl},this.catalog=$.catalog??ld,this.validateCatalogTypes=$.validateCatalogTypes??!1}async addChannel($){let _=new Date().toISOString();return this.store.addChannel({...$,createdAt:$.createdAt??_,updatedAt:$.updatedAt??_})}async listChannels(){return this.store.listChannels()}async removeChannel($){return this.store.removeChannel($)}async emit($,_={}){let U=_.redactSensitiveData===!1?IO($):od(IO($));if(_.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let W=await this.appendEvent(U,{dedupe:_.dedupe!==!1});if(W.deduped)return{event:W.event,deliveries:[],deduped:!0};let J=_.deliver===!1?[]:await this.deliver(W.event);return{event:W.event,deliveries:J,deduped:!1}}async listEvents($={}){if(Object.keys($).length===0)return this.store.listEvents();return qF(await this.store.listEvents(),$)}async listEventsPage($={}){if(this.store.listEventsPage)return this.store.listEventsPage($);let _=qF(await this.store.listEvents(),{eventId:$.eventId,source:$.source,type:$.type}),U=S5($.cursor,$),W=Z5($.limit),J=_.slice(U,U+W),X=U+J.length,G=X<_.length;return{events:J,cursor:$.cursor,nextCursor:G?RF(X,$):void 0,hasMore:G}}async listDeliveries(){return this.store.listDeliveries()}async deliver($){let U=(await this.store.listChannels()).filter((J)=>QF(J,$)),W=[];for(let J of U){let X=await this.applyRedaction($,J),G=await this.deliverWithRetry(X,J);await this.store.appendDelivery(G),W.push(G)}return W}async matchChannel($,_={}){let U=await this.store.getChannel($);if(!U)throw Error(`Channel not found: ${$}`);let W=IO({source:_.source??"hasna.events",type:_.type??"events.test",subject:_.subject??$,severity:_.severity??"info",data:_.data??{test:!0},message:_.message??"Hasna events test delivery",dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion,metadata:_.metadata,time:_.time,id:_.id}),J=QF(U,W);return{channelId:U.id,matched:J,event:W,filters:U.filters,reason:J?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel($,_={},U={}){let W=await this.store.getChannel($);if(!W)throw Error(`Channel not found: ${$}`);let J=await this.matchChannel($,_),X=J.event;if(U.honorFilters&&!J.matched){let Y=new Date().toISOString(),j=zF(X,W,[{attempt:1,status:"skipped",startedAt:Y,completedAt:Y,error:J.reason}]);return j.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(j),j}let G=await this.applyRedaction(X,W),Q=await this.deliverWithRetry(G,W);return await this.store.appendDelivery(Q),Q}async replay($={}){let _=$.cursor||$.limit!==void 0?await this.listEventsPage($):{events:await this.listEvents($),hasMore:!1};if($.dryRun)return{events:_.events,deliveries:[],cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore};let U=[];for(let W of _.events)U.push(...await this.deliver(W));return{events:_.events,deliveries:U,cursor:_.cursor,nextCursor:_.nextCursor,hasMore:_.hasMore}}async appendEvent($,_){if(this.store.appendEventOnce)return this.store.appendEventOnce($,{dedupe:_.dedupe});if(_.dedupe){let W=await this.store.findEventByIdentity({id:$.id,dedupeKey:$.dedupeKey});if(W)return{event:W,stored:!1,deduped:!0,identity:{id:W.id,dedupeKey:W.dedupeKey}}}let U=await this.store.appendEvent($);return{event:U,stored:!0,deduped:!1,identity:{id:U.id,dedupeKey:U.dedupeKey}}}async applyRedaction($,_){let U=rd($,_.redact?.paths??[],_.redact?.replacement??"[REDACTED]");for(let W of this.redactors)U=await W(U,_);return U}async deliverWithRetry($,_){let U=sd(_.retry),W=[];for(let J=0;J<U.maxAttempts;J+=1){let X=await nd($,_,this.transportOptions);if(X.attempt=J+1,X.status==="failed"&&J+1<U.maxAttempts)X.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**J);if(W.push(X),X.status!=="failed")break;if(X.nextBackoffMs)await Bun.sleep(X.nextBackoffMs)}return zF($,_,W)}}function rd($,_,U="[REDACTED]"){if(_.length===0)return $;let W=structuredClone($);for(let J of _)td(W,J,U);return W}function KF($){let _=structuredClone($);if(_.webhook?.secret)_.webhook.secret="[REDACTED]";if(_.command?.env)_.command.env=Object.fromEntries(Object.entries(_.command.env).map(([U,W])=>[U,bF(U)?"[REDACTED]":W]));return _}function pd($){return $.map(KF)}function od($,_="[REDACTED]"){return wO($,_)}function bF($){return/secret|token|password|api[_-]?key|authorization/i.test($)}function wO($,_){if(Array.isArray($))return $.map((U)=>wO(U,_));if(!$||typeof $!=="object")return $;return Object.fromEntries(Object.entries($).map(([U,W])=>[U,bF(U)?_:wO(W,_)]))}function td($,_,U){let W=_.split("."),J=$;for(let G of W.slice(0,-1)){let Q=J[G];if(!Q||typeof Q!=="object")return;J=Q}let X=W.at(-1);if(X&&X in J)J[X]=U}function qF($,_){let U=$;if(_.eventId)U=U.filter((W)=>W.id===_.eventId);if(_.source)U=U.filter((W)=>W.source===_.source);if(_.type)U=U.filter((W)=>W.type===_.type);if(_.cursor)U=U.slice(S5(_.cursor,_));if(_.limit!==void 0)U=U.slice(0,Z5(_.limit));return U}function ad($){if(!$)return new Date().toISOString();return $ instanceof Date?$.toISOString():$}function sd($){return{maxAttempts:Math.max(1,$?.maxAttempts??1),backoffMs:Math.max(0,$?.backoffMs??250),multiplier:Math.max(1,$?.multiplier??2)}}function P5($,_,U=!1){if(!$?.length)return;let W={};for(let J of $){let X=_c(J,_),G=X.path;if(G in W)throw Error(`Duplicate ${_} filter path: ${G}`);let Q=U?$c(X.rawValue,_):X.rawValue;W[G]=X.negated?{not:Q}:Q}return W}function ed($){let _={};if($.source)_.source=$.source;if($.type)_.type=$.type;if($.subject)_.subject=$.subject;if($.severity)_.severity=$.severity;let U=OF(P5($.data,"data"),P5($.dataJson,"data-json",!0)),W=OF(P5($.metadata,"metadata"),P5($.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)_.data=U;if(Object.keys(W).length>0)_.metadata=W;return Object.keys(_).length>0?[_]:void 0}function OF(...$){let _={};for(let U of $){if(!U)continue;for(let[W,J]of Object.entries(U)){if(W in _)throw Error(`Duplicate filter path: ${W}`);_[W]=J}}return _}function $c($,_){let U=JSON.parse($);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((W)=>typeof W==="string"))return U;throw Error(`${_} filter JSON values must be string, string[], number, boolean, or null`)}function _c($,_){let U=$.indexOf("!=");if(U>0)return{path:$.slice(0,U),rawValue:$.slice(U+2),negated:!0};let W=$.indexOf("=");if(W<=0)throw Error(`Invalid ${_} filter, expected path=value or path!=value: ${$}`);return{path:$.slice(0,W),rawValue:$.slice(W+1),negated:!1}}var Uc=100;function KU($,_){if(!$)return _;let U=JSON.parse($);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function Jc($){if(!$?.length)return;let _={};for(let U of $){let W=U.indexOf("=");if(W===-1)throw Error(`Invalid header, expected name=value: ${U}`);_[U.slice(0,W)]=U.slice(W+1)}return _}function G0($){if($.createClient)return $.createClient();return new EF({store:new T5($.dataDir)})}function b1($,_,U){if(_)console.log(JSON.stringify($,null,2));else console.log(U)}function LF($,_){let U=$ instanceof Error?$.message:String($);if(_)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function NF($){return Boolean($?.json||$?.opts?.().json||$?.optsWithGlobals?.().json||$?.parent?.opts?.().json||$?.parent?.optsWithGlobals?.().json)}function E4($,_){return NF($)||NF(_)}function Wc($,_){let U=$.command(_.channelsCommandName??"channels").description("Manage Hasna event channels");return U.command("add").description("Add or replace a channel").argument("<target>","Webhook URL or command binary").requiredOption("--id <id>","Channel identifier").option("--transport <kind>","Transport kind: webhook or command","webhook").option("--name <name>","Display name").option("--type <pattern>","Event type filter, e.g. todos.task.*").option("--source <pattern>","Event source filter").option("--subject <pattern>","Event subject filter").option("--severity <pattern>","Event severity filter").option("--data <path=value...>","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",K1,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",K1,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",K1,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",K1,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",K1,[]).option("--arg <arg...>","Command argument",K1,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",xW).option("--retry-attempts <n>","Maximum delivery attempts",xW).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",xW).option("--redact <path...>","Event field path to redact before delivery",K1,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=new Date().toISOString(),Q={id:J.id,name:J.name,enabled:!J.disabled,transport:J.transport,filters:ed(J),retry:J.retryAttempts||J.retryBackoffMs?{maxAttempts:J.retryAttempts,backoffMs:J.retryBackoffMs}:void 0,redact:J.redact?.length?{paths:J.redact}:void 0,createdAt:G,updatedAt:G};if(J.transport==="webhook")Q.webhook={url:W,secret:J.secret,headers:Jc(J.header),timeoutMs:J.timeoutMs};else if(J.transport==="command")Q.command={command:W,args:J.arg??[],timeoutMs:J.timeoutMs};else throw Error(`Transport ${J.transport} is reserved for future use and cannot be added yet`);let Y=await G0(_).addChannel(Q);b1(KF(Y),E4(J,X),`Added ${Y.transport} channel ${Y.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await G0(_).listChannels();if(E4(W,J)){console.log(JSON.stringify(pd(X),null,2));return}if(!X.length){console.log("No channels configured.");return}for(let G of X)console.log(`${G.id} ${G.enabled?"enabled":"disabled"} ${G.transport} ${G.webhook?.url??G.command?.command??G.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(W,J)=>{let X=await Zd(_.dataDir);b1(X,E4(W,J),`events dataDir: ${X.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=await G0(_).removeChannel(W);b1({removed:G},E4(J,X),G?`Removed ${W}`:`Channel not found: ${W}`)}),U.command("test").description("Send a test event to one channel").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events test delivery").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=E4(J,X);try{let Q=await G0(_).testChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:KU(J.data,{test:!0}),metadata:KU(J.metadata,{})},{honorFilters:J.honorFilters});b1(Q,G,`${Q.status}: ${Q.channelId}`)}catch(Q){LF(Q,G)}}),U.command("match").description("Check whether a sample event matches one channel without delivering").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events match preview").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(W,J,X)=>{let G=E4(J,X);try{let Q=await G0(_).matchChannel(W,{source:J.source??_.source,type:J.type,subject:J.subject??W,message:J.message,data:KU(J.data,{test:!0}),metadata:KU(J.metadata,{})});b1(Q,G,`${Q.matched?"matched":"skipped"}: ${Q.channelId}`)}catch(Q){LF(Q,G)}}),U}function Xc($,_){let U=$.command(_.eventsCommandName??"events").description("Emit, list, and replay Hasna events");U.command("emit").description("Emit an event from this app").argument("<type>","Event type").option("--source <source>","Event source override").option("--subject <subject>","Event subject").option("--severity <severity>","Event severity","info").option("--message <message>","Event message").option("--dedupe-key <key>","Dedupe key").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(J,X,G)=>{let Q=await G0(_).emit({source:X.source??_.source,type:J,subject:X.subject,severity:X.severity,message:X.message,dedupeKey:X.dedupeKey,data:KU(X.data,{}),metadata:KU(X.metadata,{})},{deliver:X.deliver,dedupe:X.dedupe});b1(Q,E4(X,G),`${Q.deduped?"Deduped":"Emitted"} ${Q.event.id} to ${Q.deliveries.length} channel(s)`)});let W=_.defaultEventListLimit??Uc;return U.command("list").description("List recorded events").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--limit <n>",`Limit to the most recent <n> events (default ${W}; use 0 for all)`,xW,W).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await G0(_).listEvents();if(J.source)G=G.filter((Q)=>Q.source===J.source);if(J.type)G=G.filter((Q)=>Q.type===J.type);if(J.limit)G=G.slice(-J.limit);if(E4(J,X)){console.log(JSON.stringify(G,null,2));return}if(!G.length){console.log("No events recorded.");return}for(let Q of G)console.log(`${Q.time} ${Q.id} ${Q.source} ${Q.type} ${Q.severity}`)}),U.command("replay").description("Replay recorded events").option("--id <id>","Replay one event id").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--cursor <cursor>","Opaque replay cursor from a previous page").option("--limit <n>","Maximum events to replay",xW).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(J,X)=>{let G=await G0(_).replay({eventId:J.id,source:J.source,type:J.type,cursor:J.cursor,limit:J.limit,dryRun:J.dryRun});b1(G,E4(J,X),Gc(G.events.length,G.deliveries.length,G.nextCursor))}),U}function MF($,_){Wc($,_),Xc($,_)}function xW($){let _=Number($);if(!Number.isFinite(_))throw Error(`Expected a number, got ${$}`);return _}function K1($,_){return _.push($),_}function Gc($,_,U){let W=U?`, next cursor: ${U}`:"";return`Replayed ${$} event(s), ${_} delivery result(s)${W}`}import{basename as Yc}from"path";var M6={name:"@hasna/knowledge",version:"0.2.91",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs",build:"rm -rf dist && bun build --target=bun --outfile=bin/knowledge.js --minify --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/cli.ts && bun build --target=bun --outfile=bin/knowledge-mcp.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @modelcontextprotocol/sdk --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/mcp.js && bun build --target=bun --outfile=bin/knowledge-serve.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/serve-entry.ts && bun build ./src/index.ts ./src/storage.ts ./src/serve.ts --outdir ./dist --target bun --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek && bun scripts/strip-generated-trailing-whitespace.mjs && bunx tsc -p tsconfig.build.json",prepublishOnly:"bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. <hasna@example.com>",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.5.2","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};var IF={debug:0,info:1,warn:2,error:3},jc=()=>{if(process.env.DEBUG)return"debug";if(process.env.LOG_LEVEL==="debug")return"debug";if(process.env.LOG_LEVEL==="warn")return"warn";if(process.env.LOG_LEVEL==="error")return"error";return"info"};function M1($,_,U){if(IF[$]<IF[jc()])return;let W={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[$],J=U?`${W} ${_} ${JSON.stringify(U)}`:`${W} ${_}`;if($==="error")console.error(J);else console.error(J)}var fF=["events","webhooks"],CF=["add","list","get","delete","update","archive","restore","upsert","untag","export","prune","dedupe","stats","inventory","project-panel","paths","mode","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...fF],TF={ls:"list",rm:"delete",edit:"update",unarchive:"restore"};function Dc($){let _=new Set,U=[];for(let W of $){let J=W.toLowerCase();if(_.has(J))continue;_.add(J),U.push(W)}return U}function gF($,_){let U=new Set(($??[]).map((W)=>W.toLowerCase()));return _.filter((W)=>!U.has(W.toLowerCase()))}function kO($,_,U){if(U===void 0)return{...$,message:_};return{...$,added:U.length,message:`${_} (added ${U.length} tag${U.length===1?"":"s"})`}}function zc($,_){if(_===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>");let U=_.split(",").map((W)=>W.trim()).filter((W)=>W.length>0);if(U.length===0)throw Error(`Invalid --tag value ${JSON.stringify(_)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return Dc([...$??[],...U])}function qc($){let _=[],U={};for(let W=0;W<$.length;W+=1){let J=$[W];if(!J.startsWith("-")){_.push(J);continue}switch(J){case"--json":U.json=!0;break;case"--verbose":U.verbose=!0;break;case"--yes":case"-y":U.yes=!0;break;case"--help":case"-h":U.help=!0;break;case"--version":case"-v":U.version=!0;break;case"--desc":U.desc=!0;break;case"--page":case"-p":U.page=Number($[W+1]),W+=1;break;case"--limit":case"-l":U.limit=Number($[W+1]),W+=1;break;case"--search":case"-s":U.search=$[W+1],W+=1;break;case"--sort":U.sort=$[W+1],W+=1;break;case"--id":U.id=$[W+1],W+=1;break;case"--store":U.store=$[W+1],W+=1;break;case"--title":U.title=$[W+1],W+=1;break;case"--content":U.content=$[W+1],W+=1;break;case"--url":U.url=$[W+1],W+=1;break;case"--tag":case"-t":U.tag=zc(U.tag,$[W+1]),U.tagRaw=[...U.tagRaw??[],$[W+1]],W+=1;break;case"--format":U.format=$[W+1],W+=1;break;case"--completions":U.completions=$[W+1],W+=1;break;case"--purpose":U.purpose=$[W+1],W+=1;break;case"--model":U.model=$[W+1],W+=1;break;case"--strategy":U.strategy=$[W+1],W+=1;break;case"--dimensions":U.dimensions=Number($[W+1]),W+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number($[W+1]),W+=1;break;case"--max-items":U.maxItems=Number($[W+1]),W+=1;break;case"--from":U.from=$[W+1],W+=1;break;case"--since":U.since=$[W+1],W+=1;break;case"--topic":U.topic=$[W+1],W+=1;break;case"--dedupe":U.dedupe=!0;break;case"--generate":U.generate=!0;break;case"--approve-write":U.approveWrite=!0;break;case"--provider":U.provider=$[W+1],W+=1;break;case"--mode":U.mode=$[W+1],W+=1;break;case"--machine":U.machine=$[W+1],W+=1;break;case"--workspace":U.workspace=$[W+1],W+=1;break;case"--api-url":U.apiUrl=$[W+1],W+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=$[W+1],W+=1;break;case"--email":U.email=$[W+1],W+=1;break;case"--org":U.org=$[W+1],W+=1;break;case"--org-id":U.orgId=$[W+1],W+=1;break;case"--user-id":U.userId=$[W+1],W+=1;break;case"--owner":U.owner=$[W+1],W+=1;break;case"--approved-by":U.approvedBy=$[W+1],W+=1;break;case"--patch-uri":U.patchUri=$[W+1],W+=1;break;case"--domain":U.domain=[...U.domain??[],$[W+1]],W+=1;break;case"--file-results":U.fileResults=!0;break;case"--full":U.full=!0;break;case"--dry-run":U.dryRun=!0;break;case"--fake":U.fake=!0;break;case"--no-tailscale":U.tailscale=!1;break;case"--no-artifact-content":U.artifactContent=!1;break;case"--no-color":U.noColor=!0;break;case"--scope":U.scope=$[W+1],W+=1;break;case"--tables":U.tables=$[W+1],W+=1;break;case"--peer-workspace":U.peerWorkspace=$[W+1],W+=1;break;case"--older-than":U.olderThan=Number($[W+1]),W+=1;break;case"--empty":U.empty=!0;break;case"--archived":U.archived=!0;break;case"--include-archived":U.includeArchived=!0;break;case"--project":U.project=$[W+1],W+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],$[W+1]],W+=1;break;case"--allow-global":U.allowGlobal=!0;break;default:throw Error(`Unknown flag: ${J}. Run 'knowledge --help' for valid options.`)}}return{positional:_,flags:U}}function Oc($){if(!$)return"";return TF[$]??$}function Lc($,_){let U=Array.from({length:$.length+1},()=>Array(_.length+1).fill(0));for(let W=0;W<=$.length;W+=1)U[W][0]=W;for(let W=0;W<=_.length;W+=1)U[0][W]=W;for(let W=1;W<=$.length;W+=1)for(let J=1;J<=_.length;J+=1){let X=$[W-1]===_[J-1]?0:1;U[W][J]=Math.min(U[W-1][J]+1,U[W][J-1]+1,U[W-1][J-1]+X)}return U[$.length][_.length]}function Nc($){if(!$)return"";let _=[...CF,...Object.keys(TF)],U="",W=Number.POSITIVE_INFINITY;for(let J of _){let X=Lc($,J);if(X<W)W=X,U=J}return W<=3?U:""}function Bc(){return Yc(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Hc($){if(!fF.includes($[0]??""))return!1;let _=new WF;return _.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),MF(_,{source:"knowledge"}),await _.parseAsync($,{from:"user"}),!0}function Vc(){console.log(`knowledge - local agent knowledge store Usage: knowledge <command> [options] @@ -1336,7 +1336,7 @@ Export Options: Prune Options: --older-than <days> Remove items older than N days - --empty Remove items with empty content`)}function Bc($){if($==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] + --empty Remove items with empty content`)}function Rc($){if($==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] -t/--tag is repeatable and accepts comma-separated values: -t a -t b == -t "a,b"`);return}if($==="list"||$==="ls"){console.log(`Usage: knowledge list|ls [--format table|json] [-p <page>] [-l <limit>] [-s <search>] [-t <tag>]... [--sort created|title] [--desc] [--archived] [--include-archived] [--verbose] [--json] -t/--tag is repeatable and accepts comma-separated values; repeated -t narrows (an item must carry every tag). Each value matches an item carrying the whole value OR all of its comma-split names \u2014 a union, so @@ -1356,30 +1356,30 @@ Prune Options: Reports which backend this process would use \u2014 local (on-box store) or cloud (HTTP /v1) \u2014 and which env var selected it. Reads the environment only: no store is opened, no config file is read, and no request is made, so it is safe on a machine with no config and no network. - Selection is EXPLICIT-ONLY: set ${z2[0]}=local|cloud. Setting only - ${g5[0]} / ${JX[0]} does NOT switch backends; + Selection is EXPLICIT-ONLY: set ${C4[0]}=local|cloud. Setting only + ${gG[0]} / ${WX[0]} does NOT switch backends; those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`);return}if($==="setup"){console.log("Usage: knowledge setup --mode local|hosted [--api-url https://...] [--canonical-example] [--scope local|global|project] [--json]");return}if($==="auth"){console.log("Usage: knowledge auth login|whoami|logout [--api-key <key>] [--email <email>] [--org <slug>] [--api-url https://...] [--scope local|global|project] [--json]");return}if($==="storage"){console.log(`Usage: knowledge storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path [--approve-write --approved-by <name>] [--scope local|global|project] [--json] knowledge storage import-legacy [--dry-run] [--scope global] [--json]`);return}if($==="machines"){console.log("Usage: knowledge machines topology [--no-tailscale] | preflight [machine] [--workspace <repo>] [--scope local|global|project] [--verbose] [--json]");return}if($==="sync"){console.log(`Usage: knowledge sync status|doctor|readiness|snapshot|machines|conflicts [show|propose|resolve] [id] | dry-run|pull|push|sync|export|import [--peer-workspace <path>] [--machine <ssh-alias>] [--tables <names>] [--dry-run] [--limit <n>] [--approve-write] [--approved-by <name>] [--strategy <name>] [--mode deterministic|ai] [--model <alias|provider:model>] [--fake] [--no-tailscale] [--scope local|global|project] [--verbose] [--json] -Remote machine sync resolves peer paths through @hasna/machines when --peer-workspace is omitted.`);return}if($==="db"){console.log("Usage: knowledge db init|stats|storage status [--scope local|global|project] [--json]");return}if($==="wiki"){console.log("Usage: knowledge wiki init|compile|file-answer|lint [query|prompt] [--title <title>] [--content <answer>] [--approve-write] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="app-wiki"){console.log("Usage: knowledge app-wiki init | note add|get|list | source add <source-ref> | search <query> | query <query> [--title <title>] [--content <text>] [--tag <tag>] [--source-ref <uri>] [--scope project|local|global] [--allow-global] [--json]");return}if($==="source"){console.log("Usage: knowledge source resolve <source-ref> [--purpose knowledge_answer|knowledge_index] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="ingest"){console.log("Usage: knowledge ingest manifest <file|s3://bucket/key> | source <source-ref> | rules [--workspace <path>] [--owner <name>] [--dry-run] [--max-items <n>] [--limit <n>] [--purpose knowledge_index] [--scope local|global|project] [--json]");return}if($==="reindex"){console.log("Usage: knowledge reindex status|enqueue|embeddings|outbox [file|s3://bucket/key] [--full] [--fake] [--scope local|global|project] [--json]");return}if($==="search"){console.log("Usage: knowledge search <query> [--context] [--semantic] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="context"){console.log("Usage: knowledge context pack <query> [--from search|runs|loops] [--max-tokens <n>] [--max-items <n>] [--limit <n>] [--semantic] [--model openai:text-embedding-3-small] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="proposals"){console.log("Usage: knowledge proposals context --from loops --topic <text> [--since <duration|ISO>] [--dedupe] [--max-tokens <n>] [--max-items <n>] [--scope local|global|project] [--json]");return}if($==="web"){console.log("Usage: knowledge web search <query> [--provider openai|anthropic] [--model provider:model] [--domain <domain>] [--file-results] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="ask"||$==="build"){console.log("Usage: knowledge ask|build <prompt> [--generate] [--semantic] [--model default|provider:model] [--approve-write] [--scope local|global|project] [--verbose] [--json]");return}if($==="embeddings"){console.log("Usage: knowledge embeddings status|index|search [query] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="providers"){console.log("Usage: knowledge providers status|models|check [provider|model-alias] [--scope local|global|project] [--json]");return}if($==="safety"){console.log("Usage: knowledge safety status|check|approve|audit|redact [args] [--scope local|global|project] [--json]");return}if($==="events"){console.log("Usage: knowledge events emit|list|replay [args] [--json]");return}if($==="webhooks"){console.log("Usage: knowledge webhooks add|list|remove|test [args] [--json]");return}Nc()}function Hc($){if($.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function v($,_,U){if(_){console.log(JSON.stringify($,null,2));return}if(typeof $==="string"){console.log($);return}if(U?.verbose){console.log(JSON.stringify($,null,2));return}let W=$.message;console.log(W?`${W} -${E_()}`:Vc($))}function E_($="full details"){return`Hint: use --verbose for ${$}, or --json for machine-readable output.`}function b$($,_=120){let U=$===null||$===void 0?"":String($).replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Vc($){if(!$||typeof $!=="object")return String($);let _=$,U=[_.ok===!1?"Result: not ok":"Result: ok"];for(let[W,J]of Object.entries(_).slice(0,8)){if(W==="ok"||W==="message")continue;if(Array.isArray(J))U.push(`${W}: ${J.length} item(s)`);else if(J&&typeof J==="object")U.push(`${W}: ${Object.keys(J).length} field(s)`);else U.push(`${W}: ${b$(J,100)}`)}return U.push(E_()),U.join(` -`)}function Rc($){let _=$.mode==="cloud"?"cloud (HTTP /v1 API)":"local (on-box store)",U=$.source.kind==="env"?`selected by ${$.source.name}=${$.source.value}`:`default (no mode var set; set ${z2[0]}=cloud to use the API)`,W=[`Knowledge mode: ${_}`,` ${U}`];if($.pointer_env_present.length>0){let J=$.pointer_ignored?"present but IGNORED for mode selection":"present";W.push(` Pointer env ${J}: ${$.pointer_env_present.join(", ")}`)}if($.network_guard_active)W.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if($.warning)W.push(` Note: ${$.warning}`);return W.join(` -`)}function Ac($){return[`Knowledge paths (${$.scope})`,`Home: ${$.home}`,`SQLite: ${$.knowledge_db_path}`,`JSON store: ${$.json_store_path}`,`Wiki: ${$.wiki_dir}`,E_("config and all paths")].join(` -`)}function ME($){console.log(JSON.stringify($))}function Ec($){let _=$.summary,U=[`Knowledge inventory (${$.scope})`,`Home: ${$.home}`,`JSON store: ${$.paths.json_store_path}${$.paths.json_store_exists?"":" (missing)"}`,`SQLite catalog: ${$.paths.knowledge_db_path}`,`Summary: ${_.legacy_items} item(s), ${_.sources} source(s), ${_.chunks} chunk(s), ${_.wiki_pages} wiki page(s), ${_.indexes} index(es), ${_.storage_objects} artifact(s), ${_.runs} run(s)`],W=(J,X,G)=>{if(X.length===0)return;U.push("",`${J}:`);for(let Q of X.slice(0,$.limit))U.push(`- ${G(Q)}`)};return W("Items",$.items,(J)=>`${J.id}: ${J.title}`),W("Sources",$.sources,(J)=>`${J.kind??"source"} ${J.uri} (${J.chunks??0} chunk(s))`),W("Chunks",$.chunks,(J)=>`${J.kind??"chunk"} ${J.id}: ${J.text_preview??""}`),W("Wiki pages",$.wiki_pages,(J)=>`${J.path}: ${J.title}`),W("Indexes",$.indexes,(J)=>`${J.kind??"index"} ${J.name}${J.shard_key?` (${J.shard_key})`:""}`),W("Artifacts",$.storage_objects,(J)=>`${J.kind??"artifact"} ${J.artifact_uri}`),W("Runs",$.runs,(J)=>`${J.type??"run"} ${J.id}: ${J.status??"unknown"}`),W("Machines",$.machines,(J)=>`${J.machine_id}${J.workspace_home?` ${J.workspace_home}`:""}`),W("Sync conflicts",$.sync_conflicts,(J)=>`${J.id}: ${J.entity_kind}/${J.entity_id} ${J.status}`),U.join(` -`)}function Fc($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} search result(s) for "${b$($.query,80)}"${$.mode?.semantic?" (semantic enabled)":""}`];for(let W of _.slice(0,$.limit??10)){let J=W.source?.uri??W.provenance?.source_uri??W.artifact?.path??W.artifact?.uri??W.id,X=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${W.kind??"result"} ${b$(W.title??W.id,80)}${X}`),J)U.push(` source: ${b$(J,120)}`);if(W.text)U.push(` text: ${b$(W.text,180)}`)}if(_.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(E_("scores, provenance, and full result objects")),!$.context)U.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return U.join(` -`)}function Kc($){let _=Array.isArray($.excerpts)?$.excerpts:[],U=Array.isArray($.citations)?$.citations:[],W=[`${_.length} context excerpt(s) for "${b$($.query??$.normalized_query,80)}"`];for(let J of _.slice(0,10)){let X=U.find((Y)=>Y.id===J.citation_id||Y.result_id===J.result_id),G=X?.source_uri??X?.artifact_path??J.result_id,Q=typeof J.score==="number"?` score=${J.score.toFixed(3)}`:"";if(W.push(`- ${J.kind??"excerpt"} ${b$(J.id,44)}${Q}`),G)W.push(` source: ${b$(G,120)}`);W.push(` text: ${b$(J.text,220)}`)}return W.push(`Citations: ${U.length}`),W.push(E_("citations, graph, notes, and full excerpts")),W.join(` -`)}function bc($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} semantic result(s) for "${b$($.query,80)}"`,`Index: ${$.provider??"unknown"}:${$.model??"unknown"} (${$.dimensions??"?"} dimensions)`];for(let W of _.slice(0,$.limit??10)){let J=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${b$(W.chunk_id,44)}${J}`),W.source_uri)U.push(` source: ${b$(W.source_uri,120)}`);if(W.text)U.push(` text: ${b$(W.text,180)}`)}return U.push(E_("provenance and full vector result objects")),U.join(` -`)}function Mc($){let _=Array.isArray($.sources)?$.sources:[],U=[`${_.length} web source(s) for "${b$($.query,80)}"`,`Provider: ${$.provider??"unknown"}${$.model?` (${$.model})`:""}`];for(let W of _.slice(0,$.limit??10)){U.push(`- ${b$(W.title??W.url??W.uri??"source",100)}`);let J=W.url??W.uri??W.source_ref;if(J)U.push(` url: ${b$(J,140)}`);if(W.snippet)U.push(` snippet: ${b$(W.snippet,180)}`)}return U.push(E_("provider payloads and filed source refs")),U.join(` -`)}function Ic($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} machine(s) discovered via ${$.source??"unknown"}`,`Adapter: ${$.adapter?.package??"@hasna/machines"} ${$.adapter?.available?"available":"unavailable"}`];for(let W of _.slice(0,10)){let J=W.local?" local":"",X=W.tailscale_dns??W.ssh_target??W.hostname??"";U.push(`- ${b$(W.machine_id??W.id??"unknown",48)}${J}${X?` -> ${b$(X,80)}`:""}`)}if(_.length>10)U.push(`... ${_.length-10} more machine(s).`);if(Array.isArray($.warnings)&&$.warnings.length>0)U.push(`Warnings: ${$.warnings.slice(0,3).join("; ")}`);return U.push(E_("full topology, route hints, and adapter evidence")),U.join(` -`)}function gc($){let _=Array.isArray($.checks)?$.checks:[],U=_.filter((X)=>X.status==="fail"||X.severity==="fail"),W=_.filter((X)=>X.status==="warn"||X.severity==="warn"),J=[`Machine preflight ${$.ok?"passed":"needs attention"} for ${$.machine_id??$.requested_machine_id??"local"}`,`Checks: ${_.length} total, ${U.length} failed, ${W.length} warning(s)`];for(let X of[...U,...W].slice(0,8))J.push(`- ${X.status??X.severity??"check"} ${b$(X.id??X.kind??"check",72)}: ${b$(X.message??X.detail??"",140)}`);return J.push(E_("all checks and repair hints")),J.join(` -`)}function wc($){return[`Sync status (${$.scope??"scope"})`,`Schema: v${$.sqlite_schema_version??"unknown"}`,`Machines: ${$.machines?.total??0}; snapshots: ${$.snapshots?.total??0}; open conflicts: ${$.conflicts?.open??0}`,`Tables: ${Object.entries($.table_counts??{}).slice(0,8).map(([U,W])=>`${U}=${W}`).join(", ")||"none"}`,E_("registry rows, clocks, snapshots, imports, and conflicts")].join(` -`)}function kc($){let _=Array.isArray($.warnings)?$.warnings:[],U=Array.isArray($.recommended_commands)?$.recommended_commands:[],W=[$.message??`Sync readiness ${$.ok?"ok":"needs attention"}`,`Storage: ${$.storage?.validation?.ok?"ok":"needs attention"}; open-files: ${$.open_files?.ok?"ok":"needs attention"}; open conflicts: ${$.sync?.open_conflicts??0}`];if(_.length>0)W.push(`Warnings: ${_.slice(0,5).join("; ")}`);for(let J of U.slice(0,5))W.push(`- next: ${b$(J.shell_command??J.command?.join(" ")??J.id,160)}`);return W.push(E_("diagnostics, route evidence, and all recommended commands")),W.join(` -`)}function Pc($){let _=$.snapshot??{};return[`Sync snapshot ${$.ok?"recorded":"failed"}`,`Snapshot: ${b$(_.id??_.snapshot_id??"unknown",80)} ${_.content_hash?`(${b$(_.content_hash,80)})`:""}`,`Machines upserted: ${$.machines_upserted??0}; machine: ${$.machine_id??_.machine_id??"unknown"}`,E_("snapshot payload and topology evidence")].join(` -`)}function fc($){let _=Array.isArray($.conflicts)?$.conflicts:[],U=[`${_.length} sync conflict(s)`];for(let W of _.slice(0,10))U.push(`- ${b$(W.id,48)} ${W.status??"unknown"} ${W.entity_kind??""}/${b$(W.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(E_("full conflict objects")),U.join(` -`)}function Cc($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} registered sync machine(s)`];for(let W of _.slice(0,10))U.push(`- ${b$(W.machine_id,48)} ${b$(W.hostname??W.workspace_home??"",100)}`);return U.push(E_("machine registry rows")),U.join(` -`)}function IE($,_){let U=[`Sync ${_} ${$.ok===!1?"needs attention":"completed"}${$.dry_run?" (dry run)":""}`],W=(J,X)=>{if(!X)return;let Q=(Array.isArray(X.tables)?X.tables:[]).reduce((O,B)=>O+(B.inserted??0)+(B.updated??0)+(B.deleted??0),0),Y=X.artifacts?.copied??0,j=Array.isArray(X.errors)?X.errors.length:0;U.push(`${J}: ${Q} table row change(s), ${Y} artifact(s), ${j} error(s)`)};if(W("pull",$.pull),W("push",$.push),Array.isArray($.errors)&&$.errors.length>0)U.push(`Errors: ${$.errors.slice(0,3).map((J)=>b$(J,120)).join("; ")}`);return U.push(E_("per-table rows, artifacts, clocks, and errors")),U.join(` -`)}function Tc($){let _=Array.isArray($.citations)?$.citations:[],U=Array.isArray($.context?.excerpts)?$.context.excerpts:Array.isArray($.excerpts)?$.excerpts:[],W=[$.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${_.length}; excerpts: ${U.length}`];if($.answer)W.push(`Answer: ${b$($.answer,500)}`);for(let J of _.slice(0,5))W.push(`- ${b$(J.source_uri??J.ref??J.id,120)}`);return W.push(E_("full answer payload, context, citations, and run ledger")),W.join(` -`)}function Sc($,_){return[`Export preview: ${$.length} item(s) available`,"Default output is compact to avoid terminal/context bloat.","Use --verbose or --json for a JSON object, or --format jsonl for newline-delimited records.",_!=="json"?`Requested format: ${_}`:""].filter(Boolean).join(` -`)}function gE($){return!$||$==="local"||$==="localhost"}function mW($){if(!$.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Zc($,_){let U=_.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let W=[...$].sort((J,X)=>{if(U==="title")return J.title.localeCompare(X.title);return J.created_at.localeCompare(X.created_at)});if(_.desc)W.reverse();return{sorted:W,sort:U,direction:_.desc?"desc":"asc"}}async function vc($){if(await Lc($))return;let{positional:_,flags:U}=jc($);if(b1("debug","CLI invoked",{command:_[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:M6.name,version:M6.version},null,2):`${M6.name} ${M6.version}`);return}if(U.completions){let L=U.completions;if(L==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(L==="zsh")console.log(`#compdef knowledge -_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"{local,hosted}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"{local,global,project}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`);else if(L==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables');else throw Error("Invalid --completions value. Use 'bash', 'zsh', or 'fish'.");return}let W=Dc(_[0]),J=1,X=_.length>1||/\s/.test(W);if(Oc()&&W&&!kE.includes(W)&&X)W="ask",J=0;if(!W||U.help||W==="help"){let L=W==="help"?_[1]:W||_[1];Bc(L);return}if(W==="mode"){let L=qN(process.env);v(U.json||U.verbose?{ok:!0,...L}:Rc(L),U.json,U);return}let G=W==="project-panel"||W==="app-wiki"?U.scope??"project":U.scope,Q=EG({scope:G});if(W==="storage"){let L=_[1]??"status";if(L==="import-legacy"){if(U.scope&&U.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let N=tG({dryRun:U.dryRun});if(v(N,U.json),!N.ok)process.exitCode=1;return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}}let Y=Boolean(U.store),j=U.store;if(!j)if(G==="project"||G==="local")j=Q.workspace.jsonStorePath;else j=nW();if(!Y&&(W==="ask"||W==="build")&&!C4())kU(j);let O=GX({storePath:j,storePathOverridden:Y});if(W==="inventory"){let L=await Q.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:C4()?void 0:j});v(U.json||U.verbose?L:Ec(L),U.json,U);return}if(W==="project-panel"){let L=U.project??_[1];if(!L)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let N=await PA(L,{service:Q,limit:U.limit,storePath:C4()?void 0:j,includeArchived:U.includeArchived||U.archived});v(U.json||U.contract?N:fA(N),U.json||U.contract);return}if(W==="paths"){let L=Q.paths();v(U.json||U.verbose?L:Ac(L),U.json,U);return}if(W==="setup"){let L=Q.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});v(L,U.json,U);return}if(W==="auth"){let L=_[1]??"whoami";if(L==="whoami"||L==="status"){let N=Q.authStatus(process.env);v({ok:!0,...N,message:N.authenticated?`Authenticated via ${N.source}`:"Not authenticated"},U.json,U);return}if(L==="login"){let N=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!N)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let H=Q.saveAuth({apiKey:N,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);v({ok:!0,authenticated:!0,email:H.email??null,org_slug:H.org_slug??null,api_url:H.api_url??Q.authStatus(process.env).api_url,auth_path:Q.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${H.email??"API key"}`},U.json,U);return}if(L==="logout"){let N=Q.clearAuth(process.env);v({ok:!0,removed:N,message:N?"Removed hosted credentials":"No hosted credentials found"},U.json,U);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(W==="storage"){let L=_[1]??"status";if(L==="status"){let N=Q.storageContract(),H=Q.validateStorage();v({ok:H.ok,...N,validation:H,message:`${N.storage_type} artifact storage at ${N.artifact_store.uri_prefix}`},U.json,U);return}if(L==="validate"){let N=Q.validateStorage();if(v({ok:N.ok,validation:N,message:N.ok?"Storage contract valid":`Storage contract invalid: ${N.errors.join("; ")}`},U.json,U),!N.ok)process.exitCode=1;return}if(L==="repair-artifact-keys"||L==="repair-keys"){let N=Q.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});v(N,U.json,U);return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid storage action. Use 'status', 'validate', 'repair-artifact-keys', 'migrate-legacy-path', 'merge-legacy-path', or 'import-legacy'.")}if(W==="machines"){let L=_[1]??"topology";if(L==="topology"||L==="status"){let N=await Q.machineTopology({includeTailscale:U.tailscale!==!1});v(U.json||U.verbose?N:Ic(N),U.json,U);return}if(L==="preflight"||L==="check"){let N=_[2]??U.machine??"local",H=U.workspace??process.cwd(),R=await Q.machinePreflight({machineId:N,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:M6.name,command:"knowledge",expectedVersion:M6.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:H,expectedPackageName:M6.name,expectedVersion:M6.version,required:!0}]});if(v(U.json||U.verbose?R:gc(R),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(W==="sync"){let L=_[1]??"status",N=U.tables?U.tables.split(",").map((H)=>H.trim()).filter(Boolean):void 0;if(L==="status"){let H=Q.syncStatus();v(U.json||U.verbose?H:wc(H),U.json,U);return}if(L==="doctor"||L==="readiness"||L==="preflight"){let H=await Q.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:N}),R={package:{name:M6.name,version:M6.version},...H};if(v(U.json||U.verbose?R:kc(R),U.json,U),!H.ok&&!U.json)process.exitCode=1;return}if(L==="snapshot"||L==="record"){let H=await Q.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});v(U.json||U.verbose?H:Pc(H),U.json,U);return}if(L==="conflicts"||L==="conflict"){let H=_[2];if(H==="show"||H==="get"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts show <id>");let M=Q.syncConflict(A);v({ok:!0,conflict:M,message:`Sync conflict ${A}`},U.json,U);return}if(H==="propose"||H==="proposal"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts propose <id>");v(U.mode==="ai"?await Q.proposeSyncConflictResolutionWithAi({id:A,modelRef:U.model,fake:U.fake}):Q.proposeSyncConflictResolution(A),U.json,U);return}if(H==="resolve"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let M=Q.resolveSyncConflict({id:A,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(v(M,U.json,U),!M.ok&&!U.json)process.exitCode=1;return}let R=Q.syncConflicts({status:H,limit:U.limit}),E={ok:!0,conflicts:R,message:`${R.length} sync conflict(s)`};v(U.json||U.verbose?E:fc(E),U.json,U);return}if(L==="machines"||L==="registry"){let H=Q.syncMachines(),R={ok:!0,machines:H,message:`${H.length} registered sync machine(s)`};v(U.json||U.verbose?R:Cc(R),U.json,U);return}if(L==="export"){let H=Q.exportSyncBundle({machineId:U.machine??null,tables:N,includeArtifactContent:U.artifactContent!==!1});v(H,!0);return}if(L==="import"){let H=await Bun.stdin.text();if(!H.trim())throw Error("Usage: knowledge sync import < bundle.json");let R=await Q.importSyncBundle({bundle:JSON.parse(H),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});v(U.json||U.verbose?R:IE(R,L),U.json,U);return}if(L==="dry-run"||L==="pull"||L==="push"||L==="sync"){if(!U.peerWorkspace&&gE(U.machine))throw Error(`Usage: knowledge sync ${L} --peer-workspace <repo-or-knowledge-home> [--scope project] -Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let H=L==="dry-run"?"both":L==="sync"?"both":L,R=!gE(U.machine)?await Q.syncRemotePeer({direction:H,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:N,dryRun:U.dryRun===!0||L==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await Q.syncPeer({peerWorkspace:U.peerWorkspace,direction:H,dryRun:U.dryRun===!0||L==="dry-run",tables:N,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(v(U.json||U.verbose?R:IE(R,L),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid sync action. Use 'status', 'doctor', 'snapshot', 'conflicts', 'machines', 'dry-run', 'pull', 'push', 'sync', 'export', or 'import'.")}if(W==="db"){let L=_[1]??"init";if(L==="init"){let N=Q.initDb();v({ok:!0,...N,message:`Initialized ${N.path}`},U.json,U);return}if(L==="stats"){let N=Q.dbStats();v({ok:!0,path:Q.workspace.knowledgeDbPath,...N,message:`knowledge.db schema v${N.schema_version}`},U.json,U);return}if(L==="storage"){if((_[2]??"status")==="status"){let H=LO({scope:U.scope});v({ok:!0,...H,message:`knowledge.db storage mode ${H.mode}${H.activeEnv?` via ${H.activeEnv}`:""}`},U.json,U);return}throw Error("Invalid db storage action. Only 'status' is supported. The 'push'/'pull'/'sync' Postgres sync commands were removed (DSN-on-client is forbidden); use the cloud API flip instead.")}throw Error("Invalid db action. Use 'init', 'stats', or 'storage'.")}if(W==="app-wiki"){let L=_[1]??"init";if(L==="paths"||L==="status"){v({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...Q.paths()},U.json);return}if(L==="init"||L==="open"){let N=await Q.initAppWiki({allowGlobal:U.allowGlobal});v(N,U.json);return}if(L==="note"||L==="notes"){let N=_[2]??"list";if(N==="add"||N==="create"){let H=U.title??_[3],R=U.content??_.slice(4).join(" ");if(!H||!R)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let E=await Q.addAppWikiNote({title:H,content:R,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});v(E,U.json);return}if(N==="list"||N==="ls"){let H=Q.listAppWikiNotes({limit:U.limit});v({ok:!0,scope:Q.scope,home:Q.workspace.home,notes:H,message:`${H.length} app wiki note(s)`},U.json);return}if(N==="get"||N==="show"){let H=_[3]??U.id;if(!H)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let R=await Q.getAppWikiNote(H,{includeContent:!0});if(!R)throw Error(`App wiki note not found: ${H}`);v(R,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(L==="source"||L==="sources"){let N=_[2]??"add";if(N!=="add"&&N!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let H=_[3]??U.sourceRef?.[0];if(!H)throw Error("Usage: knowledge app-wiki source add <source-ref>");let R=await Q.addAppWikiSourceRef({sourceRef:H,purpose:U.purpose,allowGlobal:U.allowGlobal});v({ok:!0,...R,message:`Added app wiki source ${R.source_ref}`},U.json);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki search <query>");let H=await Q.searchAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.results.length} app wiki result(s)`},U.json);return}if(L==="query"||L==="context"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki query <query>");let H=await Q.queryAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(W==="wiki"){let L=_[1]??"init";if(L==="init"){let N=await Q.initWiki();v({ok:!0,...N,message:`Initialized wiki layout in ${Q.workspace.home}`},U.json,U);return}if(L==="compile"){let N=_.slice(2),H=N.filter((A)=>/^(open-files|file|s3|https?):\/\//.test(A)),R=N.filter((A)=>!/^(open-files|file|s3|https?):\/\//.test(A)).join(" "),E=await Q.compileWiki({title:U.title,query:R||U.search,sourceRefs:H.length>0?H:void 0,limit:U.limit});v({ok:!0,...E,message:`Compiled wiki page ${E.path}`},U.json,U);return}if(L==="file-answer"||L==="answer"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!U.content)throw Error("Missing --content <answer> for wiki file-answer.");let H=await Q.fileAnswer({prompt:N,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H},U.json,U);return}if(L==="lint"){let N=Q.lintWiki();v({ok:N.ok,...N,message:N.ok?"Wiki lint passed":`Wiki lint found ${N.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(W==="safety"){let L=_[1]??"status",N=Q.ensureWorkspace(),H=Q.safetyPolicy();Q.initDb();let R=d(N.knowledgeDbPath);try{if(L==="status"){v({ok:!0,mode:H.mode,workspace:N.home,allow_write_roots:H.allowWriteRoots,read_only_source_access:H.readOnlySourceAccess,network:H.network,redaction:H.redaction,approvals:H.approvals,message:`Safety policy: ${H.mode}`},U.json,U);return}if(L==="check"){let E=_[2]??"generated_write",A=_[3]??null,M;try{if(E==="web_search")L2(H),M={action:E,target_uri:A,approval_required:!1,approved:!0,decision:"allow"};else if(E==="s3_read"){if(!A)throw Error("safety check s3_read requires an s3:// target.");Z4(A,H),M={action:E,target_uri:A,approval_required:!1,approved:!0,decision:"allow"}}else M=nN(R,H,E,A);a$(R,{event_type:"safety_check",action:E,target_uri:A,decision:M.decision==="allow"?"allow":"requires_approval",metadata:M}),v({ok:!0,...M,message:`Safety check ${M.decision}`},U.json,U);return}catch(K){throw a$(R,{event_type:"safety_check",action:E,target_uri:A,decision:"deny",metadata:{error:K instanceof Error?K.message:String(K)}}),K}}if(L==="approve"){let E=_[2]??"generated_write",A=_[3]??null,M=cN(R,{action:E,target_uri:A,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});a$(R,{event_type:"approval",action:E,target_uri:A,decision:"allow",metadata:{approval_id:M.id}}),v({ok:!0,...M,action:E,target_uri:A,message:`Approved ${E}`},U.json,U);return}if(L==="audit"){let E=R.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((A)=>({id:A.id,event_type:A.event_type,action:A.action,target_uri:A.target_uri,decision:A.decision,metadata:JSON.parse(A.metadata_json),created_at:A.created_at}));v({ok:!0,events:E,message:`${E.length} audit event(s)`},U.json,U);return}if(L==="redact"){let E=_.slice(2).join(" ");if(!E)throw Error("Usage: knowledge safety redact <text>");let A=w_(E,H);if(A.findings.length>0)DX(R,{source_uri:"safety://redact",findings:A.findings,metadata:{command:"safety redact"}});a$(R,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:A.findings.length>0?"redacted":"allow",metadata:{findings:A.findings.length}}),v({ok:!0,text:A.text,findings:A.findings,message:`Redacted ${A.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{R.close()}}if(W==="source"){if((_[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let N=_[2];if(!N)throw Error("Usage: knowledge source resolve <source-ref>");let H=await Q.resolveSource(N,{purpose:U.purpose,limit:U.limit});v({ok:!0,...H,message:H.resolved?`Resolved ${H.source_ref} (${H.content.chunks_returned}/${H.content.chunks_total} chunks)`:`Source not indexed: ${N}`},U.json,U);return}if(W==="ingest"){let L=_[1]??"";if(L==="rules"||L==="global-rules"||L==="agent-rules"){let N=await Q.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});v({ok:!0,...N},U.json);return}if(L==="manifest"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let H=await Q.ingestManifest(N);v({ok:!0,...H,message:`Ingested ${H.items_seen} manifest item(s)`},U.json,U);return}if(L==="source"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest source <source-ref>");let H=await Q.ingestSource(N,U.purpose);v({ok:!0,...H,message:`Ingested source ${H.source_ref} (${H.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(W==="reindex"){let L=_[1]??"status";if(L==="status"){let N=Q.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`${N.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(L==="enqueue"){let N=Q.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Queued ${N.enqueued} embedding refresh item(s)`},U.json,U);return}if(L==="embeddings"){let N=await Q.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="outbox"){let N=_[2];if(!N)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let H=await Q.consumeOutbox(N);v({ok:!0,...H,message:`Consumed ${H.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(W==="embeddings"){let L=_[1]??"status";if(L==="status"){let N=Q.embeddingStatus();v({ok:!0,...N,message:`${N.total_vector_entries} vector index entries`},U.json,U);return}if(L==="index"){let N=await Q.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge embeddings search <query>");let H=await Q.semanticSearch({query:N,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),R={ok:!0,...H,message:`${H.results.length} semantic result(s)`};v(U.json||U.verbose?R:bc(R),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(W==="context"){if((_[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let N=U.from??"search";if(!["search","loops","runs"].includes(N))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let H=_.slice(2).join(" ")||U.topic||"",R=await Q.contextPack({source:N,purpose:N==="loops"||N==="runs"?"proposal":"agent_context",query:H,topic:U.topic,since:U.since,dedupe:U.dedupe,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j});ME({ok:!0,...R,message:R.message});return}if(W==="proposals"){if((_[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let N=U.from??"loops";if(!["loops","runs"].includes(N))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let H=U.topic??_.slice(2).join(" ");if(!H.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let R=await Q.contextPack({source:N,purpose:"proposal",query:H,topic:H,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});ME({ok:!0,...R,message:R.message});return}if(W==="search"){let L=_.slice(1).join(" ");if(!L)throw Error("Usage: knowledge search <query>");if(U.context){let R=await Q.retrieveContext({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),E={ok:!0,...R,message:`${R.excerpts.length} context excerpt(s)`};v(U.json||U.verbose?E:Kc(E),U.json,U);return}let N=await Q.search({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),H={ok:!0,...N,message:`${N.results.length} search result(s)`};v(U.json||U.verbose?H:Fc(H),U.json,U);return}if(W==="web"){if((_[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge web search <query>");let H=await Q.webSearch({query:N,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),R={ok:!0,...H,message:`${H.sources.length} web source(s)`};v(U.json||U.verbose?R:Mc(R),U.json,U);return}if(W==="ask"||W==="build"){let L=_.slice(J).join(" ");if(!L)throw Error("Usage: knowledge ask <prompt>");let N=await Q.runPrompt({prompt:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:j}),H={ok:!0,...N,message:N.generated?"Generated answer with citations":"Prepared citation context draft"};v(U.json||U.verbose?H:Tc(H),U.json,U);return}if(W==="providers"){let L=_[1]??"status";if(L==="status"){let N=Q.providerStatus(),H=N.providers.filter((R)=>R.configured).length;v({ok:!0,...N,message:`${H}/${N.providers.length} provider credential(s) configured`},U.json,U);return}if(L==="models"){let N=Q.modelRegistry();v({ok:!0,models:N,message:`${N.length} model alias(es)`},U.json,U);return}if(L==="check"){let N=_[2]??"default",H=z6(N,Q.config()),R=j_(H),E=k0(R.provider,Q.config());v({ok:!0,target:N,model_ref:H,provider:R.provider,model:R.model,credential:E,message:`${R.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(W==="add"){let L=_[1],N=_[2];if(!L||!N)throw Error("Usage: knowledge add <title> <content>");let H=await O.create({title:L,content:N,url:U.url??null,tags:U.tag??[]});b1("info","Item added",{id:H.id,title:H.title,tags:H.tags?.length??0,transport:O.kind}),v({ok:!0,item:H,message:`Added ${H.id}`},U.json,U);return}if(W==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");let L=await O.listAll(),N=Number.isFinite(U.page)&&U.page>0?U.page:1,H=Number.isFinite(U.limit)&&U.limit>0?U.limit:20,R=U.search?String(U.search).toLowerCase():"",E=(U.tagRaw??U.tag??[]).map((O$)=>({whole:O$.trim().toLowerCase(),parts:O$.split(",").map((Y_)=>Y_.trim().toLowerCase()).filter((Y_)=>Y_.length>0)})),A=U.tag?.length?U.tag.map((O$)=>O$.toLowerCase()).join(","):"none",M=U.format==="table"||!U.json&&!U.format&&Hc(U),K=U.json||U.format==="json",I=L.items;if(U.archived)I=I.filter((O$)=>O$.archived===!0);else if(!U.includeArchived)I=I.filter((O$)=>!O$.archived);if(R)I=I.filter((O$)=>O$.title.toLowerCase().includes(R)||O$.content.toLowerCase().includes(R));if(E.length>0)I=I.filter((O$)=>{let Y_=new Set((O$.tags??[]).map((t$)=>t$.toLowerCase()));return E.every(({whole:t$,parts:d$})=>t$.length>0&&Y_.has(t$)||d$.every((W_)=>Y_.has(W_)))});let{sorted:Z,sort:k,direction:i}=Zc(I,U),r$=(N-1)*H,f$=Z.slice(r$,r$+H),p$=Math.max(1,Math.ceil(Z.length/H)),J_={ok:!0,page:N,limit:H,total:Z.length,total_pages:p$,sort:k,direction:i,items:f$,store_exists:L.exists};if(K){v(J_,!0);return}if(U.verbose){v(J_,!1,U);return}if(f$.length===0){v(`No items found (search=${R||"none"}, tag=${A})`,!1);return}if(M){let O$=(t$)=>t$,Y_=`${O$("ID")} ${O$("TITLE")} ${O$("CREATED")} ${O$("URL")} ${O$("TAGS")}`;console.log(Y_);for(let t$ of f$)console.log(`${t$.id} ${O$(b$(t$.title,80))} ${t$.created_at} ${t$.url?O$(b$(t$.url,90)):""} ${t$.tags?.length?O$(b$(`[${t$.tags.join(", ")}]`,80)):""}`);console.log(`Page ${N}/${p$} | showing ${f$.length} of ${Z.length} | sort=${k} ${i} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let O$ of f$)console.log(`${O$.id} ${b$(O$.title,80)} ${O$.created_at}${O$.url?` ${b$(O$.url,90)}`:""}${O$.tags?.length?` ${b$(`[${O$.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${N}/${p$} | showing ${f$.length} of ${Z.length} | sort=${k} ${i} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(W==="get"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);v({ok:!0,item:L,store_exists:O.exists,message:`${L.id}: ${L.title}`},U.json,U);return}if(W==="update"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N={};if(U.title!==void 0)N.title=U.title;if(U.content!==void 0)N.content=U.content;if(U.url!==void 0)N.url=U.url;let H;if(U.tag!==void 0){if(H=bE(L.tags,U.tag),H.length>0)N.tags=[...L.tags??[],...H]}let R=await O.update(L.id,N);v(kO({ok:!0,item:R},`Updated ${R?.id??L.id}`,H),U.json,U);return}if(W==="archive"||W==="restore"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=await O.update(L.id,{archived:W==="archive"});v({ok:!0,item:N,message:`${W==="archive"?"Archived":"Restored"} ${N?.id??L.id}`},U.json,U);return}if(W==="untag"){if(mW(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=L.tags??[],H=new Set(N.map((k)=>k.toLowerCase())),R=new Set;for(let k of U.tagRaw??U.tag){let i=k.trim().toLowerCase();if(i.length>0&&H.has(i)){R.add(i);continue}for(let r$ of k.split(",").map((f$)=>f$.trim().toLowerCase()).filter((f$)=>f$.length>0))R.add(r$)}let E=N.filter((k)=>!R.has(k.toLowerCase())),A=N.length-E.length,M=[...R].filter((k)=>!H.has(k));if(A===0)throw Error(`No matching tag on ${L.id}: ${M.map((k)=>JSON.stringify(k)).join(", ")} not in [${N.map((k)=>JSON.stringify(k)).join(", ")}]`);let K=await O.update(L.id,{tags:E}),I=M.length>0?` (not found: ${M.map((k)=>JSON.stringify(k)).join(", ")})`:"",Z={ok:!0,item:K,removed:A,message:`Removed ${A} tag${A===1?"":"s"} from ${K?.id??L.id}${I}`};if(M.length>0)Z.not_found=M;v(Z,U.json,U);return}if(W==="upsert"){let L=U.title??_[1],N=U.content??_[2],H=U.id?await O.get(U.id):null;if(!H){if(!L||!N)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let M=await O.create({id:U.id,title:L,content:N,url:U.url??null,tags:U.tag??[]});v(kO({ok:!0,created:!0,item:M},`Upserted ${M.id}`,U.tag),U.json,U);return}let R={};if(L!==void 0)R.title=L;if(N!==void 0)R.content=N;if(U.url!==void 0)R.url=U.url;let E;if(U.tag!==void 0){if(E=bE(H.tags,U.tag),E.length>0)R.tags=[...H.tags??[],...E]}let A=await O.update(H.id,R);v(kO({ok:!0,created:!1,item:A},`Upserted ${A?.id??H.id}`,E),U.json,U);return}if(W==="delete"){if(mW(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await O.delete(U.id))throw Error(`Item not found: ${U.id}`);b1("info","Item deleted",{id:U.id,transport:O.kind}),v({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(W==="export"){let L=U.format??"json";if(L!=="json"&&L!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let N=await O.listAll();if(L==="jsonl")for(let H of N.items)console.log(JSON.stringify(H));else if(U.json||U.format==="json"||U.verbose)v({ok:!0,items:N.items,store_exists:N.exists},U.json||U.format==="json",U);else v(Sc(N.items,L),!1);return}if(W==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:L}=await O.listAll(),N=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,H=L.filter((A)=>N!==null&&new Date(A.created_at)<N||U.empty&&A.content.trim().length===0),R=await O.deleteMany(H.map((A)=>A.id)),E=L.length-R;b1("info","Prune completed",{pruned:R,remaining:E,transport:O.kind}),v({ok:!0,pruned:R,remaining:E,message:`Pruned ${R} item(s)`},U.json,U);return}if(W==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:L}=await O.listAll(),N=new Set,H=[];for(let A of L){let M=`${A.title}\x00${A.content}`;if(N.has(M))H.push(A);else N.add(M)}let R=await O.deleteMany(H.map((A)=>A.id)),E=L.length-R;b1("info","Dedupe completed",{removed:R,remaining:E,transport:O.kind}),v({ok:!0,removed:R,remaining:E,message:`Dedupe removed ${R} duplicate(s)`},U.json,U);return}if(W==="stats"){let L=await O.listAll(),N=L.items.filter((k)=>!k.archived),H=N.length,R=L.items.length-H,E=N.filter((k)=>k.url).length,A=N.filter((k)=>k.tags&&k.tags.length>0).length,M=H>0?N.map((k)=>k.created_at).sort()[0]:null,K=H>0?N.map((k)=>k.created_at).sort()[H-1]:null,I={};for(let k of N)for(let i of k.tags||[])I[i]=(I[i]||0)+1;let Z=Object.entries(I).sort((k,i)=>i[1]-k[1]).slice(0,5).map(([k,i])=>({tag:k,count:i}));v({ok:!0,total:H,archived:R,with_url:E,with_tags:A,oldest:M,newest:K,top_tags:Z,store_exists:L.exists,message:`${H} items | ${E} with URL | ${A} with tags`},U.json,U);return}let B=qc(_[0]),V=B?` Did you mean '${B}'?`:"";throw b1("warn","Unknown command",{input:_[0],suggestion:B}),Error(`Unknown command: ${_[0]}.${V} Run 'knowledge --help' for available commands.`)}function yc($,_){let U=$ instanceof Error?$.message:String($);if(b1("debug","CLI error",{message:U,stack:$ instanceof Error?$.stack:void 0}),console.error(`Error: ${U}`),_.includes("--json"))v({ok:!1,error:U,message:U},!0);process.exitCode=1}if(import.meta.main){let $=process.argv.slice(2);vc($).catch((_)=>yc(_,$))}export{qc as suggestCommand,Zc as sortItems,vc as run,jc as parseArgs,yc as emitCliError}; +Remote machine sync resolves peer paths through @hasna/machines when --peer-workspace is omitted.`);return}if($==="db"){console.log("Usage: knowledge db init|stats|storage status [--scope local|global|project] [--json]");return}if($==="wiki"){console.log("Usage: knowledge wiki init|compile|file-answer|lint [query|prompt] [--title <title>] [--content <answer>] [--approve-write] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="app-wiki"){console.log("Usage: knowledge app-wiki init | note add|get|list | source add <source-ref> | search <query> | query <query> [--title <title>] [--content <text>] [--tag <tag>] [--source-ref <uri>] [--scope project|local|global] [--allow-global] [--json]");return}if($==="source"){console.log("Usage: knowledge source resolve <source-ref> [--purpose knowledge_answer|knowledge_index] [--limit <n>] [--scope local|global|project] [--json]");return}if($==="ingest"){console.log("Usage: knowledge ingest manifest <file|s3://bucket/key> | source <source-ref> | rules [--workspace <path>] [--owner <name>] [--dry-run] [--max-items <n>] [--limit <n>] [--purpose knowledge_index] [--scope local|global|project] [--json]");return}if($==="reindex"){console.log("Usage: knowledge reindex status|enqueue|embeddings|outbox [file|s3://bucket/key] [--full] [--fake] [--scope local|global|project] [--json]");return}if($==="search"){console.log("Usage: knowledge search <query> [--context] [--semantic] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="context"){console.log("Usage: knowledge context pack <query> [--from search|runs|loops] [--max-tokens <n>] [--max-items <n>] [--limit <n>] [--semantic] [--model openai:text-embedding-3-small] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="proposals"){console.log("Usage: knowledge proposals context --from loops --topic <text> [--since <duration|ISO>] [--dedupe] [--max-tokens <n>] [--max-items <n>] [--scope local|global|project] [--json]");return}if($==="web"){console.log("Usage: knowledge web search <query> [--provider openai|anthropic] [--model provider:model] [--domain <domain>] [--file-results] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="ask"||$==="build"){console.log("Usage: knowledge ask|build <prompt> [--generate] [--semantic] [--model default|provider:model] [--approve-write] [--scope local|global|project] [--verbose] [--json]");return}if($==="embeddings"){console.log("Usage: knowledge embeddings status|index|search [query] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if($==="providers"){console.log("Usage: knowledge providers status|models|check [provider|model-alias] [--scope local|global|project] [--json]");return}if($==="safety"){console.log("Usage: knowledge safety status|check|approve|audit|redact [args] [--scope local|global|project] [--json]");return}if($==="events"){console.log("Usage: knowledge events emit|list|replay [args] [--json]");return}if($==="webhooks"){console.log("Usage: knowledge webhooks add|list|remove|test [args] [--json]");return}Vc()}function Ac($){if($.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function v($,_,U){if(_){console.log(JSON.stringify($,null,2));return}if(typeof $==="string"){console.log($);return}if(U?.verbose){console.log(JSON.stringify($,null,2));return}let W=$.message;console.log(W?`${W} +${F_()}`:Fc($))}function F_($="full details"){return`Hint: use --verbose for ${$}, or --json for machine-readable output.`}function b$($,_=120){let U=$===null||$===void 0?"":String($).replace(/\s+/g," ").trim();if(U.length<=_)return U;return`${U.slice(0,Math.max(0,_-3))}...`}function Fc($){if(!$||typeof $!=="object")return String($);let _=$,U=[_.ok===!1?"Result: not ok":"Result: ok"];for(let[W,J]of Object.entries(_).slice(0,8)){if(W==="ok"||W==="message")continue;if(Array.isArray(J))U.push(`${W}: ${J.length} item(s)`);else if(J&&typeof J==="object")U.push(`${W}: ${Object.keys(J).length} field(s)`);else U.push(`${W}: ${b$(J,100)}`)}return U.push(F_()),U.join(` +`)}function Ec($){let _=$.mode==="cloud"?"cloud (HTTP /v1 API)":"local (on-box store)",U=$.source.kind==="env"?`selected by ${$.source.name}=${$.source.value}`:`default (no mode var set; set ${C4[0]}=cloud to use the API)`,W=[`Knowledge mode: ${_}`,` ${U}`];if($.pointer_env_present.length>0){let J=$.pointer_ignored?"present but IGNORED for mode selection":"present";W.push(` Pointer env ${J}: ${$.pointer_env_present.join(", ")}`)}if($.network_guard_active)W.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if($.warning)W.push(` Note: ${$.warning}`);return W.join(` +`)}function Kc($){return[`Knowledge paths (${$.scope})`,`Home: ${$.home}`,`SQLite: ${$.knowledge_db_path}`,`JSON store: ${$.json_store_path}`,`Wiki: ${$.wiki_dir}`,F_("config and all paths")].join(` +`)}function wF($){console.log(JSON.stringify($))}function bc($){let _=$.summary,U=[`Knowledge inventory (${$.scope})`,`Home: ${$.home}`,`JSON store: ${$.paths.json_store_path}${$.paths.json_store_exists?"":" (missing)"}`,`SQLite catalog: ${$.paths.knowledge_db_path}`,`Summary: ${_.legacy_items} item(s), ${_.sources} source(s), ${_.chunks} chunk(s), ${_.wiki_pages} wiki page(s), ${_.indexes} index(es), ${_.storage_objects} artifact(s), ${_.runs} run(s)`],W=(J,X,G)=>{if(X.length===0)return;U.push("",`${J}:`);for(let Q of X.slice(0,$.limit))U.push(`- ${G(Q)}`)};return W("Items",$.items,(J)=>`${J.id}: ${J.title}`),W("Sources",$.sources,(J)=>`${J.kind??"source"} ${J.uri} (${J.chunks??0} chunk(s))`),W("Chunks",$.chunks,(J)=>`${J.kind??"chunk"} ${J.id}: ${J.text_preview??""}`),W("Wiki pages",$.wiki_pages,(J)=>`${J.path}: ${J.title}`),W("Indexes",$.indexes,(J)=>`${J.kind??"index"} ${J.name}${J.shard_key?` (${J.shard_key})`:""}`),W("Artifacts",$.storage_objects,(J)=>`${J.kind??"artifact"} ${J.artifact_uri}`),W("Runs",$.runs,(J)=>`${J.type??"run"} ${J.id}: ${J.status??"unknown"}`),W("Machines",$.machines,(J)=>`${J.machine_id}${J.workspace_home?` ${J.workspace_home}`:""}`),W("Sync conflicts",$.sync_conflicts,(J)=>`${J.id}: ${J.entity_kind}/${J.entity_id} ${J.status}`),U.join(` +`)}function Mc($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} search result(s) for "${b$($.query,80)}"${$.mode?.semantic?" (semantic enabled)":""}`];for(let W of _.slice(0,$.limit??10)){let J=W.source?.uri??W.provenance?.source_uri??W.artifact?.path??W.artifact?.uri??W.id,X=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${W.kind??"result"} ${b$(W.title??W.id,80)}${X}`),J)U.push(` source: ${b$(J,120)}`);if(W.text)U.push(` text: ${b$(W.text,180)}`)}if(_.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(F_("scores, provenance, and full result objects")),!$.context)U.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return U.join(` +`)}function Ic($){let _=Array.isArray($.excerpts)?$.excerpts:[],U=Array.isArray($.citations)?$.citations:[],W=[`${_.length} context excerpt(s) for "${b$($.query??$.normalized_query,80)}"`];for(let J of _.slice(0,10)){let X=U.find((Y)=>Y.id===J.citation_id||Y.result_id===J.result_id),G=X?.source_uri??X?.artifact_path??J.result_id,Q=typeof J.score==="number"?` score=${J.score.toFixed(3)}`:"";if(W.push(`- ${J.kind??"excerpt"} ${b$(J.id,44)}${Q}`),G)W.push(` source: ${b$(G,120)}`);W.push(` text: ${b$(J.text,220)}`)}return W.push(`Citations: ${U.length}`),W.push(F_("citations, graph, notes, and full excerpts")),W.join(` +`)}function gc($){let _=Array.isArray($.results)?$.results:[],U=[`${_.length} semantic result(s) for "${b$($.query,80)}"`,`Index: ${$.provider??"unknown"}:${$.model??"unknown"} (${$.dimensions??"?"} dimensions)`];for(let W of _.slice(0,$.limit??10)){let J=typeof W.score==="number"?` score=${W.score.toFixed(3)}`:"";if(U.push(`- ${b$(W.chunk_id,44)}${J}`),W.source_uri)U.push(` source: ${b$(W.source_uri,120)}`);if(W.text)U.push(` text: ${b$(W.text,180)}`)}return U.push(F_("provenance and full vector result objects")),U.join(` +`)}function wc($){let _=Array.isArray($.sources)?$.sources:[],U=[`${_.length} web source(s) for "${b$($.query,80)}"`,`Provider: ${$.provider??"unknown"}${$.model?` (${$.model})`:""}`];for(let W of _.slice(0,$.limit??10)){U.push(`- ${b$(W.title??W.url??W.uri??"source",100)}`);let J=W.url??W.uri??W.source_ref;if(J)U.push(` url: ${b$(J,140)}`);if(W.snippet)U.push(` snippet: ${b$(W.snippet,180)}`)}return U.push(F_("provider payloads and filed source refs")),U.join(` +`)}function kc($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} machine(s) discovered via ${$.source??"unknown"}`,`Adapter: ${$.adapter?.package??"@hasna/machines"} ${$.adapter?.available?"available":"unavailable"}`];for(let W of _.slice(0,10)){let J=W.local?" local":"",X=W.tailscale_dns??W.ssh_target??W.hostname??"";U.push(`- ${b$(W.machine_id??W.id??"unknown",48)}${J}${X?` -> ${b$(X,80)}`:""}`)}if(_.length>10)U.push(`... ${_.length-10} more machine(s).`);if(Array.isArray($.warnings)&&$.warnings.length>0)U.push(`Warnings: ${$.warnings.slice(0,3).join("; ")}`);return U.push(F_("full topology, route hints, and adapter evidence")),U.join(` +`)}function Pc($){let _=Array.isArray($.checks)?$.checks:[],U=_.filter((X)=>X.status==="fail"||X.severity==="fail"),W=_.filter((X)=>X.status==="warn"||X.severity==="warn"),J=[`Machine preflight ${$.ok?"passed":"needs attention"} for ${$.machine_id??$.requested_machine_id??"local"}`,`Checks: ${_.length} total, ${U.length} failed, ${W.length} warning(s)`];for(let X of[...U,...W].slice(0,8))J.push(`- ${X.status??X.severity??"check"} ${b$(X.id??X.kind??"check",72)}: ${b$(X.message??X.detail??"",140)}`);return J.push(F_("all checks and repair hints")),J.join(` +`)}function fc($){return[`Sync status (${$.scope??"scope"})`,`Schema: v${$.sqlite_schema_version??"unknown"}`,`Machines: ${$.machines?.total??0}; snapshots: ${$.snapshots?.total??0}; open conflicts: ${$.conflicts?.open??0}`,`Tables: ${Object.entries($.table_counts??{}).slice(0,8).map(([U,W])=>`${U}=${W}`).join(", ")||"none"}`,F_("registry rows, clocks, snapshots, imports, and conflicts")].join(` +`)}function Cc($){let _=Array.isArray($.warnings)?$.warnings:[],U=Array.isArray($.recommended_commands)?$.recommended_commands:[],W=[$.message??`Sync readiness ${$.ok?"ok":"needs attention"}`,`Storage: ${$.storage?.validation?.ok?"ok":"needs attention"}; open-files: ${$.open_files?.ok?"ok":"needs attention"}; open conflicts: ${$.sync?.open_conflicts??0}`];if(_.length>0)W.push(`Warnings: ${_.slice(0,5).join("; ")}`);for(let J of U.slice(0,5))W.push(`- next: ${b$(J.shell_command??J.command?.join(" ")??J.id,160)}`);return W.push(F_("diagnostics, route evidence, and all recommended commands")),W.join(` +`)}function Tc($){let _=$.snapshot??{};return[`Sync snapshot ${$.ok?"recorded":"failed"}`,`Snapshot: ${b$(_.id??_.snapshot_id??"unknown",80)} ${_.content_hash?`(${b$(_.content_hash,80)})`:""}`,`Machines upserted: ${$.machines_upserted??0}; machine: ${$.machine_id??_.machine_id??"unknown"}`,F_("snapshot payload and topology evidence")].join(` +`)}function Sc($){let _=Array.isArray($.conflicts)?$.conflicts:[],U=[`${_.length} sync conflict(s)`];for(let W of _.slice(0,10))U.push(`- ${b$(W.id,48)} ${W.status??"unknown"} ${W.entity_kind??""}/${b$(W.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(F_("full conflict objects")),U.join(` +`)}function Zc($){let _=Array.isArray($.machines)?$.machines:[],U=[`${_.length} registered sync machine(s)`];for(let W of _.slice(0,10))U.push(`- ${b$(W.machine_id,48)} ${b$(W.hostname??W.workspace_home??"",100)}`);return U.push(F_("machine registry rows")),U.join(` +`)}function kF($,_){let U=[`Sync ${_} ${$.ok===!1?"needs attention":"completed"}${$.dry_run?" (dry run)":""}`],W=(J,X)=>{if(!X)return;let Q=(Array.isArray(X.tables)?X.tables:[]).reduce((O,B)=>O+(B.inserted??0)+(B.updated??0)+(B.deleted??0),0),Y=X.artifacts?.copied??0,j=Array.isArray(X.errors)?X.errors.length:0;U.push(`${J}: ${Q} table row change(s), ${Y} artifact(s), ${j} error(s)`)};if(W("pull",$.pull),W("push",$.push),Array.isArray($.errors)&&$.errors.length>0)U.push(`Errors: ${$.errors.slice(0,3).map((J)=>b$(J,120)).join("; ")}`);return U.push(F_("per-table rows, artifacts, clocks, and errors")),U.join(` +`)}function vc($){let _=Array.isArray($.citations)?$.citations:[],U=Array.isArray($.context?.excerpts)?$.context.excerpts:Array.isArray($.excerpts)?$.excerpts:[],W=[$.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${_.length}; excerpts: ${U.length}`];if($.answer)W.push(`Answer: ${b$($.answer,500)}`);for(let J of _.slice(0,5))W.push(`- ${b$(J.source_uri??J.ref??J.id,120)}`);return W.push(F_("full answer payload, context, citations, and run ledger")),W.join(` +`)}function yc($,_){return[`Export preview: ${$.length} item(s) available`,"Default output is compact to avoid terminal/context bloat.","Use --verbose or --json for a JSON object, or --format jsonl for newline-delimited records.",_!=="json"?`Requested format: ${_}`:""].filter(Boolean).join(` +`)}function PF($){return!$||$==="local"||$==="localhost"}function mW($){if(!$.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function hc($,_){let U=_.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let W=[...$].sort((J,X)=>{if(U==="title")return J.title.localeCompare(X.title);return J.created_at.localeCompare(X.created_at)});if(_.desc)W.reverse();return{sorted:W,sort:U,direction:_.desc?"desc":"asc"}}async function xc($){if(await Hc($))return;let{positional:_,flags:U}=qc($);if(M1("debug","CLI invoked",{command:_[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:M6.name,version:M6.version},null,2):`${M6.name} ${M6.version}`);return}if(U.completions){let L=U.completions;if(L==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(L==="zsh")console.log(`#compdef knowledge +_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"{local,hosted}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"{local,global,project}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`);else if(L==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag delete export prune dedupe stats inventory project-panel paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables');else throw Error("Invalid --completions value. Use 'bash', 'zsh', or 'fish'.");return}let W=Oc(_[0]),J=1,X=_.length>1||/\s/.test(W);if(Bc()&&W&&!CF.includes(W)&&X)W="ask",J=0;if(!W||U.help||W==="help"){let L=W==="help"?_[1]:W||_[1];Rc(L);return}if(W==="mode"){let L=NN(process.env);v(U.json||U.verbose?{ok:!0,...L}:Ec(L),U.json,U);return}let G=W==="project-panel"||W==="app-wiki"?U.scope??"project":U.scope,Q=E5({scope:G});if(W==="storage"){let L=_[1]??"status";if(L==="import-legacy"){if(U.scope&&U.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let N=a5({dryRun:U.dryRun});if(v(N,U.json),!N.ok)process.exitCode=1;return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}}let Y=Boolean(U.store),j=U.store;if(!j)if(G==="project"||G==="local")j=Q.workspace.jsonStorePath;else j=nW();if(!Y&&(W==="ask"||W==="build")&&!T4())PU(j);let O=QX({storePath:j,storePathOverridden:Y});if(W==="inventory"){let L=await Q.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:T4()?void 0:j});v(U.json||U.verbose?L:bc(L),U.json,U);return}if(W==="project-panel"){let L=U.project??_[1];if(!L)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let N=await TA(L,{service:Q,limit:U.limit,storePath:T4()?void 0:j,includeArchived:U.includeArchived||U.archived});v(U.json||U.contract?N:SA(N),U.json||U.contract);return}if(W==="paths"){let L=Q.paths();v(U.json||U.verbose?L:Kc(L),U.json,U);return}if(W==="setup"){let L=Q.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});v(L,U.json,U);return}if(W==="auth"){let L=_[1]??"whoami";if(L==="whoami"||L==="status"){let N=Q.authStatus(process.env);v({ok:!0,...N,message:N.authenticated?`Authenticated via ${N.source}`:"Not authenticated"},U.json,U);return}if(L==="login"){let N=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!N)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let H=Q.saveAuth({apiKey:N,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);v({ok:!0,authenticated:!0,email:H.email??null,org_slug:H.org_slug??null,api_url:H.api_url??Q.authStatus(process.env).api_url,auth_path:Q.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${H.email??"API key"}`},U.json,U);return}if(L==="logout"){let N=Q.clearAuth(process.env);v({ok:!0,removed:N,message:N?"Removed hosted credentials":"No hosted credentials found"},U.json,U);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(W==="storage"){let L=_[1]??"status";if(L==="status"){let N=Q.storageContract(),H=Q.validateStorage();v({ok:H.ok,...N,validation:H,message:`${N.storage_type} artifact storage at ${N.artifact_store.uri_prefix}`},U.json,U);return}if(L==="validate"){let N=Q.validateStorage();if(v({ok:N.ok,validation:N,message:N.ok?"Storage contract valid":`Storage contract invalid: ${N.errors.join("; ")}`},U.json,U),!N.ok)process.exitCode=1;return}if(L==="repair-artifact-keys"||L==="repair-keys"){let N=Q.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});v(N,U.json,U);return}if(L==="migrate-legacy-path"||L==="migrate-legacy"||L==="migrate-path"){let N=Q.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}if(L==="merge-legacy-path"||L==="merge-legacy"||L==="merge-path"){let N=Q.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(v(N,U.json),!N.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid storage action. Use 'status', 'validate', 'repair-artifact-keys', 'migrate-legacy-path', 'merge-legacy-path', or 'import-legacy'.")}if(W==="machines"){let L=_[1]??"topology";if(L==="topology"||L==="status"){let N=await Q.machineTopology({includeTailscale:U.tailscale!==!1});v(U.json||U.verbose?N:kc(N),U.json,U);return}if(L==="preflight"||L==="check"){let N=_[2]??U.machine??"local",H=U.workspace??process.cwd(),R=await Q.machinePreflight({machineId:N,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:M6.name,command:"knowledge",expectedVersion:M6.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:H,expectedPackageName:M6.name,expectedVersion:M6.version,required:!0}]});if(v(U.json||U.verbose?R:Pc(R),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(W==="sync"){let L=_[1]??"status",N=U.tables?U.tables.split(",").map((H)=>H.trim()).filter(Boolean):void 0;if(L==="status"){let H=Q.syncStatus();v(U.json||U.verbose?H:fc(H),U.json,U);return}if(L==="doctor"||L==="readiness"||L==="preflight"){let H=await Q.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:N}),R={package:{name:M6.name,version:M6.version},...H};if(v(U.json||U.verbose?R:Cc(R),U.json,U),!H.ok&&!U.json)process.exitCode=1;return}if(L==="snapshot"||L==="record"){let H=await Q.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});v(U.json||U.verbose?H:Tc(H),U.json,U);return}if(L==="conflicts"||L==="conflict"){let H=_[2];if(H==="show"||H==="get"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts show <id>");let M=Q.syncConflict(A);v({ok:!0,conflict:M,message:`Sync conflict ${A}`},U.json,U);return}if(H==="propose"||H==="proposal"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts propose <id>");v(U.mode==="ai"?await Q.proposeSyncConflictResolutionWithAi({id:A,modelRef:U.model,fake:U.fake}):Q.proposeSyncConflictResolution(A),U.json,U);return}if(H==="resolve"){let A=_[3]??U.id;if(!A)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let M=Q.resolveSyncConflict({id:A,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(v(M,U.json,U),!M.ok&&!U.json)process.exitCode=1;return}let R=Q.syncConflicts({status:H,limit:U.limit}),F={ok:!0,conflicts:R,message:`${R.length} sync conflict(s)`};v(U.json||U.verbose?F:Sc(F),U.json,U);return}if(L==="machines"||L==="registry"){let H=Q.syncMachines(),R={ok:!0,machines:H,message:`${H.length} registered sync machine(s)`};v(U.json||U.verbose?R:Zc(R),U.json,U);return}if(L==="export"){let H=Q.exportSyncBundle({machineId:U.machine??null,tables:N,includeArtifactContent:U.artifactContent!==!1});v(H,!0);return}if(L==="import"){let H=await Bun.stdin.text();if(!H.trim())throw Error("Usage: knowledge sync import < bundle.json");let R=await Q.importSyncBundle({bundle:JSON.parse(H),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});v(U.json||U.verbose?R:kF(R,L),U.json,U);return}if(L==="dry-run"||L==="pull"||L==="push"||L==="sync"){if(!U.peerWorkspace&&PF(U.machine))throw Error(`Usage: knowledge sync ${L} --peer-workspace <repo-or-knowledge-home> [--scope project] +Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let H=L==="dry-run"?"both":L==="sync"?"both":L,R=!PF(U.machine)?await Q.syncRemotePeer({direction:H,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:N,dryRun:U.dryRun===!0||L==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await Q.syncPeer({peerWorkspace:U.peerWorkspace,direction:H,dryRun:U.dryRun===!0||L==="dry-run",tables:N,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(v(U.json||U.verbose?R:kF(R,L),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid sync action. Use 'status', 'doctor', 'snapshot', 'conflicts', 'machines', 'dry-run', 'pull', 'push', 'sync', 'export', or 'import'.")}if(W==="db"){let L=_[1]??"init";if(L==="init"){let N=Q.initDb();v({ok:!0,...N,message:`Initialized ${N.path}`},U.json,U);return}if(L==="stats"){let N=Q.dbStats();v({ok:!0,path:Q.workspace.knowledgeDbPath,...N,message:`knowledge.db schema v${N.schema_version}`},U.json,U);return}if(L==="storage"){if((_[2]??"status")==="status"){let H=LO({scope:U.scope});v({ok:!0,...H,message:`knowledge.db storage mode ${H.mode}${H.activeEnv?` via ${H.activeEnv}`:""}`},U.json,U);return}throw Error("Invalid db storage action. Only 'status' is supported. The 'push'/'pull'/'sync' Postgres sync commands were removed (DSN-on-client is forbidden); use the cloud API flip instead.")}throw Error("Invalid db action. Use 'init', 'stats', or 'storage'.")}if(W==="app-wiki"){let L=_[1]??"init";if(L==="paths"||L==="status"){v({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...Q.paths()},U.json);return}if(L==="init"||L==="open"){let N=await Q.initAppWiki({allowGlobal:U.allowGlobal});v(N,U.json);return}if(L==="note"||L==="notes"){let N=_[2]??"list";if(N==="add"||N==="create"){let H=U.title??_[3],R=U.content??_.slice(4).join(" ");if(!H||!R)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let F=await Q.addAppWikiNote({title:H,content:R,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});v(F,U.json);return}if(N==="list"||N==="ls"){let H=Q.listAppWikiNotes({limit:U.limit});v({ok:!0,scope:Q.scope,home:Q.workspace.home,notes:H,message:`${H.length} app wiki note(s)`},U.json);return}if(N==="get"||N==="show"){let H=_[3]??U.id;if(!H)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let R=await Q.getAppWikiNote(H,{includeContent:!0});if(!R)throw Error(`App wiki note not found: ${H}`);v(R,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(L==="source"||L==="sources"){let N=_[2]??"add";if(N!=="add"&&N!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let H=_[3]??U.sourceRef?.[0];if(!H)throw Error("Usage: knowledge app-wiki source add <source-ref>");let R=await Q.addAppWikiSourceRef({sourceRef:H,purpose:U.purpose,allowGlobal:U.allowGlobal});v({ok:!0,...R,message:`Added app wiki source ${R.source_ref}`},U.json);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki search <query>");let H=await Q.searchAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.results.length} app wiki result(s)`},U.json);return}if(L==="query"||L==="context"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge app-wiki query <query>");let H=await Q.queryAppWiki({query:N,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H,message:`${H.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(W==="wiki"){let L=_[1]??"init";if(L==="init"){let N=await Q.initWiki();v({ok:!0,...N,message:`Initialized wiki layout in ${Q.workspace.home}`},U.json,U);return}if(L==="compile"){let N=_.slice(2),H=N.filter((A)=>/^(open-files|file|s3|https?):\/\//.test(A)),R=N.filter((A)=>!/^(open-files|file|s3|https?):\/\//.test(A)).join(" "),F=await Q.compileWiki({title:U.title,query:R||U.search,sourceRefs:H.length>0?H:void 0,limit:U.limit});v({ok:!0,...F,message:`Compiled wiki page ${F.path}`},U.json,U);return}if(L==="file-answer"||L==="answer"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!U.content)throw Error("Missing --content <answer> for wiki file-answer.");let H=await Q.fileAnswer({prompt:N,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...H},U.json,U);return}if(L==="lint"){let N=Q.lintWiki();v({ok:N.ok,...N,message:N.ok?"Wiki lint passed":`Wiki lint found ${N.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(W==="safety"){let L=_[1]??"status",N=Q.ensureWorkspace(),H=Q.safetyPolicy();Q.initDb();let R=d(N.knowledgeDbPath);try{if(L==="status"){v({ok:!0,mode:H.mode,workspace:N.home,allow_write_roots:H.allowWriteRoots,read_only_source_access:H.readOnlySourceAccess,network:H.network,redaction:H.redaction,approvals:H.approvals,message:`Safety policy: ${H.mode}`},U.json,U);return}if(L==="check"){let F=_[2]??"generated_write",A=_[3]??null,M;try{if(F==="web_search")N2(H),M={action:F,target_uri:A,approval_required:!1,approved:!0,decision:"allow"};else if(F==="s3_read"){if(!A)throw Error("safety check s3_read requires an s3:// target.");v4(A,H),M={action:F,target_uri:A,approval_required:!1,approved:!0,decision:"allow"}}else M=rN(R,H,F,A);a$(R,{event_type:"safety_check",action:F,target_uri:A,decision:M.decision==="allow"?"allow":"requires_approval",metadata:M}),v({ok:!0,...M,message:`Safety check ${M.decision}`},U.json,U);return}catch(K){throw a$(R,{event_type:"safety_check",action:F,target_uri:A,decision:"deny",metadata:{error:K instanceof Error?K.message:String(K)}}),K}}if(L==="approve"){let F=_[2]??"generated_write",A=_[3]??null,M=iN(R,{action:F,target_uri:A,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});a$(R,{event_type:"approval",action:F,target_uri:A,decision:"allow",metadata:{approval_id:M.id}}),v({ok:!0,...M,action:F,target_uri:A,message:`Approved ${F}`},U.json,U);return}if(L==="audit"){let F=R.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((A)=>({id:A.id,event_type:A.event_type,action:A.action,target_uri:A.target_uri,decision:A.decision,metadata:JSON.parse(A.metadata_json),created_at:A.created_at}));v({ok:!0,events:F,message:`${F.length} audit event(s)`},U.json,U);return}if(L==="redact"){let F=_.slice(2).join(" ");if(!F)throw Error("Usage: knowledge safety redact <text>");let A=w_(F,H);if(A.findings.length>0)zX(R,{source_uri:"safety://redact",findings:A.findings,metadata:{command:"safety redact"}});a$(R,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:A.findings.length>0?"redacted":"allow",metadata:{findings:A.findings.length}}),v({ok:!0,text:A.text,findings:A.findings,message:`Redacted ${A.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{R.close()}}if(W==="source"){if((_[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let N=_[2];if(!N)throw Error("Usage: knowledge source resolve <source-ref>");let H=await Q.resolveSource(N,{purpose:U.purpose,limit:U.limit});v({ok:!0,...H,message:H.resolved?`Resolved ${H.source_ref} (${H.content.chunks_returned}/${H.content.chunks_total} chunks)`:`Source not indexed: ${N}`},U.json,U);return}if(W==="ingest"){let L=_[1]??"";if(L==="rules"||L==="global-rules"||L==="agent-rules"){let N=await Q.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});v({ok:!0,...N},U.json);return}if(L==="manifest"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let H=await Q.ingestManifest(N);v({ok:!0,...H,message:`Ingested ${H.items_seen} manifest item(s)`},U.json,U);return}if(L==="source"){let N=_[2];if(!N)throw Error("Usage: knowledge ingest source <source-ref>");let H=await Q.ingestSource(N,U.purpose);v({ok:!0,...H,message:`Ingested source ${H.source_ref} (${H.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(W==="reindex"){let L=_[1]??"status";if(L==="status"){let N=Q.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`${N.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(L==="enqueue"){let N=Q.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Queued ${N.enqueued} embedding refresh item(s)`},U.json,U);return}if(L==="embeddings"){let N=await Q.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="outbox"){let N=_[2];if(!N)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let H=await Q.consumeOutbox(N);v({ok:!0,...H,message:`Consumed ${H.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(W==="embeddings"){let L=_[1]??"status";if(L==="status"){let N=Q.embeddingStatus();v({ok:!0,...N,message:`${N.total_vector_entries} vector index entries`},U.json,U);return}if(L==="index"){let N=await Q.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});v({ok:!0,...N,message:`Embedded ${N.chunks_embedded} chunk(s)`},U.json,U);return}if(L==="search"){let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge embeddings search <query>");let H=await Q.semanticSearch({query:N,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),R={ok:!0,...H,message:`${H.results.length} semantic result(s)`};v(U.json||U.verbose?R:gc(R),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(W==="context"){if((_[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let N=U.from??"search";if(!["search","loops","runs"].includes(N))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let H=_.slice(2).join(" ")||U.topic||"",R=await Q.contextPack({source:N,purpose:N==="loops"||N==="runs"?"proposal":"agent_context",query:H,topic:U.topic,since:U.since,dedupe:U.dedupe,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j});wF({ok:!0,...R,message:R.message});return}if(W==="proposals"){if((_[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let N=U.from??"loops";if(!["loops","runs"].includes(N))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let H=U.topic??_.slice(2).join(" ");if(!H.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let R=await Q.contextPack({source:N,purpose:"proposal",query:H,topic:H,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});wF({ok:!0,...R,message:R.message});return}if(W==="search"){let L=_.slice(1).join(" ");if(!L)throw Error("Usage: knowledge search <query>");if(U.context){let R=await Q.retrieveContext({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),F={ok:!0,...R,message:`${R.excerpts.length} context excerpt(s)`};v(U.json||U.verbose?F:Ic(F),U.json,U);return}let N=await Q.search({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:j}),H={ok:!0,...N,message:`${N.results.length} search result(s)`};v(U.json||U.verbose?H:Mc(H),U.json,U);return}if(W==="web"){if((_[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let N=_.slice(2).join(" ");if(!N)throw Error("Usage: knowledge web search <query>");let H=await Q.webSearch({query:N,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),R={ok:!0,...H,message:`${H.sources.length} web source(s)`};v(U.json||U.verbose?R:wc(R),U.json,U);return}if(W==="ask"||W==="build"){let L=_.slice(J).join(" ");if(!L)throw Error("Usage: knowledge ask <prompt>");let N=await Q.runPrompt({prompt:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:j}),H={ok:!0,...N,message:N.generated?"Generated answer with citations":"Prepared citation context draft"};v(U.json||U.verbose?H:vc(H),U.json,U);return}if(W==="providers"){let L=_[1]??"status";if(L==="status"){let N=Q.providerStatus(),H=N.providers.filter((R)=>R.configured).length;v({ok:!0,...N,message:`${H}/${N.providers.length} provider credential(s) configured`},U.json,U);return}if(L==="models"){let N=Q.modelRegistry();v({ok:!0,models:N,message:`${N.length} model alias(es)`},U.json,U);return}if(L==="check"){let N=_[2]??"default",H=z6(N,Q.config()),R=j_(H),F=P0(R.provider,Q.config());v({ok:!0,target:N,model_ref:H,provider:R.provider,model:R.model,credential:F,message:`${R.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(W==="add"){let L=_[1],N=_[2];if(!L||!N)throw Error("Usage: knowledge add <title> <content>");let H=await O.create({title:L,content:N,url:U.url??null,tags:U.tag??[]});M1("info","Item added",{id:H.id,title:H.title,tags:H.tags?.length??0,transport:O.kind}),v({ok:!0,item:H,message:`Added ${H.id}`},U.json,U);return}if(W==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");let L=await O.listAll(),N=Number.isFinite(U.page)&&U.page>0?U.page:1,H=Number.isFinite(U.limit)&&U.limit>0?U.limit:20,R=U.search?String(U.search).toLowerCase():"",F=(U.tagRaw??U.tag??[]).map((O$)=>({whole:O$.trim().toLowerCase(),parts:O$.split(",").map((Y_)=>Y_.trim().toLowerCase()).filter((Y_)=>Y_.length>0)})),A=U.tag?.length?U.tag.map((O$)=>O$.toLowerCase()).join(","):"none",M=U.format==="table"||!U.json&&!U.format&&Ac(U),K=U.json||U.format==="json",I=L.items;if(U.archived)I=I.filter((O$)=>O$.archived===!0);else if(!U.includeArchived)I=I.filter((O$)=>!O$.archived);if(R)I=I.filter((O$)=>O$.title.toLowerCase().includes(R)||O$.content.toLowerCase().includes(R));if(F.length>0)I=I.filter((O$)=>{let Y_=new Set((O$.tags??[]).map((t$)=>t$.toLowerCase()));return F.every(({whole:t$,parts:d$})=>t$.length>0&&Y_.has(t$)||d$.every((W_)=>Y_.has(W_)))});let{sorted:Z,sort:k,direction:i}=hc(I,U),r$=(N-1)*H,f$=Z.slice(r$,r$+H),p$=Math.max(1,Math.ceil(Z.length/H)),J_={ok:!0,page:N,limit:H,total:Z.length,total_pages:p$,sort:k,direction:i,items:f$,store_exists:L.exists};if(K){v(J_,!0);return}if(U.verbose){v(J_,!1,U);return}if(f$.length===0){v(`No items found (search=${R||"none"}, tag=${A})`,!1);return}if(M){let O$=(t$)=>t$,Y_=`${O$("ID")} ${O$("TITLE")} ${O$("CREATED")} ${O$("URL")} ${O$("TAGS")}`;console.log(Y_);for(let t$ of f$)console.log(`${t$.id} ${O$(b$(t$.title,80))} ${t$.created_at} ${t$.url?O$(b$(t$.url,90)):""} ${t$.tags?.length?O$(b$(`[${t$.tags.join(", ")}]`,80)):""}`);console.log(`Page ${N}/${p$} | showing ${f$.length} of ${Z.length} | sort=${k} ${i} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let O$ of f$)console.log(`${O$.id} ${b$(O$.title,80)} ${O$.created_at}${O$.url?` ${b$(O$.url,90)}`:""}${O$.tags?.length?` ${b$(`[${O$.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${N}/${p$} | showing ${f$.length} of ${Z.length} | sort=${k} ${i} | search=${R||"none"} | tag=${A}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(W==="get"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);v({ok:!0,item:L,store_exists:O.exists,message:`${L.id}: ${L.title}`},U.json,U);return}if(W==="update"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N={};if(U.title!==void 0)N.title=U.title;if(U.content!==void 0)N.content=U.content;if(U.url!==void 0)N.url=U.url;let H;if(U.tag!==void 0){if(H=gF(L.tags,U.tag),H.length>0)N.tags=[...L.tags??[],...H]}let R=await O.update(L.id,N);v(kO({ok:!0,item:R},`Updated ${R?.id??L.id}`,H),U.json,U);return}if(W==="archive"||W==="restore"){mW(U);let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=await O.update(L.id,{archived:W==="archive"});v({ok:!0,item:N,message:`${W==="archive"?"Archived":"Restored"} ${N?.id??L.id}`},U.json,U);return}if(W==="untag"){if(mW(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let L=await O.get(U.id);if(!L)throw Error(`Item not found: ${U.id}`);let N=L.tags??[],H=new Set(N.map((k)=>k.toLowerCase())),R=new Set;for(let k of U.tagRaw??U.tag){let i=k.trim().toLowerCase();if(i.length>0&&H.has(i)){R.add(i);continue}for(let r$ of k.split(",").map((f$)=>f$.trim().toLowerCase()).filter((f$)=>f$.length>0))R.add(r$)}let F=N.filter((k)=>!R.has(k.toLowerCase())),A=N.length-F.length,M=[...R].filter((k)=>!H.has(k));if(A===0)throw Error(`No matching tag on ${L.id}: ${M.map((k)=>JSON.stringify(k)).join(", ")} not in [${N.map((k)=>JSON.stringify(k)).join(", ")}]`);let K=await O.update(L.id,{tags:F}),I=M.length>0?` (not found: ${M.map((k)=>JSON.stringify(k)).join(", ")})`:"",Z={ok:!0,item:K,removed:A,message:`Removed ${A} tag${A===1?"":"s"} from ${K?.id??L.id}${I}`};if(M.length>0)Z.not_found=M;v(Z,U.json,U);return}if(W==="upsert"){let L=U.title??_[1],N=U.content??_[2],H=U.id?await O.get(U.id):null;if(!H){if(!L||!N)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let M=await O.create({id:U.id,title:L,content:N,url:U.url??null,tags:U.tag??[]});v(kO({ok:!0,created:!0,item:M},`Upserted ${M.id}`,U.tag),U.json,U);return}let R={};if(L!==void 0)R.title=L;if(N!==void 0)R.content=N;if(U.url!==void 0)R.url=U.url;let F;if(U.tag!==void 0){if(F=gF(H.tags,U.tag),F.length>0)R.tags=[...H.tags??[],...F]}let A=await O.update(H.id,R);v(kO({ok:!0,created:!1,item:A},`Upserted ${A?.id??H.id}`,F),U.json,U);return}if(W==="delete"){if(mW(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await O.delete(U.id))throw Error(`Item not found: ${U.id}`);M1("info","Item deleted",{id:U.id,transport:O.kind}),v({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(W==="export"){let L=U.format??"json";if(L!=="json"&&L!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let N=await O.listAll();if(L==="jsonl")for(let H of N.items)console.log(JSON.stringify(H));else if(U.json||U.format==="json"||U.verbose)v({ok:!0,items:N.items,store_exists:N.exists},U.json||U.format==="json",U);else v(yc(N.items,L),!1);return}if(W==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:L}=await O.listAll(),N=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,H=L.filter((A)=>N!==null&&new Date(A.created_at)<N||U.empty&&A.content.trim().length===0),R=await O.deleteMany(H.map((A)=>A.id)),F=L.length-R;M1("info","Prune completed",{pruned:R,remaining:F,transport:O.kind}),v({ok:!0,pruned:R,remaining:F,message:`Pruned ${R} item(s)`},U.json,U);return}if(W==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:L}=await O.listAll(),N=new Set,H=[];for(let A of L){let M=`${A.title}\x00${A.content}`;if(N.has(M))H.push(A);else N.add(M)}let R=await O.deleteMany(H.map((A)=>A.id)),F=L.length-R;M1("info","Dedupe completed",{removed:R,remaining:F,transport:O.kind}),v({ok:!0,removed:R,remaining:F,message:`Dedupe removed ${R} duplicate(s)`},U.json,U);return}if(W==="stats"){let L=await O.listAll(),N=L.items.filter((k)=>!k.archived),H=N.length,R=L.items.length-H,F=N.filter((k)=>k.url).length,A=N.filter((k)=>k.tags&&k.tags.length>0).length,M=H>0?N.map((k)=>k.created_at).sort()[0]:null,K=H>0?N.map((k)=>k.created_at).sort()[H-1]:null,I={};for(let k of N)for(let i of k.tags||[])I[i]=(I[i]||0)+1;let Z=Object.entries(I).sort((k,i)=>i[1]-k[1]).slice(0,5).map(([k,i])=>({tag:k,count:i}));v({ok:!0,total:H,archived:R,with_url:F,with_tags:A,oldest:M,newest:K,top_tags:Z,store_exists:L.exists,message:`${H} items | ${F} with URL | ${A} with tags`},U.json,U);return}let B=Nc(_[0]),V=B?` Did you mean '${B}'?`:"";throw M1("warn","Unknown command",{input:_[0],suggestion:B}),Error(`Unknown command: ${_[0]}.${V} Run 'knowledge --help' for available commands.`)}function mc($,_){let U=$ instanceof Error?$.message:String($);if(M1("debug","CLI error",{message:U,stack:$ instanceof Error?$.stack:void 0}),console.error(`Error: ${U}`),_.includes("--json"))v({ok:!1,error:U,message:U},!0);process.exitCode=1}if(import.meta.main){let $=process.argv.slice(2);xc($).catch((_)=>mc(_,$))}export{Nc as suggestCommand,hc as sortItems,xc as run,qc as parseArgs,mc as emitCliError}; diff --git a/dist/index.js b/dist/index.js index c7e3174..09e036a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -27927,9 +27927,47 @@ function assertOutboundRequestAllowed(input, env = process.env) { return; throw new KnowledgeNetworkGuardError(`knowledge: refused a non-loopback ${url.protocol.replace(":", "")} request while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). This process resolved to the cloud backend under test, which means a " + "read or write was about to leave the machine and reach the live store. Select the mode explicitly " + `(${"HASNA_KNOWLEDGE_STORAGE_MODE"}=local) or point the API URL at 127.0.0.1 for a hermetic test.`, { scheme: url.protocol.replace(":", ""), port: url.port }); } -function guardedFetch(input, init) { +var REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]); +var MAX_GUARDED_REDIRECTS = 5; +function requestMethod(input, init) { + if (init?.method) + return init.method.toUpperCase(); + if (typeof input !== "string" && !(input instanceof URL)) + return input.method.toUpperCase(); + return "GET"; +} +async function guardedFetch(input, init) { assertOutboundRequestAllowed(input); - return fetch(input, init); + if (!isNetworkGuardActive() || init?.redirect !== undefined) { + return fetch(input, init); + } + let from = targetUrl(input); + let method = requestMethod(input, init); + let body = init?.body; + let response = await fetch(input, { ...init ?? {}, redirect: "manual" }); + for (let hop = 0;REDIRECT_STATUSES.has(response.status); hop++) { + const location = response.headers.get("location"); + if (!location) + return response; + const next = new URL(location, from).href; + assertOutboundRequestAllowed(next); + if (hop >= MAX_GUARDED_REDIRECTS) { + const url = new URL(next); + throw new KnowledgeNetworkGuardError(`knowledge: refused to follow more than ${MAX_GUARDED_REDIRECTS} redirects while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). Under test the guard follows redirects itself so every hop is " + "checked, and a chain this long is a loop, not a route.", { scheme: url.protocol.replace(":", ""), port: url.port }); + } + if (response.status === 303 || (response.status === 301 || response.status === 302) && method !== "GET" && method !== "HEAD") { + method = "GET"; + body = undefined; + } + const hopInit = { ...init ?? {}, method, redirect: "manual" }; + if (body === undefined) + delete hopInit.body; + else + hopInit.body = body; + response = await fetch(next, hopInit); + from = next; + } + return response; } // src/knowledge-mode.ts @@ -28097,7 +28135,8 @@ async function fetchAllCloudItems(store) { // src/knowledge-db.ts function assertLocalCatalogMode(operation = "catalog") { if (isKnowledgeApiMode()) { - throw new Error(`knowledge: ${operation} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, ` + `wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while ` + `the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared ` + `corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' ` + `over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`); + const modeKey = KNOWLEDGE_MODE_ENV_KEYS[0]; + throw new Error(`knowledge: ${operation} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, ` + `wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in ` + `cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item ` + `commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${modeKey}=local ` + `(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see ` + `which variable selected the current backend.`); } } var CURRENT_SCHEMA_VERSION = 9; diff --git a/dist/knowledge-db.d.ts b/dist/knowledge-db.d.ts index e108b10..a2f06e9 100644 --- a/dist/knowledge-db.d.ts +++ b/dist/knowledge-db.d.ts @@ -1,11 +1,11 @@ import { Database } from 'bun:sqlite'; /** - * The single choke point for every client-side sqlite catalog open. In - * self_hosted/cloud mode (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY) the - * on-box knowledge.db is NOT the source of truth — writing to it would be the - * split-brain the mission forbids. Rather than silently touch local sqlite, we - * refuse loudly. Knowledge items (notes) still flow to the shared cloud via the - * ApiStore; the local catalog subsystem is first-class in local mode only. + * The single choke point for every client-side sqlite catalog open. In cloud mode + * — selected explicitly, see knowledge-mode.ts — the on-box knowledge.db is NOT + * the source of truth, and writing to it would be the split-brain the mission + * forbids. Rather than silently touch local sqlite, we refuse loudly. Knowledge + * items (notes) still flow to the shared cloud via the ApiStore; the local + * catalog subsystem is first-class in local mode only. * The HTTP server (src/serve) never calls this — it reads the cloud Postgres * directly — so this guard applies to CLI/MCP/SDK clients only. */ diff --git a/dist/net-guard.d.ts b/dist/net-guard.d.ts index d06a775..e44151d 100644 --- a/dist/net-guard.d.ts +++ b/dist/net-guard.d.ts @@ -30,7 +30,11 @@ * Loopback is allowed on purpose. Tests that stand up a `Bun.serve` on * 127.0.0.1 and exercise the real HTTP transport against it are the good case — * they are hermetic. Refusing them would push the suite toward stubbing the - * transport, which is precisely how an egress bug hides. + * transport, which is precisely how an egress bug hides. That allowance is not a + * springboard: while armed, {@link guardedFetch} follows redirects itself and + * checks EVERY hop, because a 302 followed internally by `fetch` never comes + * back through a `fetchImpl` and so would leave the machine through a request + * the guard had already approved. * * There is NO opt-out. Every in-repo script that legitimately talks to a real * endpoint (`scripts/smoke-*.mjs`) runs outside `bun test` and so is never @@ -82,5 +86,22 @@ export declare function assertOutboundRequestAllowed(input: string | URL | Reque * boundary rather than only when the guard is armed, so arming is decided per * request by the environment and never by whatever it happened to be at the * moment the client was constructed. + * + * REDIRECTS ARE FOLLOWED HERE, NOT BY `fetch`, while the guard is armed. Checking + * only the first target is not enough: `fetch` follows a 3xx internally and an + * internal hop never comes back through a `fetchImpl`, so a hermetic 127.0.0.1 + * server answering 302 with an off-box `Location` reached the network through a + * request the guard had already approved — measured at 4 connect() calls to :443 + * and a real HTTP 200 from a public host. Every hop is now checked, and an + * off-box hop is refused with the same host-withholding error as a first-hop + * refusal, so the loopback allowance cannot be used as a springboard. + * + * Unarmed, this is plain `fetch` with plain `fetch` redirect handling: the + * production path is untouched. A caller that sets `redirect` explicitly keeps + * its own semantics — the manual walk only replaces the default `follow`. + * Re-issuing a hop reuses `init.method`/`init.body`; a `Request` input's body is + * not replayed, which is sound for this package because both real call sites + * (the contracts transport and web source ingestion) pass a URL string plus an + * init object. */ export declare function guardedFetch(input: string | URL | Request, init?: RequestInit): Promise<Response>; diff --git a/dist/storage.js b/dist/storage.js index 0f695f7..57f3a9f 100644 --- a/dist/storage.js +++ b/dist/storage.js @@ -13057,9 +13057,47 @@ function assertOutboundRequestAllowed(input, env = process.env) { return; throw new KnowledgeNetworkGuardError(`knowledge: refused a non-loopback ${url.protocol.replace(":", "")} request while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). This process resolved to the cloud backend under test, which means a " + "read or write was about to leave the machine and reach the live store. Select the mode explicitly " + `(${"HASNA_KNOWLEDGE_STORAGE_MODE"}=local) or point the API URL at 127.0.0.1 for a hermetic test.`, { scheme: url.protocol.replace(":", ""), port: url.port }); } -function guardedFetch(input, init) { +var REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]); +var MAX_GUARDED_REDIRECTS = 5; +function requestMethod(input, init) { + if (init?.method) + return init.method.toUpperCase(); + if (typeof input !== "string" && !(input instanceof URL)) + return input.method.toUpperCase(); + return "GET"; +} +async function guardedFetch(input, init) { assertOutboundRequestAllowed(input); - return fetch(input, init); + if (!isNetworkGuardActive() || init?.redirect !== undefined) { + return fetch(input, init); + } + let from = targetUrl(input); + let method = requestMethod(input, init); + let body = init?.body; + let response = await fetch(input, { ...init ?? {}, redirect: "manual" }); + for (let hop = 0;REDIRECT_STATUSES.has(response.status); hop++) { + const location = response.headers.get("location"); + if (!location) + return response; + const next = new URL(location, from).href; + assertOutboundRequestAllowed(next); + if (hop >= MAX_GUARDED_REDIRECTS) { + const url = new URL(next); + throw new KnowledgeNetworkGuardError(`knowledge: refused to follow more than ${MAX_GUARDED_REDIRECTS} redirects while ${NETWORK_GUARD_ENV}=test ` + "(target host withheld on purpose). Under test the guard follows redirects itself so every hop is " + "checked, and a chain this long is a loop, not a route.", { scheme: url.protocol.replace(":", ""), port: url.port }); + } + if (response.status === 303 || (response.status === 301 || response.status === 302) && method !== "GET" && method !== "HEAD") { + method = "GET"; + body = undefined; + } + const hopInit = { ...init ?? {}, method, redirect: "manual" }; + if (body === undefined) + delete hopInit.body; + else + hopInit.body = body; + response = await fetch(next, hopInit); + from = next; + } + return response; } // src/knowledge-mode.ts @@ -13227,7 +13265,8 @@ async function fetchAllCloudItems(store) { // src/knowledge-db.ts function assertLocalCatalogMode(operation = "catalog") { if (isKnowledgeApiMode()) { - throw new Error(`knowledge: ${operation} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, ` + `wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while ` + `the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared ` + `corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' ` + `over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`); + const modeKey = KNOWLEDGE_MODE_ENV_KEYS[0]; + throw new Error(`knowledge: ${operation} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, ` + `wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in ` + `cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item ` + `commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${modeKey}=local ` + `(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see ` + `which variable selected the current backend.`); } } var CURRENT_SCHEMA_VERSION = 9; diff --git a/src/cli.ts b/src/cli.ts index 2145bb2..2f62c84 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -932,10 +932,11 @@ async function run(argv: string[]): Promise<void> { ensureStore(storePath); } - // Single knowledge-item Store abstraction. When the client-flip resolves to - // the cloud HTTP transport (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY, - // and/or *_STORAGE_MODE) ALL item reads/writes go to the configured API's /v1 - // with the bearer key; otherwise the on-box JSON store. An explicit --store + // Single knowledge-item Store abstraction. When the mode is EXPLICITLY cloud + // (HASNA_KNOWLEDGE_STORAGE_MODE and its aliases — the API URL and key are + // pointers and never a selection, see knowledge-mode.ts) ALL item reads/writes + // go to the configured API's /v1 with the bearer key; otherwise the on-box JSON + // store, which is also what a pointer-only environment resolves to. An explicit --store // override always pins to the local transport (fully reversible). Every item // command below routes through `itemStore` — never the JSON file or HTTP // client directly. diff --git a/src/knowledge-db.ts b/src/knowledge-db.ts index bfa5b04..b0c7b7e 100644 --- a/src/knowledge-db.ts +++ b/src/knowledge-db.ts @@ -1,25 +1,34 @@ import { Database } from 'bun:sqlite'; import { ensureParentDir } from './workspace'; import { isKnowledgeApiMode } from './cloud-store'; +import { KNOWLEDGE_MODE_ENV_KEYS } from './knowledge-mode.js'; /** - * The single choke point for every client-side sqlite catalog open. In - * self_hosted/cloud mode (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY) the - * on-box knowledge.db is NOT the source of truth — writing to it would be the - * split-brain the mission forbids. Rather than silently touch local sqlite, we - * refuse loudly. Knowledge items (notes) still flow to the shared cloud via the - * ApiStore; the local catalog subsystem is first-class in local mode only. + * The single choke point for every client-side sqlite catalog open. In cloud mode + * — selected explicitly, see knowledge-mode.ts — the on-box knowledge.db is NOT + * the source of truth, and writing to it would be the split-brain the mission + * forbids. Rather than silently touch local sqlite, we refuse loudly. Knowledge + * items (notes) still flow to the shared cloud via the ApiStore; the local + * catalog subsystem is first-class in local mode only. * The HTTP server (src/serve) never calls this — it reads the cloud Postgres * directly — so this guard applies to CLI/MCP/SDK clients only. */ export function assertLocalCatalogMode(operation = 'catalog'): void { if (isKnowledgeApiMode()) { + // Names the ONE variable to change. It used to say "unset the API env", + // which was the right advice only while presence of a URL + key selected the + // backend; now unsetting the pointers does not restore local mode and, with + // the mode var still set to cloud, produces a misconfiguration error instead. + // This is the message an operator actually hits, so it is also the message + // that has to name the current selector rather than the deleted one. + const modeKey = KNOWLEDGE_MODE_ENV_KEYS[0]; throw new Error( `knowledge: ${operation} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, ` - + `wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available while ` - + `the cloud API flip is active (HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY set). In cloud mode the shared ` - + `corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' ` - + `over that shared corpus all route to the cloud. Unset the API env to use the full local catalog pipeline.`, + + `wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in ` + + `cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item ` + + `commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${modeKey}=local ` + + `(or unset it — local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see ` + + `which variable selected the current backend.`, ); } } diff --git a/src/net-guard.ts b/src/net-guard.ts index c54475e..8061bb3 100644 --- a/src/net-guard.ts +++ b/src/net-guard.ts @@ -30,7 +30,11 @@ * Loopback is allowed on purpose. Tests that stand up a `Bun.serve` on * 127.0.0.1 and exercise the real HTTP transport against it are the good case — * they are hermetic. Refusing them would push the suite toward stubbing the - * transport, which is precisely how an egress bug hides. + * transport, which is precisely how an egress bug hides. That allowance is not a + * springboard: while armed, {@link guardedFetch} follows redirects itself and + * checks EVERY hop, because a 302 followed internally by `fetch` never comes + * back through a `fetchImpl` and so would leave the machine through a request + * the guard had already approved. * * There is NO opt-out. Every in-repo script that legitimately talks to a real * endpoint (`scripts/smoke-*.mjs`) runs outside `bun test` and so is never @@ -137,13 +141,80 @@ export function assertOutboundRequestAllowed( ); } +/** Statuses `fetch` treats as a redirect to follow. */ +const REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]); +/** Hop ceiling while the guard follows redirects itself (`fetch`'s own limit is 20). */ +const MAX_GUARDED_REDIRECTS = 5; + +function requestMethod(input: string | URL | Request, init?: RequestInit): string { + if (init?.method) return init.method.toUpperCase(); + if (typeof input !== 'string' && !(input instanceof URL)) return input.method.toUpperCase(); + return 'GET'; +} + /** * `fetch` with the guard in front of it. Installed permanently at the transport * boundary rather than only when the guard is armed, so arming is decided per * request by the environment and never by whatever it happened to be at the * moment the client was constructed. + * + * REDIRECTS ARE FOLLOWED HERE, NOT BY `fetch`, while the guard is armed. Checking + * only the first target is not enough: `fetch` follows a 3xx internally and an + * internal hop never comes back through a `fetchImpl`, so a hermetic 127.0.0.1 + * server answering 302 with an off-box `Location` reached the network through a + * request the guard had already approved — measured at 4 connect() calls to :443 + * and a real HTTP 200 from a public host. Every hop is now checked, and an + * off-box hop is refused with the same host-withholding error as a first-hop + * refusal, so the loopback allowance cannot be used as a springboard. + * + * Unarmed, this is plain `fetch` with plain `fetch` redirect handling: the + * production path is untouched. A caller that sets `redirect` explicitly keeps + * its own semantics — the manual walk only replaces the default `follow`. + * Re-issuing a hop reuses `init.method`/`init.body`; a `Request` input's body is + * not replayed, which is sound for this package because both real call sites + * (the contracts transport and web source ingestion) pass a URL string plus an + * init object. */ -export function guardedFetch(input: string | URL | Request, init?: RequestInit): Promise<Response> { +export async function guardedFetch(input: string | URL | Request, init?: RequestInit): Promise<Response> { assertOutboundRequestAllowed(input); - return fetch(input as Parameters<typeof fetch>[0], init); + if (!isNetworkGuardActive() || init?.redirect !== undefined) { + return fetch(input as Parameters<typeof fetch>[0], init); + } + + let from = targetUrl(input); + let method = requestMethod(input, init); + let body = init?.body; + let response = await fetch(input as Parameters<typeof fetch>[0], { ...(init ?? {}), redirect: 'manual' }); + + for (let hop = 0; REDIRECT_STATUSES.has(response.status); hop++) { + const location = response.headers.get('location'); + // A 3xx with no Location is not a redirect — hand it back as the answer. + if (!location) return response; + const next = new URL(location, from).href; + assertOutboundRequestAllowed(next); + if (hop >= MAX_GUARDED_REDIRECTS) { + const url = new URL(next); + throw new KnowledgeNetworkGuardError( + `knowledge: refused to follow more than ${MAX_GUARDED_REDIRECTS} redirects while ${NETWORK_GUARD_ENV}=test ` + + '(target host withheld on purpose). Under test the guard follows redirects itself so every hop is ' + + 'checked, and a chain this long is a loop, not a route.', + { scheme: url.protocol.replace(':', ''), port: url.port }, + ); + } + // The downgrade `fetch` itself applies, so a followed hop behaves the same. + if ( + response.status === 303 + || ((response.status === 301 || response.status === 302) && method !== 'GET' && method !== 'HEAD') + ) { + method = 'GET'; + body = undefined; + } + const hopInit: RequestInit = { ...(init ?? {}), method, redirect: 'manual' }; + if (body === undefined) delete hopInit.body; + else hopInit.body = body; + response = await fetch(next, hopInit); + from = next; + } + + return response; } diff --git a/tests/net-guard.test.ts b/tests/net-guard.test.ts index 9b7e705..367070f 100644 --- a/tests/net-guard.test.ts +++ b/tests/net-guard.test.ts @@ -28,6 +28,7 @@ import { KnowledgeNetworkGuardError, NETWORK_GUARD_ENV, assertOutboundRequestAllowed, + guardedFetch, isLoopbackHostname, isNetworkGuardActive, } from '../src/net-guard'; @@ -186,6 +187,63 @@ describe('the guard covers web source-ref ingestion too', () => { }); }); +describe('a redirect cannot walk the guard off the machine', () => { + /** + * The loopback allowance is checked against the FIRST target only, and `fetch` + * follows redirects internally — an internal hop never comes back through a + * `fetchImpl`. So a hermetic 127.0.0.1 server answering 302 with an off-box + * `Location` used to egress through a request the guard had already approved: + * measured, before this was closed, at 4 connect() calls to :443 and an HTTP + * 200 from a public host. That is the loopback allowance being abused to reach + * an address that is not loopback at all. + */ + test('a loopback response redirecting to a non-loopback host is refused, not followed', async () => { + const hops: string[] = []; + const server = Bun.serve({ + port: 0, + hostname: '127.0.0.1', + fetch(req) { + hops.push(new URL(req.url).pathname); + return new Response(null, { status: 302, headers: { location: `${NON_LOOPBACK}/elsewhere` } }); + }, + }); + let caught: unknown = null; + try { + await guardedFetch(`http://127.0.0.1:${server.port}/hop`); + } catch (error) { + caught = error; + } finally { + server.stop(); + } + expect(caught).toBeInstanceOf(KnowledgeNetworkGuardError); + // Still withholds the host, exactly as a first-hop refusal does. + expect(String(caught)).not.toContain('knowledge.invalid'); + // The loopback hop was real; the off-box hop never happened. + expect(hops).toEqual(['/hop']); + }); + + test('a loopback -> loopback redirect is still followed', async () => { + // The allowance has to keep working, or the fix would just push hermetic + // tests toward stubbing the transport again. + const server = Bun.serve({ + port: 0, + hostname: '127.0.0.1', + fetch(req) { + const { pathname } = new URL(req.url); + if (pathname === '/a') return new Response(null, { status: 302, headers: { location: '/b' } }); + return new Response('arrived', { status: 200 }); + }, + }); + try { + const response = await guardedFetch(`http://127.0.0.1:${server.port}/a`); + expect(response.status).toBe(200); + expect(await response.text()).toBe('arrived'); + } finally { + server.stop(); + } + }); +}); + describe('loopback cloud traffic still works (positive control)', () => { let server: { port: number; stop: () => void }; const seen: string[] = [];