diff --git a/README.md b/README.md index 31595d5..5c5fbdb 100644 --- a/README.md +++ b/README.md @@ -271,10 +271,28 @@ validate the packed contents. ### add ```bash -knowledge add <content> [--url <url>] [-t <tag>] +knowledge add <title> <content> [--url <url>] [-t <tag>]... ``` Add a new knowledge item. +`-t/--tag` is repeatable and also accepts a comma-separated list, so these are +equivalent and both store three tags: + +```bash +knowledge add "Title" "Body" -t convention -t naming -t channels +knowledge add "Title" "Body" -t "convention,naming,channels" +``` + +Tags are deduped case-insensitively, and the `[INFO] Item added` line reports the +stored tag count so a partial write cannot pass unnoticed. + +A `-t` whose value is missing, empty, or only separators (`-t`, `-t ""`, `-t " , "`) +**exits 1**. It previously exited 0 and silently stored nothing, so this is a +deliberate exit-code change: dropping a tag the caller asked for is the defect, and +an empty `-t "$VAR"` expansion should fail where the caller can see it. Commas are +handled the opposite way — they split rather than error — because a comma-joined +value is unambiguous and recoverable, whereas an empty value carries no intent. + ### list ```bash knowledge list|ls [options] @@ -289,12 +307,42 @@ state, or keyword retrieval across active compatibility notes too. | `-p, --page <n>` | Page number (default: 1) | | `-l, --limit <n>` | Items per page (default: 20) | | `-s, --search <text>` | Filter by title or content | -| `-t, --tag <tag>` | Filter by tag | +| `-t, --tag <tag>` | Filter by tag; repeatable/comma-separated, an item must match **all** of them | | `--sort created\|title` | Sort field (default: created) | | `--desc` | Sort descending | +| `--archived` | Return archived items *only* | +| `--include-archived` | Return live **and** archived items (default: live only) | | `--verbose` | Print the full paginated item objects | | `--json` | Print the stable machine-readable list response | +Each `-t` value matches an item when the item's stored tags contain the **whole value** +*or* all of its **comma-split names** — a union. This is deliberately **not** the rule +[`untag`](#untag) uses: `untag` is **exclusive**, matching the whole value first and +falling back to the split names *only* when no stored tag equals the whole value. + +Both rules are right for their own command. `untag` writes, so it must take one shape per +run — that is exactly what makes its documented "re-run to clear the split names" +behaviour true. `list` only reads, so matching both shapes destroys nothing, while +matching only one would hide items from the very query used to find them. Items written +before the multi-tag parse fix can carry a single literal `"a,b,c"` tag, which none of the +split names equals, so a split-only filter does not merely miss the damaged item: it +answers with a *different* item that carries the three names separately, at `total: 1` and +exit 0, giving the operator no signal that the result changed. The union therefore finds +both shapes in one query: + +```bash +# returns items tagged with the literal "a,b,c" AND items tagged a + b + c separately +knowledge list -t "a,b,c" --json +``` + +Prefer `--json` when you are looking for glued tags: the table renders `["a,b,c"]` and +`["a","b","c"]` as `[a,b,c]` and `[a, b, c]`, which differ only by two spaces. + +`list` excludes **archived** items by default, so the query above will not surface a glued +tag that sits on an archived item. Add `--include-archived` to sweep live and archived +items together, or `--archived` for archived items only — use the former when auditing the +corpus for tag damage rather than reading live knowledge. + ### inventory ```bash knowledge inventory [--scope local|global|project] [--limit <n>] [--include-archived] [--verbose] [--json] @@ -323,7 +371,13 @@ Update an existing item. | `--title <title>` | New title | | `--content <content>` | New content | | `--url <url>` | New source URL | -| `-t, --tag <tag>` | Add a tag | +| `-t, --tag <tag>` | Add tag(s); repeatable/comma-separated. Tags are appended, never replaced | + +When `-t` is passed, the result reports how many tags were actually added — `added` in +JSON and `Updated <id> (added 2 tags)` in `message`. Appending a tag that is already +present is idempotent, so this stays exit 0 (unlike `untag`, where removing nothing is an +error), but a bare `Updated <id>` could not distinguish 2 added from 0 and reported the +count nowhere at all. ### archive / restore ```bash @@ -334,15 +388,56 @@ Archive hides an item from default `list` output without deleting it. ### upsert ```bash -knowledge upsert [title] [content] [--id <id>] [--title <title>] [--content <content>] +knowledge upsert [title] [content] [--id <id>] [--title <title>] [--content <content>] [-t <tag>]... ``` -Create or update an item by ID. +Create or update an item by ID. `-t` appends tags and reports an `added` count the same +way [`update`](#update) does, on the create path as well as the update path — so a caller +never has to branch on `created` to know whether `added` is meaningful. ### untag ```bash -knowledge untag --id <id> -t <tag> +knowledge untag --id <id> -t <tag>... +``` +Remove tag(s) from an item. `-t/--tag` is repeatable and accepts a +comma-separated list, so several tags can be removed in one call. + +Each `-t` value is matched **whole first, and only split on commas if no stored tag +equals it**. Items written before the multi-tag parse fix was landed can carry a +single literal `"a,b,c"` tag, which none of the split names would match — so a +split-only `untag` would remove nothing while still exiting 0. One command therefore +covers both shapes: + +```bash +# stored tags ["a,b,c"] -> removes the one literal tag (whole-value match) +# stored tags ["a","b","c"] -> removes all three (falls back to splitting) +knowledge untag --id <id> -t "a,b,c" +``` + +When an item somehow carries both shapes, the whole-value match wins and the literal +tag is removed first; re-run to clear the split names. That exclusivity is the point: one +shape per run is what makes re-running meaningful, so `untag` deliberately does **not** +match both shapes at once. [`list -t`](#list) does — a union — because a filter has nothing +to remove and suppressing a shape would hide items. Do not "unify" the two rules. + +Removing nothing **exits 1**. `removed: 0` at exit 0 with a `Removed tag from <id>` +message is the same class of defect as the original bug — a success signal that +cannot distinguish 1 removed from 0 — so an absent tag is an error, as a missing +`--id` already is. When some requested tags matched and others did not, the call +succeeds and the unmatched names are reported both in `message` (`Removed 1 tag from +<id> (not found: "nope")`) and in `not_found`. `message` carries them because without +`--json` or `--verbose` that is the only line printed, so a `not_found`-only report is +invisible to exactly the callers most likely to be reading it. + +Tag names are quoted on **both** paths — the stored tags in the failure message, and the +unmatched names in the partial-miss success line. Unquoted, a single glued `"a,b,c"` tag +renders identically to three separate ones, so the message appears to deny a tag that is +plainly listed, and `(not found: p, q)` cannot be told apart from one missing tag literally +named `p, q`: + +``` +Error: No matching tag on k_x: "iapp" not in ["iapp,integrations,architecture"] +Removed 1 tag from k_y (not found: "p", "q") ``` -Remove one tag from an item. ### delete ```bash diff --git a/bin/knowledge.js b/bin/knowledge.js index 994da2d..ac19099 100755 --- a/bin/knowledge.js +++ b/bin/knowledge.js @@ -1,9 +1,9 @@ #!/usr/bin/env bun // @bun -var $B=Object.create;var{getPrototypeOf:UB,defineProperty:GG,getOwnPropertyNames:DB}=Object;var JB=Object.prototype.hasOwnProperty;function jB(_){return this[_]}var WB,GB,XB=(_,$,U)=>{var J=_!=null&&typeof _==="object";if(J){var D=$?WB??=new WeakMap:GB??=new WeakMap,j=D.get(_);if(j)return j}U=_!=null?$B(UB(_)):{};let W=$||!_||!_.__esModule?GG(U,"default",{value:_,enumerable:!0}):U;for(let G of DB(_))if(!JB.call(W,G))GG(W,G,{get:jB.bind(_,G),enumerable:!0});if(J)D.set(_,W);return W};var b4=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var NB=(_)=>_;function OB(_,$){this[_]=NB.bind(null,$)}var s$=(_,$)=>{for(var U in $)GG(_,U,{get:$[U],enumerable:!0,configurable:!0,set:OB.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<z.length;L++){let E=z[L];if(!(E in G))G[E]=N[E].bind(G)}}let D=U?.Parent??Object;class j extends D{}Object.defineProperty(j,"name",{value:_});function W(G){var X;let N=U?.Parent?new j:this;J(N,G),(X=N._zod).deferred??(X.deferred=[]);for(let z of N._zod.deferred)z();return N}return Object.defineProperty(W,"init",{value:J}),Object.defineProperty(W,Symbol.hasInstance,{value:(G)=>{if(U?.Parent&&G instanceof U.Parent)return!0;return G?._zod?.traits?.has(_)}}),Object.defineProperty(W,"name",{value:_}),W}function h_(_){if(_)Object.assign(m4,_);return m4}var tq,GJ,XJ,G6,d4,m4;var c4=Z(()=>{GJ=Object.freeze({status:"aborted"});XJ=Symbol("zod_brand");G6=class G6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};d4=class d4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};(tq=globalThis).__zod_globalConfig??(tq.__zod_globalConfig={});m4=globalThis.__zod_globalConfig});var P={};s$(P,{unwrapMessage:()=>xU,uint8ArrayToHex:()=>wM,uint8ArrayToBase64url:()=>PM,uint8ArrayToBase64:()=>sq,stringifyPrimitive:()=>F,slugify:()=>IX,shallowClone:()=>MX,safeExtend:()=>bM,required:()=>IM,randomString:()=>LM,propertyKeyTypes:()=>nU,promiseAllObject:()=>qM,primitiveTypes:()=>PX,prefixIssues:()=>O$,pick:()=>BM,partial:()=>KM,parsedType:()=>M,optionalKeys:()=>kX,omit:()=>HM,objectClone:()=>YM,numKeys:()=>gM,nullish:()=>U4,normalizeParams:()=>S,mergeDefs:()=>P6,merge:()=>VM,jsonStringifyReplacer:()=>q1,joinValues:()=>V,issue:()=>g1,isPlainObject:()=>J4,isObject:()=>i4,hexToUint8Array:()=>kM,getSizableOrigin:()=>mU,getParsedType:()=>EM,getLengthableOrigin:()=>dU,getEnumValues:()=>rU,getElementAtPath:()=>QM,floatSafeRemainder:()=>KX,finalizeIssue:()=>j$,extend:()=>AM,explicitlyAborted:()=>fX,escapeRegex:()=>P$,esc:()=>NJ,defineLazy:()=>Y_,createTransparentProxy:()=>RM,cloneDef:()=>zM,clone:()=>t_,cleanRegex:()=>uU,cleanEnum:()=>FM,captureStackTrace:()=>OJ,cached:()=>L1,base64urlToUint8Array:()=>MM,base64ToUint8Array:()=>eq,assignProp:()=>D4,assertNotEqual:()=>GM,assertNever:()=>NM,assertIs:()=>XM,assertEqual:()=>WM,assert:()=>OM,allowsEval:()=>FX,aborted:()=>j4,NUMBER_FORMAT_RANGES:()=>wX,Class:()=>_L,BIGINT_FORMAT_RANGES:()=>SX});function WM(_){return _}function GM(_){return _}function XM(_){}function NM(_){throw Error("Unexpected value in exhaustive check")}function OM(_){}function rU(_){let $=Object.values(_).filter((J)=>typeof J==="number");return Object.entries(_).filter(([J,D])=>$.indexOf(+J)===-1).map(([J,D])=>D)}function V(_,$="|"){return _.map((U)=>F(U)).join($)}function q1(_,$){if(typeof $==="bigint")return $.toString();return $}function L1(_){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 uU(_){let $=_.startsWith("^")?1:0,U=_.endsWith("$")?_.length-1:_.length;return _.slice($,U)}function KX(_,$){let U=_/$,J=Math.round(U),D=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-J)<D)return 0;return U-J}function Y_(_,$,U){let J=void 0;Object.defineProperty(_,$,{get(){if(J===aq)return;if(J===void 0)J=aq,J=U();return J},set(D){Object.defineProperty(_,$,{value:D})},configurable:!0})}function YM(_){return Object.create(Object.getPrototypeOf(_),Object.getOwnPropertyDescriptors(_))}function D4(_,$,U){Object.defineProperty(_,$,{value:U,writable:!0,enumerable:!0,configurable:!0})}function P6(..._){let $={};for(let U of _){let J=Object.getOwnPropertyDescriptors(U);Object.assign($,J)}return Object.defineProperties({},$)}function zM(_){return P6(_._zod.def)}function QM(_,$){if(!$)return _;return $.reduce((U,J)=>U?.[J],_)}function qM(_){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 LM(_=10){let U="";for(let J=0;J<_;J++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function NJ(_){return JSON.stringify(_)}function IX(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function i4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function J4(_){if(i4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let U=$.prototype;if(i4(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function MX(_){if(J4(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function gM(_){let $=0;for(let U in _)if(Object.prototype.hasOwnProperty.call(_,U))$++;return $}function P$(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function t_(_,$,U){let J=new _._zod.constr($??_._zod.def);if(!$||U?.parent)J._zod.parent=_;return J}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 RM(_){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 kX(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function BM(_,$){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 t_(_,j)}function HM(_,$){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 t_(_,j)}function AM(_,$){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 t_(_,D)}function bM(_,$){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 t_(_,U)}function VM(_,$){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 t_(_,U)}function KM(_,$,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 t_($,W)}function IM(_,$,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 t_($,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 fX(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue===!1)return!0;return!1}function O$(_,$){return $.map((U)=>{var J;return(J=U).path??(J.path=[]),U.path.unshift(_),U})}function xU(_){return typeof _==="string"?_:_?.message}function j$(_,$,U){let J=_.message?_.message:xU(_.inst?._zod.def?.error?.(_))??xU($?.error?.(_))??xU(U.customError?.(_))??xU(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 mU(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function dU(_){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 g1(..._){let[$,U,J]=_;if(typeof $==="string")return{message:$,code:"custom",input:U,inst:J};return{...$}}function FM(_){return Object.entries(_).filter(([$,U])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function eq(_){let $=atob(_),U=new Uint8Array($.length);for(let J=0;J<$.length;J++)U[J]=$.charCodeAt(J);return U}function sq(_){let $="";for(let U=0;U<_.length;U++)$+=String.fromCharCode(_[U]);return btoa($)}function MM(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-$.length%4)%4);return eq($+U)}function PM(_){return sq(_).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function kM(_){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 wM(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class _L{constructor(..._){}}var aq,OJ,FX,EM=(_)=>{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: ${$}`)}},nU,PX,wX,SX;var d=Z(()=>{c4();aq=Symbol("evaluating");OJ="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};FX=L1(()=>{if(m4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});nU=new Set(["string","number","symbol"]),PX=new Set(["string","number","bigint","boolean","symbol","undefined"]);wX={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]},SX={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function E1(_,$=(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(N<G.length){let z=G[N];if(N!==G.length-1)X[z]=X[z]||{_errors:[]};else X[z]=X[z]||{_errors:[]},X[z]._errors.push($(W));X=X[z],N++}}}};return J(_),U}function YJ(_,$=(U)=>U.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(L<N.length){let E=N[L],Q=L===N.length-1;if(typeof E==="string")z.properties??(z.properties={}),(W=z.properties)[E]??(W[E]={errors:[]}),z=z.properties[E];else z.items??(z.items=[]),(G=z.items)[E]??(G[E]={errors:[]}),z=z.items[E];if(Q)z.errors.push($(X));L++}}};return J(_),U}function UL(_){let $=[],U=_.map((J)=>typeof 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 zJ(_){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 ${UL(J.path)}`);return $.join(` -`)}var $L=(_,$)=>{_.name="$ZodError",Object.defineProperty(_,"_zod",{value:_._zod,enumerable:!1}),Object.defineProperty(_,"issues",{value:$,enumerable:!1}),_.message=JSON.stringify($,q1,2),Object.defineProperty(_,"toString",{value:()=>_.message,enumerable:!1})},cU,Y$;var TX=Z(()=>{c4();d();cU=A("$ZodError",$L),Y$=A("$ZodError",$L,{Parent:Error})});var B1=(_)=>($,U,J,D)=>{let j=J?{...J,async:!1}:{async:!1},W=$._zod.run({value:U,issues:[]},j);if(W instanceof Promise)throw new G6;if(W.issues.length){let G=new(D?.Err??_)(W.issues.map((X)=>j$(X,j,h_())));throw OJ(G,D?.callee),G}return W.value},QJ,H1=(_)=>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)=>j$(X,j,h_())));throw OJ(G,D?.callee),G}return W.value},qJ,A1=(_)=>($,U,J)=>{let D=J?{...J,async:!1}:{async:!1},j=$._zod.run({value:U,issues:[]},D);if(j instanceof Promise)throw new G6;return j.issues.length?{success:!1,error:new(_??cU)(j.issues.map((W)=>j$(W,D,h_())))}:{success:!0,data:j.value}},CX,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)=>j$(W,D,h_())))}:{success:!0,data:j.value}},ZX,LJ=(_)=>($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return B1(_)($,U,D)},fM,gJ=(_)=>($,U,J)=>{return B1(_)($,U,J)},TM,EJ=(_)=>async($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return H1(_)($,U,D)},CM,RJ=(_)=>async($,U,J)=>{return H1(_)($,U,J)},ZM,BJ=(_)=>($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return A1(_)($,U,D)},vM,HJ=(_)=>($,U,J)=>{return A1(_)($,U,J)},yM,AJ=(_)=>async($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return b1(_)($,U,D)},hM,bJ=(_)=>async($,U,J)=>{return b1(_)($,U,J)},xM;var vX=Z(()=>{c4();TX();d();QJ=B1(Y$),qJ=H1(Y$),CX=A1(Y$),ZX=b1(Y$),fM=LJ(Y$),TM=gJ(Y$),CM=EJ(Y$),ZM=RJ(Y$),vM=BJ(Y$),yM=HJ(Y$),hM=AJ(Y$),xM=bJ(Y$)});var z$={};s$(z$,{xid:()=>rX,uuid7:()=>mM,uuid6:()=>nM,uuid4:()=>uM,uuid:()=>l4,uppercase:()=>YN,unicodeEmail:()=>DL,undefined:()=>NN,ulid:()=>xX,time:()=>UN,string:()=>JN,sha512_hex:()=>OP,sha512_base64url:()=>zP,sha512_base64:()=>YP,sha384_hex:()=>GP,sha384_base64url:()=>NP,sha384_base64:()=>XP,sha256_hex:()=>JP,sha256_base64url:()=>WP,sha256_base64:()=>jP,sha1_hex:()=>$P,sha1_base64url:()=>DP,sha1_base64:()=>UP,rfc5322Email:()=>cM,number:()=>iU,null:()=>XN,nanoid:()=>nX,md5_hex:()=>eM,md5_base64url:()=>_P,md5_base64:()=>sM,mac:()=>pX,lowercase:()=>ON,ksuid:()=>uX,ipv6:()=>oX,ipv4:()=>lX,integer:()=>WN,idnEmail:()=>iM,httpProtocol:()=>sX,html5Email:()=>dM,hostname:()=>pM,hex:()=>aM,guid:()=>dX,extendedDuration:()=>rM,emoji:()=>iX,email:()=>cX,e164:()=>_N,duration:()=>mX,domain:()=>tM,datetime:()=>DN,date:()=>$N,cuid2:()=>hX,cuid:()=>yX,cidrv6:()=>aX,cidrv4:()=>tX,browserEmail:()=>lM,boolean:()=>GN,bigint:()=>jN,base64url:()=>VJ,base64:()=>eX});function iX(){return new RegExp(oM,"u")}function jL(_){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 UN(_){return new RegExp(`^${jL(_)}$`)}function DN(_){let $=jL({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(`^${JL}T(?:${J})$`)}function lU(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function oU(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var yX,hX,xX,rX,uX,nX,mX,rM,dX,l4=(_)=>{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})$`)},uM,nM,mM,cX,dM,cM,DL,iM,lM,oM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",lX,oX,pX=(_)=>{let $=P$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},tX,aX,eX,VJ,pM,tM,sX,_N,JL="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",$N,JN=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},jN,WN,iU,GN,XN,NN,ON,YN,aM,eM,sM,_P,$P,UP,DP,JP,jP,WP,GP,XP,NP,OP,YP,zP;var KJ=Z(()=>{d();yX=/^[cC][0-9a-z]{6,}$/,hX=/^[0-9a-z]+$/,xX=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,rX=/^[0-9a-vA-V]{20}$/,uX=/^[A-Za-z0-9]{27}$/,nX=/^[a-zA-Z0-9_-]{21}$/,mX=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,rM=/^[-+]?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)?)??$/,dX=/^([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})$/,uM=l4(4),nM=l4(6),mM=l4(7),cX=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,dM=/^[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])?)*$/,cM=/^(([^<>()\[\]\\.,;:\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,}))$/,DL=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,iM=DL,lM=/^[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])?)*$/;lX=/^(?:(?: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])$/,oX=/^(([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}|:))$/,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])\/([0-9]|[1-2][0-9]|3[0-2])$/,aX=/^(([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])$/,eX=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,VJ=/^[A-Za-z0-9_-]*$/,pM=/^(?=.{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])?)*\.?$/,tM=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,sX=/^https?$/,_N=/^\+[1-9]\d{6,14}$/,$N=new RegExp(`^${JL}$`);jN=/^-?\d+n?$/,WN=/^-?\d+$/,iU=/^-?\d+(?:\.\d+)?$/,GN=/^(?:true|false)$/i,XN=/^null$/i,NN=/^undefined$/i,ON=/^[^A-Z]*$/,YN=/^[^a-z]*$/,aM=/^[0-9a-fA-F]*$/;eM=/^[0-9a-fA-F]{32}$/,sM=lU(22,"=="),_P=oU(22),$P=/^[0-9a-fA-F]{40}$/,UP=lU(27,"="),DP=oU(27),JP=/^[0-9a-fA-F]{64}$/,jP=lU(43,"="),WP=oU(43),GP=/^[0-9a-fA-F]{96}$/,XP=lU(64,""),NP=oU(64),OP=/^[0-9a-fA-F]{128}$/,YP=lU(86,"=="),zP=oU(86)});function WL(_,$,U){if(_.issues.length)$.issues.push(...O$(U,_.issues))}var P_,GL,IJ,FJ,zN,QN,qN,LN,gN,EN,RN,BN,HN,V1,AN,bN,VN,KN,IN,FN,MN,PN,kN;var MJ=Z(()=>{c4();KJ();d();P_=A("$ZodCheck",(_,$)=>{var U;_._zod??(_._zod={}),_._zod.def=$,(U=_._zod).onattach??(U.onattach=[])}),GL={number:"number",bigint:"bigint",object:"date"},IJ=A("$ZodCheckLessThan",(_,$)=>{P_.init(_,$);let U=GL[typeof $.value];_._zod.onattach.push((J)=>{let D=J._zod.bag,j=($.inclusive?D.maximum:D.exclusiveMaximum)??Number.POSITIVE_INFINITY;if($.value<j)if($.inclusive)D.maximum=$.value;else D.exclusiveMaximum=$.value}),_._zod.check=(J)=>{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})}}),FJ=A("$ZodCheckGreaterThan",(_,$)=>{P_.init(_,$);let U=GL[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})}}),zN=A("$ZodCheckMultipleOf",(_,$)=>{P_.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):KX(U.value,$.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:$.value,input:U.value,inst:_,continue:!$.abort})}}),QN=A("$ZodCheckNumberFormat",(_,$)=>{P_.init(_,$),$.format=$.format||"float64";let U=$.format?.includes("int"),J=U?"int":"number",[D,j]=wX[$.format];_._zod.onattach.push((W)=>{let G=W._zod.bag;if(G.format=$.format,G.minimum=D,G.maximum=j,U)G.pattern=WN}),_._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(G<D)W.issues.push({origin:"number",input:G,code:"too_small",minimum:D,inclusive:!0,inst:_,continue:!$.abort});if(G>j)W.issues.push({origin:"number",input:G,code:"too_big",maximum:j,inclusive:!0,inst:_,continue:!$.abort})}}),qN=A("$ZodCheckBigIntFormat",(_,$)=>{P_.init(_,$);let[U,J]=SX[$.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(j<U)D.issues.push({origin:"bigint",input:j,code:"too_small",minimum:U,inclusive:!0,inst:_,continue:!$.abort});if(j>J)D.issues.push({origin:"bigint",input:j,code:"too_big",maximum:J,inclusive:!0,inst:_,continue:!$.abort})}}),LN=A("$ZodCheckMaxSize",(_,$)=>{var U;P_.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<D)J._zod.bag.maximum=$.maximum}),_._zod.check=(J)=>{let D=J.value;if(D.size<=$.maximum)return;J.issues.push({origin:mU(D),code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),gN=A("$ZodCheckMinSize",(_,$)=>{var U;P_.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:mU(D),code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),EN=A("$ZodCheckSizeEquals",(_,$)=>{var U;P_.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:mU(D),...W?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:J.value,inst:_,continue:!$.abort})}}),RN=A("$ZodCheckMaxLength",(_,$)=>{var U;P_.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<D)J._zod.bag.maximum=$.maximum}),_._zod.check=(J)=>{let D=J.value;if(D.length<=$.maximum)return;let W=dU(D);J.issues.push({origin:W,code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),BN=A("$ZodCheckMinLength",(_,$)=>{var U;P_.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=dU(D);J.issues.push({origin:W,code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),HN=A("$ZodCheckLengthEquals",(_,$)=>{var U;P_.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=dU(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})}}),V1=A("$ZodCheckStringFormat",(_,$)=>{var U,J;if(P_.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=()=>{})}),AN=A("$ZodCheckRegex",(_,$)=>{V1.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})}}),bN=A("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=ON),V1.init(_,$)}),VN=A("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=YN),V1.init(_,$)}),KN=A("$ZodCheckIncludes",(_,$)=>{P_.init(_,$);let U=P$($.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})}}),IN=A("$ZodCheckStartsWith",(_,$)=>{P_.init(_,$);let U=new RegExp(`^${P$($.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})}}),FN=A("$ZodCheckEndsWith",(_,$)=>{P_.init(_,$);let U=new RegExp(`.*${P$($.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})}});MN=A("$ZodCheckProperty",(_,$)=>{P_.init(_,$),_._zod.check=(U)=>{let J=$.schema._zod.run({value:U.value[$.property],issues:[]},{});if(J instanceof Promise)return J.then((D)=>WL(D,U,$.property));WL(J,U,$.property);return}}),PN=A("$ZodCheckMimeType",(_,$)=>{P_.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})}}),kN=A("$ZodCheckOverwrite",(_,$)=>{P_.init(_,$),_._zod.check=(U)=>{U.value=$.tx(U.value)}})});class PJ{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 DB=Object.create;var{getPrototypeOf:JB,defineProperty:GG,getOwnPropertyNames:jB}=Object;var WB=Object.prototype.hasOwnProperty;function GB(_){return this[_]}var XB,NB,OB=(_,$,U)=>{var J=_!=null&&typeof _==="object";if(J){var D=$?XB??=new WeakMap:NB??=new WeakMap,j=D.get(_);if(j)return j}U=_!=null?DB(JB(_)):{};let W=$||!_||!_.__esModule?GG(U,"default",{value:_,enumerable:!0}):U;for(let G of jB(_))if(!WB.call(W,G))GG(W,G,{get:GB.bind(_,G),enumerable:!0});if(J)D.set(_,W);return W};var b4=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var YB=(_)=>_;function zB(_,$){this[_]=YB.bind(null,$)}var _6=(_,$)=>{for(var U in $)GG(_,U,{get:$[U],enumerable:!0,configurable:!0,set:zB.bind($,U)})};var Z=(_,$)=>()=>(_&&($=_(_=0)),$);var B_=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 q=0;q<z.length;q++){let g=z[q];if(!(g in G))G[g]=N[g].bind(G)}}let D=U?.Parent??Object;class j extends D{}Object.defineProperty(j,"name",{value:_});function W(G){var X;let N=U?.Parent?new j:this;J(N,G),(X=N._zod).deferred??(X.deferred=[]);for(let z of N._zod.deferred)z();return N}return Object.defineProperty(W,"init",{value:J}),Object.defineProperty(W,Symbol.hasInstance,{value:(G)=>{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(m4,_);return m4}var aL,GJ,XJ,X6,d4,m4;var c4=Z(()=>{GJ=Object.freeze({status:"aborted"});XJ=Symbol("zod_brand");X6=class X6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};d4=class d4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};(aL=globalThis).__zod_globalConfig??(aL.__zod_globalConfig={});m4=globalThis.__zod_globalConfig});var k={};_6(k,{unwrapMessage:()=>xU,uint8ArrayToHex:()=>fM,uint8ArrayToBase64url:()=>SM,uint8ArrayToBase64:()=>_q,stringifyPrimitive:()=>F,slugify:()=>IX,shallowClone:()=>MX,safeExtend:()=>KM,required:()=>MM,randomString:()=>gM,propertyKeyTypes:()=>nU,promiseAllObject:()=>EM,primitiveTypes:()=>PX,prefixIssues:()=>Y$,pick:()=>AM,partial:()=>FM,parsedType:()=>M,optionalKeys:()=>kX,omit:()=>bM,objectClone:()=>QM,numKeys:()=>RM,nullish:()=>U4,normalizeParams:()=>f,mergeDefs:()=>P6,merge:()=>IM,jsonStringifyReplacer:()=>L1,joinValues:()=>V,issue:()=>E1,isPlainObject:()=>J4,isObject:()=>i4,hexToUint8Array:()=>wM,getSizableOrigin:()=>mU,getParsedType:()=>BM,getLengthableOrigin:()=>dU,getEnumValues:()=>rU,getElementAtPath:()=>qM,floatSafeRemainder:()=>KX,finalizeIssue:()=>W$,extend:()=>VM,explicitlyAborted:()=>fX,escapeRegex:()=>k$,esc:()=>NJ,defineLazy:()=>Y_,createTransparentProxy:()=>HM,cloneDef:()=>LM,clone:()=>e_,cleanRegex:()=>uU,cleanEnum:()=>PM,captureStackTrace:()=>OJ,cached:()=>q1,base64urlToUint8Array:()=>kM,base64ToUint8Array:()=>sL,assignProp:()=>D4,assertNotEqual:()=>NM,assertNever:()=>YM,assertIs:()=>OM,assertEqual:()=>XM,assert:()=>zM,allowsEval:()=>FX,aborted:()=>j4,NUMBER_FORMAT_RANGES:()=>SX,Class:()=>$q,BIGINT_FORMAT_RANGES:()=>wX});function XM(_){return _}function NM(_){return _}function OM(_){}function YM(_){throw Error("Unexpected value in exhaustive check")}function zM(_){}function rU(_){let $=Object.values(_).filter((J)=>typeof J==="number");return Object.entries(_).filter(([J,D])=>$.indexOf(+J)===-1).map(([J,D])=>D)}function V(_,$="|"){return _.map((U)=>F(U)).join($)}function L1(_,$){if(typeof $==="bigint")return $.toString();return $}function q1(_){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 uU(_){let $=_.startsWith("^")?1:0,U=_.endsWith("$")?_.length-1:_.length;return _.slice($,U)}function KX(_,$){let U=_/$,J=Math.round(U),D=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-J)<D)return 0;return U-J}function Y_(_,$,U){let J=void 0;Object.defineProperty(_,$,{get(){if(J===eL)return;if(J===void 0)J=eL,J=U();return J},set(D){Object.defineProperty(_,$,{value:D})},configurable:!0})}function QM(_){return Object.create(Object.getPrototypeOf(_),Object.getOwnPropertyDescriptors(_))}function D4(_,$,U){Object.defineProperty(_,$,{value:U,writable:!0,enumerable:!0,configurable:!0})}function P6(..._){let $={};for(let U of _){let J=Object.getOwnPropertyDescriptors(U);Object.assign($,J)}return Object.defineProperties({},$)}function LM(_){return P6(_._zod.def)}function qM(_,$){if(!$)return _;return $.reduce((U,J)=>U?.[J],_)}function EM(_){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 gM(_=10){let U="";for(let J=0;J<_;J++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function NJ(_){return JSON.stringify(_)}function IX(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function i4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function J4(_){if(i4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let U=$.prototype;if(i4(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function MX(_){if(J4(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function RM(_){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 HM(_){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 kX(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function AM(_,$){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 bM(_,$){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 VM(_,$){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 KM(_,$){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 IM(_,$){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 FM(_,$,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 MM(_,$,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 fX(_,$=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 xU(_){return typeof _==="string"?_:_?.message}function W$(_,$,U){let J=_.message?_.message:xU(_.inst?._zod.def?.error?.(_))??xU($?.error?.(_))??xU(U.customError?.(_))??xU(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 mU(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function dU(_){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 PM(_){return Object.entries(_).filter(([$,U])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function sL(_){let $=atob(_),U=new Uint8Array($.length);for(let J=0;J<$.length;J++)U[J]=$.charCodeAt(J);return U}function _q(_){let $="";for(let U=0;U<_.length;U++)$+=String.fromCharCode(_[U]);return btoa($)}function kM(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-$.length%4)%4);return sL($+U)}function SM(_){return _q(_).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function wM(_){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 fM(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class $q{constructor(..._){}}var eL,OJ,FX,BM=(_)=>{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: ${$}`)}},nU,PX,SX,wX;var d=Z(()=>{c4();eL=Symbol("evaluating");OJ="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};FX=q1(()=>{if(m4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});nU=new Set(["string","number","symbol"]),PX=new Set(["string","number","bigint","boolean","symbol","undefined"]);SX={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]},wX={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function g1(_,$=(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(N<G.length){let z=G[N];if(N!==G.length-1)X[z]=X[z]||{_errors:[]};else X[z]=X[z]||{_errors:[]},X[z]._errors.push($(W));X=X[z],N++}}}};return J(_),U}function YJ(_,$=(U)=>U.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,q=0;while(q<N.length){let g=N[q],Q=q===N.length-1;if(typeof g==="string")z.properties??(z.properties={}),(W=z.properties)[g]??(W[g]={errors:[]}),z=z.properties[g];else z.items??(z.items=[]),(G=z.items)[g]??(G[g]={errors:[]}),z=z.items[g];if(Q)z.errors.push($(X));q++}}};return J(_),U}function Dq(_){let $=[],U=_.map((J)=>typeof 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 zJ(_){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 ${Dq(J.path)}`);return $.join(` +`)}var Uq=(_,$)=>{_.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})},cU,z$;var TX=Z(()=>{c4();d();cU=A("$ZodError",Uq),z$=A("$ZodError",Uq,{Parent:Error})});var B1=(_)=>($,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 OJ(G,D?.callee),G}return W.value},QJ,H1=(_)=>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 OJ(G,D?.callee),G}return W.value},LJ,A1=(_)=>($,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(_??cU)(j.issues.map((W)=>W$(W,D,x_())))}:{success:!0,data:j.value}},CX,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}},ZX,qJ=(_)=>($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return B1(_)($,U,D)},CM,EJ=(_)=>($,U,J)=>{return B1(_)($,U,J)},ZM,gJ=(_)=>async($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return H1(_)($,U,D)},vM,RJ=(_)=>async($,U,J)=>{return H1(_)($,U,J)},yM,BJ=(_)=>($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return A1(_)($,U,D)},hM,HJ=(_)=>($,U,J)=>{return A1(_)($,U,J)},xM,AJ=(_)=>async($,U,J)=>{let D=J?{...J,direction:"backward"}:{direction:"backward"};return b1(_)($,U,D)},rM,bJ=(_)=>async($,U,J)=>{return b1(_)($,U,J)},uM;var vX=Z(()=>{c4();TX();d();QJ=B1(z$),LJ=H1(z$),CX=A1(z$),ZX=b1(z$),CM=qJ(z$),ZM=EJ(z$),vM=gJ(z$),yM=RJ(z$),hM=BJ(z$),xM=HJ(z$),rM=AJ(z$),uM=bJ(z$)});var Q$={};_6(Q$,{xid:()=>rX,uuid7:()=>cM,uuid6:()=>dM,uuid4:()=>mM,uuid:()=>l4,uppercase:()=>YN,unicodeEmail:()=>Jq,undefined:()=>NN,ulid:()=>xX,time:()=>UN,string:()=>JN,sha512_hex:()=>zP,sha512_base64url:()=>LP,sha512_base64:()=>QP,sha384_hex:()=>NP,sha384_base64url:()=>YP,sha384_base64:()=>OP,sha256_hex:()=>WP,sha256_base64url:()=>XP,sha256_base64:()=>GP,sha1_hex:()=>DP,sha1_base64url:()=>jP,sha1_base64:()=>JP,rfc5322Email:()=>lM,number:()=>iU,null:()=>XN,nanoid:()=>nX,md5_hex:()=>_P,md5_base64url:()=>UP,md5_base64:()=>$P,mac:()=>pX,lowercase:()=>ON,ksuid:()=>uX,ipv6:()=>oX,ipv4:()=>lX,integer:()=>WN,idnEmail:()=>oM,httpProtocol:()=>sX,html5Email:()=>iM,hostname:()=>aM,hex:()=>sM,guid:()=>dX,extendedDuration:()=>nM,emoji:()=>iX,email:()=>cX,e164:()=>_N,duration:()=>mX,domain:()=>eM,datetime:()=>DN,date:()=>$N,cuid2:()=>hX,cuid:()=>yX,cidrv6:()=>aX,cidrv4:()=>tX,browserEmail:()=>pM,boolean:()=>GN,bigint:()=>jN,base64url:()=>VJ,base64:()=>eX});function iX(){return new RegExp(tM,"u")}function Wq(_){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 UN(_){return new RegExp(`^${Wq(_)}$`)}function DN(_){let $=Wq({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(`^${jq}T(?:${J})$`)}function lU(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function oU(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var yX,hX,xX,rX,uX,nX,mX,nM,dX,l4=(_)=>{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})$`)},mM,dM,cM,cX,iM,lM,Jq,oM,pM,tM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",lX,oX,pX=(_)=>{let $=k$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},tX,aX,eX,VJ,aM,eM,sX,_N,jq="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",$N,JN=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},jN,WN,iU,GN,XN,NN,ON,YN,sM,_P,$P,UP,DP,JP,jP,WP,GP,XP,NP,OP,YP,zP,QP,LP;var KJ=Z(()=>{d();yX=/^[cC][0-9a-z]{6,}$/,hX=/^[0-9a-z]+$/,xX=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,rX=/^[0-9a-vA-V]{20}$/,uX=/^[A-Za-z0-9]{27}$/,nX=/^[a-zA-Z0-9_-]{21}$/,mX=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,nM=/^[-+]?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)?)??$/,dX=/^([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})$/,mM=l4(4),dM=l4(6),cM=l4(7),cX=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,iM=/^[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])?)*$/,lM=/^(([^<>()\[\]\\.,;:\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,}))$/,Jq=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,oM=Jq,pM=/^[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])?)*$/;lX=/^(?:(?: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])$/,oX=/^(([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}|:))$/,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])\/([0-9]|[1-2][0-9]|3[0-2])$/,aX=/^(([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])$/,eX=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,VJ=/^[A-Za-z0-9_-]*$/,aM=/^(?=.{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])?)*\.?$/,eM=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,sX=/^https?$/,_N=/^\+[1-9]\d{6,14}$/,$N=new RegExp(`^${jq}$`);jN=/^-?\d+n?$/,WN=/^-?\d+$/,iU=/^-?\d+(?:\.\d+)?$/,GN=/^(?:true|false)$/i,XN=/^null$/i,NN=/^undefined$/i,ON=/^[^A-Z]*$/,YN=/^[^a-z]*$/,sM=/^[0-9a-fA-F]*$/;_P=/^[0-9a-fA-F]{32}$/,$P=lU(22,"=="),UP=oU(22),DP=/^[0-9a-fA-F]{40}$/,JP=lU(27,"="),jP=oU(27),WP=/^[0-9a-fA-F]{64}$/,GP=lU(43,"="),XP=oU(43),NP=/^[0-9a-fA-F]{96}$/,OP=lU(64,""),YP=oU(64),zP=/^[0-9a-fA-F]{128}$/,QP=lU(86,"=="),LP=oU(86)});function Gq(_,$,U){if(_.issues.length)$.issues.push(...Y$(U,_.issues))}var k_,Xq,IJ,FJ,zN,QN,LN,qN,EN,gN,RN,BN,HN,V1,AN,bN,VN,KN,IN,FN,MN,PN,kN;var MJ=Z(()=>{c4();KJ();d();k_=A("$ZodCheck",(_,$)=>{var U;_._zod??(_._zod={}),_._zod.def=$,(U=_._zod).onattach??(U.onattach=[])}),Xq={number:"number",bigint:"bigint",object:"date"},IJ=A("$ZodCheckLessThan",(_,$)=>{k_.init(_,$);let U=Xq[typeof $.value];_._zod.onattach.push((J)=>{let D=J._zod.bag,j=($.inclusive?D.maximum:D.exclusiveMaximum)??Number.POSITIVE_INFINITY;if($.value<j)if($.inclusive)D.maximum=$.value;else D.exclusiveMaximum=$.value}),_._zod.check=(J)=>{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})}}),FJ=A("$ZodCheckGreaterThan",(_,$)=>{k_.init(_,$);let U=Xq[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})}}),zN=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):KX(U.value,$.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:$.value,input:U.value,inst:_,continue:!$.abort})}}),QN=A("$ZodCheckNumberFormat",(_,$)=>{k_.init(_,$),$.format=$.format||"float64";let U=$.format?.includes("int"),J=U?"int":"number",[D,j]=SX[$.format];_._zod.onattach.push((W)=>{let G=W._zod.bag;if(G.format=$.format,G.minimum=D,G.maximum=j,U)G.pattern=WN}),_._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(G<D)W.issues.push({origin:"number",input:G,code:"too_small",minimum:D,inclusive:!0,inst:_,continue:!$.abort});if(G>j)W.issues.push({origin:"number",input:G,code:"too_big",maximum:j,inclusive:!0,inst:_,continue:!$.abort})}}),LN=A("$ZodCheckBigIntFormat",(_,$)=>{k_.init(_,$);let[U,J]=wX[$.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(j<U)D.issues.push({origin:"bigint",input:j,code:"too_small",minimum:U,inclusive:!0,inst:_,continue:!$.abort});if(j>J)D.issues.push({origin:"bigint",input:j,code:"too_big",maximum:J,inclusive:!0,inst:_,continue:!$.abort})}}),qN=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<D)J._zod.bag.maximum=$.maximum}),_._zod.check=(J)=>{let D=J.value;if(D.size<=$.maximum)return;J.issues.push({origin:mU(D),code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),EN=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:mU(D),code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),gN=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:mU(D),...W?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:J.value,inst:_,continue:!$.abort})}}),RN=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<D)J._zod.bag.maximum=$.maximum}),_._zod.check=(J)=>{let D=J.value;if(D.length<=$.maximum)return;let W=dU(D);J.issues.push({origin:W,code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),BN=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=dU(D);J.issues.push({origin:W,code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),HN=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=dU(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})}}),V1=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=()=>{})}),AN=A("$ZodCheckRegex",(_,$)=>{V1.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})}}),bN=A("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=ON),V1.init(_,$)}),VN=A("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=YN),V1.init(_,$)}),KN=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})}}),IN=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})}}),FN=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})}});MN=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)=>Gq(D,U,$.property));Gq(J,U,$.property);return}}),PN=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})}}),kN=A("$ZodCheckOverwrite",(_,$)=>{k_.init(_,$),_._zod.check=(U)=>{U.value=$.tx(U.value)}})});class PJ{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 wN;var SN=Z(()=>{wN={major:4,minor:4,patch:3}});function sN(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function VL(_){if(!VJ.test(_))return!1;let $=_.replace(/[-_]/g,(J)=>J==="-"?"+":"/"),U=$.padEnd(Math.ceil($.length/4)*4,"=");return sN(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 NL(_,$,U){if(_.issues.length)$.issues.push(...O$(U,_.issues));$.value[U]=_.value}function fJ(_,$,U,J,D,j){let W=U in J;if(_.issues.length){if(D&&j&&!W)return;$.issues.push(...O$(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 IL(_){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=kX(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(U)}}function FL(_,$,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)=>fJ(q,U,E,$,z,L)));else fJ(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 OL(_,$,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)=>j$(W,J,h_())))}),$}function YL(_,$,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)=>j$(W,J,h_())))});else $.issues.push({code:"invalid_union",input:$.value,inst:U,errors:[],inclusive:!1});return $}function fN(_,$){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=fN(_[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=fN(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 zL(_,$,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=fN($.value,U.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return _.value=W.data,_}function QL(_,$){for(let U=_.length-1;U>=0;U--)if(_[U]._zod[$]!=="optional")return U+1;return 0}function qL(_,$,U){if(_.issues.length)$.issues.push(...O$(U,_.issues));$.value[U]=_.value}function LL(_,$,U,J,D){for(let j=0;j<U.length;j++){let W=_[j],G=j<J.length;if(W.issues.length){if(!G&&j>=D){$.value.length=j;break}$.issues.push(...O$(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 gL(_,$,U,J,D,j,W){if(_.issues.length)if(nU.has(typeof J))U.issues.push(...O$(J,_.issues));else U.issues.push({code:"invalid_key",origin:"map",input:D,inst:j,issues:_.issues.map((G)=>j$(G,W,h_()))});if($.issues.length)if(nU.has(typeof J))U.issues.push(...O$(J,$.issues));else U.issues.push({origin:"map",code:"invalid_element",input:D,inst:j,key:J,issues:$.issues.map((G)=>j$(G,W,h_()))});U.value.set(_.value,$.value)}function EL(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function RL(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function BL(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function HL(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function kJ(_,$,U){if(_.issues.length)return _.aborted=!0,_;return $._zod.run({value:_.value,issues:_.issues,fallback:_.fallback},U)}function wJ(_,$,U){if(_.issues.length)return _.aborted=!0,_;if((U.direction||"forward")==="forward"){let D=$.transform(_.value,_);if(D instanceof Promise)return D.then((j)=>SJ(_,j,$.out,U));return SJ(_,D,$.out,U)}else{let D=$.reverseTransform(_.value,_);if(D instanceof Promise)return D.then((j)=>SJ(_,j,$.in,U));return SJ(_,D,$.in,U)}}function SJ(_,$,U,J){if(_.issues.length)return _.aborted=!0,_;return U._zod.run({value:$,issues:_.issues},J)}function AL(_){return _.value=Object.freeze(_.value),_}function bL(_,$,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(g1(D))}}var U_,o4,F_,TN,CN,ZN,vN,yN,hN,xN,rN,uN,nN,mN,dN,cN,iN,lN,oN,pN,tN,aN,eN,_5,$5,U5,D5,J5,TJ,j5,pU,CJ,W5,G5,X5,N5,O5,Y5,z5,Q5,q5,L5,ML,g5,tU,E5,R5,B5,ZJ,H5,A5,b5,V5,K5,I5,F5,vJ,M5,P5,k5,w5,S5,f5,T5,C5,yJ,aU,Z5,v5,y5,h5,x5,r5,u5;var n5=Z(()=>{MJ();c4();vX();KJ();d();SN();d();U_=A("$ZodType",(_,$)=>{var U;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=wN;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(fX(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 G6;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 G6;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 G6;return X.then((N)=>D(N,J,G))}return D(X,J,G)}}Y_(_,"~standard",()=>({validate:(D)=>{try{let j=CX(_,D);return j.success?{value:j.data}:{issues:j.error?.issues}}catch(j){return ZX(_,D).then((W)=>W.success?{value:W.data}:{issues:W.error?.issues})}},vendor:"zod",version:1}))}),o4=A("$ZodString",(_,$)=>{U_.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??JN(_._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}}),F_=A("$ZodStringFormat",(_,$)=>{V1.init(_,$),o4.init(_,$)}),TN=A("$ZodGUID",(_,$)=>{$.pattern??($.pattern=dX),F_.init(_,$)}),CN=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=l4(J))}else $.pattern??($.pattern=l4());F_.init(_,$)}),ZN=A("$ZodEmail",(_,$)=>{$.pattern??($.pattern=cX),F_.init(_,$)}),vN=A("$ZodURL",(_,$)=>{F_.init(_,$),_._zod.check=(U)=>{try{let J=U.value.trim();if(!$.normalize&&$.protocol?.source===sX.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})}}}),yN=A("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=iX()),F_.init(_,$)}),hN=A("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=nX),F_.init(_,$)}),xN=A("$ZodCUID",(_,$)=>{$.pattern??($.pattern=yX),F_.init(_,$)}),rN=A("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=hX),F_.init(_,$)}),uN=A("$ZodULID",(_,$)=>{$.pattern??($.pattern=xX),F_.init(_,$)}),nN=A("$ZodXID",(_,$)=>{$.pattern??($.pattern=rX),F_.init(_,$)}),mN=A("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=uX),F_.init(_,$)}),dN=A("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=DN($)),F_.init(_,$)}),cN=A("$ZodISODate",(_,$)=>{$.pattern??($.pattern=$N),F_.init(_,$)}),iN=A("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=UN($)),F_.init(_,$)}),lN=A("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=mX),F_.init(_,$)}),oN=A("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=lX),F_.init(_,$),_._zod.bag.format="ipv4"}),pN=A("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=oX),F_.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})}}}),tN=A("$ZodMAC",(_,$)=>{$.pattern??($.pattern=pX($.delimiter)),F_.init(_,$),_._zod.bag.format="mac"}),aN=A("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=tX),F_.init(_,$)}),eN=A("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=aX),F_.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})}}});_5=A("$ZodBase64",(_,$)=>{$.pattern??($.pattern=eX),F_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(U)=>{if(sN(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:_,continue:!$.abort})}});$5=A("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=VJ),F_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(U)=>{if(VL(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:_,continue:!$.abort})}}),U5=A("$ZodE164",(_,$)=>{$.pattern??($.pattern=_N),F_.init(_,$)});D5=A("$ZodJWT",(_,$)=>{F_.init(_,$),_._zod.check=(U)=>{if(KL(U.value,$.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:_,continue:!$.abort})}}),J5=A("$ZodCustomStringFormat",(_,$)=>{F_.init(_,$),_._zod.check=(U)=>{if($.fn(U.value))return;U.issues.push({code:"invalid_format",format:$.format,input:U.value,inst:_,continue:!$.abort})}}),TJ=A("$ZodNumber",(_,$)=>{U_.init(_,$),_._zod.pattern=_._zod.bag.pattern??iU,_._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}}),j5=A("$ZodNumberFormat",(_,$)=>{QN.init(_,$),TJ.init(_,$)}),pU=A("$ZodBoolean",(_,$)=>{U_.init(_,$),_._zod.pattern=GN,_._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}}),CJ=A("$ZodBigInt",(_,$)=>{U_.init(_,$),_._zod.pattern=jN,_._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}}),W5=A("$ZodBigIntFormat",(_,$)=>{qN.init(_,$),CJ.init(_,$)}),G5=A("$ZodSymbol",(_,$)=>{U_.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}}),X5=A("$ZodUndefined",(_,$)=>{U_.init(_,$),_._zod.pattern=NN,_._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}}),N5=A("$ZodNull",(_,$)=>{U_.init(_,$),_._zod.pattern=XN,_._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}}),O5=A("$ZodAny",(_,$)=>{U_.init(_,$),_._zod.parse=(U)=>U}),Y5=A("$ZodUnknown",(_,$)=>{U_.init(_,$),_._zod.parse=(U)=>U}),z5=A("$ZodNever",(_,$)=>{U_.init(_,$),_._zod.parse=(U,J)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:_}),U}}),Q5=A("$ZodVoid",(_,$)=>{U_.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}}),q5=A("$ZodDate",(_,$)=>{U_.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}});L5=A("$ZodArray",(_,$)=>{U_.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;W<D.length;W++){let G=D[W],X=$.element._zod.run({value:G,issues:[]},J);if(X instanceof Promise)j.push(X.then((N)=>NL(N,U,W)));else NL(X,U,W)}if(j.length)return Promise.all(j).then(()=>U);return U}});ML=A("$ZodObject",(_,$)=>{if(U_.init(_,$),!Object.getOwnPropertyDescriptor($,"shape")?.get){let G=$.shape;Object.defineProperty($,"shape",{get:()=>{let X={...G};return Object.defineProperty($,"shape",{value:X}),X}})}let J=L1(()=>IL($));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=i4,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",R=Q._zod.run({value:N[E],issues:[]},X);if(R instanceof Promise)z.push(R.then((H)=>fJ(H,G,E,N,q,g)));else fJ(R,G,E,N,q,g)}if(!j)return z.length?Promise.all(z).then(()=>G):G;return FL(z,N,G,X,J.value,_)}}),g5=A("$ZodObjectJIT",(_,$)=>{ML.init(_,$);let U=_._zod.parse,J=L1(()=>IL($)),D=(E)=>{let Q=new PJ(["shape","payload","ctx"]),q=J.value,g=(K)=>{let b=NJ(K);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};Q.write("const input = payload.value;");let R=Object.create(null),H=0;for(let K of q.keys)R[K]=`key_${H++}`;Q.write("const newResult = {};");for(let K of q.keys){let b=R[K],I=NJ(K),C=E[K],f=C?._zod?.optin==="optional",m=C?._zod?.optout==="optional";if(Q.write(`const ${b} = ${g(K)};`),f&&m)Q.write(` +`))}}var SN;var wN=Z(()=>{SN={major:4,minor:4,patch:3}});function sN(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function Kq(_){if(!VJ.test(_))return!1;let $=_.replace(/[-_]/g,(J)=>J==="-"?"+":"/"),U=$.padEnd(Math.ceil($.length/4)*4,"=");return sN(U)}function Iq(_,$=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 Oq(_,$,U){if(_.issues.length)$.issues.push(...Y$(U,_.issues));$.value[U]=_.value}function fJ(_,$,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 Fq(_){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=kX(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(U)}}function Mq(_,$,U,J,D,j){let W=[],G=D.keySet,X=D.catchall._zod,N=X.def.type,z=X.optin==="optional",q=X.optout==="optional";for(let g in $){if(g==="__proto__")continue;if(G.has(g))continue;if(N==="never"){W.push(g);continue}let Q=X.run({value:$[g],issues:[]},J);if(Q instanceof Promise)_.push(Q.then((L)=>fJ(L,U,g,$,z,q)));else fJ(Q,U,g,$,z,q)}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 Yq(_,$,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 zq(_,$,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 fN(_,$){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=fN(_[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=fN(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 Qq(_,$,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=fN($.value,U.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return _.value=W.data,_}function Lq(_,$){for(let U=_.length-1;U>=0;U--)if(_[U]._zod[$]!=="optional")return U+1;return 0}function qq(_,$,U){if(_.issues.length)$.issues.push(...Y$(U,_.issues));$.value[U]=_.value}function Eq(_,$,U,J,D){for(let j=0;j<U.length;j++){let W=_[j],G=j<J.length;if(W.issues.length){if(!G&&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 gq(_,$,U,J,D,j,W){if(_.issues.length)if(nU.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(nU.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 Rq(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function Bq(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function Hq(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function Aq(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function kJ(_,$,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)=>wJ(_,j,$.out,U));return wJ(_,D,$.out,U)}else{let D=$.reverseTransform(_.value,_);if(D instanceof Promise)return D.then((j)=>wJ(_,j,$.in,U));return wJ(_,D,$.in,U)}}function wJ(_,$,U,J){if(_.issues.length)return _.aborted=!0,_;return U._zod.run({value:$,issues:_.issues},J)}function bq(_){return _.value=Object.freeze(_.value),_}function Vq(_,$,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 $_,o4,M_,TN,CN,ZN,vN,yN,hN,xN,rN,uN,nN,mN,dN,cN,iN,lN,oN,pN,tN,aN,eN,_5,$5,U5,D5,J5,TJ,j5,pU,CJ,W5,G5,X5,N5,O5,Y5,z5,Q5,L5,q5,Pq,E5,tU,g5,R5,B5,ZJ,H5,A5,b5,V5,K5,I5,F5,vJ,M5,P5,k5,S5,w5,f5,T5,C5,yJ,aU,Z5,v5,y5,h5,x5,r5,u5;var n5=Z(()=>{MJ();c4();vX();KJ();d();wN();d();$_=A("$ZodType",(_,$)=>{var U;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=SN;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 q of G){if(q._zod.def.when){if(fX(W))continue;if(!q._zod.def.when(W))continue}else if(N)continue;let g=W.issues.length,Q=q._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===g)return;if(!N)N=j4(W,g)});else{if(W.issues.length===g)continue;if(!N)N=j4(W,g)}}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=CX(_,D);return j.success?{value:j.data}:{issues:j.error?.issues}}catch(j){return ZX(_,D).then((W)=>W.success?{value:W.data}:{issues:W.error?.issues})}},vendor:"zod",version:1}))}),o4=A("$ZodString",(_,$)=>{$_.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??JN(_._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",(_,$)=>{V1.init(_,$),o4.init(_,$)}),TN=A("$ZodGUID",(_,$)=>{$.pattern??($.pattern=dX),M_.init(_,$)}),CN=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=l4(J))}else $.pattern??($.pattern=l4());M_.init(_,$)}),ZN=A("$ZodEmail",(_,$)=>{$.pattern??($.pattern=cX),M_.init(_,$)}),vN=A("$ZodURL",(_,$)=>{M_.init(_,$),_._zod.check=(U)=>{try{let J=U.value.trim();if(!$.normalize&&$.protocol?.source===sX.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})}}}),yN=A("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=iX()),M_.init(_,$)}),hN=A("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=nX),M_.init(_,$)}),xN=A("$ZodCUID",(_,$)=>{$.pattern??($.pattern=yX),M_.init(_,$)}),rN=A("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=hX),M_.init(_,$)}),uN=A("$ZodULID",(_,$)=>{$.pattern??($.pattern=xX),M_.init(_,$)}),nN=A("$ZodXID",(_,$)=>{$.pattern??($.pattern=rX),M_.init(_,$)}),mN=A("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=uX),M_.init(_,$)}),dN=A("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=DN($)),M_.init(_,$)}),cN=A("$ZodISODate",(_,$)=>{$.pattern??($.pattern=$N),M_.init(_,$)}),iN=A("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=UN($)),M_.init(_,$)}),lN=A("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=mX),M_.init(_,$)}),oN=A("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=lX),M_.init(_,$),_._zod.bag.format="ipv4"}),pN=A("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=oX),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})}}}),tN=A("$ZodMAC",(_,$)=>{$.pattern??($.pattern=pX($.delimiter)),M_.init(_,$),_._zod.bag.format="mac"}),aN=A("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=tX),M_.init(_,$)}),eN=A("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=aX),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})}}});_5=A("$ZodBase64",(_,$)=>{$.pattern??($.pattern=eX),M_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(U)=>{if(sN(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:_,continue:!$.abort})}});$5=A("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=VJ),M_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(U)=>{if(Kq(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:_,continue:!$.abort})}}),U5=A("$ZodE164",(_,$)=>{$.pattern??($.pattern=_N),M_.init(_,$)});D5=A("$ZodJWT",(_,$)=>{M_.init(_,$),_._zod.check=(U)=>{if(Iq(U.value,$.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:_,continue:!$.abort})}}),J5=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})}}),TJ=A("$ZodNumber",(_,$)=>{$_.init(_,$),_._zod.pattern=_._zod.bag.pattern??iU,_._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}}),j5=A("$ZodNumberFormat",(_,$)=>{QN.init(_,$),TJ.init(_,$)}),pU=A("$ZodBoolean",(_,$)=>{$_.init(_,$),_._zod.pattern=GN,_._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}}),CJ=A("$ZodBigInt",(_,$)=>{$_.init(_,$),_._zod.pattern=jN,_._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}}),W5=A("$ZodBigIntFormat",(_,$)=>{LN.init(_,$),CJ.init(_,$)}),G5=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}}),X5=A("$ZodUndefined",(_,$)=>{$_.init(_,$),_._zod.pattern=NN,_._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}}),N5=A("$ZodNull",(_,$)=>{$_.init(_,$),_._zod.pattern=XN,_._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}}),O5=A("$ZodAny",(_,$)=>{$_.init(_,$),_._zod.parse=(U)=>U}),Y5=A("$ZodUnknown",(_,$)=>{$_.init(_,$),_._zod.parse=(U)=>U}),z5=A("$ZodNever",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:_}),U}}),Q5=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}}),L5=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}});q5=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;W<D.length;W++){let G=D[W],X=$.element._zod.run({value:G,issues:[]},J);if(X instanceof Promise)j.push(X.then((N)=>Oq(N,U,W)));else Oq(X,U,W)}if(j.length)return Promise.all(j).then(()=>U);return U}});Pq=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=q1(()=>Fq($));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 q of z.values)X[N].add(q)}}return X});let D=i4,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=[],q=W.shape;for(let g of W.keys){let Q=q[g],L=Q._zod.optin==="optional",E=Q._zod.optout==="optional",R=Q._zod.run({value:N[g],issues:[]},X);if(R instanceof Promise)z.push(R.then((H)=>fJ(H,G,g,N,L,E)));else fJ(R,G,g,N,L,E)}if(!j)return z.length?Promise.all(z).then(()=>G):G;return Mq(z,N,G,X,J.value,_)}}),E5=A("$ZodObjectJIT",(_,$)=>{Pq.init(_,$);let U=_._zod.parse,J=q1(()=>Fq($)),D=(g)=>{let Q=new PJ(["shape","payload","ctx"]),L=J.value,E=(K)=>{let b=NJ(K);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};Q.write("const input = payload.value;");let R=Object.create(null),H=0;for(let K of L.keys)R[K]=`key_${H++}`;Q.write("const newResult = {};");for(let K of L.keys){let b=R[K],I=NJ(K),T=g[K],P=T?._zod?.optin==="optional",n=T?._zod?.optout==="optional";if(Q.write(`const ${b} = ${E(K)};`),P&&n)Q.write(` if (${b}.issues.length) { if (${I} in input) { payload.issues = payload.issues.concat(${b}.issues.map(iss => ({ @@ -21,7 +21,7 @@ var $B=Object.create;var{getPrototypeOf:UB,defineProperty:GG,getOwnPropertyNames newResult[${I}] = ${b}.value; } - `);else if(!f)Q.write(` + `);else if(!P)Q.write(` const ${b}_present = ${I} in input; if (${b}.issues.length) { payload.issues = payload.issues.concat(${b}.issues.map(iss => ({ @@ -62,40 +62,40 @@ var $B=Object.create;var{getPrototypeOf:UB,defineProperty:GG,getOwnPropertyNames newResult[${I}] = ${b}.value; } - `)}Q.write("payload.value = newResult;"),Q.write("return payload;");let B=Q.compile();return(K,b)=>B(E,K,b)},j,W=i4,G=!m4.jitless,N=G&&FX.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 FL([],q,E,Q,L,_)}return U(E,Q)}});tU=A("$ZodUnion",(_,$)=>{U_.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)=>uU(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 OL(W,J,_,D);return Promise.all(W).then((G)=>{return OL(G,J,_,D)})}});E5=A("$ZodXor",(_,$)=>{tU.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 YL(W,J,_,D);return Promise.all(W).then((G)=>{return YL(G,J,_,D)})}}),R5=A("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,tU.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=L1(()=>{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(!i4(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}}),B5=A("$ZodIntersection",(_,$)=>{U_.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 zL(U,X,N)});return zL(U,j,W)}});ZJ=A("$ZodTuple",(_,$)=>{U_.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=QL(U,"optin"),X=QL(U,"optout");if(!$.rest){if(j.length<G)return J.issues.push({code:"too_small",minimum:G,inclusive:!0,input:j,inst:_,origin:"array"}),J;if(j.length>U.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<U.length;z++){let L=U[z]._zod.run({value:j[z],issues:[]},D);if(L instanceof Promise)W.push(L.then((E)=>{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)=>qL(q,J,z)));else qL(Q,J,z)}}if(W.length)return Promise.all(W).then(()=>LL(N,J,U,j,X));return LL(N,J,U,j,X)}});H5=A("$ZodRecord",(_,$)=>{U_.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)=>j$(Q,J,h_())),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(...O$(N,Q.issues));U.value[L]=Q.value}));else{if(E.issues.length)U.issues.push(...O$(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"&&iU.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)=>j$(L,J,h_())),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(...O$(G,L.issues));U.value[X.value]=L.value}));else{if(z.issues.length)U.issues.push(...O$(G,z.issues));U.value[X.value]=z.value}}}if(j.length)return Promise.all(j).then(()=>U);return U}}),A5=A("$ZodMap",(_,$)=>{U_.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])=>{gL(z,L,U,W,D,_,J)}));else gL(X,N,U,W,D,_,J)}if(j.length)return Promise.all(j).then(()=>U);return U}});b5=A("$ZodSet",(_,$)=>{U_.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)=>EL(X,U)));else EL(G,U)}if(j.length)return Promise.all(j).then(()=>U);return U}});V5=A("$ZodEnum",(_,$)=>{U_.init(_,$);let U=rU($.entries),J=new Set(U);_._zod.values=J,_._zod.pattern=new RegExp(`^(${U.filter((D)=>nU.has(typeof D)).map((D)=>typeof D==="string"?P$(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}}),K5=A("$ZodLiteral",(_,$)=>{if(U_.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"?P$(J):J?P$(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}}),I5=A("$ZodFile",(_,$)=>{U_.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}}),F5=A("$ZodTransform",(_,$)=>{U_.init(_,$),_._zod.optin="optional",_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new d4(_.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 G6;return U.value=D,U.fallback=!0,U}});vJ=A("$ZodOptional",(_,$)=>{U_.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(`^(${uU(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)=>RL(W,D));return RL(j,D)}if(U.value===void 0)return U;return $.innerType._zod.run(U,J)}}),M5=A("$ZodExactOptional",(_,$)=>{vJ.init(_,$),Y_(_._zod,"values",()=>$.innerType._zod.values),Y_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(U,J)=>{return $.innerType._zod.run(U,J)}}),P5=A("$ZodNullable",(_,$)=>{U_.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(`^(${uU(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)}}),k5=A("$ZodDefault",(_,$)=>{U_.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)=>BL(j,$));return BL(D,$)}});w5=A("$ZodPrefault",(_,$)=>{U_.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)}}),S5=A("$ZodNonOptional",(_,$)=>{U_.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)=>HL(j,_));return HL(D,_)}});f5=A("$ZodSuccess",(_,$)=>{U_.init(_,$),_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new d4("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}}),T5=A("$ZodCatch",(_,$)=>{U_.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)=>j$(W,J,h_()))},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)=>j$(j,J,h_()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),C5=A("$ZodNaN",(_,$)=>{U_.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}}),yJ=A("$ZodPipe",(_,$)=>{U_.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)=>kJ(W,$.in,J));return kJ(j,$.in,J)}let D=$.in._zod.run(U,J);if(D instanceof Promise)return D.then((j)=>kJ(j,$.out,J));return kJ(D,$.out,J)}});aU=A("$ZodCodec",(_,$)=>{U_.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)=>wJ(W,$,J));return wJ(j,$,J)}else{let j=$.out._zod.run(U,J);if(j instanceof Promise)return j.then((W)=>wJ(W,$,J));return wJ(j,$,J)}}});Z5=A("$ZodPreprocess",(_,$)=>{yJ.init(_,$)}),v5=A("$ZodReadonly",(_,$)=>{U_.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(AL);return AL(D)}});y5=A("$ZodTemplateLiteral",(_,$)=>{U_.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||PX.has(typeof J))U.push(P$(`${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}}),h5=A("$ZodFunction",(_,$)=>{return U_.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 qJ(_._def.input,J):J,j=await Reflect.apply(U,this,D);if(_._def.output)return await qJ(_._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 ZJ({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})},_}),x5=A("$ZodPromise",(_,$)=>{U_.init(_,$),_._zod.parse=(U,J)=>{return Promise.resolve(U.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},J))}}),r5=A("$ZodLazy",(_,$)=>{U_.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)}}),u5=A("$ZodCustom",(_,$)=>{P_.init(_,$),U_.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)=>bL(j,U,J,_));bL(D,U,J,_);return}})});function m5(){return{localeError:LP()}}var LP=()=>{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: ${V(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":""}: ${V(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 PL=Z(()=>{d()});function d5(){return{localeError:gP()}}var gP=()=>{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: ${V(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":""}: ${V(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 kL=Z(()=>{d()});function wL(_,$,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 c5(){return{localeError:EP()}}var EP=()=>{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 ${V(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=wL(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=wL(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"}: ${V(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 SL=Z(()=>{d()});function i5(){return{localeError:RP()}}var RP=()=>{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 ${V(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":""}: ${V(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 fL=Z(()=>{d()});function l5(){return{localeError:BP()}}var BP=()=>{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 ${V(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":""}: ${V(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 TL=Z(()=>{d()});function o5(){return{localeError:HP()}}var HP=()=>{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 ${V(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: ${V(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 CL=Z(()=>{d()});function p5(){return{localeError:AP()}}var AP=()=>{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 ${V(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"}: ${V(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 ZL=Z(()=>{d()});function t5(){return{localeError:bP()}}var bP=()=>{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 ${V(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"}: ${V(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 vL=Z(()=>{d()});function a5(){return{localeError:VP()}}var VP=()=>{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 ${V(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"}: ${V(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 yL=Z(()=>{d()});function eU(){return{localeError:KP()}}var KP=()=>{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 ${V(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":""}: ${V(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 e5=Z(()=>{d()});function s5(){return{localeError:IP()}}var IP=()=>{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 ${V(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":""}: ${V(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 hL=Z(()=>{d()});function _9(){return{localeError:FP()}}var FP=()=>{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 ${V(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":""}: ${V(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 xL=Z(()=>{d()});function $9(){return{localeError:MP()}}var MP=()=>{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 ${V(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: ${V(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 rL=Z(()=>{d()});function U9(){return{localeError:PP()}}var PP=()=>{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: ${V(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"}: ${V(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 uL=Z(()=>{d()});function D9(){return{localeError:kP()}}var kP=()=>{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 ${V(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":""} : ${V(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 nL=Z(()=>{d()});function J9(){return{localeError:wP()}}var wP=()=>{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 ${V(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":""} : ${V(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 mL=Z(()=>{d()});function j9(){return{localeError:SP()}}var SP=()=>{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 R=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 ${R}`}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"}: ${V(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 dL=Z(()=>{d()});function W9(){return{localeError:fP()}}var fP=()=>{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 ${V(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"}: ${V(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 cL=Z(()=>{d()});function G9(){return{localeError:TP()}}var TP=()=>{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 ${V(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":""}: ${V(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 iL=Z(()=>{d()});function lL(_,$,U){return Math.abs(_)===1?$:U}function K1(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=_[_.length-1];return _+($.includes(U)?"\u0576":"\u0568")}function X9(){return{localeError:CP()}}var CP=()=>{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 ${V(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=lL(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 ${K1(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 ${K1(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=lL(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 ${K1(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 ${K1(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":""}. ${V(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${K1(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 ${K1(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var oL=Z(()=>{d()});function N9(){return{localeError:ZP()}}var ZP=()=>{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 ${V(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":""}: ${V(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 pL=Z(()=>{d()});function O9(){return{localeError:vP()}}var vP=()=>{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 ${V(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"}: ${V(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 tL=Z(()=>{d()});function Y9(){return{localeError:yP()}}var yP=()=>{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 ${V(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"}: ${V(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 aL=Z(()=>{d()});function z9(){return{localeError:hP()}}var hP=()=>{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: ${V(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":""}: ${V(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 eL=Z(()=>{d()});function Q9(){return{localeError:xP()}}var xP=()=>{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 ${V(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"}: ${V(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 sL=Z(()=>{d()});function sU(){return{localeError:rP()}}var rP=()=>{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 ${V(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 ${V(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 q9=Z(()=>{d()});function L9(){return sU()}var _g=Z(()=>{q9()});function g9(){return{localeError:uP()}}var uP=()=>{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: ${V(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: ${V(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 $g=Z(()=>{d()});function Ug(_){let $=Math.abs(_),U=$%10,J=$%100;if(J>=11&&J<=19||U===0)return"many";if(U===1)return"one";return"few"}function E9(){return{localeError:nP()}}var _2=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},nP=()=>{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 ${V(D.values,"|")} pasirinkim\u0173`;case"too_big":{let j=J[D.origin]??D.origin,W=$(D.origin,Ug(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,Ug(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"}: ${V(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 Dg=Z(()=>{d()});function R9(){return{localeError:mP()}}var mP=()=>{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 ${V(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"}: ${V(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 Jg=Z(()=>{d()});function B9(){return{localeError:dP()}}var dP=()=>{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 ${V(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: ${V(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 jg=Z(()=>{d()});function H9(){return{localeError:cP()}}var cP=()=>{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 ${V(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":""}: ${V(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 Wg=Z(()=>{d()});function A9(){return{localeError:iP()}}var iP=()=>{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 ${V(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"}: ${V(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 Gg=Z(()=>{d()});function b9(){return{localeError:lP()}}var lP=()=>{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 ${V(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":""}: ${V(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 Xg=Z(()=>{d()});function V9(){return{localeError:oP()}}var oP=()=>{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 ${V(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"}: ${V(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 Ng=Z(()=>{d()});function K9(){return{localeError:pP()}}var pP=()=>{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 ${V(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":""}: ${V(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 Og=Z(()=>{d()});function I9(){return{localeError:tP()}}var tP=()=>{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 ${V(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":""}: ${V(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 Yg=Z(()=>{d()});function F9(){return{localeError:aP()}}var aP=()=>{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 ${V(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: ${V(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 zg=Z(()=>{d()});function Qg(_,$,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 M9(){return{localeError:eP()}}var eP=()=>{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 ${V(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=Qg(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=Qg(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":""}: ${V(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 qg=Z(()=>{d()});function P9(){return{localeError:sP()}}var sP=()=>{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 ${V(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"}: ${V(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 Lg=Z(()=>{d()});function k9(){return{localeError:_k()}}var _k=()=>{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 ${V(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"}: ${V(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 gg=Z(()=>{d()});function w9(){return{localeError:$k()}}var $k=()=>{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 ${V(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":""}: ${V(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 Eg=Z(()=>{d()});function S9(){return{localeError:Uk()}}var Uk=()=>{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 ${V(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: ${V(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 Rg=Z(()=>{d()});function f9(){return{localeError:Dk()}}var Dk=()=>{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: ${V(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":""}: ${V(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 Bg=Z(()=>{d()});function $2(){return{localeError:Jk()}}var Jk=()=>{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 ${V(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":""}: ${V(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 T9=Z(()=>{d()});function C9(){return $2()}var Hg=Z(()=>{T9()});function Z9(){return{localeError:jk()}}var jk=()=>{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: ${V(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":""}: ${V(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 Ag=Z(()=>{d()});function v9(){return{localeError:Wk()}}var Wk=()=>{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 ${V(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":""}: ${V(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 bg=Z(()=>{d()});function y9(){return{localeError:Gk()}}var Gk=()=>{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 ${V(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: ${V(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 Vg=Z(()=>{d()});function h9(){return{localeError:Xk()}}var Xk=()=>{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 ${V(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): ${V(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 x9(){return{localeError:Nk()}}var Nk=()=>{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 ${V(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${V(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 Ig=Z(()=>{d()});function r9(){return{localeError:Ok()}}var Ok=()=>{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 ${V(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: ${V(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 Fg=Z(()=>{d()});var I1={};s$(I1,{zhTW:()=>x9,zhCN:()=>h9,yo:()=>r9,vi:()=>y9,uz:()=>v9,ur:()=>Z9,uk:()=>$2,ua:()=>C9,tr:()=>f9,th:()=>S9,ta:()=>w9,sv:()=>k9,sl:()=>P9,ru:()=>M9,ro:()=>F9,pt:()=>I9,ps:()=>V9,pl:()=>K9,ota:()=>b9,no:()=>A9,nl:()=>H9,ms:()=>B9,mk:()=>R9,lt:()=>E9,ko:()=>g9,km:()=>sU,kh:()=>L9,ka:()=>Q9,ja:()=>z9,it:()=>Y9,is:()=>O9,id:()=>N9,hy:()=>X9,hu:()=>G9,hr:()=>W9,he:()=>j9,frCA:()=>J9,fr:()=>D9,fi:()=>U9,fa:()=>$9,es:()=>_9,eo:()=>s5,en:()=>eU,el:()=>a5,de:()=>t5,da:()=>p5,cs:()=>o5,ca:()=>l5,bg:()=>i5,be:()=>c5,az:()=>d5,ar:()=>m5});var u9=Z(()=>{PL();kL();SL();fL();TL();CL();ZL();vL();yL();e5();hL();xL();rL();uL();nL();mL();dL();cL();iL();oL();pL();tL();aL();eL();sL();_g();q9();$g();Dg();Jg();jg();Wg();Gg();Xg();Ng();Og();Yg();zg();qg();Lg();gg();Eg();Rg();Bg();Hg();T9();Ag();bg();Vg();Kg();Ig();Fg()});class n9{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 U2(){return new n9}var Mg,hJ,xJ,i_;var D2=Z(()=>{hJ=Symbol("ZodOutput"),xJ=Symbol("ZodInput");(Mg=globalThis).__zod_globalRegistry??(Mg.__zod_globalRegistry=U2());i_=globalThis.__zod_globalRegistry});function m9(_,$){return new _({type:"string",...S($)})}function d9(_,$){return new _({type:"string",coerce:!0,...S($)})}function rJ(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...S($)})}function J2(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...S($)})}function uJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...S($)})}function nJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...S($)})}function mJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...S($)})}function dJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...S($)})}function j2(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...S($)})}function cJ(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...S($)})}function iJ(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...S($)})}function lJ(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...S($)})}function oJ(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...S($)})}function pJ(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...S($)})}function tJ(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...S($)})}function aJ(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...S($)})}function eJ(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...S($)})}function sJ(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...S($)})}function c9(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...S($)})}function _j(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...S($)})}function $j(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...S($)})}function Uj(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...S($)})}function Dj(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...S($)})}function Jj(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...S($)})}function jj(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...S($)})}function i9(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...S($)})}function l9(_,$){return new _({type:"string",format:"date",check:"string_format",...S($)})}function o9(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...S($)})}function p9(_,$){return new _({type:"string",format:"duration",check:"string_format",...S($)})}function t9(_,$){return new _({type:"number",checks:[],...S($)})}function a9(_,$){return new _({type:"number",coerce:!0,checks:[],...S($)})}function e9(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...S($)})}function s9(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...S($)})}function _O(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...S($)})}function $O(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...S($)})}function UO(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...S($)})}function DO(_,$){return new _({type:"boolean",...S($)})}function JO(_,$){return new _({type:"boolean",coerce:!0,...S($)})}function jO(_,$){return new _({type:"bigint",...S($)})}function WO(_,$){return new _({type:"bigint",coerce:!0,...S($)})}function GO(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...S($)})}function XO(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...S($)})}function NO(_,$){return new _({type:"symbol",...S($)})}function OO(_,$){return new _({type:"undefined",...S($)})}function YO(_,$){return new _({type:"null",...S($)})}function zO(_){return new _({type:"any"})}function QO(_){return new _({type:"unknown"})}function qO(_,$){return new _({type:"never",...S($)})}function LO(_,$){return new _({type:"void",...S($)})}function gO(_,$){return new _({type:"date",...S($)})}function EO(_,$){return new _({type:"date",coerce:!0,...S($)})}function RO(_,$){return new _({type:"nan",...S($)})}function r$(_,$){return new IJ({check:"less_than",...S($),value:_,inclusive:!1})}function Q$(_,$){return new IJ({check:"less_than",...S($),value:_,inclusive:!0})}function u$(_,$){return new FJ({check:"greater_than",...S($),value:_,inclusive:!1})}function a_(_,$){return new FJ({check:"greater_than",...S($),value:_,inclusive:!0})}function W2(_){return u$(0,_)}function G2(_){return r$(0,_)}function X2(_){return Q$(0,_)}function N2(_){return a_(0,_)}function k6(_,$){return new zN({check:"multiple_of",...S($),value:_})}function w6(_,$){return new LN({check:"max_size",...S($),maximum:_})}function n$(_,$){return new gN({check:"min_size",...S($),minimum:_})}function W4(_,$){return new EN({check:"size_equals",...S($),size:_})}function G4(_,$){return new RN({check:"max_length",...S($),maximum:_})}function X6(_,$){return new BN({check:"min_length",...S($),minimum:_})}function X4(_,$){return new HN({check:"length_equals",...S($),length:_})}function p4(_,$){return new AN({check:"string_format",format:"regex",...S($),pattern:_})}function t4(_){return new bN({check:"string_format",format:"lowercase",...S(_)})}function a4(_){return new VN({check:"string_format",format:"uppercase",...S(_)})}function e4(_,$){return new KN({check:"string_format",format:"includes",...S($),includes:_})}function s4(_,$){return new IN({check:"string_format",format:"starts_with",...S($),prefix:_})}function _0(_,$){return new FN({check:"string_format",format:"ends_with",...S($),suffix:_})}function O2(_,$,U){return new MN({check:"property",property:_,schema:$,...S(U)})}function $0(_,$){return new PN({check:"mime_type",mime:_,...S($)})}function k$(_){return new kN({check:"overwrite",tx:_})}function U0(_){return k$(($)=>$.normalize(_))}function D0(){return k$((_)=>_.trim())}function J0(){return k$((_)=>_.toLowerCase())}function j0(){return k$((_)=>_.toUpperCase())}function W0(){return k$((_)=>IX(_))}function BO(_,$,U){return new _({type:"array",element:$,...S(U)})}function zk(_,$,U){return new _({type:"union",options:$,...S(U)})}function Qk(_,$,U){return new _({type:"union",options:$,inclusive:!1,...S(U)})}function qk(_,$,U,J){return new _({type:"union",options:U,discriminator:$,...S(J)})}function Lk(_,$,U){return new _({type:"intersection",left:$,right:U})}function gk(_,$,U,J){let D=U instanceof U_;return new _({type:"tuple",items:$,rest:D?U:null,...S(D?J:U)})}function Ek(_,$,U,J){return new _({type:"record",keyType:$,valueType:U,...S(J)})}function Rk(_,$,U,J){return new _({type:"map",keyType:$,valueType:U,...S(J)})}function Bk(_,$,U){return new _({type:"set",valueType:$,...S(U)})}function Hk(_,$,U){let J=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:J,...S(U)})}function Ak(_,$,U){return new _({type:"enum",entries:$,...S(U)})}function bk(_,$,U){return new _({type:"literal",values:Array.isArray($)?$:[$],...S(U)})}function HO(_,$){return new _({type:"file",...S($)})}function Vk(_,$){return new _({type:"transform",transform:$})}function Kk(_,$){return new _({type:"optional",innerType:$})}function Ik(_,$){return new _({type:"nullable",innerType:$})}function Fk(_,$,U){return new _({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():MX(U)}})}function Mk(_,$,U){return new _({type:"nonoptional",innerType:$,...S(U)})}function Pk(_,$){return new _({type:"success",innerType:$})}function kk(_,$,U){return new _({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}function wk(_,$,U){return new _({type:"pipe",in:$,out:U})}function Sk(_,$){return new _({type:"readonly",innerType:$})}function fk(_,$,U){return new _({type:"template_literal",parts:$,...S(U)})}function Tk(_,$){return new _({type:"lazy",getter:$})}function Ck(_,$){return new _({type:"promise",innerType:$})}function AO(_,$,U){let J=S(U);return J.abort??(J.abort=!0),new _({type:"custom",check:"custom",fn:$,...J})}function bO(_,$,U){return new _({type:"custom",check:"custom",fn:$,...S(U)})}function VO(_,$){let U=Pg((J)=>{return J.addIssue=(D)=>{if(typeof D==="string")J.issues.push(g1(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(g1(j))}},_(J.value,J)},$);return U}function Pg(_,$){let U=new P_({check:"custom",...S($)});return U._zod.check=_,U}function KO(_){let $=new P_({check:"describe"});return $._zod.onattach=[(U)=>{let J=i_.get(U)??{};i_.add(U,{...J,description:_})}],$._zod.check=()=>{},$}function IO(_){let $=new P_({check:"meta"});return $._zod.onattach=[(U)=>{let J=i_.get(U)??{};i_.add(U,{...J,..._})}],$._zod.check=()=>{},$}function FO(_,$){let U=S($),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??aU,X=_.Boolean??pU,z=new(_.String??o4)({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 F1(_,$,U,J={}){let D=S(J),j={...S(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 Wj;var kg=Z(()=>{MJ();D2();n5();d();Wj={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??i_,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 B_(_,$,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;B_(L,$,z),$.seen.get(L).isParent=!0}}let X=$.metadataRegistry.get(_);if(X)Object.assign(W.schema,X);if($.io==="input"&&W$(_))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("/")}/<root> + `)}Q.write("payload.value = newResult;"),Q.write("return payload;");let B=Q.compile();return(K,b)=>B(g,K,b)},j,W=i4,G=!m4.jitless,N=G&&FX.value,z=$.catchall,q;_._zod.parse=(g,Q)=>{q??(q=J.value);let L=g.value;if(!W(L))return g.issues.push({expected:"object",code:"invalid_type",input:L,inst:_}),g;if(G&&N&&Q?.async===!1&&Q.jitless!==!0){if(!j)j=D($.shape);if(g=j(g,Q),!z)return g;return Mq([],L,g,Q,q,_)}return U(g,Q)}});tU=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)=>uU(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 Yq(W,J,_,D);return Promise.all(W).then((G)=>{return Yq(G,J,_,D)})}});g5=A("$ZodXor",(_,$)=>{tU.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 zq(W,J,_,D);return Promise.all(W).then((G)=>{return zq(G,J,_,D)})}}),R5=A("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,tU.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=q1(()=>{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(!i4(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}}),B5=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 Qq(U,X,N)});return Qq(U,j,W)}});ZJ=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=Lq(U,"optin"),X=Lq(U,"optout");if(!$.rest){if(j.length<G)return J.issues.push({code:"too_small",minimum:G,inclusive:!0,input:j,inst:_,origin:"array"}),J;if(j.length>U.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<U.length;z++){let q=U[z]._zod.run({value:j[z],issues:[]},D);if(q instanceof Promise)W.push(q.then((g)=>{N[z]=g}));else N[z]=q}if($.rest){let z=U.length-1,q=j.slice(U.length);for(let g of q){z++;let Q=$.rest._zod.run({value:g,issues:[]},D);if(Q instanceof Promise)W.push(Q.then((L)=>qq(L,J,z)));else qq(Q,J,z)}}if(W.length)return Promise.all(W).then(()=>Eq(N,J,U,j,X));return Eq(N,J,U,j,X)}});H5=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 q=z.value,g=$.valueType._zod.run({value:D[N],issues:[]},J);if(g instanceof Promise)j.push(g.then((Q)=>{if(Q.issues.length)U.issues.push(...Y$(N,Q.issues));U.value[q]=Q.value}));else{if(g.issues.length)U.issues.push(...Y$(N,g.issues));U.value[q]=g.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"&&iU.test(G)&&X.issues.length){let q=$.keyType._zod.run({value:Number(G),issues:[]},J);if(q instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(q.issues.length===0)X=q}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((q)=>W$(q,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((q)=>{if(q.issues.length)U.issues.push(...Y$(G,q.issues));U.value[X.value]=q.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}}),A5=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,q])=>{gq(z,q,U,W,D,_,J)}));else gq(X,N,U,W,D,_,J)}if(j.length)return Promise.all(j).then(()=>U);return U}});b5=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)=>Rq(X,U)));else Rq(G,U)}if(j.length)return Promise.all(j).then(()=>U);return U}});V5=A("$ZodEnum",(_,$)=>{$_.init(_,$);let U=rU($.entries),J=new Set(U);_._zod.values=J,_._zod.pattern=new RegExp(`^(${U.filter((D)=>nU.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}}),K5=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}}),I5=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}}),F5=A("$ZodTransform",(_,$)=>{$_.init(_,$),_._zod.optin="optional",_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new d4(_.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}});vJ=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(`^(${uU(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)=>Bq(W,D));return Bq(j,D)}if(U.value===void 0)return U;return $.innerType._zod.run(U,J)}}),M5=A("$ZodExactOptional",(_,$)=>{vJ.init(_,$),Y_(_._zod,"values",()=>$.innerType._zod.values),Y_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(U,J)=>{return $.innerType._zod.run(U,J)}}),P5=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(`^(${uU(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)}}),k5=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)=>Hq(j,$));return Hq(D,$)}});S5=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)}}),w5=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)=>Aq(j,_));return Aq(D,_)}});f5=A("$ZodSuccess",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new d4("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}}),T5=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}}),C5=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}}),yJ=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)=>kJ(W,$.in,J));return kJ(j,$.in,J)}let D=$.in._zod.run(U,J);if(D instanceof Promise)return D.then((j)=>kJ(j,$.out,J));return kJ(D,$.out,J)}});aU=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)}}});Z5=A("$ZodPreprocess",(_,$)=>{yJ.init(_,$)}),v5=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(bq);return bq(D)}});y5=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||PX.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}}),h5=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 ZJ({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})},_}),x5=A("$ZodPromise",(_,$)=>{$_.init(_,$),_._zod.parse=(U,J)=>{return Promise.resolve(U.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},J))}}),r5=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)}}),u5=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)=>Vq(j,U,J,_));Vq(D,U,J,_);return}})});function m5(){return{localeError:gP()}}var gP=()=>{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: ${V(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":""}: ${V(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 kq=Z(()=>{d()});function d5(){return{localeError:RP()}}var RP=()=>{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: ${V(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":""}: ${V(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 Sq=Z(()=>{d()});function wq(_,$,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 c5(){return{localeError:BP()}}var BP=()=>{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 ${V(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=wq(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=wq(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"}: ${V(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 fq=Z(()=>{d()});function i5(){return{localeError:HP()}}var HP=()=>{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 ${V(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":""}: ${V(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 Tq=Z(()=>{d()});function l5(){return{localeError:AP()}}var AP=()=>{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 ${V(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":""}: ${V(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 Cq=Z(()=>{d()});function o5(){return{localeError:bP()}}var bP=()=>{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 ${V(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: ${V(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 Zq=Z(()=>{d()});function p5(){return{localeError:VP()}}var VP=()=>{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 ${V(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"}: ${V(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 vq=Z(()=>{d()});function t5(){return{localeError:KP()}}var KP=()=>{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 ${V(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"}: ${V(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 yq=Z(()=>{d()});function a5(){return{localeError:IP()}}var IP=()=>{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 ${V(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"}: ${V(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 hq=Z(()=>{d()});function eU(){return{localeError:FP()}}var FP=()=>{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 ${V(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":""}: ${V(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 e5=Z(()=>{d()});function s5(){return{localeError:MP()}}var MP=()=>{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 ${V(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":""}: ${V(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 xq=Z(()=>{d()});function _9(){return{localeError:PP()}}var PP=()=>{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 ${V(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":""}: ${V(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 rq=Z(()=>{d()});function $9(){return{localeError:kP()}}var kP=()=>{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 ${V(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: ${V(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 uq=Z(()=>{d()});function U9(){return{localeError:SP()}}var SP=()=>{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: ${V(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"}: ${V(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 nq=Z(()=>{d()});function D9(){return{localeError:wP()}}var wP=()=>{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 ${V(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":""} : ${V(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 mq=Z(()=>{d()});function J9(){return{localeError:fP()}}var fP=()=>{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 ${V(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":""} : ${V(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 dq=Z(()=>{d()});function j9(){return{localeError:TP()}}var TP=()=>{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,q=X[z??""]??J(z),g=M(N.input),Q=X[g]??_[g]?.label??g;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 ${q}, \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 q=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 ${q}`}case"too_big":{let z=W(N.origin),q=D(N.origin??"value");if(N.origin==="string")return`${z?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${q} \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 L=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: ${q} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${L}`}if(N.origin==="array"||N.origin==="set"){let L=N.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",E=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: ${q} ${L} \u05DC\u05D4\u05DB\u05D9\u05DC ${E}`.trim()}let g=N.inclusive?"<=":"<",Q=j(N.origin??"value");if(z?.unit)return`${z.longLabel} \u05DE\u05D3\u05D9: ${q} ${Q} ${g}${N.maximum.toString()} ${z.unit}`;return`${z?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${q} ${Q} ${g}${N.maximum.toString()}`}case"too_small":{let z=W(N.origin),q=D(N.origin??"value");if(N.origin==="string")return`${z?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${q} \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 L=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: ${q} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${L}`}if(N.origin==="array"||N.origin==="set"){let L=N.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(N.minimum===1&&N.inclusive){let R=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: ${q} ${L} \u05DC\u05D4\u05DB\u05D9\u05DC ${R}`}let E=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: ${q} ${L} \u05DC\u05D4\u05DB\u05D9\u05DC ${E}`.trim()}let g=N.inclusive?">=":">",Q=j(N.origin??"value");if(z?.unit)return`${z.shortLabel} \u05DE\u05D3\u05D9: ${q} ${Q} ${g}${N.minimum.toString()} ${z.unit}`;return`${z?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${q} ${Q} ${g}${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 q=G[z.format],g=q?.label??z.format,L=(q?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${g} \u05DC\u05D0 ${L}`}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"}: ${V(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 cq=Z(()=>{d()});function W9(){return{localeError:CP()}}var CP=()=>{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 ${V(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"}: ${V(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 iq=Z(()=>{d()});function G9(){return{localeError:ZP()}}var ZP=()=>{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 ${V(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":""}: ${V(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 lq=Z(()=>{d()});function oq(_,$,U){return Math.abs(_)===1?$:U}function K1(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=_[_.length-1];return _+($.includes(U)?"\u0576":"\u0568")}function X9(){return{localeError:vP()}}var vP=()=>{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 ${V(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=oq(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 ${K1(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 ${K1(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=oq(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 ${K1(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 ${K1(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":""}. ${V(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${K1(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 ${K1(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var pq=Z(()=>{d()});function N9(){return{localeError:yP()}}var yP=()=>{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 ${V(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":""}: ${V(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 tq=Z(()=>{d()});function O9(){return{localeError:hP()}}var hP=()=>{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 ${V(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"}: ${V(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 aq=Z(()=>{d()});function Y9(){return{localeError:xP()}}var xP=()=>{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 ${V(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"}: ${V(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 eq=Z(()=>{d()});function z9(){return{localeError:rP()}}var rP=()=>{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: ${V(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":""}: ${V(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 sq=Z(()=>{d()});function Q9(){return{localeError:uP()}}var uP=()=>{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 ${V(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"}: ${V(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 _E=Z(()=>{d()});function sU(){return{localeError:nP()}}var nP=()=>{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 ${V(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 ${V(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 L9=Z(()=>{d()});function q9(){return sU()}var $E=Z(()=>{L9()});function E9(){return{localeError:mP()}}var mP=()=>{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: ${V(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: ${V(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 UE=Z(()=>{d()});function DE(_){let $=Math.abs(_),U=$%10,J=$%100;if(J>=11&&J<=19||U===0)return"many";if(U===1)return"one";return"few"}function g9(){return{localeError:dP()}}var _2=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},dP=()=>{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 ${V(D.values,"|")} pasirinkim\u0173`;case"too_big":{let j=J[D.origin]??D.origin,W=$(D.origin,DE(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,DE(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"}: ${V(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 JE=Z(()=>{d()});function R9(){return{localeError:cP()}}var cP=()=>{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 ${V(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"}: ${V(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 jE=Z(()=>{d()});function B9(){return{localeError:iP()}}var iP=()=>{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 ${V(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: ${V(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 WE=Z(()=>{d()});function H9(){return{localeError:lP()}}var lP=()=>{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 ${V(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":""}: ${V(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 GE=Z(()=>{d()});function A9(){return{localeError:oP()}}var oP=()=>{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 ${V(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"}: ${V(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 XE=Z(()=>{d()});function b9(){return{localeError:pP()}}var pP=()=>{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 ${V(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":""}: ${V(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 NE=Z(()=>{d()});function V9(){return{localeError:tP()}}var tP=()=>{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 ${V(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"}: ${V(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 OE=Z(()=>{d()});function K9(){return{localeError:aP()}}var aP=()=>{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 ${V(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":""}: ${V(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 YE=Z(()=>{d()});function I9(){return{localeError:eP()}}var eP=()=>{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 ${V(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":""}: ${V(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 zE=Z(()=>{d()});function F9(){return{localeError:sP()}}var sP=()=>{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 ${V(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: ${V(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 QE=Z(()=>{d()});function LE(_,$,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 M9(){return{localeError:_k()}}var _k=()=>{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 ${V(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",W=$(D.origin);if(W){let G=Number(D.maximum),X=LE(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=LE(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":""}: ${V(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 qE=Z(()=>{d()});function P9(){return{localeError:$k()}}var $k=()=>{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 ${V(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"}: ${V(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 EE=Z(()=>{d()});function k9(){return{localeError:Uk()}}var Uk=()=>{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 ${V(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"}: ${V(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 gE=Z(()=>{d()});function S9(){return{localeError:Dk()}}var Dk=()=>{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 ${V(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":""}: ${V(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 RE=Z(()=>{d()});function w9(){return{localeError:Jk()}}var Jk=()=>{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 ${V(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: ${V(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 BE=Z(()=>{d()});function f9(){return{localeError:jk()}}var jk=()=>{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: ${V(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":""}: ${V(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 HE=Z(()=>{d()});function $2(){return{localeError:Wk()}}var Wk=()=>{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 ${V(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":""}: ${V(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 T9=Z(()=>{d()});function C9(){return $2()}var AE=Z(()=>{T9()});function Z9(){return{localeError:Gk()}}var Gk=()=>{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: ${V(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":""}: ${V(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 bE=Z(()=>{d()});function v9(){return{localeError:Xk()}}var Xk=()=>{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 ${V(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":""}: ${V(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 VE=Z(()=>{d()});function y9(){return{localeError:Nk()}}var Nk=()=>{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 ${V(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: ${V(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 KE=Z(()=>{d()});function h9(){return{localeError:Ok()}}var Ok=()=>{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 ${V(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): ${V(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 IE=Z(()=>{d()});function x9(){return{localeError:Yk()}}var Yk=()=>{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 ${V(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${V(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 FE=Z(()=>{d()});function r9(){return{localeError:zk()}}var zk=()=>{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 ${V(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: ${V(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 ME=Z(()=>{d()});var I1={};_6(I1,{zhTW:()=>x9,zhCN:()=>h9,yo:()=>r9,vi:()=>y9,uz:()=>v9,ur:()=>Z9,uk:()=>$2,ua:()=>C9,tr:()=>f9,th:()=>w9,ta:()=>S9,sv:()=>k9,sl:()=>P9,ru:()=>M9,ro:()=>F9,pt:()=>I9,ps:()=>V9,pl:()=>K9,ota:()=>b9,no:()=>A9,nl:()=>H9,ms:()=>B9,mk:()=>R9,lt:()=>g9,ko:()=>E9,km:()=>sU,kh:()=>q9,ka:()=>Q9,ja:()=>z9,it:()=>Y9,is:()=>O9,id:()=>N9,hy:()=>X9,hu:()=>G9,hr:()=>W9,he:()=>j9,frCA:()=>J9,fr:()=>D9,fi:()=>U9,fa:()=>$9,es:()=>_9,eo:()=>s5,en:()=>eU,el:()=>a5,de:()=>t5,da:()=>p5,cs:()=>o5,ca:()=>l5,bg:()=>i5,be:()=>c5,az:()=>d5,ar:()=>m5});var u9=Z(()=>{kq();Sq();fq();Tq();Cq();Zq();vq();yq();hq();e5();xq();rq();uq();nq();mq();dq();cq();iq();lq();pq();tq();aq();eq();sq();_E();$E();L9();UE();JE();jE();WE();GE();XE();NE();OE();YE();zE();QE();qE();EE();gE();RE();BE();HE();AE();T9();bE();VE();KE();IE();FE();ME()});class n9{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 U2(){return new n9}var PE,hJ,xJ,o_;var D2=Z(()=>{hJ=Symbol("ZodOutput"),xJ=Symbol("ZodInput");(PE=globalThis).__zod_globalRegistry??(PE.__zod_globalRegistry=U2());o_=globalThis.__zod_globalRegistry});function m9(_,$){return new _({type:"string",...f($)})}function d9(_,$){return new _({type:"string",coerce:!0,...f($)})}function rJ(_,$){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 uJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...f($)})}function nJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...f($)})}function mJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...f($)})}function dJ(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...f($)})}function j2(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...f($)})}function cJ(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...f($)})}function iJ(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...f($)})}function lJ(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...f($)})}function oJ(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...f($)})}function pJ(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...f($)})}function tJ(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...f($)})}function aJ(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...f($)})}function eJ(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...f($)})}function sJ(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...f($)})}function c9(_,$){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 $j(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...f($)})}function Uj(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...f($)})}function Dj(_,$){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 jj(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...f($)})}function i9(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...f($)})}function l9(_,$){return new _({type:"string",format:"date",check:"string_format",...f($)})}function o9(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...f($)})}function p9(_,$){return new _({type:"string",format:"duration",check:"string_format",...f($)})}function t9(_,$){return new _({type:"number",checks:[],...f($)})}function a9(_,$){return new _({type:"number",coerce:!0,checks:[],...f($)})}function e9(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...f($)})}function s9(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...f($)})}function _O(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...f($)})}function $O(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...f($)})}function UO(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...f($)})}function DO(_,$){return new _({type:"boolean",...f($)})}function JO(_,$){return new _({type:"boolean",coerce:!0,...f($)})}function jO(_,$){return new _({type:"bigint",...f($)})}function WO(_,$){return new _({type:"bigint",coerce:!0,...f($)})}function GO(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...f($)})}function XO(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...f($)})}function NO(_,$){return new _({type:"symbol",...f($)})}function OO(_,$){return new _({type:"undefined",...f($)})}function YO(_,$){return new _({type:"null",...f($)})}function zO(_){return new _({type:"any"})}function QO(_){return new _({type:"unknown"})}function LO(_,$){return new _({type:"never",...f($)})}function qO(_,$){return new _({type:"void",...f($)})}function EO(_,$){return new _({type:"date",...f($)})}function gO(_,$){return new _({type:"date",coerce:!0,...f($)})}function RO(_,$){return new _({type:"nan",...f($)})}function u$(_,$){return new IJ({check:"less_than",...f($),value:_,inclusive:!1})}function L$(_,$){return new IJ({check:"less_than",...f($),value:_,inclusive:!0})}function n$(_,$){return new FJ({check:"greater_than",...f($),value:_,inclusive:!1})}function s_(_,$){return new FJ({check:"greater_than",...f($),value:_,inclusive:!0})}function W2(_){return n$(0,_)}function G2(_){return u$(0,_)}function X2(_){return L$(0,_)}function N2(_){return s_(0,_)}function k6(_,$){return new zN({check:"multiple_of",...f($),value:_})}function S6(_,$){return new qN({check:"max_size",...f($),maximum:_})}function m$(_,$){return new EN({check:"min_size",...f($),minimum:_})}function W4(_,$){return new gN({check:"size_equals",...f($),size:_})}function G4(_,$){return new RN({check:"max_length",...f($),maximum:_})}function N6(_,$){return new BN({check:"min_length",...f($),minimum:_})}function X4(_,$){return new HN({check:"length_equals",...f($),length:_})}function p4(_,$){return new AN({check:"string_format",format:"regex",...f($),pattern:_})}function t4(_){return new bN({check:"string_format",format:"lowercase",...f(_)})}function a4(_){return new VN({check:"string_format",format:"uppercase",...f(_)})}function e4(_,$){return new KN({check:"string_format",format:"includes",...f($),includes:_})}function s4(_,$){return new IN({check:"string_format",format:"starts_with",...f($),prefix:_})}function _0(_,$){return new FN({check:"string_format",format:"ends_with",...f($),suffix:_})}function O2(_,$,U){return new MN({check:"property",property:_,schema:$,...f(U)})}function $0(_,$){return new PN({check:"mime_type",mime:_,...f($)})}function S$(_){return new kN({check:"overwrite",tx:_})}function U0(_){return S$(($)=>$.normalize(_))}function D0(){return S$((_)=>_.trim())}function J0(){return S$((_)=>_.toLowerCase())}function j0(){return S$((_)=>_.toUpperCase())}function W0(){return S$((_)=>IX(_))}function BO(_,$,U){return new _({type:"array",element:$,...f(U)})}function Lk(_,$,U){return new _({type:"union",options:$,...f(U)})}function qk(_,$,U){return new _({type:"union",options:$,inclusive:!1,...f(U)})}function Ek(_,$,U,J){return new _({type:"union",options:U,discriminator:$,...f(J)})}function gk(_,$,U){return new _({type:"intersection",left:$,right:U})}function Rk(_,$,U,J){let D=U instanceof $_;return new _({type:"tuple",items:$,rest:D?U:null,...f(D?J:U)})}function Bk(_,$,U,J){return new _({type:"record",keyType:$,valueType:U,...f(J)})}function Hk(_,$,U,J){return new _({type:"map",keyType:$,valueType:U,...f(J)})}function Ak(_,$,U){return new _({type:"set",valueType:$,...f(U)})}function bk(_,$,U){let J=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:J,...f(U)})}function Vk(_,$,U){return new _({type:"enum",entries:$,...f(U)})}function Kk(_,$,U){return new _({type:"literal",values:Array.isArray($)?$:[$],...f(U)})}function HO(_,$){return new _({type:"file",...f($)})}function Ik(_,$){return new _({type:"transform",transform:$})}function Fk(_,$){return new _({type:"optional",innerType:$})}function Mk(_,$){return new _({type:"nullable",innerType:$})}function Pk(_,$,U){return new _({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():MX(U)}})}function kk(_,$,U){return new _({type:"nonoptional",innerType:$,...f(U)})}function Sk(_,$){return new _({type:"success",innerType:$})}function wk(_,$,U){return new _({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}function fk(_,$,U){return new _({type:"pipe",in:$,out:U})}function Tk(_,$){return new _({type:"readonly",innerType:$})}function Ck(_,$,U){return new _({type:"template_literal",parts:$,...f(U)})}function Zk(_,$){return new _({type:"lazy",getter:$})}function vk(_,$){return new _({type:"promise",innerType:$})}function AO(_,$,U){let J=f(U);return J.abort??(J.abort=!0),new _({type:"custom",check:"custom",fn:$,...J})}function bO(_,$,U){return new _({type:"custom",check:"custom",fn:$,...f(U)})}function VO(_,$){let U=kE((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 kE(_,$){let U=new k_({check:"custom",...f($)});return U._zod.check=_,U}function KO(_){let $=new k_({check:"describe"});return $._zod.onattach=[(U)=>{let J=o_.get(U)??{};o_.add(U,{...J,description:_})}],$._zod.check=()=>{},$}function IO(_){let $=new k_({check:"meta"});return $._zod.onattach=[(U)=>{let J=o_.get(U)??{};o_.add(U,{...J,..._})}],$._zod.check=()=>{},$}function FO(_,$){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??aU,X=_.Boolean??pU,z=new(_.String??o4)({type:"string",error:U.error}),q=new X({type:"boolean",error:U.error}),g=new G({type:"pipe",in:z,out:q,transform:(Q,L)=>{let E=Q;if(U.case!=="sensitive")E=E.toLowerCase();if(j.has(E))return!0;else if(W.has(E))return!1;else return L.issues.push({code:"invalid_value",expected:"stringbool",values:[...j,...W],input:L.value,inst:g,continue:!1}),{}},reverseTransform:(Q,L)=>{if(Q===!0)return J[0]||"true";else return D[0]||"false"},error:U.error});return g}function F1(_,$,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 Wj;var SE=Z(()=>{MJ();D2();n5();d();Wj={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 g=W.schema,Q=$.processors[D.type];if(!Q)throw Error(`[toJSONSchema]: Non-representable type encountered: ${D.type}`);Q(_,$,g,z)}let q=_._zod.parent;if(q){if(!W.ref)W.ref=q;H_(q,$,z),$.seen.get(q).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 q=_.external.registry.get(W[0])?.id,g=_.external.uri??((L)=>L);if(q)return{ref:g(q)};let Q=W[1].defId??W[1].schema.id??`schema${_.counter++}`;return W[1].defId=Q,{defId:Q,ref:`${g("__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 q in z)delete z[q];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("/")}/<root> -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 R in N){if(R==="$ref"||R==="allOf")continue;if(!(R in z))delete N[R]}if(q.$ref&&Q.def)for(let R in N){if(R==="$ref"||R==="allOf")continue;if(R in Q.def&&JSON.stringify(N[R])===JSON.stringify(Q.def[R]))delete N[R]}}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:M1($,"input",_.processors),output:M1($,"output",_.processors)}},enumerable:!1,writable:!1}),G}catch(G){throw Error("Error converting schema to JSON.")}}function W$(_,$){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 W$(J.element,U);if(J.type==="set")return W$(J.valueType,U);if(J.type==="lazy")return W$(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 W$(J.innerType,U);if(J.type==="intersection")return W$(J.left,U)||W$(J.right,U);if(J.type==="record"||J.type==="map")return W$(J.keyType,U)||W$(J.valueType,U);if(J.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return W$(J.in,U)||W$(J.out,U)}if(J.type==="object"){for(let D in J.shape)if(W$(J.shape[D],U))return!0;return!1}if(J.type==="union"){for(let D of J.options)if(W$(D,U))return!0;return!1}if(J.type==="tuple"){for(let D of J.items)if(W$(D,U))return!0;if(J.rest&&W$(J.rest,U))return!0;return!1}return!1}var MO=(_,$={})=>(U)=>{let J=N4({...U,processors:$});return B_(_,J),O4(J,_),Y4(J,_)},M1=(_,$,U={})=>(J)=>{let{libraryOptions:D,target:j}=J??{},W=N4({...D??{},target:j,io:$,processors:U});return B_(_,W),O4(W,_),Y4(W,_)};var Y2=Z(()=>{D2()});function z2(_,$){if("_idmap"in _){let J=_,D=N4({...$,processors:Gj}),j={};for(let X of J._idmap.entries()){let[N,z]=X;B_(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:Gj});return B_(_,U),O4(U,_),Y4(U,_)}var Zk,PO=(_,$,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=Zk[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}))]}},kO=(_,$,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},wO=(_,$,U,J)=>{U.type="boolean"},SO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},fO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},TO=(_,$,U,J)=>{if($.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},CO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},ZO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},vO=(_,$,U,J)=>{U.not={}},yO=(_,$,U,J)=>{},hO=(_,$,U,J)=>{},xO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},rO=(_,$,U,J)=>{let D=_._zod.def,j=rU(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},uO=(_,$,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}},nO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},mO=(_,$,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},dO=(_,$,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)},cO=(_,$,U,J)=>{U.type="boolean"},iO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},lO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},oO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},pO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},tO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},aO=(_,$,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=B_(j.element,$,{...J,path:[...J.path,"items"]})},eO=(_,$,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]=B_(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=B_(j.catchall,$,{...J,path:[...J.path,"additionalProperties"]})},Xj=(_,$,U,J)=>{let D=_._zod.def,j=D.inclusive===!1,W=D.options.map((G,X)=>B_(G,$,{...J,path:[...J.path,j?"oneOf":"anyOf",X]}));if(j)U.oneOf=W;else U.anyOf=W},sO=(_,$,U,J)=>{let D=_._zod.def,j=B_(D.left,$,{...J,path:[...J.path,"allOf",0]}),W=B_(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},_8=(_,$,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)=>B_(E,$,{...J,path:[...J.path,W,Q]})),N=j.rest?B_(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},$8=(_,$,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=B_(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=B_(j.keyType,$,{...J,path:[...J.path,"propertyNames"]});D.additionalProperties=B_(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}},U8=(_,$,U,J)=>{let D=_._zod.def,j=B_(D.innerType,$,J),W=$.seen.get(_);if($.target==="openapi-3.0")W.ref=D.innerType,U.nullable=!0;else U.anyOf=[j,{type:"null"}]},D8=(_,$,U,J)=>{let D=_._zod.def;B_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},J8=(_,$,U,J)=>{let D=_._zod.def;B_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType,U.default=JSON.parse(JSON.stringify(D.defaultValue))},j8=(_,$,U,J)=>{let D=_._zod.def;B_(D.innerType,$,J);let j=$.seen.get(_);if(j.ref=D.innerType,$.io==="input")U._prefault=JSON.parse(JSON.stringify(D.defaultValue))},W8=(_,$,U,J)=>{let D=_._zod.def;B_(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},G8=(_,$,U,J)=>{let D=_._zod.def,j=D.in._zod.traits.has("$ZodTransform"),W=$.io==="input"?j?D.out:D.in:D.out;B_(W,$,J);let G=$.seen.get(_);G.ref=W},X8=(_,$,U,J)=>{let D=_._zod.def;B_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType,U.readOnly=!0},N8=(_,$,U,J)=>{let D=_._zod.def;B_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},Nj=(_,$,U,J)=>{let D=_._zod.def;B_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},O8=(_,$,U,J)=>{let D=_._zod.innerType;B_(D,$,J);let j=$.seen.get(_);j.ref=D},Gj;var Q2=Z(()=>{Y2();d();Zk={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Gj={string:PO,number:kO,boolean:wO,bigint:SO,symbol:fO,null:TO,undefined:CO,void:ZO,never:vO,any:yO,unknown:hO,date:xO,enum:rO,literal:uO,nan:nO,template_literal:mO,file:dO,success:cO,custom:iO,function:lO,transform:oO,map:pO,set:tO,array:aO,object:eO,union:Xj,intersection:sO,tuple:_8,record:$8,nullable:U8,nonoptional:D8,default:J8,prefault:j8,catch:W8,pipe:G8,readonly:X8,promise:N8,optional:Nj,lazy:O8}});class Y8{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:Gj,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return B_(_,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 wg=Z(()=>{Q2();Y2()});var Sg={};var fg=()=>{};var N6={};s$(N6,{version:()=>wN,util:()=>P,treeifyError:()=>YJ,toJSONSchema:()=>z2,toDotPath:()=>UL,safeParseAsync:()=>ZX,safeParse:()=>CX,safeEncodeAsync:()=>hM,safeEncode:()=>vM,safeDecodeAsync:()=>xM,safeDecode:()=>yM,registry:()=>U2,regexes:()=>z$,process:()=>B_,prettifyError:()=>zJ,parseAsync:()=>qJ,parse:()=>QJ,meta:()=>IO,locales:()=>I1,isValidJWT:()=>KL,isValidBase64URL:()=>VL,isValidBase64:()=>sN,initializeContext:()=>N4,globalRegistry:()=>i_,globalConfig:()=>m4,formatError:()=>R1,flattenError:()=>E1,finalize:()=>Y4,extractDefs:()=>O4,encodeAsync:()=>CM,encode:()=>fM,describe:()=>KO,decodeAsync:()=>ZM,decode:()=>TM,createToJSONSchemaMethod:()=>MO,createStandardJSONSchemaMethod:()=>M1,config:()=>h_,clone:()=>t_,_xor:()=>Qk,_xid:()=>tJ,_void:()=>LO,_uuidv7:()=>dJ,_uuidv6:()=>mJ,_uuidv4:()=>nJ,_uuid:()=>uJ,_url:()=>j2,_uppercase:()=>a4,_unknown:()=>QO,_union:()=>zk,_undefined:()=>OO,_ulid:()=>pJ,_uint64:()=>XO,_uint32:()=>UO,_tuple:()=>gk,_trim:()=>D0,_transform:()=>Vk,_toUpperCase:()=>j0,_toLowerCase:()=>J0,_templateLiteral:()=>fk,_symbol:()=>NO,_superRefine:()=>VO,_success:()=>Pk,_stringbool:()=>FO,_stringFormat:()=>F1,_string:()=>m9,_startsWith:()=>s4,_slugify:()=>W0,_size:()=>W4,_set:()=>Bk,_safeParseAsync:()=>b1,_safeParse:()=>A1,_safeEncodeAsync:()=>AJ,_safeEncode:()=>BJ,_safeDecodeAsync:()=>bJ,_safeDecode:()=>HJ,_regex:()=>p4,_refine:()=>bO,_record:()=>Ek,_readonly:()=>Sk,_property:()=>O2,_promise:()=>Ck,_positive:()=>W2,_pipe:()=>wk,_parseAsync:()=>H1,_parse:()=>B1,_overwrite:()=>k$,_optional:()=>Kk,_number:()=>t9,_nullable:()=>Ik,_null:()=>YO,_normalize:()=>U0,_nonpositive:()=>X2,_nonoptional:()=>Mk,_nonnegative:()=>N2,_never:()=>qO,_negative:()=>G2,_nativeEnum:()=>Ak,_nanoid:()=>iJ,_nan:()=>RO,_multipleOf:()=>k6,_minSize:()=>n$,_minLength:()=>X6,_min:()=>a_,_mime:()=>$0,_maxSize:()=>w6,_maxLength:()=>G4,_max:()=>Q$,_map:()=>Rk,_mac:()=>c9,_lte:()=>Q$,_lt:()=>r$,_lowercase:()=>t4,_literal:()=>bk,_length:()=>X4,_lazy:()=>Tk,_ksuid:()=>aJ,_jwt:()=>jj,_isoTime:()=>o9,_isoDuration:()=>p9,_isoDateTime:()=>i9,_isoDate:()=>l9,_ipv6:()=>sJ,_ipv4:()=>eJ,_intersection:()=>Lk,_int64:()=>GO,_int32:()=>$O,_int:()=>e9,_includes:()=>e4,_guid:()=>J2,_gte:()=>a_,_gt:()=>u$,_float64:()=>_O,_float32:()=>s9,_file:()=>HO,_enum:()=>Hk,_endsWith:()=>_0,_encodeAsync:()=>EJ,_encode:()=>LJ,_emoji:()=>cJ,_email:()=>rJ,_e164:()=>Jj,_discriminatedUnion:()=>qk,_default:()=>Fk,_decodeAsync:()=>RJ,_decode:()=>gJ,_date:()=>gO,_custom:()=>AO,_cuid2:()=>oJ,_cuid:()=>lJ,_coercedString:()=>d9,_coercedNumber:()=>a9,_coercedDate:()=>EO,_coercedBoolean:()=>JO,_coercedBigint:()=>WO,_cidrv6:()=>$j,_cidrv4:()=>_j,_check:()=>Pg,_catch:()=>kk,_boolean:()=>DO,_bigint:()=>jO,_base64url:()=>Dj,_base64:()=>Uj,_array:()=>BO,_any:()=>zO,TimePrecision:()=>Wj,NEVER:()=>GJ,JSONSchemaGenerator:()=>Y8,JSONSchema:()=>Sg,Doc:()=>PJ,$output:()=>hJ,$input:()=>xJ,$constructor:()=>A,$brand:()=>XJ,$ZodXor:()=>E5,$ZodXID:()=>nN,$ZodVoid:()=>Q5,$ZodUnknown:()=>Y5,$ZodUnion:()=>tU,$ZodUndefined:()=>X5,$ZodUUID:()=>CN,$ZodURL:()=>vN,$ZodULID:()=>uN,$ZodType:()=>U_,$ZodTuple:()=>ZJ,$ZodTransform:()=>F5,$ZodTemplateLiteral:()=>y5,$ZodSymbol:()=>G5,$ZodSuccess:()=>f5,$ZodStringFormat:()=>F_,$ZodString:()=>o4,$ZodSet:()=>b5,$ZodRegistry:()=>n9,$ZodRecord:()=>H5,$ZodRealError:()=>Y$,$ZodReadonly:()=>v5,$ZodPromise:()=>x5,$ZodPreprocess:()=>Z5,$ZodPrefault:()=>w5,$ZodPipe:()=>yJ,$ZodOptional:()=>vJ,$ZodObjectJIT:()=>g5,$ZodObject:()=>ML,$ZodNumberFormat:()=>j5,$ZodNumber:()=>TJ,$ZodNullable:()=>P5,$ZodNull:()=>N5,$ZodNonOptional:()=>S5,$ZodNever:()=>z5,$ZodNanoID:()=>hN,$ZodNaN:()=>C5,$ZodMap:()=>A5,$ZodMAC:()=>tN,$ZodLiteral:()=>K5,$ZodLazy:()=>r5,$ZodKSUID:()=>mN,$ZodJWT:()=>D5,$ZodIntersection:()=>B5,$ZodISOTime:()=>iN,$ZodISODuration:()=>lN,$ZodISODateTime:()=>dN,$ZodISODate:()=>cN,$ZodIPv6:()=>pN,$ZodIPv4:()=>oN,$ZodGUID:()=>TN,$ZodFunction:()=>h5,$ZodFile:()=>I5,$ZodExactOptional:()=>M5,$ZodError:()=>cU,$ZodEnum:()=>V5,$ZodEncodeError:()=>d4,$ZodEmoji:()=>yN,$ZodEmail:()=>ZN,$ZodE164:()=>U5,$ZodDiscriminatedUnion:()=>R5,$ZodDefault:()=>k5,$ZodDate:()=>q5,$ZodCustomStringFormat:()=>J5,$ZodCustom:()=>u5,$ZodCodec:()=>aU,$ZodCheckUpperCase:()=>VN,$ZodCheckStringFormat:()=>V1,$ZodCheckStartsWith:()=>IN,$ZodCheckSizeEquals:()=>EN,$ZodCheckRegex:()=>AN,$ZodCheckProperty:()=>MN,$ZodCheckOverwrite:()=>kN,$ZodCheckNumberFormat:()=>QN,$ZodCheckMultipleOf:()=>zN,$ZodCheckMinSize:()=>gN,$ZodCheckMinLength:()=>BN,$ZodCheckMimeType:()=>PN,$ZodCheckMaxSize:()=>LN,$ZodCheckMaxLength:()=>RN,$ZodCheckLowerCase:()=>bN,$ZodCheckLessThan:()=>IJ,$ZodCheckLengthEquals:()=>HN,$ZodCheckIncludes:()=>KN,$ZodCheckGreaterThan:()=>FJ,$ZodCheckEndsWith:()=>FN,$ZodCheckBigIntFormat:()=>qN,$ZodCheck:()=>P_,$ZodCatch:()=>T5,$ZodCUID2:()=>rN,$ZodCUID:()=>xN,$ZodCIDRv6:()=>eN,$ZodCIDRv4:()=>aN,$ZodBoolean:()=>pU,$ZodBigIntFormat:()=>W5,$ZodBigInt:()=>CJ,$ZodBase64URL:()=>$5,$ZodBase64:()=>_5,$ZodAsyncError:()=>G6,$ZodArray:()=>L5,$ZodAny:()=>O5});var B$=Z(()=>{d();KJ();u9();Q2();wg();fg();c4();vX();TX();n5();MJ();SN();D2();kg();Y2()});var Oj={};s$(Oj,{uppercase:()=>a4,trim:()=>D0,toUpperCase:()=>j0,toLowerCase:()=>J0,startsWith:()=>s4,slugify:()=>W0,size:()=>W4,regex:()=>p4,property:()=>O2,positive:()=>W2,overwrite:()=>k$,normalize:()=>U0,nonpositive:()=>X2,nonnegative:()=>N2,negative:()=>G2,multipleOf:()=>k6,minSize:()=>n$,minLength:()=>X6,mime:()=>$0,maxSize:()=>w6,maxLength:()=>G4,lte:()=>Q$,lt:()=>r$,lowercase:()=>t4,length:()=>X4,includes:()=>e4,gte:()=>a_,gt:()=>u$,endsWith:()=>_0});var Yj=Z(()=>{B$()});var G0={};s$(G0,{time:()=>q8,duration:()=>L8,datetime:()=>z8,date:()=>Q8,ZodISOTime:()=>g2,ZodISODuration:()=>E2,ZodISODateTime:()=>q2,ZodISODate:()=>L2});function z8(_){return i9(q2,_)}function Q8(_){return l9(L2,_)}function q8(_){return o9(g2,_)}function L8(_){return p9(E2,_)}var q2,L2,g2,E2;var R2=Z(()=>{B$();H2();q2=A("ZodISODateTime",(_,$)=>{dN.init(_,$),b_.init(_,$)});L2=A("ZodISODate",(_,$)=>{cN.init(_,$),b_.init(_,$)});g2=A("ZodISOTime",(_,$)=>{iN.init(_,$),b_.init(_,$)});E2=A("ZodISODuration",(_,$)=>{lN.init(_,$),b_.init(_,$)})});var Tg=(_,$)=>{cU.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(U)=>R1(_,U)},flatten:{value:(U)=>E1(_,U)},addIssue:{value:(U)=>{_.issues.push(U),_.message=JSON.stringify(_.issues,q1,2)}},addIssues:{value:(U)=>{_.issues.push(...U),_.message=JSON.stringify(_.issues,q1,2)}},isEmpty:{get(){return _.issues.length===0}}})},Cg,G$;var g8=Z(()=>{B$();B$();d();Cg=A("ZodError",Tg),G$=A("ZodError",Tg,{Parent:Error})});var zj,Qj,qj,Lj,gj,Ej,Rj,Bj,Hj,Aj,bj,Vj;var E8=Z(()=>{B$();g8();zj=B1(G$),Qj=H1(G$),qj=A1(G$),Lj=b1(G$),gj=LJ(G$),Ej=gJ(G$),Rj=EJ(G$),Bj=RJ(G$),Hj=BJ(G$),Aj=HJ(G$),bj=AJ(G$),Vj=bJ(G$)});var B2={};s$(B2,{xor:()=>XY,xid:()=>S8,void:()=>UY,uuidv7:()=>V8,uuidv6:()=>b8,uuidv4:()=>A8,uuid:()=>H8,url:()=>K8,unknown:()=>z4,union:()=>m2,undefined:()=>_Y,ulid:()=>w8,uint64:()=>e8,uint32:()=>p8,tuple:()=>uj,transform:()=>c2,templateLiteral:()=>bY,symbol:()=>s8,superRefine:()=>LW,success:()=>RY,stringbool:()=>wY,stringFormat:()=>n8,string:()=>P1,strictObject:()=>WY,set:()=>QY,refine:()=>qW,record:()=>nj,readonly:()=>XW,promise:()=>VY,preprocess:()=>fY,prefault:()=>_W,pipe:()=>b2,partialRecord:()=>OY,optional:()=>w1,object:()=>jY,number:()=>Ij,nullish:()=>EY,nullable:()=>S1,null:()=>wj,nonoptional:()=>$W,never:()=>n2,nativeEnum:()=>qY,nanoid:()=>M8,nan:()=>BY,meta:()=>PY,map:()=>zY,mac:()=>C8,looseRecord:()=>YY,looseObject:()=>GY,literal:()=>LY,lazy:()=>YW,ksuid:()=>f8,keyof:()=>JY,jwt:()=>u8,json:()=>SY,ipv6:()=>Z8,ipv4:()=>T8,invertCodec:()=>AY,intersection:()=>xj,int64:()=>a8,int32:()=>o8,int:()=>A2,instanceof:()=>kY,httpUrl:()=>I8,hostname:()=>m8,hex:()=>d8,hash:()=>c8,guid:()=>B8,function:()=>KY,float64:()=>l8,float32:()=>i8,file:()=>gY,exactOptional:()=>pj,enum:()=>d2,emoji:()=>F8,email:()=>R8,e164:()=>r8,discriminatedUnion:()=>NY,describe:()=>MY,date:()=>DY,custom:()=>FY,cuid2:()=>k8,cuid:()=>P8,codec:()=>HY,cidrv6:()=>y8,cidrv4:()=>v8,check:()=>IY,catch:()=>JW,boolean:()=>Fj,bigint:()=>t8,base64url:()=>x8,base64:()=>h8,array:()=>C1,any:()=>$Y,_function:()=>KY,_default:()=>ej,_ZodString:()=>K2,ZodXor:()=>vj,ZodXID:()=>S2,ZodVoid:()=>Cj,ZodUnknown:()=>fj,ZodUnion:()=>v1,ZodUndefined:()=>Pj,ZodUUID:()=>m$,ZodURL:()=>f1,ZodULID:()=>w2,ZodType:()=>J_,ZodTuple:()=>rj,ZodTransform:()=>lj,ZodTemplateLiteral:()=>NW,ZodSymbol:()=>Mj,ZodSuccess:()=>UW,ZodStringFormat:()=>b_,ZodString:()=>O0,ZodSet:()=>dj,ZodRecord:()=>X0,ZodReadonly:()=>GW,ZodPromise:()=>zW,ZodPreprocess:()=>WW,ZodPrefault:()=>sj,ZodPipe:()=>y1,ZodOptional:()=>i2,ZodObject:()=>Z1,ZodNumberFormat:()=>Q4,ZodNumber:()=>z0,ZodNullable:()=>tj,ZodNull:()=>kj,ZodNonOptional:()=>l2,ZodNever:()=>Tj,ZodNanoID:()=>M2,ZodNaN:()=>jW,ZodMap:()=>mj,ZodMAC:()=>Kj,ZodLiteral:()=>cj,ZodLazy:()=>OW,ZodKSUID:()=>f2,ZodJWT:()=>r2,ZodIntersection:()=>hj,ZodIPv6:()=>C2,ZodIPv4:()=>T2,ZodGUID:()=>k1,ZodFunction:()=>QW,ZodFile:()=>ij,ZodExactOptional:()=>oj,ZodEnum:()=>N0,ZodEmoji:()=>F2,ZodEmail:()=>I2,ZodE164:()=>x2,ZodDiscriminatedUnion:()=>yj,ZodDefault:()=>aj,ZodDate:()=>T1,ZodCustomStringFormat:()=>Y0,ZodCustom:()=>x1,ZodCodec:()=>h1,ZodCatch:()=>DW,ZodCUID2:()=>k2,ZodCUID:()=>P2,ZodCIDRv6:()=>v2,ZodCIDRv4:()=>Z2,ZodBoolean:()=>Q0,ZodBigIntFormat:()=>u2,ZodBigInt:()=>q0,ZodBase64URL:()=>h2,ZodBase64:()=>y2,ZodArray:()=>Zj,ZodAny:()=>Sj});function V2(_,$,U){let J=Object.getPrototypeOf(_),D=Zg.get(J);if(!D)D=new Set,Zg.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 P1(_){return m9(O0,_)}function R8(_){return rJ(I2,_)}function B8(_){return J2(k1,_)}function H8(_){return uJ(m$,_)}function A8(_){return nJ(m$,_)}function b8(_){return mJ(m$,_)}function V8(_){return dJ(m$,_)}function K8(_){return j2(f1,_)}function I8(_){return j2(f1,{protocol:z$.httpProtocol,hostname:z$.domain,...P.normalizeParams(_)})}function F8(_){return cJ(F2,_)}function M8(_){return iJ(M2,_)}function P8(_){return lJ(P2,_)}function k8(_){return oJ(k2,_)}function w8(_){return pJ(w2,_)}function S8(_){return tJ(S2,_)}function f8(_){return aJ(f2,_)}function T8(_){return eJ(T2,_)}function C8(_){return c9(Kj,_)}function Z8(_){return sJ(C2,_)}function v8(_){return _j(Z2,_)}function y8(_){return $j(v2,_)}function h8(_){return Uj(y2,_)}function x8(_){return Dj(h2,_)}function r8(_){return Jj(x2,_)}function u8(_){return jj(r2,_)}function n8(_,$,U={}){return F1(Y0,_,$,U)}function m8(_){return F1(Y0,"hostname",z$.hostname,_)}function d8(_){return F1(Y0,"hex",z$.hex,_)}function c8(_,$){let U=$?.enc??"hex",J=`${_}_${U}`,D=z$[J];if(!D)throw Error(`Unrecognized hash format: ${J}`);return F1(Y0,J,D,$)}function Ij(_){return t9(z0,_)}function A2(_){return e9(Q4,_)}function i8(_){return s9(Q4,_)}function l8(_){return _O(Q4,_)}function o8(_){return $O(Q4,_)}function p8(_){return UO(Q4,_)}function Fj(_){return DO(Q0,_)}function t8(_){return jO(q0,_)}function a8(_){return GO(u2,_)}function e8(_){return XO(u2,_)}function s8(_){return NO(Mj,_)}function _Y(_){return OO(Pj,_)}function wj(_){return YO(kj,_)}function $Y(){return zO(Sj)}function z4(){return QO(fj)}function n2(_){return qO(Tj,_)}function UY(_){return LO(Cj,_)}function DY(_){return gO(T1,_)}function C1(_,$){return BO(Zj,_,$)}function JY(_){let $=_._zod.def.shape;return d2(Object.keys($))}function jY(_,$){let U={type:"object",shape:_??{},...P.normalizeParams($)};return new Z1(U)}function WY(_,$){return new Z1({type:"object",shape:_,catchall:n2(),...P.normalizeParams($)})}function GY(_,$){return new Z1({type:"object",shape:_,catchall:z4(),...P.normalizeParams($)})}function m2(_,$){return new v1({type:"union",options:_,...P.normalizeParams($)})}function XY(_,$){return new vj({type:"union",options:_,inclusive:!1,...P.normalizeParams($)})}function NY(_,$,U){return new yj({type:"union",options:$,discriminator:_,...P.normalizeParams(U)})}function xj(_,$){return new hj({type:"intersection",left:_,right:$})}function uj(_,$,U){let J=$ instanceof U_,D=J?U:$;return new rj({type:"tuple",items:_,rest:J?$:null,...P.normalizeParams(D)})}function nj(_,$,U){if(!$||!$._zod)return new X0({type:"record",keyType:P1(),valueType:_,...P.normalizeParams($)});return new X0({type:"record",keyType:_,valueType:$,...P.normalizeParams(U)})}function OY(_,$,U){let J=t_(_);return J._zod.values=void 0,new X0({type:"record",keyType:J,valueType:$,...P.normalizeParams(U)})}function YY(_,$,U){return new X0({type:"record",keyType:_,valueType:$,mode:"loose",...P.normalizeParams(U)})}function zY(_,$,U){return new mj({type:"map",keyType:_,valueType:$,...P.normalizeParams(U)})}function QY(_,$){return new dj({type:"set",valueType:_,...P.normalizeParams($)})}function d2(_,$){let U=Array.isArray(_)?Object.fromEntries(_.map((J)=>[J,J])):_;return new N0({type:"enum",entries:U,...P.normalizeParams($)})}function qY(_,$){return new N0({type:"enum",entries:_,...P.normalizeParams($)})}function LY(_,$){return new cj({type:"literal",values:Array.isArray(_)?_:[_],...P.normalizeParams($)})}function gY(_){return HO(ij,_)}function c2(_){return new lj({type:"transform",transform:_})}function w1(_){return new i2({type:"optional",innerType:_})}function pj(_){return new oj({type:"optional",innerType:_})}function S1(_){return new tj({type:"nullable",innerType:_})}function EY(_){return w1(S1(_))}function ej(_,$){return new aj({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():P.shallowClone($)}})}function _W(_,$){return new sj({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():P.shallowClone($)}})}function $W(_,$){return new l2({type:"nonoptional",innerType:_,...P.normalizeParams($)})}function RY(_){return new UW({type:"success",innerType:_})}function JW(_,$){return new DW({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function BY(_){return RO(jW,_)}function b2(_,$){return new y1({type:"pipe",in:_,out:$})}function HY(_,$,U){return new h1({type:"pipe",in:_,out:$,transform:U.decode,reverseTransform:U.encode})}function AY(_){let $=_._zod.def;return new h1({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function XW(_){return new GW({type:"readonly",innerType:_})}function bY(_,$){return new NW({type:"template_literal",parts:_,...P.normalizeParams($)})}function YW(_){return new OW({type:"lazy",getter:_})}function VY(_){return new zW({type:"promise",innerType:_})}function KY(_){return new QW({type:"function",input:Array.isArray(_?.input)?uj(_?.input):_?.input??C1(z4()),output:_?.output??z4()})}function IY(_){let $=new P_({check:"custom"});return $._zod.check=_,$}function FY(_,$){return AO(x1,_??(()=>!0),$)}function qW(_,$={}){return bO(x1,_,$)}function LW(_,$){return VO(_,$)}function kY(_,$={}){let U=new x1({type:"custom",check:"custom",fn:(J)=>J instanceof _,abort:!0,...P.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 SY(_){let $=YW(()=>{return m2([P1(_),Ij(),Fj(),wj(),C1($),nj(P1(),$)])});return $}function fY(_,$){return new WW({type:"pipe",in:c2(_),out:$})}var Zg,J_,K2,O0,b_,I2,k1,m$,f1,F2,M2,P2,k2,w2,S2,f2,T2,Kj,C2,Z2,v2,y2,h2,x2,r2,Y0,z0,Q4,Q0,q0,u2,Mj,Pj,kj,Sj,fj,Tj,Cj,T1,Zj,Z1,v1,vj,yj,hj,rj,X0,mj,dj,N0,cj,ij,lj,i2,oj,tj,aj,sj,l2,UW,DW,jW,y1,h1,WW,GW,NW,OW,zW,QW,x1,MY,PY,wY=(..._)=>FO({Codec:h1,Boolean:Q0,String:O0},..._);var H2=Z(()=>{B$();B$();Q2();Y2();Yj();R2();E8();Zg=new WeakMap;J_=A("ZodType",(_,$)=>{return U_.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:M1(_,"input"),output:M1(_,"output")}}),_.toJSONSchema=MO(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(U,J)=>zj(_,U,J,{callee:_.parse}),_.safeParse=(U,J)=>qj(_,U,J),_.parseAsync=async(U,J)=>Qj(_,U,J,{callee:_.parseAsync}),_.safeParseAsync=async(U,J)=>Lj(_,U,J),_.spa=_.safeParseAsync,_.encode=(U,J)=>gj(_,U,J),_.decode=(U,J)=>Ej(_,U,J),_.encodeAsync=async(U,J)=>Rj(_,U,J),_.decodeAsync=async(U,J)=>Bj(_,U,J),_.safeEncode=(U,J)=>Hj(_,U,J),_.safeDecode=(U,J)=>Aj(_,U,J),_.safeEncodeAsync=async(U,J)=>bj(_,U,J),_.safeDecodeAsync=async(U,J)=>Vj(_,U,J),V2(_,"ZodType",{check(...U){let J=this.def;return this.clone(P.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 t_(this,U,J)},brand(){return this},register(U,J){return U.add(this,J),this},refine(U,J){return this.check(qW(U,J))},superRefine(U,J){return this.check(LW(U,J))},overwrite(U){return this.check(k$(U))},optional(){return w1(this)},exactOptional(){return pj(this)},nullable(){return S1(this)},nullish(){return w1(S1(this))},nonoptional(U){return $W(this,U)},array(){return C1(this)},or(U){return m2([this,U])},and(U){return xj(this,U)},transform(U){return b2(this,c2(U))},default(U){return ej(this,U)},prefault(U){return _W(this,U)},catch(U){return JW(this,U)},pipe(U){return b2(this,U)},readonly(){return XW(this)},describe(U){let J=this.clone();return i_.add(J,{description:U}),J},meta(...U){if(U.length===0)return i_.get(this);let J=this.clone();return i_.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 i_.get(_)?.description},configurable:!0}),_}),K2=A("_ZodString",(_,$)=>{o4.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>PO(_,J,D,j);let U=_._zod.bag;_.format=U.format??null,_.minLength=U.minimum??null,_.maxLength=U.maximum??null,V2(_,"_ZodString",{regex(...J){return this.check(p4(...J))},includes(...J){return this.check(e4(...J))},startsWith(...J){return this.check(s4(...J))},endsWith(...J){return this.check(_0(...J))},min(...J){return this.check(X6(...J))},max(...J){return this.check(G4(...J))},length(...J){return this.check(X4(...J))},nonempty(...J){return this.check(X6(1,...J))},lowercase(J){return this.check(t4(J))},uppercase(J){return this.check(a4(J))},trim(){return this.check(D0())},normalize(...J){return this.check(U0(...J))},toLowerCase(){return this.check(J0())},toUpperCase(){return this.check(j0())},slugify(){return this.check(W0())}})}),O0=A("ZodString",(_,$)=>{o4.init(_,$),K2.init(_,$),_.email=(U)=>_.check(rJ(I2,U)),_.url=(U)=>_.check(j2(f1,U)),_.jwt=(U)=>_.check(jj(r2,U)),_.emoji=(U)=>_.check(cJ(F2,U)),_.guid=(U)=>_.check(J2(k1,U)),_.uuid=(U)=>_.check(uJ(m$,U)),_.uuidv4=(U)=>_.check(nJ(m$,U)),_.uuidv6=(U)=>_.check(mJ(m$,U)),_.uuidv7=(U)=>_.check(dJ(m$,U)),_.nanoid=(U)=>_.check(iJ(M2,U)),_.guid=(U)=>_.check(J2(k1,U)),_.cuid=(U)=>_.check(lJ(P2,U)),_.cuid2=(U)=>_.check(oJ(k2,U)),_.ulid=(U)=>_.check(pJ(w2,U)),_.base64=(U)=>_.check(Uj(y2,U)),_.base64url=(U)=>_.check(Dj(h2,U)),_.xid=(U)=>_.check(tJ(S2,U)),_.ksuid=(U)=>_.check(aJ(f2,U)),_.ipv4=(U)=>_.check(eJ(T2,U)),_.ipv6=(U)=>_.check(sJ(C2,U)),_.cidrv4=(U)=>_.check(_j(Z2,U)),_.cidrv6=(U)=>_.check($j(v2,U)),_.e164=(U)=>_.check(Jj(x2,U)),_.datetime=(U)=>_.check(z8(U)),_.date=(U)=>_.check(Q8(U)),_.time=(U)=>_.check(q8(U)),_.duration=(U)=>_.check(L8(U))});b_=A("ZodStringFormat",(_,$)=>{F_.init(_,$),K2.init(_,$)}),I2=A("ZodEmail",(_,$)=>{ZN.init(_,$),b_.init(_,$)});k1=A("ZodGUID",(_,$)=>{TN.init(_,$),b_.init(_,$)});m$=A("ZodUUID",(_,$)=>{CN.init(_,$),b_.init(_,$)});f1=A("ZodURL",(_,$)=>{vN.init(_,$),b_.init(_,$)});F2=A("ZodEmoji",(_,$)=>{yN.init(_,$),b_.init(_,$)});M2=A("ZodNanoID",(_,$)=>{hN.init(_,$),b_.init(_,$)});P2=A("ZodCUID",(_,$)=>{xN.init(_,$),b_.init(_,$)});k2=A("ZodCUID2",(_,$)=>{rN.init(_,$),b_.init(_,$)});w2=A("ZodULID",(_,$)=>{uN.init(_,$),b_.init(_,$)});S2=A("ZodXID",(_,$)=>{nN.init(_,$),b_.init(_,$)});f2=A("ZodKSUID",(_,$)=>{mN.init(_,$),b_.init(_,$)});T2=A("ZodIPv4",(_,$)=>{oN.init(_,$),b_.init(_,$)});Kj=A("ZodMAC",(_,$)=>{tN.init(_,$),b_.init(_,$)});C2=A("ZodIPv6",(_,$)=>{pN.init(_,$),b_.init(_,$)});Z2=A("ZodCIDRv4",(_,$)=>{aN.init(_,$),b_.init(_,$)});v2=A("ZodCIDRv6",(_,$)=>{eN.init(_,$),b_.init(_,$)});y2=A("ZodBase64",(_,$)=>{_5.init(_,$),b_.init(_,$)});h2=A("ZodBase64URL",(_,$)=>{$5.init(_,$),b_.init(_,$)});x2=A("ZodE164",(_,$)=>{U5.init(_,$),b_.init(_,$)});r2=A("ZodJWT",(_,$)=>{D5.init(_,$),b_.init(_,$)});Y0=A("ZodCustomStringFormat",(_,$)=>{J5.init(_,$),b_.init(_,$)});z0=A("ZodNumber",(_,$)=>{TJ.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>kO(_,J,D,j),V2(_,"ZodNumber",{gt(J,D){return this.check(u$(J,D))},gte(J,D){return this.check(a_(J,D))},min(J,D){return this.check(a_(J,D))},lt(J,D){return this.check(r$(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(A2(J))},safe(J){return this.check(A2(J))},positive(J){return this.check(u$(0,J))},nonnegative(J){return this.check(a_(0,J))},negative(J){return this.check(r$(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",(_,$)=>{j5.init(_,$),z0.init(_,$)});Q0=A("ZodBoolean",(_,$)=>{pU.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>wO(_,U,J,D)});q0=A("ZodBigInt",(_,$)=>{CJ.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>SO(_,J,D,j),_.gte=(J,D)=>_.check(a_(J,D)),_.min=(J,D)=>_.check(a_(J,D)),_.gt=(J,D)=>_.check(u$(J,D)),_.gte=(J,D)=>_.check(a_(J,D)),_.min=(J,D)=>_.check(a_(J,D)),_.lt=(J,D)=>_.check(r$(J,D)),_.lte=(J,D)=>_.check(Q$(J,D)),_.max=(J,D)=>_.check(Q$(J,D)),_.positive=(J)=>_.check(u$(BigInt(0),J)),_.negative=(J)=>_.check(r$(BigInt(0),J)),_.nonpositive=(J)=>_.check(Q$(BigInt(0),J)),_.nonnegative=(J)=>_.check(a_(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});u2=A("ZodBigIntFormat",(_,$)=>{W5.init(_,$),q0.init(_,$)});Mj=A("ZodSymbol",(_,$)=>{G5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>fO(_,U,J,D)});Pj=A("ZodUndefined",(_,$)=>{X5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>CO(_,U,J,D)});kj=A("ZodNull",(_,$)=>{N5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>TO(_,U,J,D)});Sj=A("ZodAny",(_,$)=>{O5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>yO(_,U,J,D)});fj=A("ZodUnknown",(_,$)=>{Y5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>hO(_,U,J,D)});Tj=A("ZodNever",(_,$)=>{z5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>vO(_,U,J,D)});Cj=A("ZodVoid",(_,$)=>{Q5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>ZO(_,U,J,D)});T1=A("ZodDate",(_,$)=>{q5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>xO(_,J,D,j),_.min=(J,D)=>_.check(a_(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});Zj=A("ZodArray",(_,$)=>{L5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>aO(_,U,J,D),_.element=$.element,V2(_,"ZodArray",{min(U,J){return this.check(X6(U,J))},nonempty(U){return this.check(X6(1,U))},max(U,J){return this.check(G4(U,J))},length(U,J){return this.check(X4(U,J))},unwrap(){return this.element}})});Z1=A("ZodObject",(_,$)=>{g5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>eO(_,U,J,D),P.defineLazy(_,"shape",()=>{return $.shape}),V2(_,"ZodObject",{keyof(){return d2(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:n2()})},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(i2,this,U[0])},required(...U){return P.required(l2,this,U[0])}})});v1=A("ZodUnion",(_,$)=>{tU.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Xj(_,U,J,D),_.options=$.options});vj=A("ZodXor",(_,$)=>{v1.init(_,$),E5.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Xj(_,U,J,D),_.options=$.options});yj=A("ZodDiscriminatedUnion",(_,$)=>{v1.init(_,$),R5.init(_,$)});hj=A("ZodIntersection",(_,$)=>{B5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>sO(_,U,J,D)});rj=A("ZodTuple",(_,$)=>{ZJ.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>_8(_,U,J,D),_.rest=(U)=>_.clone({..._._zod.def,rest:U})});X0=A("ZodRecord",(_,$)=>{H5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>$8(_,U,J,D),_.keyType=$.keyType,_.valueType=$.valueType});mj=A("ZodMap",(_,$)=>{A5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>pO(_,U,J,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...U)=>_.check(n$(...U)),_.nonempty=(U)=>_.check(n$(1,U)),_.max=(...U)=>_.check(w6(...U)),_.size=(...U)=>_.check(W4(...U))});dj=A("ZodSet",(_,$)=>{b5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>tO(_,U,J,D),_.min=(...U)=>_.check(n$(...U)),_.nonempty=(U)=>_.check(n$(1,U)),_.max=(...U)=>_.check(w6(...U)),_.size=(...U)=>_.check(W4(...U))});N0=A("ZodEnum",(_,$)=>{V5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>rO(_,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 N0({...$,checks:[],...P.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 N0({...$,checks:[],...P.normalizeParams(D),entries:j})}});cj=A("ZodLiteral",(_,$)=>{K5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>uO(_,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]}})});ij=A("ZodFile",(_,$)=>{I5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>dO(_,U,J,D),_.min=(U,J)=>_.check(n$(U,J)),_.max=(U,J)=>_.check(w6(U,J)),_.mime=(U,J)=>_.check($0(Array.isArray(U)?U:[U],J))});lj=A("ZodTransform",(_,$)=>{F5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>oO(_,U,J,D),_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new d4(_.constructor.name);U.addIssue=(j)=>{if(typeof j==="string")U.issues.push(P.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(P.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}});i2=A("ZodOptional",(_,$)=>{vJ.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Nj(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});oj=A("ZodExactOptional",(_,$)=>{M5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Nj(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});tj=A("ZodNullable",(_,$)=>{P5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>U8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});aj=A("ZodDefault",(_,$)=>{k5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>J8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});sj=A("ZodPrefault",(_,$)=>{w5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>j8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});l2=A("ZodNonOptional",(_,$)=>{S5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>D8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});UW=A("ZodSuccess",(_,$)=>{f5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>cO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});DW=A("ZodCatch",(_,$)=>{T5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>W8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});jW=A("ZodNaN",(_,$)=>{C5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>nO(_,U,J,D)});y1=A("ZodPipe",(_,$)=>{yJ.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>G8(_,U,J,D),_.in=$.in,_.out=$.out});h1=A("ZodCodec",(_,$)=>{y1.init(_,$),aU.init(_,$)});WW=A("ZodPreprocess",(_,$)=>{y1.init(_,$),Z5.init(_,$)}),GW=A("ZodReadonly",(_,$)=>{v5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>X8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});NW=A("ZodTemplateLiteral",(_,$)=>{y5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>mO(_,U,J,D)});OW=A("ZodLazy",(_,$)=>{r5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>O8(_,U,J,D),_.unwrap=()=>_._zod.def.getter()});zW=A("ZodPromise",(_,$)=>{x5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>N8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});QW=A("ZodFunction",(_,$)=>{h5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>lO(_,U,J,D)});x1=A("ZodCustom",(_,$)=>{u5.init(_,$),J_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>iO(_,U,J,D)});MY=KO,PY=IO});function yg(_){h_({customError:_})}function hg(){return h_().customError}var vg,gW;var xg=Z(()=>{B$();vg={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(_){})(gW||(gW={}))});function xk(_,$){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 rk(_,$){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 rg(_,$){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=rk(D,$),W=e_(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 rg(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=e_(N,$);D[X]=W.has(X)?z:z.optional()}if(_.propertyNames){let X=e_(_.propertyNames,$),N=_.additionalProperties&&typeof _.additionalProperties==="object"?e_(_.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=e_(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<L.length;Q++)E=y.intersection(E,L[Q]);J=E}break}let G=y.object(D);if(_.additionalProperties===!1)J=G.strict();else if(typeof _.additionalProperties==="object")J=G.catchall(e_(_.additionalProperties,$));else J=G.passthrough();break}case"array":{let{prefixItems:D,items:j}=_;if(D&&Array.isArray(D)){let W=D.map((X)=>e_(X,$)),G=j&&typeof j==="object"&&!Array.isArray(j)?e_(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)=>e_(X,$)),G=_.additionalItems&&typeof _.additionalItems==="object"?e_(_.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=e_(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 e_(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U=rg(_,$),J=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let G=_.anyOf.map((N)=>e_(N,$)),X=y.union(G);U=J?y.intersection(U,X):X}if(_.oneOf&&Array.isArray(_.oneOf)){let G=_.oneOf.map((N)=>e_(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:e_(_.allOf[0],$),X=J?0:1;for(let N=X;N<_.allOf.length;N++)G=y.intersection(G,e_(_.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(!hk.has(G))D[G]=_[G];if(Object.keys(D).length>0)$.registry.add(U,D);if(_.description)U=U.describe(_.description);return U}function TY(_,$){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=xk(U,$?.defaultTarget),D=U.$defs||U.definitions||{},j={version:J,defs:D,refs:new Map,processing:new Set,rootSchema:U,registry:$?.registry??i_};return e_(U,j)}var y,hk;var ug=Z(()=>{D2();Yj();R2();H2();y={...B2,...Oj,iso:G0},hk=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 EW={};s$(EW,{string:()=>uk,number:()=>nk,date:()=>ck,boolean:()=>mk,bigint:()=>dk});function uk(_){return d9(O0,_)}function nk(_){return a9(z0,_)}function mk(_){return JO(Q0,_)}function dk(_){return WO(q0,_)}function ck(_){return EO(T1,_)}var ng=Z(()=>{B$();H2()});var RW={};s$(RW,{xor:()=>XY,xid:()=>S8,void:()=>UY,uuidv7:()=>V8,uuidv6:()=>b8,uuidv4:()=>A8,uuid:()=>H8,util:()=>P,url:()=>K8,uppercase:()=>a4,unknown:()=>z4,union:()=>m2,undefined:()=>_Y,ulid:()=>w8,uint64:()=>e8,uint32:()=>p8,tuple:()=>uj,trim:()=>D0,treeifyError:()=>YJ,transform:()=>c2,toUpperCase:()=>j0,toLowerCase:()=>J0,toJSONSchema:()=>z2,templateLiteral:()=>bY,symbol:()=>s8,superRefine:()=>LW,success:()=>RY,stringbool:()=>wY,stringFormat:()=>n8,string:()=>P1,strictObject:()=>WY,startsWith:()=>s4,slugify:()=>W0,size:()=>W4,setErrorMap:()=>yg,set:()=>QY,safeParseAsync:()=>Lj,safeParse:()=>qj,safeEncodeAsync:()=>bj,safeEncode:()=>Hj,safeDecodeAsync:()=>Vj,safeDecode:()=>Aj,registry:()=>U2,regexes:()=>z$,regex:()=>p4,refine:()=>qW,record:()=>nj,readonly:()=>XW,property:()=>O2,promise:()=>VY,prettifyError:()=>zJ,preprocess:()=>fY,prefault:()=>_W,positive:()=>W2,pipe:()=>b2,partialRecord:()=>OY,parseAsync:()=>Qj,parse:()=>zj,overwrite:()=>k$,optional:()=>w1,object:()=>jY,number:()=>Ij,nullish:()=>EY,nullable:()=>S1,null:()=>wj,normalize:()=>U0,nonpositive:()=>X2,nonoptional:()=>$W,nonnegative:()=>N2,never:()=>n2,negative:()=>G2,nativeEnum:()=>qY,nanoid:()=>M8,nan:()=>BY,multipleOf:()=>k6,minSize:()=>n$,minLength:()=>X6,mime:()=>$0,meta:()=>PY,maxSize:()=>w6,maxLength:()=>G4,map:()=>zY,mac:()=>C8,lte:()=>Q$,lt:()=>r$,lowercase:()=>t4,looseRecord:()=>YY,looseObject:()=>GY,locales:()=>I1,literal:()=>LY,length:()=>X4,lazy:()=>YW,ksuid:()=>f8,keyof:()=>JY,jwt:()=>u8,json:()=>SY,iso:()=>G0,ipv6:()=>Z8,ipv4:()=>T8,invertCodec:()=>AY,intersection:()=>xj,int64:()=>a8,int32:()=>o8,int:()=>A2,instanceof:()=>kY,includes:()=>e4,httpUrl:()=>I8,hostname:()=>m8,hex:()=>d8,hash:()=>c8,guid:()=>B8,gte:()=>a_,gt:()=>u$,globalRegistry:()=>i_,getErrorMap:()=>hg,function:()=>KY,fromJSONSchema:()=>TY,formatError:()=>R1,float64:()=>l8,float32:()=>i8,flattenError:()=>E1,file:()=>gY,exactOptional:()=>pj,enum:()=>d2,endsWith:()=>_0,encodeAsync:()=>Rj,encode:()=>gj,emoji:()=>F8,email:()=>R8,e164:()=>r8,discriminatedUnion:()=>NY,describe:()=>MY,decodeAsync:()=>Bj,decode:()=>Ej,date:()=>DY,custom:()=>FY,cuid2:()=>k8,cuid:()=>P8,core:()=>N6,config:()=>h_,coerce:()=>EW,codec:()=>HY,clone:()=>t_,cidrv6:()=>y8,cidrv4:()=>v8,check:()=>IY,catch:()=>JW,boolean:()=>Fj,bigint:()=>t8,base64url:()=>x8,base64:()=>h8,array:()=>C1,any:()=>$Y,_function:()=>KY,_default:()=>ej,_ZodString:()=>K2,ZodXor:()=>vj,ZodXID:()=>S2,ZodVoid:()=>Cj,ZodUnknown:()=>fj,ZodUnion:()=>v1,ZodUndefined:()=>Pj,ZodUUID:()=>m$,ZodURL:()=>f1,ZodULID:()=>w2,ZodType:()=>J_,ZodTuple:()=>rj,ZodTransform:()=>lj,ZodTemplateLiteral:()=>NW,ZodSymbol:()=>Mj,ZodSuccess:()=>UW,ZodStringFormat:()=>b_,ZodString:()=>O0,ZodSet:()=>dj,ZodRecord:()=>X0,ZodRealError:()=>G$,ZodReadonly:()=>GW,ZodPromise:()=>zW,ZodPreprocess:()=>WW,ZodPrefault:()=>sj,ZodPipe:()=>y1,ZodOptional:()=>i2,ZodObject:()=>Z1,ZodNumberFormat:()=>Q4,ZodNumber:()=>z0,ZodNullable:()=>tj,ZodNull:()=>kj,ZodNonOptional:()=>l2,ZodNever:()=>Tj,ZodNanoID:()=>M2,ZodNaN:()=>jW,ZodMap:()=>mj,ZodMAC:()=>Kj,ZodLiteral:()=>cj,ZodLazy:()=>OW,ZodKSUID:()=>f2,ZodJWT:()=>r2,ZodIssueCode:()=>vg,ZodIntersection:()=>hj,ZodISOTime:()=>g2,ZodISODuration:()=>E2,ZodISODateTime:()=>q2,ZodISODate:()=>L2,ZodIPv6:()=>C2,ZodIPv4:()=>T2,ZodGUID:()=>k1,ZodFunction:()=>QW,ZodFirstPartyTypeKind:()=>gW,ZodFile:()=>ij,ZodExactOptional:()=>oj,ZodError:()=>Cg,ZodEnum:()=>N0,ZodEmoji:()=>F2,ZodEmail:()=>I2,ZodE164:()=>x2,ZodDiscriminatedUnion:()=>yj,ZodDefault:()=>aj,ZodDate:()=>T1,ZodCustomStringFormat:()=>Y0,ZodCustom:()=>x1,ZodCodec:()=>h1,ZodCatch:()=>DW,ZodCUID2:()=>k2,ZodCUID:()=>P2,ZodCIDRv6:()=>v2,ZodCIDRv4:()=>Z2,ZodBoolean:()=>Q0,ZodBigIntFormat:()=>u2,ZodBigInt:()=>q0,ZodBase64URL:()=>h2,ZodBase64:()=>y2,ZodArray:()=>Zj,ZodAny:()=>Sj,TimePrecision:()=>Wj,NEVER:()=>GJ,$output:()=>hJ,$input:()=>xJ,$brand:()=>XJ});var CY=Z(()=>{B$();B$();e5();B$();Q2();ug();u9();R2();R2();ng();H2();Yj();g8();E8();xg();h_(eU())});var mg={};s$(mg,{z:()=>RW,xor:()=>XY,xid:()=>S8,void:()=>UY,uuidv7:()=>V8,uuidv6:()=>b8,uuidv4:()=>A8,uuid:()=>H8,util:()=>P,url:()=>K8,uppercase:()=>a4,unknown:()=>z4,union:()=>m2,undefined:()=>_Y,ulid:()=>w8,uint64:()=>e8,uint32:()=>p8,tuple:()=>uj,trim:()=>D0,treeifyError:()=>YJ,transform:()=>c2,toUpperCase:()=>j0,toLowerCase:()=>J0,toJSONSchema:()=>z2,templateLiteral:()=>bY,symbol:()=>s8,superRefine:()=>LW,success:()=>RY,stringbool:()=>wY,stringFormat:()=>n8,string:()=>P1,strictObject:()=>WY,startsWith:()=>s4,slugify:()=>W0,size:()=>W4,setErrorMap:()=>yg,set:()=>QY,safeParseAsync:()=>Lj,safeParse:()=>qj,safeEncodeAsync:()=>bj,safeEncode:()=>Hj,safeDecodeAsync:()=>Vj,safeDecode:()=>Aj,registry:()=>U2,regexes:()=>z$,regex:()=>p4,refine:()=>qW,record:()=>nj,readonly:()=>XW,property:()=>O2,promise:()=>VY,prettifyError:()=>zJ,preprocess:()=>fY,prefault:()=>_W,positive:()=>W2,pipe:()=>b2,partialRecord:()=>OY,parseAsync:()=>Qj,parse:()=>zj,overwrite:()=>k$,optional:()=>w1,object:()=>jY,number:()=>Ij,nullish:()=>EY,nullable:()=>S1,null:()=>wj,normalize:()=>U0,nonpositive:()=>X2,nonoptional:()=>$W,nonnegative:()=>N2,never:()=>n2,negative:()=>G2,nativeEnum:()=>qY,nanoid:()=>M8,nan:()=>BY,multipleOf:()=>k6,minSize:()=>n$,minLength:()=>X6,mime:()=>$0,meta:()=>PY,maxSize:()=>w6,maxLength:()=>G4,map:()=>zY,mac:()=>C8,lte:()=>Q$,lt:()=>r$,lowercase:()=>t4,looseRecord:()=>YY,looseObject:()=>GY,locales:()=>I1,literal:()=>LY,length:()=>X4,lazy:()=>YW,ksuid:()=>f8,keyof:()=>JY,jwt:()=>u8,json:()=>SY,iso:()=>G0,ipv6:()=>Z8,ipv4:()=>T8,invertCodec:()=>AY,intersection:()=>xj,int64:()=>a8,int32:()=>o8,int:()=>A2,instanceof:()=>kY,includes:()=>e4,httpUrl:()=>I8,hostname:()=>m8,hex:()=>d8,hash:()=>c8,guid:()=>B8,gte:()=>a_,gt:()=>u$,globalRegistry:()=>i_,getErrorMap:()=>hg,function:()=>KY,fromJSONSchema:()=>TY,formatError:()=>R1,float64:()=>l8,float32:()=>i8,flattenError:()=>E1,file:()=>gY,exactOptional:()=>pj,enum:()=>d2,endsWith:()=>_0,encodeAsync:()=>Rj,encode:()=>gj,emoji:()=>F8,email:()=>R8,e164:()=>r8,discriminatedUnion:()=>NY,describe:()=>MY,default:()=>ik,decodeAsync:()=>Bj,decode:()=>Ej,date:()=>DY,custom:()=>FY,cuid2:()=>k8,cuid:()=>P8,core:()=>N6,config:()=>h_,coerce:()=>EW,codec:()=>HY,clone:()=>t_,cidrv6:()=>y8,cidrv4:()=>v8,check:()=>IY,catch:()=>JW,boolean:()=>Fj,bigint:()=>t8,base64url:()=>x8,base64:()=>h8,array:()=>C1,any:()=>$Y,_function:()=>KY,_default:()=>ej,_ZodString:()=>K2,ZodXor:()=>vj,ZodXID:()=>S2,ZodVoid:()=>Cj,ZodUnknown:()=>fj,ZodUnion:()=>v1,ZodUndefined:()=>Pj,ZodUUID:()=>m$,ZodURL:()=>f1,ZodULID:()=>w2,ZodType:()=>J_,ZodTuple:()=>rj,ZodTransform:()=>lj,ZodTemplateLiteral:()=>NW,ZodSymbol:()=>Mj,ZodSuccess:()=>UW,ZodStringFormat:()=>b_,ZodString:()=>O0,ZodSet:()=>dj,ZodRecord:()=>X0,ZodRealError:()=>G$,ZodReadonly:()=>GW,ZodPromise:()=>zW,ZodPreprocess:()=>WW,ZodPrefault:()=>sj,ZodPipe:()=>y1,ZodOptional:()=>i2,ZodObject:()=>Z1,ZodNumberFormat:()=>Q4,ZodNumber:()=>z0,ZodNullable:()=>tj,ZodNull:()=>kj,ZodNonOptional:()=>l2,ZodNever:()=>Tj,ZodNanoID:()=>M2,ZodNaN:()=>jW,ZodMap:()=>mj,ZodMAC:()=>Kj,ZodLiteral:()=>cj,ZodLazy:()=>OW,ZodKSUID:()=>f2,ZodJWT:()=>r2,ZodIssueCode:()=>vg,ZodIntersection:()=>hj,ZodISOTime:()=>g2,ZodISODuration:()=>E2,ZodISODateTime:()=>q2,ZodISODate:()=>L2,ZodIPv6:()=>C2,ZodIPv4:()=>T2,ZodGUID:()=>k1,ZodFunction:()=>QW,ZodFirstPartyTypeKind:()=>gW,ZodFile:()=>ij,ZodExactOptional:()=>oj,ZodError:()=>Cg,ZodEnum:()=>N0,ZodEmoji:()=>F2,ZodEmail:()=>I2,ZodE164:()=>x2,ZodDiscriminatedUnion:()=>yj,ZodDefault:()=>aj,ZodDate:()=>T1,ZodCustomStringFormat:()=>Y0,ZodCustom:()=>x1,ZodCodec:()=>h1,ZodCatch:()=>DW,ZodCUID2:()=>k2,ZodCUID:()=>P2,ZodCIDRv6:()=>v2,ZodCIDRv4:()=>Z2,ZodBoolean:()=>Q0,ZodBigIntFormat:()=>u2,ZodBigInt:()=>q0,ZodBase64URL:()=>h2,ZodBase64:()=>y2,ZodArray:()=>Zj,ZodAny:()=>Sj,TimePrecision:()=>Wj,NEVER:()=>GJ,$output:()=>hJ,$input:()=>xJ,$brand:()=>XJ});var ik;var dg=Z(()=>{CY();CY();ik=RW});var qD=b4((mZ)=>{class bz 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 NR extends bz{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}mZ.CommanderError=bz;mZ.InvalidArgumentError=NR});var eW=b4((oZ)=>{var{InvalidArgumentError:iZ}=qD();class OR{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 iZ(`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 lZ(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}oZ.Argument=OR;oZ.humanReadableArgName=lZ});var Vz=b4((eZ)=>{var{humanReadableArgName:aZ}=eW();class YR{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)=>aZ(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 zR(_).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<this.minWidthToWrap||J.preformatted(U))z=U;else z=J.boxWrap(U,N).replace(/\n/g,` +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},q=X.ref;if(X.ref=null,q){J(q);let Q=_.seen.get(q),L=Q.schema;if(L.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))N.allOf=N.allOf??[],N.allOf.push(L);else Object.assign(N,L);if(Object.assign(N,z),G._zod.parent===q)for(let R in N){if(R==="$ref"||R==="allOf")continue;if(!(R in z))delete N[R]}if(L.$ref&&Q.def)for(let R in N){if(R==="$ref"||R==="allOf")continue;if(R in Q.def&&JSON.stringify(N[R])===JSON.stringify(Q.def[R]))delete N[R]}}let g=G._zod.parent;if(g&&g!==q){J(g);let Q=_.seen.get(g);if(Q?.schema.$ref){if(N.$ref=Q.schema.$ref,Q.def)for(let L in N){if(L==="$ref"||L==="allOf")continue;if(L in Q.def&&JSON.stringify(N[L])===JSON.stringify(Q.def[L]))delete N[L]}}}_.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:M1($,"input",_.processors),output:M1($,"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 MO=(_,$={})=>(U)=>{let J=N4({...U,processors:$});return H_(_,J),O4(J,_),Y4(J,_)},M1=(_,$,U={})=>(J)=>{let{libraryOptions:D,target:j}=J??{},W=N4({...D??{},target:j,io:$,processors:U});return H_(_,W),O4(W,_),Y4(W,_)};var Y2=Z(()=>{D2()});function z2(_,$){if("_idmap"in _){let J=_,D=N4({...$,processors:Gj}),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:Gj});return H_(_,U),O4(U,_),Y4(U,_)}var yk,PO=(_,$,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=yk[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((q)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:q.source}))]}},kO=(_,$,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 q=typeof z==="number"&&z>=(j??Number.NEGATIVE_INFINITY),g=typeof N==="number"&&N<=(W??Number.POSITIVE_INFINITY),Q=$.target==="draft-04"||$.target==="openapi-3.0";if(q)if(Q)D.minimum=z,D.exclusiveMinimum=!0;else D.exclusiveMinimum=z;else if(typeof j==="number")D.minimum=j;if(g)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},SO=(_,$,U,J)=>{U.type="boolean"},wO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},fO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},TO=(_,$,U,J)=>{if($.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},CO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},ZO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},vO=(_,$,U,J)=>{U.not={}},yO=(_,$,U,J)=>{},hO=(_,$,U,J)=>{},xO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},rO=(_,$,U,J)=>{let D=_._zod.def,j=rU(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},uO=(_,$,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}},nO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},mO=(_,$,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},dO=(_,$,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)},cO=(_,$,U,J)=>{U.type="boolean"},iO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},lO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},oO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},pO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},tO=(_,$,U,J)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},aO=(_,$,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"]})},eO=(_,$,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"]})},Xj=(_,$,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},sO=(_,$,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},_8=(_,$,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((g,Q)=>H_(g,$,{...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:q}=_._zod.bag;if(typeof z==="number")D.minItems=z;if(typeof q==="number")D.maxItems=q},$8=(_,$,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 q of X)D.patternProperties[q.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((q)=>typeof q==="string"||typeof q==="number");if(z.length>0)D.required=z}},U8=(_,$,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"}]},D8=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},J8=(_,$,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))},j8=(_,$,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))},W8=(_,$,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},G8=(_,$,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},X8=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType,U.readOnly=!0},N8=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},Nj=(_,$,U,J)=>{let D=_._zod.def;H_(D.innerType,$,J);let j=$.seen.get(_);j.ref=D.innerType},O8=(_,$,U,J)=>{let D=_._zod.innerType;H_(D,$,J);let j=$.seen.get(_);j.ref=D},Gj;var Q2=Z(()=>{Y2();d();yk={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Gj={string:PO,number:kO,boolean:SO,bigint:wO,symbol:fO,null:TO,undefined:CO,void:ZO,never:vO,any:yO,unknown:hO,date:xO,enum:rO,literal:uO,nan:nO,template_literal:mO,file:dO,success:cO,custom:iO,function:lO,transform:oO,map:pO,set:tO,array:aO,object:eO,union:Xj,intersection:sO,tuple:_8,record:$8,nullable:U8,nonoptional:D8,default:J8,prefault:j8,catch:W8,pipe:G8,readonly:X8,promise:N8,optional:Nj,lazy:O8}});class Y8{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:Gj,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 wE=Z(()=>{Q2();Y2()});var fE={};var TE=()=>{};var O6={};_6(O6,{version:()=>SN,util:()=>k,treeifyError:()=>YJ,toJSONSchema:()=>z2,toDotPath:()=>Dq,safeParseAsync:()=>ZX,safeParse:()=>CX,safeEncodeAsync:()=>rM,safeEncode:()=>hM,safeDecodeAsync:()=>uM,safeDecode:()=>xM,registry:()=>U2,regexes:()=>Q$,process:()=>H_,prettifyError:()=>zJ,parseAsync:()=>LJ,parse:()=>QJ,meta:()=>IO,locales:()=>I1,isValidJWT:()=>Iq,isValidBase64URL:()=>Kq,isValidBase64:()=>sN,initializeContext:()=>N4,globalRegistry:()=>o_,globalConfig:()=>m4,formatError:()=>R1,flattenError:()=>g1,finalize:()=>Y4,extractDefs:()=>O4,encodeAsync:()=>vM,encode:()=>CM,describe:()=>KO,decodeAsync:()=>yM,decode:()=>ZM,createToJSONSchemaMethod:()=>MO,createStandardJSONSchemaMethod:()=>M1,config:()=>x_,clone:()=>e_,_xor:()=>qk,_xid:()=>tJ,_void:()=>qO,_uuidv7:()=>dJ,_uuidv6:()=>mJ,_uuidv4:()=>nJ,_uuid:()=>uJ,_url:()=>j2,_uppercase:()=>a4,_unknown:()=>QO,_union:()=>Lk,_undefined:()=>OO,_ulid:()=>pJ,_uint64:()=>XO,_uint32:()=>UO,_tuple:()=>Rk,_trim:()=>D0,_transform:()=>Ik,_toUpperCase:()=>j0,_toLowerCase:()=>J0,_templateLiteral:()=>Ck,_symbol:()=>NO,_superRefine:()=>VO,_success:()=>Sk,_stringbool:()=>FO,_stringFormat:()=>F1,_string:()=>m9,_startsWith:()=>s4,_slugify:()=>W0,_size:()=>W4,_set:()=>Ak,_safeParseAsync:()=>b1,_safeParse:()=>A1,_safeEncodeAsync:()=>AJ,_safeEncode:()=>BJ,_safeDecodeAsync:()=>bJ,_safeDecode:()=>HJ,_regex:()=>p4,_refine:()=>bO,_record:()=>Bk,_readonly:()=>Tk,_property:()=>O2,_promise:()=>vk,_positive:()=>W2,_pipe:()=>fk,_parseAsync:()=>H1,_parse:()=>B1,_overwrite:()=>S$,_optional:()=>Fk,_number:()=>t9,_nullable:()=>Mk,_null:()=>YO,_normalize:()=>U0,_nonpositive:()=>X2,_nonoptional:()=>kk,_nonnegative:()=>N2,_never:()=>LO,_negative:()=>G2,_nativeEnum:()=>Vk,_nanoid:()=>iJ,_nan:()=>RO,_multipleOf:()=>k6,_minSize:()=>m$,_minLength:()=>N6,_min:()=>s_,_mime:()=>$0,_maxSize:()=>S6,_maxLength:()=>G4,_max:()=>L$,_map:()=>Hk,_mac:()=>c9,_lte:()=>L$,_lt:()=>u$,_lowercase:()=>t4,_literal:()=>Kk,_length:()=>X4,_lazy:()=>Zk,_ksuid:()=>aJ,_jwt:()=>jj,_isoTime:()=>o9,_isoDuration:()=>p9,_isoDateTime:()=>i9,_isoDate:()=>l9,_ipv6:()=>sJ,_ipv4:()=>eJ,_intersection:()=>gk,_int64:()=>GO,_int32:()=>$O,_int:()=>e9,_includes:()=>e4,_guid:()=>J2,_gte:()=>s_,_gt:()=>n$,_float64:()=>_O,_float32:()=>s9,_file:()=>HO,_enum:()=>bk,_endsWith:()=>_0,_encodeAsync:()=>gJ,_encode:()=>qJ,_emoji:()=>cJ,_email:()=>rJ,_e164:()=>Jj,_discriminatedUnion:()=>Ek,_default:()=>Pk,_decodeAsync:()=>RJ,_decode:()=>EJ,_date:()=>EO,_custom:()=>AO,_cuid2:()=>oJ,_cuid:()=>lJ,_coercedString:()=>d9,_coercedNumber:()=>a9,_coercedDate:()=>gO,_coercedBoolean:()=>JO,_coercedBigint:()=>WO,_cidrv6:()=>$j,_cidrv4:()=>_j,_check:()=>kE,_catch:()=>wk,_boolean:()=>DO,_bigint:()=>jO,_base64url:()=>Dj,_base64:()=>Uj,_array:()=>BO,_any:()=>zO,TimePrecision:()=>Wj,NEVER:()=>GJ,JSONSchemaGenerator:()=>Y8,JSONSchema:()=>fE,Doc:()=>PJ,$output:()=>hJ,$input:()=>xJ,$constructor:()=>A,$brand:()=>XJ,$ZodXor:()=>g5,$ZodXID:()=>nN,$ZodVoid:()=>Q5,$ZodUnknown:()=>Y5,$ZodUnion:()=>tU,$ZodUndefined:()=>X5,$ZodUUID:()=>CN,$ZodURL:()=>vN,$ZodULID:()=>uN,$ZodType:()=>$_,$ZodTuple:()=>ZJ,$ZodTransform:()=>F5,$ZodTemplateLiteral:()=>y5,$ZodSymbol:()=>G5,$ZodSuccess:()=>f5,$ZodStringFormat:()=>M_,$ZodString:()=>o4,$ZodSet:()=>b5,$ZodRegistry:()=>n9,$ZodRecord:()=>H5,$ZodRealError:()=>z$,$ZodReadonly:()=>v5,$ZodPromise:()=>x5,$ZodPreprocess:()=>Z5,$ZodPrefault:()=>S5,$ZodPipe:()=>yJ,$ZodOptional:()=>vJ,$ZodObjectJIT:()=>E5,$ZodObject:()=>Pq,$ZodNumberFormat:()=>j5,$ZodNumber:()=>TJ,$ZodNullable:()=>P5,$ZodNull:()=>N5,$ZodNonOptional:()=>w5,$ZodNever:()=>z5,$ZodNanoID:()=>hN,$ZodNaN:()=>C5,$ZodMap:()=>A5,$ZodMAC:()=>tN,$ZodLiteral:()=>K5,$ZodLazy:()=>r5,$ZodKSUID:()=>mN,$ZodJWT:()=>D5,$ZodIntersection:()=>B5,$ZodISOTime:()=>iN,$ZodISODuration:()=>lN,$ZodISODateTime:()=>dN,$ZodISODate:()=>cN,$ZodIPv6:()=>pN,$ZodIPv4:()=>oN,$ZodGUID:()=>TN,$ZodFunction:()=>h5,$ZodFile:()=>I5,$ZodExactOptional:()=>M5,$ZodError:()=>cU,$ZodEnum:()=>V5,$ZodEncodeError:()=>d4,$ZodEmoji:()=>yN,$ZodEmail:()=>ZN,$ZodE164:()=>U5,$ZodDiscriminatedUnion:()=>R5,$ZodDefault:()=>k5,$ZodDate:()=>L5,$ZodCustomStringFormat:()=>J5,$ZodCustom:()=>u5,$ZodCodec:()=>aU,$ZodCheckUpperCase:()=>VN,$ZodCheckStringFormat:()=>V1,$ZodCheckStartsWith:()=>IN,$ZodCheckSizeEquals:()=>gN,$ZodCheckRegex:()=>AN,$ZodCheckProperty:()=>MN,$ZodCheckOverwrite:()=>kN,$ZodCheckNumberFormat:()=>QN,$ZodCheckMultipleOf:()=>zN,$ZodCheckMinSize:()=>EN,$ZodCheckMinLength:()=>BN,$ZodCheckMimeType:()=>PN,$ZodCheckMaxSize:()=>qN,$ZodCheckMaxLength:()=>RN,$ZodCheckLowerCase:()=>bN,$ZodCheckLessThan:()=>IJ,$ZodCheckLengthEquals:()=>HN,$ZodCheckIncludes:()=>KN,$ZodCheckGreaterThan:()=>FJ,$ZodCheckEndsWith:()=>FN,$ZodCheckBigIntFormat:()=>LN,$ZodCheck:()=>k_,$ZodCatch:()=>T5,$ZodCUID2:()=>rN,$ZodCUID:()=>xN,$ZodCIDRv6:()=>eN,$ZodCIDRv4:()=>aN,$ZodBoolean:()=>pU,$ZodBigIntFormat:()=>W5,$ZodBigInt:()=>CJ,$ZodBase64URL:()=>$5,$ZodBase64:()=>_5,$ZodAsyncError:()=>X6,$ZodArray:()=>q5,$ZodAny:()=>O5});var H$=Z(()=>{d();KJ();u9();Q2();wE();TE();c4();vX();TX();n5();MJ();wN();D2();SE();Y2()});var Oj={};_6(Oj,{uppercase:()=>a4,trim:()=>D0,toUpperCase:()=>j0,toLowerCase:()=>J0,startsWith:()=>s4,slugify:()=>W0,size:()=>W4,regex:()=>p4,property:()=>O2,positive:()=>W2,overwrite:()=>S$,normalize:()=>U0,nonpositive:()=>X2,nonnegative:()=>N2,negative:()=>G2,multipleOf:()=>k6,minSize:()=>m$,minLength:()=>N6,mime:()=>$0,maxSize:()=>S6,maxLength:()=>G4,lte:()=>L$,lt:()=>u$,lowercase:()=>t4,length:()=>X4,includes:()=>e4,gte:()=>s_,gt:()=>n$,endsWith:()=>_0});var Yj=Z(()=>{H$()});var G0={};_6(G0,{time:()=>L8,duration:()=>q8,datetime:()=>z8,date:()=>Q8,ZodISOTime:()=>E2,ZodISODuration:()=>g2,ZodISODateTime:()=>L2,ZodISODate:()=>q2});function z8(_){return i9(L2,_)}function Q8(_){return l9(q2,_)}function L8(_){return o9(E2,_)}function q8(_){return p9(g2,_)}var L2,q2,E2,g2;var R2=Z(()=>{H$();H2();L2=A("ZodISODateTime",(_,$)=>{dN.init(_,$),V_.init(_,$)});q2=A("ZodISODate",(_,$)=>{cN.init(_,$),V_.init(_,$)});E2=A("ZodISOTime",(_,$)=>{iN.init(_,$),V_.init(_,$)});g2=A("ZodISODuration",(_,$)=>{lN.init(_,$),V_.init(_,$)})});var CE=(_,$)=>{cU.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(U)=>R1(_,U)},flatten:{value:(U)=>g1(_,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}}})},ZE,X$;var E8=Z(()=>{H$();H$();d();ZE=A("ZodError",CE),X$=A("ZodError",CE,{Parent:Error})});var zj,Qj,Lj,qj,Ej,gj,Rj,Bj,Hj,Aj,bj,Vj;var g8=Z(()=>{H$();E8();zj=B1(X$),Qj=H1(X$),Lj=A1(X$),qj=b1(X$),Ej=qJ(X$),gj=EJ(X$),Rj=gJ(X$),Bj=RJ(X$),Hj=BJ(X$),Aj=HJ(X$),bj=AJ(X$),Vj=bJ(X$)});var B2={};_6(B2,{xor:()=>XY,xid:()=>w8,void:()=>UY,uuidv7:()=>V8,uuidv6:()=>b8,uuidv4:()=>A8,uuid:()=>H8,url:()=>K8,unknown:()=>z4,union:()=>m2,undefined:()=>_Y,ulid:()=>S8,uint64:()=>e8,uint32:()=>p8,tuple:()=>uj,transform:()=>c2,templateLiteral:()=>bY,symbol:()=>s8,superRefine:()=>qW,success:()=>RY,stringbool:()=>SY,stringFormat:()=>n8,string:()=>P1,strictObject:()=>WY,set:()=>QY,refine:()=>LW,record:()=>nj,readonly:()=>XW,promise:()=>VY,preprocess:()=>fY,prefault:()=>_W,pipe:()=>b2,partialRecord:()=>OY,optional:()=>S1,object:()=>jY,number:()=>Ij,nullish:()=>gY,nullable:()=>w1,null:()=>Sj,nonoptional:()=>$W,never:()=>n2,nativeEnum:()=>LY,nanoid:()=>M8,nan:()=>BY,meta:()=>PY,map:()=>zY,mac:()=>C8,looseRecord:()=>YY,looseObject:()=>GY,literal:()=>qY,lazy:()=>YW,ksuid:()=>f8,keyof:()=>JY,jwt:()=>u8,json:()=>wY,ipv6:()=>Z8,ipv4:()=>T8,invertCodec:()=>AY,intersection:()=>xj,int64:()=>a8,int32:()=>o8,int:()=>A2,instanceof:()=>kY,httpUrl:()=>I8,hostname:()=>m8,hex:()=>d8,hash:()=>c8,guid:()=>B8,function:()=>KY,float64:()=>l8,float32:()=>i8,file:()=>EY,exactOptional:()=>pj,enum:()=>d2,emoji:()=>F8,email:()=>R8,e164:()=>r8,discriminatedUnion:()=>NY,describe:()=>MY,date:()=>DY,custom:()=>FY,cuid2:()=>k8,cuid:()=>P8,codec:()=>HY,cidrv6:()=>y8,cidrv4:()=>v8,check:()=>IY,catch:()=>JW,boolean:()=>Fj,bigint:()=>t8,base64url:()=>x8,base64:()=>h8,array:()=>C1,any:()=>$Y,_function:()=>KY,_default:()=>ej,_ZodString:()=>K2,ZodXor:()=>vj,ZodXID:()=>w2,ZodVoid:()=>Cj,ZodUnknown:()=>fj,ZodUnion:()=>v1,ZodUndefined:()=>Pj,ZodUUID:()=>d$,ZodURL:()=>f1,ZodULID:()=>S2,ZodType:()=>D_,ZodTuple:()=>rj,ZodTransform:()=>lj,ZodTemplateLiteral:()=>NW,ZodSymbol:()=>Mj,ZodSuccess:()=>UW,ZodStringFormat:()=>V_,ZodString:()=>O0,ZodSet:()=>dj,ZodRecord:()=>X0,ZodReadonly:()=>GW,ZodPromise:()=>zW,ZodPreprocess:()=>WW,ZodPrefault:()=>sj,ZodPipe:()=>y1,ZodOptional:()=>i2,ZodObject:()=>Z1,ZodNumberFormat:()=>Q4,ZodNumber:()=>z0,ZodNullable:()=>tj,ZodNull:()=>kj,ZodNonOptional:()=>l2,ZodNever:()=>Tj,ZodNanoID:()=>M2,ZodNaN:()=>jW,ZodMap:()=>mj,ZodMAC:()=>Kj,ZodLiteral:()=>cj,ZodLazy:()=>OW,ZodKSUID:()=>f2,ZodJWT:()=>r2,ZodIntersection:()=>hj,ZodIPv6:()=>C2,ZodIPv4:()=>T2,ZodGUID:()=>k1,ZodFunction:()=>QW,ZodFile:()=>ij,ZodExactOptional:()=>oj,ZodEnum:()=>N0,ZodEmoji:()=>F2,ZodEmail:()=>I2,ZodE164:()=>x2,ZodDiscriminatedUnion:()=>yj,ZodDefault:()=>aj,ZodDate:()=>T1,ZodCustomStringFormat:()=>Y0,ZodCustom:()=>x1,ZodCodec:()=>h1,ZodCatch:()=>DW,ZodCUID2:()=>k2,ZodCUID:()=>P2,ZodCIDRv6:()=>v2,ZodCIDRv4:()=>Z2,ZodBoolean:()=>Q0,ZodBigIntFormat:()=>u2,ZodBigInt:()=>L0,ZodBase64URL:()=>h2,ZodBase64:()=>y2,ZodArray:()=>Zj,ZodAny:()=>wj});function V2(_,$,U){let J=Object.getPrototypeOf(_),D=vE.get(J);if(!D)D=new Set,vE.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 P1(_){return m9(O0,_)}function R8(_){return rJ(I2,_)}function B8(_){return J2(k1,_)}function H8(_){return uJ(d$,_)}function A8(_){return nJ(d$,_)}function b8(_){return mJ(d$,_)}function V8(_){return dJ(d$,_)}function K8(_){return j2(f1,_)}function I8(_){return j2(f1,{protocol:Q$.httpProtocol,hostname:Q$.domain,...k.normalizeParams(_)})}function F8(_){return cJ(F2,_)}function M8(_){return iJ(M2,_)}function P8(_){return lJ(P2,_)}function k8(_){return oJ(k2,_)}function S8(_){return pJ(S2,_)}function w8(_){return tJ(w2,_)}function f8(_){return aJ(f2,_)}function T8(_){return eJ(T2,_)}function C8(_){return c9(Kj,_)}function Z8(_){return sJ(C2,_)}function v8(_){return _j(Z2,_)}function y8(_){return $j(v2,_)}function h8(_){return Uj(y2,_)}function x8(_){return Dj(h2,_)}function r8(_){return Jj(x2,_)}function u8(_){return jj(r2,_)}function n8(_,$,U={}){return F1(Y0,_,$,U)}function m8(_){return F1(Y0,"hostname",Q$.hostname,_)}function d8(_){return F1(Y0,"hex",Q$.hex,_)}function c8(_,$){let U=$?.enc??"hex",J=`${_}_${U}`,D=Q$[J];if(!D)throw Error(`Unrecognized hash format: ${J}`);return F1(Y0,J,D,$)}function Ij(_){return t9(z0,_)}function A2(_){return e9(Q4,_)}function i8(_){return s9(Q4,_)}function l8(_){return _O(Q4,_)}function o8(_){return $O(Q4,_)}function p8(_){return UO(Q4,_)}function Fj(_){return DO(Q0,_)}function t8(_){return jO(L0,_)}function a8(_){return GO(u2,_)}function e8(_){return XO(u2,_)}function s8(_){return NO(Mj,_)}function _Y(_){return OO(Pj,_)}function Sj(_){return YO(kj,_)}function $Y(){return zO(wj)}function z4(){return QO(fj)}function n2(_){return LO(Tj,_)}function UY(_){return qO(Cj,_)}function DY(_){return EO(T1,_)}function C1(_,$){return BO(Zj,_,$)}function JY(_){let $=_._zod.def.shape;return d2(Object.keys($))}function jY(_,$){let U={type:"object",shape:_??{},...k.normalizeParams($)};return new Z1(U)}function WY(_,$){return new Z1({type:"object",shape:_,catchall:n2(),...k.normalizeParams($)})}function GY(_,$){return new Z1({type:"object",shape:_,catchall:z4(),...k.normalizeParams($)})}function m2(_,$){return new v1({type:"union",options:_,...k.normalizeParams($)})}function XY(_,$){return new vj({type:"union",options:_,inclusive:!1,...k.normalizeParams($)})}function NY(_,$,U){return new yj({type:"union",options:$,discriminator:_,...k.normalizeParams(U)})}function xj(_,$){return new hj({type:"intersection",left:_,right:$})}function uj(_,$,U){let J=$ instanceof $_,D=J?U:$;return new rj({type:"tuple",items:_,rest:J?$:null,...k.normalizeParams(D)})}function nj(_,$,U){if(!$||!$._zod)return new X0({type:"record",keyType:P1(),valueType:_,...k.normalizeParams($)});return new X0({type:"record",keyType:_,valueType:$,...k.normalizeParams(U)})}function OY(_,$,U){let J=e_(_);return J._zod.values=void 0,new X0({type:"record",keyType:J,valueType:$,...k.normalizeParams(U)})}function YY(_,$,U){return new X0({type:"record",keyType:_,valueType:$,mode:"loose",...k.normalizeParams(U)})}function zY(_,$,U){return new mj({type:"map",keyType:_,valueType:$,...k.normalizeParams(U)})}function QY(_,$){return new dj({type:"set",valueType:_,...k.normalizeParams($)})}function d2(_,$){let U=Array.isArray(_)?Object.fromEntries(_.map((J)=>[J,J])):_;return new N0({type:"enum",entries:U,...k.normalizeParams($)})}function LY(_,$){return new N0({type:"enum",entries:_,...k.normalizeParams($)})}function qY(_,$){return new cj({type:"literal",values:Array.isArray(_)?_:[_],...k.normalizeParams($)})}function EY(_){return HO(ij,_)}function c2(_){return new lj({type:"transform",transform:_})}function S1(_){return new i2({type:"optional",innerType:_})}function pj(_){return new oj({type:"optional",innerType:_})}function w1(_){return new tj({type:"nullable",innerType:_})}function gY(_){return S1(w1(_))}function ej(_,$){return new aj({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function _W(_,$){return new sj({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function $W(_,$){return new l2({type:"nonoptional",innerType:_,...k.normalizeParams($)})}function RY(_){return new UW({type:"success",innerType:_})}function JW(_,$){return new DW({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function BY(_){return RO(jW,_)}function b2(_,$){return new y1({type:"pipe",in:_,out:$})}function HY(_,$,U){return new h1({type:"pipe",in:_,out:$,transform:U.decode,reverseTransform:U.encode})}function AY(_){let $=_._zod.def;return new h1({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function XW(_){return new GW({type:"readonly",innerType:_})}function bY(_,$){return new NW({type:"template_literal",parts:_,...k.normalizeParams($)})}function YW(_){return new OW({type:"lazy",getter:_})}function VY(_){return new zW({type:"promise",innerType:_})}function KY(_){return new QW({type:"function",input:Array.isArray(_?.input)?uj(_?.input):_?.input??C1(z4()),output:_?.output??z4()})}function IY(_){let $=new k_({check:"custom"});return $._zod.check=_,$}function FY(_,$){return AO(x1,_??(()=>!0),$)}function LW(_,$={}){return bO(x1,_,$)}function qW(_,$){return VO(_,$)}function kY(_,$={}){let U=new x1({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 wY(_){let $=YW(()=>{return m2([P1(_),Ij(),Fj(),Sj(),C1($),nj(P1(),$)])});return $}function fY(_,$){return new WW({type:"pipe",in:c2(_),out:$})}var vE,D_,K2,O0,V_,I2,k1,d$,f1,F2,M2,P2,k2,S2,w2,f2,T2,Kj,C2,Z2,v2,y2,h2,x2,r2,Y0,z0,Q4,Q0,L0,u2,Mj,Pj,kj,wj,fj,Tj,Cj,T1,Zj,Z1,v1,vj,yj,hj,rj,X0,mj,dj,N0,cj,ij,lj,i2,oj,tj,aj,sj,l2,UW,DW,jW,y1,h1,WW,GW,NW,OW,zW,QW,x1,MY,PY,SY=(..._)=>FO({Codec:h1,Boolean:Q0,String:O0},..._);var H2=Z(()=>{H$();H$();Q2();Y2();Yj();R2();g8();vE=new WeakMap;D_=A("ZodType",(_,$)=>{return $_.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:M1(_,"input"),output:M1(_,"output")}}),_.toJSONSchema=MO(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(U,J)=>zj(_,U,J,{callee:_.parse}),_.safeParse=(U,J)=>Lj(_,U,J),_.parseAsync=async(U,J)=>Qj(_,U,J,{callee:_.parseAsync}),_.safeParseAsync=async(U,J)=>qj(_,U,J),_.spa=_.safeParseAsync,_.encode=(U,J)=>Ej(_,U,J),_.decode=(U,J)=>gj(_,U,J),_.encodeAsync=async(U,J)=>Rj(_,U,J),_.decodeAsync=async(U,J)=>Bj(_,U,J),_.safeEncode=(U,J)=>Hj(_,U,J),_.safeDecode=(U,J)=>Aj(_,U,J),_.safeEncodeAsync=async(U,J)=>bj(_,U,J),_.safeDecodeAsync=async(U,J)=>Vj(_,U,J),V2(_,"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(qW(U,J))},overwrite(U){return this.check(S$(U))},optional(){return S1(this)},exactOptional(){return pj(this)},nullable(){return w1(this)},nullish(){return S1(w1(this))},nonoptional(U){return $W(this,U)},array(){return C1(this)},or(U){return m2([this,U])},and(U){return xj(this,U)},transform(U){return b2(this,c2(U))},default(U){return ej(this,U)},prefault(U){return _W(this,U)},catch(U){return JW(this,U)},pipe(U){return b2(this,U)},readonly(){return XW(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}),_}),K2=A("_ZodString",(_,$)=>{o4.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>PO(_,J,D,j);let U=_._zod.bag;_.format=U.format??null,_.minLength=U.minimum??null,_.maxLength=U.maximum??null,V2(_,"_ZodString",{regex(...J){return this.check(p4(...J))},includes(...J){return this.check(e4(...J))},startsWith(...J){return this.check(s4(...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(t4(J))},uppercase(J){return this.check(a4(J))},trim(){return this.check(D0())},normalize(...J){return this.check(U0(...J))},toLowerCase(){return this.check(J0())},toUpperCase(){return this.check(j0())},slugify(){return this.check(W0())}})}),O0=A("ZodString",(_,$)=>{o4.init(_,$),K2.init(_,$),_.email=(U)=>_.check(rJ(I2,U)),_.url=(U)=>_.check(j2(f1,U)),_.jwt=(U)=>_.check(jj(r2,U)),_.emoji=(U)=>_.check(cJ(F2,U)),_.guid=(U)=>_.check(J2(k1,U)),_.uuid=(U)=>_.check(uJ(d$,U)),_.uuidv4=(U)=>_.check(nJ(d$,U)),_.uuidv6=(U)=>_.check(mJ(d$,U)),_.uuidv7=(U)=>_.check(dJ(d$,U)),_.nanoid=(U)=>_.check(iJ(M2,U)),_.guid=(U)=>_.check(J2(k1,U)),_.cuid=(U)=>_.check(lJ(P2,U)),_.cuid2=(U)=>_.check(oJ(k2,U)),_.ulid=(U)=>_.check(pJ(S2,U)),_.base64=(U)=>_.check(Uj(y2,U)),_.base64url=(U)=>_.check(Dj(h2,U)),_.xid=(U)=>_.check(tJ(w2,U)),_.ksuid=(U)=>_.check(aJ(f2,U)),_.ipv4=(U)=>_.check(eJ(T2,U)),_.ipv6=(U)=>_.check(sJ(C2,U)),_.cidrv4=(U)=>_.check(_j(Z2,U)),_.cidrv6=(U)=>_.check($j(v2,U)),_.e164=(U)=>_.check(Jj(x2,U)),_.datetime=(U)=>_.check(z8(U)),_.date=(U)=>_.check(Q8(U)),_.time=(U)=>_.check(L8(U)),_.duration=(U)=>_.check(q8(U))});V_=A("ZodStringFormat",(_,$)=>{M_.init(_,$),K2.init(_,$)}),I2=A("ZodEmail",(_,$)=>{ZN.init(_,$),V_.init(_,$)});k1=A("ZodGUID",(_,$)=>{TN.init(_,$),V_.init(_,$)});d$=A("ZodUUID",(_,$)=>{CN.init(_,$),V_.init(_,$)});f1=A("ZodURL",(_,$)=>{vN.init(_,$),V_.init(_,$)});F2=A("ZodEmoji",(_,$)=>{yN.init(_,$),V_.init(_,$)});M2=A("ZodNanoID",(_,$)=>{hN.init(_,$),V_.init(_,$)});P2=A("ZodCUID",(_,$)=>{xN.init(_,$),V_.init(_,$)});k2=A("ZodCUID2",(_,$)=>{rN.init(_,$),V_.init(_,$)});S2=A("ZodULID",(_,$)=>{uN.init(_,$),V_.init(_,$)});w2=A("ZodXID",(_,$)=>{nN.init(_,$),V_.init(_,$)});f2=A("ZodKSUID",(_,$)=>{mN.init(_,$),V_.init(_,$)});T2=A("ZodIPv4",(_,$)=>{oN.init(_,$),V_.init(_,$)});Kj=A("ZodMAC",(_,$)=>{tN.init(_,$),V_.init(_,$)});C2=A("ZodIPv6",(_,$)=>{pN.init(_,$),V_.init(_,$)});Z2=A("ZodCIDRv4",(_,$)=>{aN.init(_,$),V_.init(_,$)});v2=A("ZodCIDRv6",(_,$)=>{eN.init(_,$),V_.init(_,$)});y2=A("ZodBase64",(_,$)=>{_5.init(_,$),V_.init(_,$)});h2=A("ZodBase64URL",(_,$)=>{$5.init(_,$),V_.init(_,$)});x2=A("ZodE164",(_,$)=>{U5.init(_,$),V_.init(_,$)});r2=A("ZodJWT",(_,$)=>{D5.init(_,$),V_.init(_,$)});Y0=A("ZodCustomStringFormat",(_,$)=>{J5.init(_,$),V_.init(_,$)});z0=A("ZodNumber",(_,$)=>{TJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>kO(_,J,D,j),V2(_,"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(L$(J,D))},max(J,D){return this.check(L$(J,D))},int(J){return this.check(A2(J))},safe(J){return this.check(A2(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(L$(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",(_,$)=>{j5.init(_,$),z0.init(_,$)});Q0=A("ZodBoolean",(_,$)=>{pU.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>SO(_,U,J,D)});L0=A("ZodBigInt",(_,$)=>{CJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>wO(_,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(L$(J,D)),_.max=(J,D)=>_.check(L$(J,D)),_.positive=(J)=>_.check(n$(BigInt(0),J)),_.negative=(J)=>_.check(u$(BigInt(0),J)),_.nonpositive=(J)=>_.check(L$(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});u2=A("ZodBigIntFormat",(_,$)=>{W5.init(_,$),L0.init(_,$)});Mj=A("ZodSymbol",(_,$)=>{G5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>fO(_,U,J,D)});Pj=A("ZodUndefined",(_,$)=>{X5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>CO(_,U,J,D)});kj=A("ZodNull",(_,$)=>{N5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>TO(_,U,J,D)});wj=A("ZodAny",(_,$)=>{O5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>yO(_,U,J,D)});fj=A("ZodUnknown",(_,$)=>{Y5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>hO(_,U,J,D)});Tj=A("ZodNever",(_,$)=>{z5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>vO(_,U,J,D)});Cj=A("ZodVoid",(_,$)=>{Q5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>ZO(_,U,J,D)});T1=A("ZodDate",(_,$)=>{L5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>xO(_,J,D,j),_.min=(J,D)=>_.check(s_(J,D)),_.max=(J,D)=>_.check(L$(J,D));let U=_._zod.bag;_.minDate=U.minimum?new Date(U.minimum):null,_.maxDate=U.maximum?new Date(U.maximum):null});Zj=A("ZodArray",(_,$)=>{q5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>aO(_,U,J,D),_.element=$.element,V2(_,"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}})});Z1=A("ZodObject",(_,$)=>{E5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>eO(_,U,J,D),k.defineLazy(_,"shape",()=>{return $.shape}),V2(_,"ZodObject",{keyof(){return d2(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:n2()})},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(i2,this,U[0])},required(...U){return k.required(l2,this,U[0])}})});v1=A("ZodUnion",(_,$)=>{tU.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Xj(_,U,J,D),_.options=$.options});vj=A("ZodXor",(_,$)=>{v1.init(_,$),g5.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Xj(_,U,J,D),_.options=$.options});yj=A("ZodDiscriminatedUnion",(_,$)=>{v1.init(_,$),R5.init(_,$)});hj=A("ZodIntersection",(_,$)=>{B5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>sO(_,U,J,D)});rj=A("ZodTuple",(_,$)=>{ZJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>_8(_,U,J,D),_.rest=(U)=>_.clone({..._._zod.def,rest:U})});X0=A("ZodRecord",(_,$)=>{H5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>$8(_,U,J,D),_.keyType=$.keyType,_.valueType=$.valueType});mj=A("ZodMap",(_,$)=>{A5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>pO(_,U,J,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...U)=>_.check(m$(...U)),_.nonempty=(U)=>_.check(m$(1,U)),_.max=(...U)=>_.check(S6(...U)),_.size=(...U)=>_.check(W4(...U))});dj=A("ZodSet",(_,$)=>{b5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>tO(_,U,J,D),_.min=(...U)=>_.check(m$(...U)),_.nonempty=(U)=>_.check(m$(1,U)),_.max=(...U)=>_.check(S6(...U)),_.size=(...U)=>_.check(W4(...U))});N0=A("ZodEnum",(_,$)=>{V5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(J,D,j)=>rO(_,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 N0({...$,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 N0({...$,checks:[],...k.normalizeParams(D),entries:j})}});cj=A("ZodLiteral",(_,$)=>{K5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>uO(_,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]}})});ij=A("ZodFile",(_,$)=>{I5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>dO(_,U,J,D),_.min=(U,J)=>_.check(m$(U,J)),_.max=(U,J)=>_.check(S6(U,J)),_.mime=(U,J)=>_.check($0(Array.isArray(U)?U:[U],J))});lj=A("ZodTransform",(_,$)=>{F5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>oO(_,U,J,D),_._zod.parse=(U,J)=>{if(J.direction==="backward")throw new d4(_.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}});i2=A("ZodOptional",(_,$)=>{vJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Nj(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});oj=A("ZodExactOptional",(_,$)=>{M5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>Nj(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});tj=A("ZodNullable",(_,$)=>{P5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>U8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});aj=A("ZodDefault",(_,$)=>{k5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>J8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});sj=A("ZodPrefault",(_,$)=>{S5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>j8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});l2=A("ZodNonOptional",(_,$)=>{w5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>D8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});UW=A("ZodSuccess",(_,$)=>{f5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>cO(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});DW=A("ZodCatch",(_,$)=>{T5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>W8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});jW=A("ZodNaN",(_,$)=>{C5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>nO(_,U,J,D)});y1=A("ZodPipe",(_,$)=>{yJ.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>G8(_,U,J,D),_.in=$.in,_.out=$.out});h1=A("ZodCodec",(_,$)=>{y1.init(_,$),aU.init(_,$)});WW=A("ZodPreprocess",(_,$)=>{y1.init(_,$),Z5.init(_,$)}),GW=A("ZodReadonly",(_,$)=>{v5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>X8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});NW=A("ZodTemplateLiteral",(_,$)=>{y5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>mO(_,U,J,D)});OW=A("ZodLazy",(_,$)=>{r5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>O8(_,U,J,D),_.unwrap=()=>_._zod.def.getter()});zW=A("ZodPromise",(_,$)=>{x5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>N8(_,U,J,D),_.unwrap=()=>_._zod.def.innerType});QW=A("ZodFunction",(_,$)=>{h5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>lO(_,U,J,D)});x1=A("ZodCustom",(_,$)=>{u5.init(_,$),D_.init(_,$),_._zod.processJSONSchema=(U,J,D)=>iO(_,U,J,D)});MY=KO,PY=IO});function hE(_){x_({customError:_})}function xE(){return x_().customError}var yE,EW;var rE=Z(()=>{H$();yE={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 uk(_,$){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 nk(_,$){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 uE(_,$){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=nk(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 uE(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(),q=y.looseRecord(X,N);J=y.intersection(z,q);break}if(_.patternProperties){let X=_.patternProperties,N=Object.keys(X),z=[];for(let g of N){let Q=_$(X[g],$),L=y.string().regex(new RegExp(g));z.push(y.looseRecord(L,Q))}let q=[];if(Object.keys(D).length>0)q.push(y.object(D).passthrough());if(q.push(...z),q.length===0)J=y.object({}).passthrough();else if(q.length===1)J=q[0];else{let g=y.intersection(q[0],q[1]);for(let Q=2;Q<q.length;Q++)g=y.intersection(g,q[Q]);J=g}break}let G=y.object(D);if(_.additionalProperties===!1)J=G.strict();else if(typeof _.additionalProperties==="object")J=G.catchall(_$(_.additionalProperties,$));else J=G.passthrough();break}case"array":{let{prefixItems:D,items:j}=_;if(D&&Array.isArray(D)){let W=D.map((X)=>_$(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=uE(_,$),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(!rk.has(G))D[G]=_[G];if(Object.keys(D).length>0)$.registry.add(U,D);if(_.description)U=U.describe(_.description);return U}function TY(_,$){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=uk(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,rk;var nE=Z(()=>{D2();Yj();R2();H2();y={...B2,...Oj,iso:G0},rk=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 gW={};_6(gW,{string:()=>mk,number:()=>dk,date:()=>lk,boolean:()=>ck,bigint:()=>ik});function mk(_){return d9(O0,_)}function dk(_){return a9(z0,_)}function ck(_){return JO(Q0,_)}function ik(_){return WO(L0,_)}function lk(_){return gO(T1,_)}var mE=Z(()=>{H$();H2()});var RW={};_6(RW,{xor:()=>XY,xid:()=>w8,void:()=>UY,uuidv7:()=>V8,uuidv6:()=>b8,uuidv4:()=>A8,uuid:()=>H8,util:()=>k,url:()=>K8,uppercase:()=>a4,unknown:()=>z4,union:()=>m2,undefined:()=>_Y,ulid:()=>S8,uint64:()=>e8,uint32:()=>p8,tuple:()=>uj,trim:()=>D0,treeifyError:()=>YJ,transform:()=>c2,toUpperCase:()=>j0,toLowerCase:()=>J0,toJSONSchema:()=>z2,templateLiteral:()=>bY,symbol:()=>s8,superRefine:()=>qW,success:()=>RY,stringbool:()=>SY,stringFormat:()=>n8,string:()=>P1,strictObject:()=>WY,startsWith:()=>s4,slugify:()=>W0,size:()=>W4,setErrorMap:()=>hE,set:()=>QY,safeParseAsync:()=>qj,safeParse:()=>Lj,safeEncodeAsync:()=>bj,safeEncode:()=>Hj,safeDecodeAsync:()=>Vj,safeDecode:()=>Aj,registry:()=>U2,regexes:()=>Q$,regex:()=>p4,refine:()=>LW,record:()=>nj,readonly:()=>XW,property:()=>O2,promise:()=>VY,prettifyError:()=>zJ,preprocess:()=>fY,prefault:()=>_W,positive:()=>W2,pipe:()=>b2,partialRecord:()=>OY,parseAsync:()=>Qj,parse:()=>zj,overwrite:()=>S$,optional:()=>S1,object:()=>jY,number:()=>Ij,nullish:()=>gY,nullable:()=>w1,null:()=>Sj,normalize:()=>U0,nonpositive:()=>X2,nonoptional:()=>$W,nonnegative:()=>N2,never:()=>n2,negative:()=>G2,nativeEnum:()=>LY,nanoid:()=>M8,nan:()=>BY,multipleOf:()=>k6,minSize:()=>m$,minLength:()=>N6,mime:()=>$0,meta:()=>PY,maxSize:()=>S6,maxLength:()=>G4,map:()=>zY,mac:()=>C8,lte:()=>L$,lt:()=>u$,lowercase:()=>t4,looseRecord:()=>YY,looseObject:()=>GY,locales:()=>I1,literal:()=>qY,length:()=>X4,lazy:()=>YW,ksuid:()=>f8,keyof:()=>JY,jwt:()=>u8,json:()=>wY,iso:()=>G0,ipv6:()=>Z8,ipv4:()=>T8,invertCodec:()=>AY,intersection:()=>xj,int64:()=>a8,int32:()=>o8,int:()=>A2,instanceof:()=>kY,includes:()=>e4,httpUrl:()=>I8,hostname:()=>m8,hex:()=>d8,hash:()=>c8,guid:()=>B8,gte:()=>s_,gt:()=>n$,globalRegistry:()=>o_,getErrorMap:()=>xE,function:()=>KY,fromJSONSchema:()=>TY,formatError:()=>R1,float64:()=>l8,float32:()=>i8,flattenError:()=>g1,file:()=>EY,exactOptional:()=>pj,enum:()=>d2,endsWith:()=>_0,encodeAsync:()=>Rj,encode:()=>Ej,emoji:()=>F8,email:()=>R8,e164:()=>r8,discriminatedUnion:()=>NY,describe:()=>MY,decodeAsync:()=>Bj,decode:()=>gj,date:()=>DY,custom:()=>FY,cuid2:()=>k8,cuid:()=>P8,core:()=>O6,config:()=>x_,coerce:()=>gW,codec:()=>HY,clone:()=>e_,cidrv6:()=>y8,cidrv4:()=>v8,check:()=>IY,catch:()=>JW,boolean:()=>Fj,bigint:()=>t8,base64url:()=>x8,base64:()=>h8,array:()=>C1,any:()=>$Y,_function:()=>KY,_default:()=>ej,_ZodString:()=>K2,ZodXor:()=>vj,ZodXID:()=>w2,ZodVoid:()=>Cj,ZodUnknown:()=>fj,ZodUnion:()=>v1,ZodUndefined:()=>Pj,ZodUUID:()=>d$,ZodURL:()=>f1,ZodULID:()=>S2,ZodType:()=>D_,ZodTuple:()=>rj,ZodTransform:()=>lj,ZodTemplateLiteral:()=>NW,ZodSymbol:()=>Mj,ZodSuccess:()=>UW,ZodStringFormat:()=>V_,ZodString:()=>O0,ZodSet:()=>dj,ZodRecord:()=>X0,ZodRealError:()=>X$,ZodReadonly:()=>GW,ZodPromise:()=>zW,ZodPreprocess:()=>WW,ZodPrefault:()=>sj,ZodPipe:()=>y1,ZodOptional:()=>i2,ZodObject:()=>Z1,ZodNumberFormat:()=>Q4,ZodNumber:()=>z0,ZodNullable:()=>tj,ZodNull:()=>kj,ZodNonOptional:()=>l2,ZodNever:()=>Tj,ZodNanoID:()=>M2,ZodNaN:()=>jW,ZodMap:()=>mj,ZodMAC:()=>Kj,ZodLiteral:()=>cj,ZodLazy:()=>OW,ZodKSUID:()=>f2,ZodJWT:()=>r2,ZodIssueCode:()=>yE,ZodIntersection:()=>hj,ZodISOTime:()=>E2,ZodISODuration:()=>g2,ZodISODateTime:()=>L2,ZodISODate:()=>q2,ZodIPv6:()=>C2,ZodIPv4:()=>T2,ZodGUID:()=>k1,ZodFunction:()=>QW,ZodFirstPartyTypeKind:()=>EW,ZodFile:()=>ij,ZodExactOptional:()=>oj,ZodError:()=>ZE,ZodEnum:()=>N0,ZodEmoji:()=>F2,ZodEmail:()=>I2,ZodE164:()=>x2,ZodDiscriminatedUnion:()=>yj,ZodDefault:()=>aj,ZodDate:()=>T1,ZodCustomStringFormat:()=>Y0,ZodCustom:()=>x1,ZodCodec:()=>h1,ZodCatch:()=>DW,ZodCUID2:()=>k2,ZodCUID:()=>P2,ZodCIDRv6:()=>v2,ZodCIDRv4:()=>Z2,ZodBoolean:()=>Q0,ZodBigIntFormat:()=>u2,ZodBigInt:()=>L0,ZodBase64URL:()=>h2,ZodBase64:()=>y2,ZodArray:()=>Zj,ZodAny:()=>wj,TimePrecision:()=>Wj,NEVER:()=>GJ,$output:()=>hJ,$input:()=>xJ,$brand:()=>XJ});var CY=Z(()=>{H$();H$();e5();H$();Q2();nE();u9();R2();R2();mE();H2();Yj();E8();g8();rE();x_(eU())});var dE={};_6(dE,{z:()=>RW,xor:()=>XY,xid:()=>w8,void:()=>UY,uuidv7:()=>V8,uuidv6:()=>b8,uuidv4:()=>A8,uuid:()=>H8,util:()=>k,url:()=>K8,uppercase:()=>a4,unknown:()=>z4,union:()=>m2,undefined:()=>_Y,ulid:()=>S8,uint64:()=>e8,uint32:()=>p8,tuple:()=>uj,trim:()=>D0,treeifyError:()=>YJ,transform:()=>c2,toUpperCase:()=>j0,toLowerCase:()=>J0,toJSONSchema:()=>z2,templateLiteral:()=>bY,symbol:()=>s8,superRefine:()=>qW,success:()=>RY,stringbool:()=>SY,stringFormat:()=>n8,string:()=>P1,strictObject:()=>WY,startsWith:()=>s4,slugify:()=>W0,size:()=>W4,setErrorMap:()=>hE,set:()=>QY,safeParseAsync:()=>qj,safeParse:()=>Lj,safeEncodeAsync:()=>bj,safeEncode:()=>Hj,safeDecodeAsync:()=>Vj,safeDecode:()=>Aj,registry:()=>U2,regexes:()=>Q$,regex:()=>p4,refine:()=>LW,record:()=>nj,readonly:()=>XW,property:()=>O2,promise:()=>VY,prettifyError:()=>zJ,preprocess:()=>fY,prefault:()=>_W,positive:()=>W2,pipe:()=>b2,partialRecord:()=>OY,parseAsync:()=>Qj,parse:()=>zj,overwrite:()=>S$,optional:()=>S1,object:()=>jY,number:()=>Ij,nullish:()=>gY,nullable:()=>w1,null:()=>Sj,normalize:()=>U0,nonpositive:()=>X2,nonoptional:()=>$W,nonnegative:()=>N2,never:()=>n2,negative:()=>G2,nativeEnum:()=>LY,nanoid:()=>M8,nan:()=>BY,multipleOf:()=>k6,minSize:()=>m$,minLength:()=>N6,mime:()=>$0,meta:()=>PY,maxSize:()=>S6,maxLength:()=>G4,map:()=>zY,mac:()=>C8,lte:()=>L$,lt:()=>u$,lowercase:()=>t4,looseRecord:()=>YY,looseObject:()=>GY,locales:()=>I1,literal:()=>qY,length:()=>X4,lazy:()=>YW,ksuid:()=>f8,keyof:()=>JY,jwt:()=>u8,json:()=>wY,iso:()=>G0,ipv6:()=>Z8,ipv4:()=>T8,invertCodec:()=>AY,intersection:()=>xj,int64:()=>a8,int32:()=>o8,int:()=>A2,instanceof:()=>kY,includes:()=>e4,httpUrl:()=>I8,hostname:()=>m8,hex:()=>d8,hash:()=>c8,guid:()=>B8,gte:()=>s_,gt:()=>n$,globalRegistry:()=>o_,getErrorMap:()=>xE,function:()=>KY,fromJSONSchema:()=>TY,formatError:()=>R1,float64:()=>l8,float32:()=>i8,flattenError:()=>g1,file:()=>EY,exactOptional:()=>pj,enum:()=>d2,endsWith:()=>_0,encodeAsync:()=>Rj,encode:()=>Ej,emoji:()=>F8,email:()=>R8,e164:()=>r8,discriminatedUnion:()=>NY,describe:()=>MY,default:()=>ok,decodeAsync:()=>Bj,decode:()=>gj,date:()=>DY,custom:()=>FY,cuid2:()=>k8,cuid:()=>P8,core:()=>O6,config:()=>x_,coerce:()=>gW,codec:()=>HY,clone:()=>e_,cidrv6:()=>y8,cidrv4:()=>v8,check:()=>IY,catch:()=>JW,boolean:()=>Fj,bigint:()=>t8,base64url:()=>x8,base64:()=>h8,array:()=>C1,any:()=>$Y,_function:()=>KY,_default:()=>ej,_ZodString:()=>K2,ZodXor:()=>vj,ZodXID:()=>w2,ZodVoid:()=>Cj,ZodUnknown:()=>fj,ZodUnion:()=>v1,ZodUndefined:()=>Pj,ZodUUID:()=>d$,ZodURL:()=>f1,ZodULID:()=>S2,ZodType:()=>D_,ZodTuple:()=>rj,ZodTransform:()=>lj,ZodTemplateLiteral:()=>NW,ZodSymbol:()=>Mj,ZodSuccess:()=>UW,ZodStringFormat:()=>V_,ZodString:()=>O0,ZodSet:()=>dj,ZodRecord:()=>X0,ZodRealError:()=>X$,ZodReadonly:()=>GW,ZodPromise:()=>zW,ZodPreprocess:()=>WW,ZodPrefault:()=>sj,ZodPipe:()=>y1,ZodOptional:()=>i2,ZodObject:()=>Z1,ZodNumberFormat:()=>Q4,ZodNumber:()=>z0,ZodNullable:()=>tj,ZodNull:()=>kj,ZodNonOptional:()=>l2,ZodNever:()=>Tj,ZodNanoID:()=>M2,ZodNaN:()=>jW,ZodMap:()=>mj,ZodMAC:()=>Kj,ZodLiteral:()=>cj,ZodLazy:()=>OW,ZodKSUID:()=>f2,ZodJWT:()=>r2,ZodIssueCode:()=>yE,ZodIntersection:()=>hj,ZodISOTime:()=>E2,ZodISODuration:()=>g2,ZodISODateTime:()=>L2,ZodISODate:()=>q2,ZodIPv6:()=>C2,ZodIPv4:()=>T2,ZodGUID:()=>k1,ZodFunction:()=>QW,ZodFirstPartyTypeKind:()=>EW,ZodFile:()=>ij,ZodExactOptional:()=>oj,ZodError:()=>ZE,ZodEnum:()=>N0,ZodEmoji:()=>F2,ZodEmail:()=>I2,ZodE164:()=>x2,ZodDiscriminatedUnion:()=>yj,ZodDefault:()=>aj,ZodDate:()=>T1,ZodCustomStringFormat:()=>Y0,ZodCustom:()=>x1,ZodCodec:()=>h1,ZodCatch:()=>DW,ZodCUID2:()=>k2,ZodCUID:()=>P2,ZodCIDRv6:()=>v2,ZodCIDRv4:()=>Z2,ZodBoolean:()=>Q0,ZodBigIntFormat:()=>u2,ZodBigInt:()=>L0,ZodBase64URL:()=>h2,ZodBase64:()=>y2,ZodArray:()=>Zj,ZodAny:()=>wj,TimePrecision:()=>Wj,NEVER:()=>GJ,$output:()=>hJ,$input:()=>xJ,$brand:()=>XJ});var ok;var cE=Z(()=>{CY();CY();ok=RW});var LD=b4((cZ)=>{class bz 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 OR extends bz{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}cZ.CommanderError=bz;cZ.InvalidArgumentError=OR});var eW=b4((tZ)=>{var{InvalidArgumentError:oZ}=LD();class YR{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 oZ(`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 pZ(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}tZ.Argument=YR;tZ.humanReadableArgName=pZ});var Vz=b4((_v)=>{var{humanReadableArgName:sZ}=eW();class zR{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)=>sZ(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,q){return $.formatItem(z,U,q,$)}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((q)=>{return D($.styleOptionTerm($.optionTerm(q)),$.styleOptionDescription($.optionDescription(q)))});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 QR(_).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<this.minWidthToWrap||J.preformatted(U))z=U;else z=J.boxWrap(U,N).replace(/\n/g,` `+" ".repeat($+G));return j+W+" ".repeat(G)+z.replace(/\n/g,` -${j}`)}boxWrap(_,$){if($<this.minWidthToWrap)return _;let U=_.split(/\r\n|\n/),J=/[\s]*[^\s]+/g,D=[];return U.forEach((j)=>{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 zR(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}eZ.Help=YR;eZ.stripColor=zR});var Kz=b4((Dv)=>{var{InvalidArgumentError:$v}=qD();class qR{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let U=Uv(_);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 $v(`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 QR(this.name().replace(/^no-/,""));return QR(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class LR{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 QR(_){return _.split("-").reduce(($,U)=>{return $+U[0].toUpperCase()+U.slice(1)})}function Uv(_){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} +${j}`)}boxWrap(_,$){if($<this.minWidthToWrap)return _;let U=_.split(/\r\n|\n/),J=/[\s]*[^\s]+/g,D=[];return U.forEach((j)=>{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 q=N.trimStart();G=[q],X=this.displayWidth(q)}),D.push(G.join(""))}),D.join(` +`)}}function QR(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}_v.Help=zR;_v.stripColor=QR});var Kz=b4((jv)=>{var{InvalidArgumentError:Dv}=LD();class qR{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let U=Jv(_);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 Dv(`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 LR(this.name().replace(/^no-/,""));return LR(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class ER{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 LR(_){return _.split("-").reduce(($,U)=>{return $+U[0].toUpperCase()+U.slice(1)})}function Jv(_){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} - 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}}Dv.Option=qR;Dv.DualOptions=LR});var gR=b4((Xv)=>{function Wv(_,$){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 Gv(_,$){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=Wv(_,W),X=Math.max(_.length,W.length);if((X-G)/X>j){if(G<D)D=G,J=[W];else if(G===D)J.push(W)}}),J.sort((W,G)=>W.localeCompare(G)),U)J=J.map((W)=>`--${W}`);if(J.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}}jv.Option=qR;jv.DualOptions=ER});var gR=b4((Ov)=>{function Xv(_,$){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 Nv(_,$){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=Xv(_,W),X=Math.max(_.length,W.length);if((X-G)/X>j){if(G<D)D=G,J=[W];else if(G===D)J.push(W)}}),J.sort((W,G)=>W.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""}Xv.suggestSimilar=Gv});var HR=b4((gv)=>{var Ov=R_("events").EventEmitter,Iz=R_("child_process"),u6=R_("path"),sW=R_("fs"),E_=R_("process"),{Argument:Yv,humanReadableArgName:zv}=eW(),{CommanderError:Fz}=qD(),{Help:Qv,stripColor:qv}=Vz(),{Option:ER,DualOptions:Lv}=Kz(),{suggestSimilar:RR}=gR();class Pz extends Ov{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:()=>Mz()??(E_.stdout.isTTY&&E_.stdout.hasColors?.()),getErrHasColors:()=>Mz()??(E_.stderr.isTTY&&E_.stderr.hasColors?.()),stripColor:($)=>qv($)},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 Pz(_)}createHelp(){return Object.assign(new Qv,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 Yv(_,$)}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 Fz(_,$,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 ER(_,$)}_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 ER)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. +(Did you mean ${J[0]}?)`;return""}Ov.suggestSimilar=Nv});var AR=b4((Rv)=>{var zv=B_("events").EventEmitter,Iz=B_("child_process"),u6=B_("path"),sW=B_("fs"),g_=B_("process"),{Argument:Qv,humanReadableArgName:Lv}=eW(),{CommanderError:Fz}=LD(),{Help:qv,stripColor:Ev}=Vz(),{Option:RR,DualOptions:gv}=Kz(),{suggestSimilar:BR}=gR();class Pz extends zv{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:($)=>g_.stdout.write($),writeErr:($)=>g_.stderr.write($),outputError:($,U)=>U($),getOutHelpWidth:()=>g_.stdout.isTTY?g_.stdout.columns:void 0,getErrHelpWidth:()=>g_.stderr.isTTY?g_.stderr.columns:void 0,getOutHasColors:()=>Mz()??(g_.stdout.isTTY&&g_.stdout.hasColors?.()),getErrHasColors:()=>Mz()??(g_.stderr.isTTY&&g_.stderr.hasColors?.()),stripColor:($)=>Ev($)},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 Pz(_)}createHelp(){return Object.assign(new qv,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 Qv(_,$)}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 Fz(_,$,U));g_.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 RR(_,$)}_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 RR)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(g_.versions?.electron)$.from="electron";let J=g_.execArgv??[];if(J.includes("-e")||J.includes("--eval")||J.includes("-p")||J.includes("--print"))$.from="eval"}if(_===void 0)_=g_.argv;this.rawArgs=_.slice();let U;switch($.from){case void 0:case"node":this._scriptPath=_[1],U=_.slice(2);break;case"electron":if(g_.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(sW.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 - 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(sW.existsSync(L))return L;if(J.includes(u6.extname(z)))return;let E=J.find((Q)=>sW.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=sW.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),$=BR(E_.execArgv).concat($),G=Iz.spawn(E_.argv[0],$,{stdio:"inherit"});else G=Iz.spawn(j,$,{stdio:"inherit"});else this._checkForMissingExecutable(j,W,_._name),$.unshift(j),$=BR(E_.execArgv).concat($),G=Iz.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 Fz(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 Fz(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<this.args.length){if(D=this.args.slice(J),U.parseArg)D=D.reduce((j,W)=>{return _(U,W,j)},U.defaultValue)}else if(D===void 0)D=[]}else if(J<this.args.length){if(D=this.args[J],U.parseArg)D=_(U,D,U.defaultValue)}$[J]=D}),this.processedArgs=$}_chainOrCall(_,$){if(_&&_.then&&typeof _.then==="function")return _.then(()=>$());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(`${_} + - ${J}`;throw Error(D)}_executeSubCommand(_,$){$=$.slice();let U=!1,J=[".js",".ts",".tsx",".mjs",".cjs"];function D(N,z){let q=u6.resolve(N,z);if(sW.existsSync(q))return q;if(J.includes(u6.extname(z)))return;let g=J.find((Q)=>sW.existsSync(`${q}${Q}`));if(g)return`${q}${g}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let j=_._executableFile||`${this._name}-${_._name}`,W=this._executableDir||"";if(this._scriptPath){let N;try{N=sW.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(g_.platform!=="win32")if(U)$.unshift(j),$=HR(g_.execArgv).concat($),G=Iz.spawn(g_.argv[0],$,{stdio:"inherit"});else G=Iz.spawn(j,$,{stdio:"inherit"});else this._checkForMissingExecutable(j,W,_._name),$.unshift(j),$=HR(g_.execArgv).concat($),G=Iz.spawn(g_.execPath,$,{stdio:"inherit"});if(!G.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((z)=>{g_.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)g_.exit(N);else X(new Fz(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)g_.exit(1);else{let z=new Fz(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<this.args.length){if(D=this.args.slice(J),U.parseArg)D=D.reduce((j,W)=>{return _(U,W,j)},U.defaultValue)}else if(D===void 0)D=[]}else if(J<this.args.length){if(D=this.args[J],U.parseArg)D=_(U,D,U.defaultValue)}$[J]=D}),this.processedArgs=$}_chainOrCall(_,$){if(_&&_.then&&typeof _.then==="function")return _.then(()=>$());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(`${_} `,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 Lv(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);$=RR(_,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())}),$=RR(_,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 zv(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. +`),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 g_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,g_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new gv(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);$=BR(_,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())}),$=BR(_,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 Lv(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(g_.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 BR(_){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 Mz(){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}gv.Command=Pz;gv.useColor=Mz});var KR=b4((Av)=>{var{Argument:AR}=eW(),{Command:kz}=HR(),{CommanderError:Bv,InvalidArgumentError:bR}=qD(),{Help:Hv}=Vz(),{Option:VR}=Kz();Av.program=new kz;Av.createCommand=(_)=>new kz(_);Av.createOption=(_,$)=>new VR(_,$);Av.createArgument=(_,$)=>new AR(_,$);Av.Command=kz;Av.Option=VR;Av.Argument=AR;Av.Help=Hv;Av.CommanderError=Bv;Av.InvalidArgumentError=bR;Av.InvalidOptionArgumentError=bR});import{chmodSync as lz,closeSync as qU,existsSync as C0,fsyncSync as gG,lstatSync as gB,openSync as EG,readFileSync as LU,renameSync as oz,unlinkSync as RG,writeFileSync as BG}from"fs";import{randomUUID as gU}from"crypto";import{basename as EB,dirname as pz,join as LG}from"path";import{chmodSync as hz,existsSync as YB,mkdirSync as XG,readFileSync as zB,writeFileSync as xz}from"fs";import{homedir as NG}from"os";import{dirname as QB,join as o_,resolve as rz}from"path";var L6=o_(".hasna","knowledge"),uz=o_(".hasna","apps","knowledge"),H_={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 nz(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:H_.s3.bucket,prefix:H_.s3.prefix,region:H_.s3.region,profile:H_.s3.profile,server_side_encryption:H_.s3.server_side_encryption}}}function zU(){return o_(NG(),".open-knowledge","db.json")}function HD(){return o_(NG(),".hasna","knowledge")}function OG(_=process.cwd()){return rz(_,L6)}function qB(){return o_(NG(),uz)}function LB(_=process.cwd()){return rz(_,uz)}function YG(_,$=process.cwd()){if(_==="project"||_==="local")return q$(LB($));return q$(qB())}function q$(_){return{home:_,configPath:o_(_,"config.json"),jsonStorePath:o_(_,"db.json"),knowledgeDbPath:o_(_,"knowledge.db"),artifactsDir:o_(_,"artifacts"),cacheDir:o_(_,"cache"),exportsDir:o_(_,"exports"),indexesDir:o_(_,"indexes"),logsDir:o_(_,"logs"),runsDir:o_(_,"runs"),schemasDir:o_(_,"schemas"),wikiDir:o_(_,"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 T0(_){let $=q$(_);XG($.home,{recursive:!0,mode:448});for(let U of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])XG(U,{recursive:!0,mode:448});if(!YB($.configPath))xz($.configPath,`${JSON.stringify(QU(),null,2)} -`,{mode:384}),hz($.configPath,384);return $}function AD(_,$=process.cwd()){if(_==="project"||_==="local")return q$(OG($));return q$(HD())}function m6(_){XG(QB(_),{recursive:!0})}function zG(_){let $=zB(_,"utf8");return JSON.parse($)}function mz(_,$){m6(_),xz(_,`${JSON.stringify($,null,2)} -`,{mode:384}),hz(_,384)}function VD(){return q$(HD()).jsonStorePath}function EU(_){if(_===VD()&&C0(zU()))AG();if(!C0(_))m6(_),ez(_,`${JSON.stringify({items:[]},null,2)} -`)}function RB(_){return _.toISOString().replace(/[:.]/g,"-")}function HG(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function BB(_){let $=new Set;for(let U of _)for(let J of HG(U))$.add(J);return $}function HB(_,$){return HG($).some((U)=>_.has(U))}function QG(_,$){m6(_),BG(_,`${JSON.stringify($,null,2)} -`,{mode:384}),lz(_,384)}function dz(_){let $=JSON.parse(LU(_,"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 AG(_={}){if(_.dryRun===!0)return cz(_);return _6(VD(),()=>cz(_),{createParent:!0})}function cz(_={}){let $=_.dryRun===!0,U=_.now??new Date,J=q$(HD()),D=zU(),j=J.jsonStorePath,W=C0(D),G=C0(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=dz(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=dz(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=BB(z.items),E={items:[...z.items]};for(let q of N.items){if(!q?.id){X.skipped_invalid+=1;continue}if(HB(L,q)){X.skipped_existing+=1;continue}E.items.push(q);for(let g of HG(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=`${RB(U)}-${gU().slice(0,8)}`;if(G)X.backup_path=LG(J.exportsDir,`legacy-open-knowledge-db-before-import-${Q}.json`),QG(X.backup_path,z);return QG(j,E),X.report_path=LG(J.runsDir,`legacy-open-knowledge-import-${Q}.json`),QG(X.report_path,X),X}function Z0(_){if(!C0(_))return{exists:!1,items:[]};let $=LU(_,"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 bD=1e4,tz=25,iz=120000,bB=new Int32Array(new SharedArrayBuffer(4));function bG(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function az(_){let $=null;try{$=EG(pz(_),"r"),gG($)}catch{}finally{if($!==null)try{qU($)}catch{}}}var qG=new Set;function ez(_,$){m6(_);let U=LG(pz(_),`.${EB(_)}.tmp.${gU()}`),J=null;try{J=EG(U,"wx",384),BG(J,$),gG(J),qU(J),J=null,oz(U,_);try{lz(_,384)}catch{}az(_)}catch(D){if(J!==null)try{qU(J)}catch{}try{RG(U)}catch{}throw D}}function sz(_){Atomics.wait(bB,0,0,_)}function VB(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return bG($)!=="ESRCH"}}function _Q(_,$){try{let U=LU(_,"utf8"),J=JSON.parse(U);if(typeof J.ts==="number")return $-J.ts>iz&&!VB(J.pid)}catch{}try{return $-gB(_).mtimeMs>iz}catch{return!1}}function KB(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${_}.stale.${$}.${gU()}`;try{oz(_,U)}catch(J){if(bG(J)!=="ENOENT")throw J;return}}function IB(_){let $=gU(),U=`${_}.breaker`,J=Date.now();while(Date.now()-J<bD){if($Q(U,$)){try{if(_Q(_,Date.now()))KB(_)}finally{UQ(U,$)}return}sz(tz)}throw Error(`Could not acquire stale-lock breaker on ${U} after ${bD}ms`)}function $Q(_,$){let U=null,J=!1;try{return U=EG(_,"wx",384),J=!0,BG(U,`${JSON.stringify({owner:$,pid:process.pid,ts:Date.now()})} -`),gG(U),qU(U),U=null,az(_),!0}catch(D){if(U!==null)try{qU(U)}catch{}if(J)try{RG(_)}catch{}if(bG(D)==="EEXIST")return!1;throw D}}function FB(_,$){let U=Date.now();while(Date.now()-U<bD){if($Q(_,$))return;if(_Q(_,Date.now()))IB(_);sz(tz)}throw Error(`Could not acquire lock on ${_} after ${bD}ms`)}function UQ(_,$){try{if(C0(_)){if(JSON.parse(LU(_,"utf8")).owner===$)RG(_)}}catch{}}function RU(_){EU(_);let $=LU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{items:[]};return U}function g6(_,$){ez(_,`${JSON.stringify($,null,2)} -`)}function _6(_,$,U={}){let J=gU(),D=AB(_);if(qG.has(D))return $();if(U.createParent)m6(D);FB(D,J),qG.add(D);try{return $()}finally{qG.delete(D),UQ(D,J)}}function DQ(){return`k_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function JQ(_){return _.replace(/^k_/,"").slice(0,12)}import{existsSync as pb}from"fs";var MB=Object.defineProperty,PB=(_)=>_;function kB(_,$){this[_]=PB.bind(null,$)}var wB=(_,$)=>{for(var U in $)MB(_,U,{get:$[U],enumerable:!0,configurable:!0,set:kB.bind($,U)})},O={};wB(O,{void:()=>qH,util:()=>Q_,unknown:()=>zH,union:()=>RH,undefined:()=>NH,tuple:()=>AH,transformer:()=>GQ,symbol:()=>XH,string:()=>EQ,strictObject:()=>EH,setErrorMap:()=>TB,set:()=>KH,record:()=>bH,quotelessJson:()=>SB,promise:()=>wH,preprocess:()=>TH,pipeline:()=>CH,ostring:()=>ZH,optional:()=>SH,onumber:()=>vH,oboolean:()=>yH,objectUtil:()=>MG,object:()=>gH,number:()=>RQ,nullable:()=>fH,null:()=>OH,never:()=>QH,nativeEnum:()=>kH,nan:()=>jH,map:()=>VH,makeIssue:()=>FD,literal:()=>MH,lazy:()=>FH,late:()=>DH,isValid:()=>V4,isDirty:()=>kG,isAsync:()=>BU,isAborted:()=>PG,intersection:()=>HH,instanceof:()=>JH,getParsedType:()=>R6,getErrorMap:()=>ID,function:()=>IH,enum:()=>PH,effect:()=>GQ,discriminatedUnion:()=>BH,defaultErrorMap:()=>x0,datetimeRegex:()=>qQ,date:()=>GH,custom:()=>gQ,coerce:()=>hH,boolean:()=>BQ,bigint:()=>WH,array:()=>LH,any:()=>YH,addIssueToContext:()=>v,ZodVoid:()=>AU,ZodUnknown:()=>d6,ZodUnion:()=>m0,ZodUndefined:()=>u0,ZodType:()=>X_,ZodTuple:()=>U6,ZodTransformer:()=>K$,ZodSymbol:()=>HU,ZodString:()=>T$,ZodSet:()=>F4,ZodSchema:()=>X_,ZodRecord:()=>bU,ZodReadonly:()=>t0,ZodPromise:()=>M4,ZodPipeline:()=>IU,ZodParsedType:()=>r,ZodOptional:()=>Z$,ZodObject:()=>v_,ZodNumber:()=>c6,ZodNullable:()=>B6,ZodNull:()=>n0,ZodNever:()=>$6,ZodNativeEnum:()=>l0,ZodNaN:()=>KU,ZodMap:()=>VU,ZodLiteral:()=>i0,ZodLazy:()=>c0,ZodIssueCode:()=>k,ZodIntersection:()=>d0,ZodFunction:()=>h0,ZodFirstPartyTypeKind:()=>e,ZodError:()=>L$,ZodEnum:()=>l6,ZodEffects:()=>K$,ZodDiscriminatedUnion:()=>PD,ZodDefault:()=>o0,ZodDate:()=>K4,ZodCatch:()=>p0,ZodBranded:()=>kD,ZodBoolean:()=>r0,ZodBigInt:()=>i6,ZodArray:()=>C$,ZodAny:()=>I4,Schema:()=>X_,ParseStatus:()=>p_,OK:()=>J$,NEVER:()=>xH,INVALID:()=>t,EMPTY_PATH:()=>CB,DIRTY:()=>y0,BRAND:()=>UH});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 MG;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(MG||(MG={}));var r=Q_.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 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}},k=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"]),SB=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class L$ 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<j.path.length){let X=j.path[G];if(G!==j.path.length-1)W[X]=W[X]||{_errors:[]};else W[X]=W[X]||{_errors:[]},W[X]._errors.push($(j));W=W[X],G++}}};return J(this),U}static assert(_){if(!(_ instanceof L$))throw Error(`Not a ZodError: ${_}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Q_.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(_=($)=>$.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()}}L$.create=(_)=>{return new L$(_)};var fB=(_,$)=>{let U;switch(_.code){case k.invalid_type:if(_.received===r.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case k.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,Q_.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:U=`Unrecognized key(s) in object: ${Q_.joinValues(_.keys,", ")}`;break;case k.invalid_union:U="Invalid input";break;case k.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${Q_.joinValues(_.options)}`;break;case k.invalid_enum_value:U=`Invalid enum value. Expected ${Q_.joinValues(_.options)}, received '${_.received}'`;break;case k.invalid_arguments:U="Invalid function arguments";break;case k.invalid_return_type:U="Invalid function return type";break;case k.invalid_date:U="Invalid date";break;case k.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 k.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 k.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 k.custom:U="Invalid input";break;case k.invalid_intersection_types:U="Intersection results could not be merged";break;case k.not_multiple_of:U=`Number must be a multiple of ${_.multipleOf}`;break;case k.not_finite:U="Number must be finite";break;default:U=$.defaultError,Q_.assertNever(_)}return{message:U}},x0=fB,YQ=x0;function TB(_){YQ=_}function ID(){return YQ}var FD=(_)=>{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}},CB=[];function v(_,$){let U=ID(),J=FD({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===x0?void 0:x0].filter((D)=>!!D)});_.common.issues.push(J)}class p_{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 p_.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"}),y0=(_)=>({status:"dirty",value:_}),J$=(_)=>({status:"valid",value:_}),PG=(_)=>_.status==="aborted",kG=(_)=>_.status==="dirty",V4=(_)=>_.status==="valid",BU=(_)=>typeof Promise<"u"&&_ instanceof Promise,i;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(i||(i={}));class v${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 jQ=(_,$)=>{if(V4($))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 L$(_.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 R6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:R6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new p_,ctx:{common:_.parent.common,data:_.data,parsedType:R6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(BU($))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(_)},J=this._parseSync({data:_,path:U.path,parent:U});return jQ(U,J)}"~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 V4(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)=>V4(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(_)},J=this._parse({data:_,path:U.path,parent:U}),D=await(BU(J)?J:Promise.resolve(J));return jQ(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:k.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 K$({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 Z$.create(this,this._def)}nullable(){return B6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return C$.create(this)}promise(){return M4.create(this,this._def)}or(_){return m0.create([this,_],this._def)}and(_){return d0.create(this,_,this._def)}transform(_){return new K$({...j_(this._def),schema:this,typeName:e.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new o0({...j_(this._def),innerType:this,defaultValue:$,typeName:e.ZodDefault})}brand(){return new kD({typeName:e.ZodBranded,type:this,...j_(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new p0({...j_(this._def),innerType:this,catchValue:$,typeName:e.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return IU.create(this,_)}readonly(){return t0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var ZB=/^c[^\s-]{8,}$/i,vB=/^[0-9a-z]+$/,yB=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hB=/^[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,xB=/^[a-z0-9_-]{21}$/i,rB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,uB=/^[-+]?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)?)??$/,nB=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,mB="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",VG,dB=/^(?:(?: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])$/,cB=/^(?:(?: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])$/,iB=/^(([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]))$/,lB=/^(([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])$/,oB=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,pB=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,zQ="((\\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])))",tB=new RegExp(`^${zQ}$`);function QQ(_){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 aB(_){return new RegExp(`^${QQ(_)}$`)}function qQ(_){let $=`${zQ}T${QQ(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function eB(_,$){if(($==="v4"||!$)&&dB.test(_))return!0;if(($==="v6"||!$)&&iB.test(_))return!0;return!1}function sB(_,$){if(!rB.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 _H(_,$){if(($==="v4"||!$)&&cB.test(_))return!0;if(($==="v6"||!$)&&lB.test(_))return!0;return!1}class T$ extends X_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==r.string){let D=this._getOrReturnCtx(_);return v(D,{code:k.invalid_type,expected:r.string,received:D.parsedType}),t}let U=new p_,J=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.length<D.value)J=this._getOrReturnCtx(_,J),v(J,{code:k.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="max"){if(_.data.length>D.value)J=this._getOrReturnCtx(_,J),v(J,{code:k.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<D.value;if(j||W){if(J=this._getOrReturnCtx(_,J),j)v(J,{code:k.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});else if(W)v(J,{code:k.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});U.dirty()}}else if(D.kind==="email"){if(!nB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"email",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="emoji"){if(!VG)VG=new RegExp(mB,"u");if(!VG.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"emoji",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="uuid"){if(!hB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"uuid",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="nanoid"){if(!xB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"nanoid",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid"){if(!ZB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"cuid",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid2"){if(!vB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"cuid2",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ulid"){if(!yB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"ulid",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="url")try{new URL(_.data)}catch{J=this._getOrReturnCtx(_,J),v(J,{validation:"url",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="regex"){if(D.regex.lastIndex=0,!D.regex.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"regex",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="trim")_.data=_.data.trim();else if(D.kind==="includes"){if(!_.data.includes(D.value,D.position))J=this._getOrReturnCtx(_,J),v(J,{code:k.invalid_string,validation:{includes:D.value,position:D.position},message:D.message}),U.dirty()}else if(D.kind==="toLowerCase")_.data=_.data.toLowerCase();else if(D.kind==="toUpperCase")_.data=_.data.toUpperCase();else if(D.kind==="startsWith"){if(!_.data.startsWith(D.value))J=this._getOrReturnCtx(_,J),v(J,{code:k.invalid_string,validation:{startsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="endsWith"){if(!_.data.endsWith(D.value))J=this._getOrReturnCtx(_,J),v(J,{code:k.invalid_string,validation:{endsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="datetime"){if(!qQ(D).test(_.data))J=this._getOrReturnCtx(_,J),v(J,{code:k.invalid_string,validation:"datetime",message:D.message}),U.dirty()}else if(D.kind==="date"){if(!tB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{code:k.invalid_string,validation:"date",message:D.message}),U.dirty()}else if(D.kind==="time"){if(!aB(D).test(_.data))J=this._getOrReturnCtx(_,J),v(J,{code:k.invalid_string,validation:"time",message:D.message}),U.dirty()}else if(D.kind==="duration"){if(!uB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"duration",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ip"){if(!eB(_.data,D.version))J=this._getOrReturnCtx(_,J),v(J,{validation:"ip",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="jwt"){if(!sB(_.data,D.alg))J=this._getOrReturnCtx(_,J),v(J,{validation:"jwt",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cidr"){if(!_H(_.data,D.version))J=this._getOrReturnCtx(_,J),v(J,{validation:"cidr",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64"){if(!oB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"base64",code:k.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64url"){if(!pB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"base64url",code:k.invalid_string,message:D.message}),U.dirty()}else Q_.assertNever(D);return{status:U.value,value:_.data}}_regex(_,$,U){return this.refinement((J)=>_.test(J),{validation:$,code:k.invalid_string,...i.errToObj(U)})}_addCheck(_){return new T$({...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 T$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new T$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new T$({...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 _}}T$.create=(_)=>{return new T$({checks:[],typeName:e.ZodString,coerce:_?.coerce??!1,...j_(_)})};function $H(_,$){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:k.invalid_type,expected:r.number,received:D.parsedType}),t}let U=void 0,J=new p_;for(let D of this._def.checks)if(D.kind==="int"){if(!Q_.isInteger(_.data))U=this._getOrReturnCtx(_,U),v(U,{code:k.invalid_type,expected:"integer",received:"float",message:D.message}),J.dirty()}else if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),v(U,{code:k.too_small,minimum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),v(U,{code:k.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="multipleOf"){if($H(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),v(U,{code:k.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:k.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 p_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),v(U,{code:k.too_small,type:"bigint",minimum:D.value,inclusive:D.inclusive,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),v(U,{code:k.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:k.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:k.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 r0 extends X_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==r.boolean){let U=this._getOrReturnCtx(_);return v(U,{code:k.invalid_type,expected:r.boolean,received:U.parsedType}),t}return J$(_.data)}}r0.create=(_)=>{return new r0({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:k.invalid_type,expected:r.date,received:D.parsedType}),t}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return v(D,{code:k.invalid_date}),t}let U=new p_,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:k.too_small,message:D.message,inclusive:!0,exact:!1,minimum:D.value,type:"date"}),U.dirty()}else if(D.kind==="max"){if(_.data.getTime()>D.value)J=this._getOrReturnCtx(_,J),v(J,{code:k.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 HU extends X_{_parse(_){if(this._getType(_)!==r.symbol){let U=this._getOrReturnCtx(_);return v(U,{code:k.invalid_type,expected:r.symbol,received:U.parsedType}),t}return J$(_.data)}}HU.create=(_)=>{return new HU({typeName:e.ZodSymbol,...j_(_)})};class u0 extends X_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return v(U,{code:k.invalid_type,expected:r.undefined,received:U.parsedType}),t}return J$(_.data)}}u0.create=(_)=>{return new u0({typeName:e.ZodUndefined,...j_(_)})};class n0 extends X_{_parse(_){if(this._getType(_)!==r.null){let U=this._getOrReturnCtx(_);return v(U,{code:k.invalid_type,expected:r.null,received:U.parsedType}),t}return J$(_.data)}}n0.create=(_)=>{return new n0({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 $6 extends X_{_parse(_){let $=this._getOrReturnCtx(_);return v($,{code:k.invalid_type,expected:r.never,received:$.parsedType}),t}}$6.create=(_)=>{return new $6({typeName:e.ZodNever,...j_(_)})};class AU extends X_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return v(U,{code:k.invalid_type,expected:r.void,received:U.parsedType}),t}return J$(_.data)}}AU.create=(_)=>{return new AU({typeName:e.ZodVoid,...j_(_)})};class C$ extends X_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),J=this._def;if($.parsedType!==r.array)return v($,{code:k.invalid_type,expected:r.array,received:$.parsedType}),t;if(J.exactLength!==null){let j=$.data.length>J.exactLength.value,W=$.data.length<J.exactLength.value;if(j||W)v($,{code:j?k.too_big:k.too_small,minimum:W?J.exactLength.value:void 0,maximum:j?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),U.dirty()}if(J.minLength!==null){if($.data.length<J.minLength.value)v($,{code:k.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),U.dirty()}if(J.maxLength!==null){if($.data.length>J.maxLength.value)v($,{code:k.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 v$($,j,$.path,W))})).then((j)=>{return p_.mergeArray(U,j)});let D=[...$.data].map((j,W)=>{return J.type._parseSync(new v$($,j,$.path,W))});return p_.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new C$({...this._def,minLength:{value:_,message:i.toString($)}})}max(_,$){return new C$({...this._def,maxLength:{value:_,message:i.toString($)}})}length(_,$){return new C$({...this._def,exactLength:{value:_,message:i.toString($)}})}nonempty(_){return this.min(1,_)}}C$.create=(_,$)=>{return new C$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:e.ZodArray,...j_($)})};function v0(_){if(_ instanceof v_){let $={};for(let U in _.shape){let J=_.shape[U];$[U]=Z$.create(v0(J))}return new v_({..._._def,shape:()=>$})}else if(_ instanceof C$)return new C$({..._._def,type:v0(_.element)});else if(_ instanceof Z$)return Z$.create(v0(_.unwrap()));else if(_ instanceof B6)return B6.create(v0(_.unwrap()));else if(_ instanceof U6)return U6.create(_.items.map(($)=>v0($)));else return _}class v_ 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:k.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 $6&&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 v$(J,z,J.path,X)),alwaysSet:X in J.data})}if(this._def.catchall instanceof $6){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:k.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 v$(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 p_.mergeObjectSync(U,X)});else return p_.mergeObjectSync(U,G)}get shape(){return this._def.shape()}strict(_){return i.errToObj,new v_({...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 v_({...this._def,unknownKeys:"strip"})}passthrough(){return new v_({...this._def,unknownKeys:"passthrough"})}extend(_){return new v_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new v_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:e.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new v_({...this._def,catchall:_})}pick(_){let $={};for(let U of Q_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new v_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of Q_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new v_({...this._def,shape:()=>$})}deepPartial(){return v0(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 v_({...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 Z$)D=D._def.innerType;$[U]=D}return new v_({...this._def,shape:()=>$})}keyof(){return LQ(Q_.objectKeys(this.shape))}}v_.create=(_,$)=>{return new v_({shape:()=>_,unknownKeys:"strip",catchall:$6.create(),typeName:e.ZodObject,...j_($)})};v_.strictCreate=(_,$)=>{return new v_({shape:()=>_,unknownKeys:"strict",catchall:$6.create(),typeName:e.ZodObject,...j_($)})};v_.lazycreate=(_,$)=>{return new v_({shape:_,unknownKeys:"strip",catchall:$6.create(),typeName:e.ZodObject,...j_($)})};class m0 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 L$(W.ctx.common.issues));return v($,{code:k.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 L$(G));return v($,{code:k.invalid_union,unionErrors:W}),t}}get options(){return this._def.options}}m0.create=(_,$)=>{return new m0({options:_,typeName:e.ZodUnion,...j_($)})};var E6=(_)=>{if(_ instanceof c0)return E6(_.schema);else if(_ instanceof K$)return E6(_.innerType());else if(_ instanceof i0)return[_.value];else if(_ instanceof l6)return _.options;else if(_ instanceof l0)return Q_.objectValues(_.enum);else if(_ instanceof o0)return E6(_._def.innerType);else if(_ instanceof u0)return[void 0];else if(_ instanceof n0)return[null];else if(_ instanceof Z$)return[void 0,...E6(_.unwrap())];else if(_ instanceof B6)return[null,...E6(_.unwrap())];else if(_ instanceof kD)return E6(_.unwrap());else if(_ instanceof t0)return E6(_.unwrap());else if(_ instanceof p0)return E6(_._def.innerType);else return[]};class PD extends X_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.object)return v($,{code:k.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:k.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 PD({typeName:e.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:J,...j_(U)})}}function wG(_,$){let U=R6(_),J=R6($);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=wG(_[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=wG(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 d0 extends X_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),J=(D,j)=>{if(PG(D)||PG(j))return t;let W=wG(D.value,j.value);if(!W.valid)return v(U,{code:k.invalid_intersection_types}),t;if(kG(D)||kG(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}))}}d0.create=(_,$,U)=>{return new d0({left:_,right:$,typeName:e.ZodIntersection,...j_(U)})};class U6 extends X_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.array)return v(U,{code:k.invalid_type,expected:r.array,received:U.parsedType}),t;if(U.data.length<this._def.items.length)return v(U,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t;if(!this._def.rest&&U.data.length>this._def.items.length)v(U,{code:k.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 v$(U,j,U.path,W))}).filter((j)=>!!j);if(U.common.async)return Promise.all(D).then((j)=>{return p_.mergeArray($,j)});else return p_.mergeArray($,D)}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: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:k.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 v$(U,W,U.path,W)),value:j._parse(new v$(U,U.data[W],U.path,W)),alwaysSet:W in U.data});if(U.common.async)return p_.mergeObjectAsync($,J);else return p_.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:T$.create(),valueType:_,typeName:e.ZodRecord,...j_($)})}}class VU 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:k.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 v$(U,W,U.path,[X,"key"])),value:D._parse(new v$(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}}}}VU.create=(_,$,U)=>{return new VU({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:k.invalid_type,expected:r.set,received:U.parsedType}),t;let J=this._def;if(J.minSize!==null){if(U.data.size<J.minSize.value)v(U,{code:k.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),$.dirty()}if(J.maxSize!==null){if(U.data.size>J.maxSize.value)v(U,{code:k.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 v$(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 h0 extends X_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.function)return v($,{code:k.invalid_type,expected:r.function,received:$.parsedType}),t;function U(W,G){return FD({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,ID(),x0].filter((X)=>!!X),issueData:{code:k.invalid_arguments,argumentsError:G}})}function J(W,G){return FD({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,ID(),x0].filter((X)=>!!X),issueData:{code:k.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 L$([]),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 L$([U(G,X.error)]);let N=Reflect.apply(j,this,X.data),z=W._def.returns.safeParse(N,D);if(!z.success)throw new L$([J(N,z.error)]);return z.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new h0({...this._def,args:U6.create(_).rest(d6.create())})}returns(_){return new h0({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new h0({args:_?_:U6.create([]).rest(d6.create()),returns:$||d6.create(),typeName:e.ZodFunction,...j_(U)})}}class c0 extends X_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}c0.create=(_,$)=>{return new c0({getter:_,typeName:e.ZodLazy,...j_($)})};class i0 extends X_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return v($,{received:$.data,code:k.invalid_literal,expected:this._def.value}),t}return{status:"valid",value:_.data}}get value(){return this._def.value}}i0.create=(_,$)=>{return new i0({value:_,typeName:e.ZodLiteral,...j_($)})};function LQ(_,$){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:k.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:k.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=LQ;class l0 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:k.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:k.invalid_enum_value,options:J}),t}return J$(_.data)}get enum(){return this._def.values}}l0.create=(_,$)=>{return new l0({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:k.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 K$ 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 y0(G.value);if($.value==="dirty")return y0(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 y0(W.value);if($.value==="dirty")return y0(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(!V4(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(!V4(j))return t;return Promise.resolve(J.transform(j.value,D)).then((W)=>({status:$.value,value:W}))});Q_.assertNever(J)}}K$.create=(_,$,U)=>{return new K$({schema:_,typeName:e.ZodEffects,effect:$,...j_(U)})};K$.createWithPreprocess=(_,$,U)=>{return new K$({schema:$,effect:{type:"preprocess",transform:_},typeName:e.ZodEffects,...j_(U)})};class Z$ extends X_{_parse(_){if(this._getType(_)===r.undefined)return J$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}Z$.create=(_,$)=>{return new Z$({innerType:_,typeName:e.ZodOptional,...j_($)})};class B6 extends X_{_parse(_){if(this._getType(_)===r.null)return J$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}B6.create=(_,$)=>{return new B6({innerType:_,typeName:e.ZodNullable,...j_($)})};class o0 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}}o0.create=(_,$)=>{return new o0({innerType:_,typeName:e.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...j_($)})};class p0 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(BU(J))return J.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new L$(U.common.issues)},input:U.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new L$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}p0.create=(_,$)=>{return new p0({innerType:_,typeName:e.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...j_($)})};class KU extends X_{_parse(_){if(this._getType(_)!==r.nan){let U=this._getOrReturnCtx(_);return v(U,{code:k.invalid_type,expected:r.nan,received:U.parsedType}),t}return{status:"valid",value:_.data}}}KU.create=(_)=>{return new KU({typeName:e.ZodNaN,...j_(_)})};var UH=Symbol("zod_brand");class kD 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 IU 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(),y0(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 IU({in:_,out:$,typeName:e.ZodPipeline})}}class t0 extends X_{_parse(_){let $=this._def.innerType._parse(_),U=(J)=>{if(V4(J))J.value=Object.freeze(J.value);return J};return BU($)?$.then((J)=>U(J)):U($)}unwrap(){return this._def.innerType}}t0.create=(_,$)=>{return new t0({innerType:_,typeName:e.ZodReadonly,...j_($)})};function WQ(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function gQ(_,$={},U){if(_)return I4.create().superRefine((J,D)=>{let j=_(J);if(j instanceof Promise)return j.then((W)=>{if(!W){let G=WQ($,J),X=G.fatal??U??!0;D.addIssue({code:"custom",...G,fatal:X})}});if(!j){let W=WQ($,J),G=W.fatal??U??!0;D.addIssue({code:"custom",...W,fatal:G})}return});return I4.create()}var DH={object:v_.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 JH=(_,$={message:`Input not instance of ${_.name}`})=>gQ((U)=>U instanceof _,$),EQ=T$.create,RQ=c6.create,jH=KU.create,WH=i6.create,BQ=r0.create,GH=K4.create,XH=HU.create,NH=u0.create,OH=n0.create,YH=I4.create,zH=d6.create,QH=$6.create,qH=AU.create,LH=C$.create,gH=v_.create,EH=v_.strictCreate,RH=m0.create,BH=PD.create,HH=d0.create,AH=U6.create,bH=bU.create,VH=VU.create,KH=F4.create,IH=h0.create,FH=c0.create,MH=i0.create,PH=l6.create,kH=l0.create,wH=M4.create,GQ=K$.create,SH=Z$.create,fH=B6.create,TH=K$.createWithPreprocess,CH=IU.create,ZH=()=>EQ().optional(),vH=()=>RQ().optional(),yH=()=>BQ().optional(),hH={string:(_)=>T$.create({..._,coerce:!0}),number:(_)=>c6.create({..._,coerce:!0}),boolean:(_)=>r0.create({..._,coerce:!0}),bigint:(_)=>i6.create({..._,coerce:!0}),date:(_)=>K4.create({..._,coerce:!0})},xH=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"},HQ=O.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),g$=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://"),AQ=O.string().regex(/^[a-fA-F0-9]{64}$/),bQ=O.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),A6=O.record(O.unknown()),s0=O.array(O.string().min(1)).default([]),P4=g$.nullable().optional(),rH=new Set(["succeeded","failed","cancelled","blocked","skipped"]),w4=O.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function A_(_){return O.object({schema:O.literal(_),id:O.string().min(1),createdAt:g$,updatedAt:P4,metadata:A6.optional()}).strict()}var Xh=O.object({schema:HQ,id:O.string().min(1),createdAt:g$,updatedAt:P4,metadata:A6.optional()}).strict(),VQ=O.enum(["agent","human","service","model","workflow","system"]),uH=A_(c.actorRef).extend({kind:VQ,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(),D6=O.object({kind:VQ,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(),KQ=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"]),nH=A_(c.resourceRef).extend({kind:KQ,name:O.string().min(1).optional(),uri:H6.optional(),externalId:$_.optional(),sourcePackage:$_.optional(),tags:s0}).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:KQ,id:O.string().min(1),name:O.string().min(1).optional(),uri:H6.optional(),externalId:$_.optional(),sourcePackage:$_.optional(),tags:s0}).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"]})}),fG=O.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),mH=O.enum(["none","partial","full","unknown"]),dH=A_(c.evidenceRef).extend({kind:fG,uri:H6,sha256:AQ.optional(),summary:O.string().min(1).optional(),contentType:O.string().min(1).optional(),sizeBytes:O.number().int().nonnegative().optional(),redaction:mH.default("unknown"),producer:D6.optional(),resourceRefs:O.array(G_).default([]),tags:s0}).strict(),k_=O.object({id:O.string().min(1),kind:fG.optional(),uri:H6.optional(),sha256:AQ.optional(),summary:O.string().min(1).optional()}).strict(),FU=A_(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"]})}),cH=O.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),IQ=A_(c.decisionEnvelope).extend({decisionType:O.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:cH,actor:D6.optional(),traceId:O.string().min(1).optional(),inputHash:bQ.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:FU.optional(),evidenceRefs:O.array(k_).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"]})}),iH=A_(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:FU.optional(),evidenceRefs:O.array(k_).default([])}).strict(),a0=O.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),lH=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"]),oH=O.object({refName:$_,requiredForModes:O.array(a0).min(1),allowedSecretInputs:O.array(O.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:$_,revocationCheck:O.boolean().default(!0)}).strict(),pH=O.object({operation:$_,supportedModes:O.array(a0).min(1),sideEffectClass:lH,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"]})}}),tH=O.object({providerId:$_,appId:$_,adapterId:$_,ownerPackage:$_,modes:O.array(a0).min(1),defaultMode:a0,credentialRequirements:O.array(oH).default([]),operations:O.array(pH).min(1),rateLimitPosture:$_,costPosture:$_.optional(),auditEvents:O.array($_).default([]),redactionRules:O.array($_).default([]),evidenceRefs:O.array(k_).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"]})}}),aH=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(),eH=A_(c.providerLiveModeStandard).extend({name:$_,version:$_,modes:O.array(a0).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(a0).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(tH).min(1),firstAdoptionTargets:O.array(aH).min(1),evidenceRefs:O.array(k_).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"]})}),sH=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:k_,resourceRefs:O.array(G_).default([])}).strict(),FQ=A_(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(sH).default([]),citations:O.array(k_).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(),f$=$_.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"),_A=O.enum(["public","internal","private","sensitive"]),$A=O.enum(["draft","active","paused","archived"]),TG=O.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),MQ=A_(c.integrationRef).extend({kind:TG,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(k_).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"]})}),UA=O.object({schemaRoot:f$.default(".hasna/project"),dashboardManifest:f$.default(".hasna/project/dashboard.render.json"),snapshotsDir:f$.default(".hasna/project/snapshots"),documentsDir:f$.default("documents"),reportsDir:f$.default("reports"),evidenceDir:f$.default(".hasna/project/evidence"),privateDir:f$.default(".hasna/project/private")}).strict(),DA=A_(c.projectManifest).extend({projectId:k4,slug:k4,name:O.string().min(1),summary:O.string().min(1).optional(),status:$A.default("active"),classification:_A.default("private"),owner:D6.optional(),layout:UA.default({}),integrations:O.array(MQ).default([]),renderManifests:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(k_).default([]),tags:s0}).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)}}),JA=O.enum(["local","package","provider","url"]),CG=O.object({id:O.string().min(1),kind:JA,specifier:O.string().min(1),path:f$.optional(),packageName:O.string().min(1).optional(),uri:H6.optional(),provider:TG.optional(),schemaId:HQ.optional(),integrity:bQ.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"]})}),jA=O.enum(["dashboard","canvas","panel","report","document","custom"]),WA=O.object({id:O.string().min(1),title:O.string().min(1),kind:jA,default:O.boolean().default(!1),entry:f$.optional(),imports:O.array(CG).default([]),panelRefs:O.array(G_).default([]),dataRefs:O.array(G_).default([]),layout:A6.optional()}).strict(),GA=A_(c.renderManifest).extend({projectId:k4,name:O.string().min(1),version:O.string().min(1),manifestPath:f$.default(".hasna/project/dashboard.render.json"),renderer:O.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:O.array(WA).min(1),imports:O.array(CG).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(k_).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"]})}}),XA=O.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),NA=O.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),OA=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(),YA=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:g$.optional(),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(k_).default([]),metadata:A6.optional()}).strict(),zA=O.object({renderer:O.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:O.string().min(1).optional(),entry:f$.optional(),imports:O.array(CG).default([]),spec:A6.default({})}).strict(),PQ=A_(c.projectPanel).extend({projectId:k4,provider:O.object({kind:TG,id:O.string().min(1),name:O.string().min(1).optional(),sourcePackage:$_.optional(),externalId:$_.optional()}).strict(),kind:NA,title:O.string().min(1),summary:O.string().min(1).optional(),state:XA.default("ready"),stateReason:O.string().min(1).optional(),generatedAt:g$,freshness:O.enum(["fresh","stale","unknown"]).default("unknown"),metrics:O.array(OA).default([]),items:O.array(YA).default([]),actions:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(k_).default([]),renderFragment:zA.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"]})}),QA=A_(c.projectSnapshot).extend({projectId:k4,generatedAt:g$,status:w4.default("unknown"),manifestRef:G_,renderManifestRef:G_.optional(),panels:O.array(PQ).default([]),contextPacks:O.array(FQ).default([]),proofBundleRefs:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(k_).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)}}),kQ=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"]})}),qA=A_(c.validationPlan).extend({objective:O.string().min(1),subject:G_.optional(),checks:O.array(kQ).min(1),verifier:D6.optional(),requiredEvidenceKinds:O.array(fG).default([])}).strict(),LA=O.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),gA=O.enum(["draft","active","deprecated","archived"]),EA=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"]),RA=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"]})}),BA=O.object({name:O.string().min(1),command:O.string().min(1),description:O.string().min(1).optional(),required:O.boolean().default(!1)}).strict(),HA=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(),AA=A_(c.scaffoldManifest).extend({name:O.string().min(1),version:O.string().min(1),summary:O.string().min(1),type:LA,status:gA.default("draft"),capabilities:O.array(EA).default([]),techStack:O.array(O.string().min(1)).default([]),tags:s0,source:G_.optional(),output:HA,env:O.array(RA).default([]),scripts:O.array(BA).default([]),validationChecks:O.array(kQ).default([]),evidenceRefs:O.array(k_).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"]})}),bA=O.enum(["installed","failed","cancelled","partial","unknown"]),VA=A_(c.scaffoldInstallRecord).extend({scaffoldId:O.string().min(1),scaffoldVersion:O.string().min(1).optional(),manifestRef:G_.optional(),target:G_,status:bA,installedAt:g$.optional(),installer:D6.optional(),packageManager:O.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:A6.optional(),generatedFiles:O.array(G_).default([]),evidenceRefs:O.array(k_).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"]})}),e0=O.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),ZG=O.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),wQ=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"),KA=O.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),IA=$_.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"]),MA=O.enum(["stable","beta","canary","internal"]),PA=O.object({transport:O.enum(["http","stdio"]).default("http"),bin:O.string().min(1).optional(),url:H6.optional()}).strict(),kA=O.object({healthPath:O.string().min(1).default("/health"),port:O.number().int().positive().optional(),baseUrl:H6.optional()}).strict(),wA=O.object({bins:O.array(O.string().min(1)).default([]),mcp:PA.optional(),http:kA.optional()}).strict(),SA=A_(c.app).extend({appId:e0,npmName:ZG,repoFolder:e0,githubUrl:IA,projectSlug:k4,surfaces:wA.default({}),lifecycle:FA,releaseChannel:MA.default("stable"),summary:O.string().min(1).optional(),tags:s0}).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)}}),fA=O.enum(["skill","ci","backfilled"]),TA=A_(c.release).extend({appId:e0,package:ZG,version:wQ,gitSha:KA,publishedAt:g$,publishPath:fA,changelogRef:G_.optional(),evidenceRefs:O.array(k_).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"]})}),CA=O.enum(["install","update","rollback","freeze-blocked"]),ZA=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"})}),vA=A_(c.rolloutRecord).extend({appId:e0,package:ZG,version:wQ,machine:$_,action:CA,result:w4,verifiedBy:ZA.optional(),at:g$,evidenceRefs:O.array(k_).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"]})}),yA=O.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),hA=O.enum(["pending","queued","sent","failed","skipped","suppressed"]),xA=O.object({channel:yA,status:hA,deliveredAt:g$.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"]})}),rA=A_(c.announcement).extend({campaignId:$_,appId:e0.optional(),releaseRef:G_.optional(),channels:O.array(xA).min(1),audienceRef:G_,sentAt:g$}).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"]})}),uA=O.enum(["tag","attribute","group"]),nA=O.enum(["eq","neq","in","not_in","exists","not_exists"]),XQ=O.union([O.string(),O.number(),O.boolean()]),mA=O.object({kind:uA,key:O.string().min(1).optional(),op:nA.default("eq"),value:XQ.optional(),values:O.array(XQ).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"]})}),dA=O.object({match:O.enum(["all","any"]).default("all"),predicates:O.array(mA).min(1)}).strict(),cA=O.enum(["opt_in","opt_out","transactional","none"]),iA=A_(c.audience).extend({audienceId:e0,name:$_,definition:dA,consentPolicy:cA,suppressionSyncedAt:P4}).strict(),KG=["@hasna/cloud","open-cloud"],lA=O.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),oA=O.object({id:O.string().min(1),provider:lA,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(),SQ=A_(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(oA).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([...KG]),dependencies:O.array(O.string().min(1)).default([]),evidenceRefs:O.array(k_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...KG,..._.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 KG)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"]})})}),fQ=O.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),pA=O.enum(["low","medium","high","critical"]),TQ=O.object({id:O.string().min(1),kind:fQ,severity:pA,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(k_).default([])}).strict(),tA=O.object({id:O.string().min(1),kind:fQ,status:w4,target:O.string().min(1),command:O.string().min(1).optional(),evidenceRefs:O.array(k_).default([]),findings:O.array(TQ).default([])}).strict(),aA=A_(c.noCloudEvidencePack).extend({subject:G_,packageName:O.string().min(1).optional(),packageVersion:O.string().min(1).optional(),generatedBy:D6.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:SQ.optional(),checks:O.array(tA).min(1),findings:O.array(TQ).default([]),evidenceRefs:O.array(k_).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"]})})}),eA=O.object({checkId:O.string().min(1),status:w4,summary:O.string().min(1).optional(),startedAt:P4,finishedAt:P4,evidenceRefs:O.array(k_).default([])}).strict(),sA=A_(c.proofBundle).extend({subject:G_,validationPlanRef:G_.optional(),status:w4,verdict:O.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:O.array(eA).default([]),verifier:D6.optional(),evidenceRefs:O.array(k_).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"]})}),_b=A_(c.workRun).extend({objective:O.string().min(1),status:w4,actor:D6,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(IQ).default([]),costEstimates:O.array(FU).default([]),evidenceRefs:O.array(k_).default([]),validationPlanRefs:O.array(G_).default([]),proofBundleRefs:O.array(G_).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)<Date.parse(_.startedAt))$.addIssue({code:O.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(rH.has(_.status)&&!_.finishedAt)$.addIssue({code:O.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=_.evidenceRefs.length>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"]})}),$b=O.object({id:O.string().min(1),at:g$,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(k_).default([]),costEstimate:FU.optional()}).strict(),Ub=A_(c.agentTrajectory).extend({actor:D6,workRunRef:G_.optional(),events:O.array($b).default([]),outcome:O.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:G_.optional()}).strict(),Db="v1",Jb=O.enum(["library","cli-with-store","service","saas"]),jb=["local","self-hosted","cloud"],CQ=O.enum(jb),Wb=O.enum(["supported","deferred","unsupported"]),Gb=O.enum(["none","local-only","api-key","session","service-token","custom"]),IG=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(),Xb=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:k_.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"]})}),Nb=O.object({name:O.string().min(1),status:Wb,bin:O.string().min(1).optional(),mcpBin:O.string().min(1).optional(),authMode:Gb,deploymentModes:O.array(CQ).min(1),health:IG.optional(),readiness:IG.optional(),version:IG.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(Xb).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"]})}),Ob=["local","cloud"],ZQ=O.enum(Ob),Yb=["remote","hybrid","self_hosted"],zb=O.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Qb=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function qb(_){return Qb.map(($)=>`${_}${$}`)}function NQ(_){return`hasna/oss/${_}/database-url`}var Lb=O.object({mode:ZQ,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(),gb=O.object({$schema:O.string().min(1).optional(),schema:O.literal(c.serviceContract),name:zb,class:Jb,contractVersion:O.literal(Db),kitVersion:O.string().min(1),description:O.string().min(1).optional(),bins:O.array(O.string().min(1)).default([]),storage:Lb.optional(),deploymentModes:O.array(CQ).default(["local"]),serviceSurfaces:O.array(Nb).default([]),metadata:A6.optional()}).strict().superRefine((_,$)=>{let U=new Set(qb(_.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!==NQ(_.name))$.addIssue({code:O.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${NQ(_.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/<name>/<name>.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]})}}),Nh=O.object({status:O.enum(["ok","degraded","unavailable"]),version:O.string().min(1),mode:ZQ}).strict(),Oh=O.object({ready:O.boolean(),reason:O.string().min(1).optional()}).strict(),Yh=O.object({version:O.string().min(1)}).strict(),Eb=O.enum(["info","notice","breaking","critical"]),Rb=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 (<source>.<entity>.<action>)"),Bb=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],Hb=O.enum(Bb);var Ab=O.enum(["fleet","package","machine"]),vQ=A_(c.commsEventEnvelope).extend({type:Rb,severity:Eb,scope:Ab,summary:O.string().min(1).optional(),source:D6.optional(),affected_packages:O.array($_).default([]),affected_machines:O.array($_).default([]),action_required:O.boolean().default(!1),ack_by:g$.optional(),dedupe_key:$_,resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(k_).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"]})}}),bb=O.enum(["fleet","package","product","loop-lane","initiative","personal"]),Vb=O.enum(["quiet","work","firehose"]),Kb=$_.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>)"),Ib=A_(c.commsChannelMetadata).extend({class:bb,noise:Vb.optional(),owner:$_.optional(),until:Kb.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"]})}}),OQ={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}},Fb=A_(c.commsMessageMetadata).extend({tag:Hb,envelope:vQ}).strict().superRefine((_,$)=>{let U=OQ[_.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(OQ))if(D.requiredEventType===_.envelope.type&&_.tag!==J)$.addIssue({code:O.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${J}] tag`,path:["tag"]})});var zh={[c.actorRef]:uH,[c.resourceRef]:nH,[c.evidenceRef]:dH,[c.workRun]:_b,[c.decisionEnvelope]:IQ,[c.costEstimate]:FU,[c.capabilityCard]:iH,[c.providerLiveModeStandard]:eH,[c.contextPack]:FQ,[c.integrationRef]:MQ,[c.projectManifest]:DA,[c.projectPanel]:PQ,[c.projectSnapshot]:QA,[c.renderManifest]:GA,[c.agentTrajectory]:Ub,[c.validationPlan]:qA,[c.proofBundle]:sA,[c.scaffoldManifest]:AA,[c.scaffoldInstallRecord]:VA,[c.appCloudManifest]:SQ,[c.noCloudEvidencePack]:aA,[c.serviceContract]:gb,[c.commsEventEnvelope]:vQ,[c.commsChannelMetadata]:Ib,[c.commsMessageMetadata]:Fb,[c.app]:SA,[c.release]:TA,[c.rolloutRecord]:vA,[c.announcement]:rA,[c.audience]:iA};function Mb(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="local")return{mode:"local",deprecatedAlias:null};if($==="cloud")return{mode:"cloud",deprecatedAlias:null};if(Yb.includes($))return{mode:"cloud",deprecatedAlias:$};throw Error(`Unknown storage mode: ${_}. Use local or cloud.`)}function Pb(_){return _.toUpperCase().replace(/-/g,"_")}function kb(_){return`https://${_}.hasna.xyz`}function yQ(_){let $=Pb(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function KD(_,$){for(let U of $){let J=_[U]?.trim();if(J)return{key:U,value:J}}return null}function wb(_){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 Sb(_,$=process.env){let U=yQ(_),J=KD($,U.modeKeys),D=KD($,U.apiUrlKeys),j=KD($,U.apiKeyKeys),W="local",G=null,X="default",N=[];if(J){let Q=Mb(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??kb(_),L=D?D.key:"default",E;try{E=wb(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 MD 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 fb=[408,425,429,500,502,503,504],Tb=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]);function Cb(_,$){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 Zb=(_)=>new Promise(($)=>setTimeout($,_));function vb(_){let $=_.fetchImpl??((N,z)=>fetch(N,z)),U=_.baseUrl.replace(/\/+$/,""),J=_.timeoutMs??30000,D=_.sleepImpl??Zb,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??[...fb]}}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 R=new AbortController,H=()=>R.abort();if(Q.signal)if(Q.signal.aborted)R.abort();else Q.signal.addEventListener("abort",H,{once:!0});let B=setTimeout(()=>R.abort(),Q.timeoutMs??J);g.signal=R.signal;let K;try{K=await $(L,g)}catch(C){let f=C instanceof Error?C:Error(String(C));if(Q.signal?.aborted)return{ok:!1,retryable:!1,error:f};return{ok:!1,retryable:!0,error:f}}finally{if(clearTimeout(B),Q.signal)Q.signal.removeEventListener("abort",H)}let b=await K.text(),I=void 0;if(b.length>0)try{I=JSON.parse(b)}catch{I=b}if(!K.ok){let C=W(Q.retry);return{ok:!1,retryable:C?C.retryStatuses.includes(K.status):!1,error:new MD(N,z,K.status,I)}}return{ok:!0,value:I}}async function X(N,z,L,E={}){let Q=N.toUpperCase(),q=Cb(z.startsWith("/")?z:`/${z}`,E.query),g=`${U}${q}`,R=W(E.retry),H=Tb.has(Q)||Boolean(E.idempotencyKey),B=R&&H?R.retries+1:1,K=null;for(let b=1;b<=B;b++){let I=await G(Q,q,g,L,E);if(I.ok)return I.value;if(K=I,!(R!==null&&H&&I.retryable&&b<B))break;let f=Math.min(R.maxDelayMs,R.baseDelayMs*2**(b-1)),m=Math.floor(Math.random()*(f/2+1));await D(f+m)}throw K.error}return{baseUrl:U,request:X,get:(N,z)=>X("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 yb(_,$=process.env,U){let J=Sb(_,$);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=yQ(_),j=KD($,D.apiKeyKeys)?.value;if(!j)throw Error(`Client for '${_}' resolved to cloud-http without an API key.`);return{transport:"cloud-http",client:vb({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 SG(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function FG(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${SG(_)}/${encodeURIComponent(String($))}`}function hb(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function xb(_){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 rb(_){if(_&&typeof _==="object"){let $=_;for(let U of["total","count","totalCount","total_count"])if(typeof $[U]==="number")return $[U]}return null}function ub(_){if(_&&typeof _==="object"){let $=_;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof $[U]==="string")return $[U]}return null}function nb(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(U,J={}){let D=await $.get(SG(U),J);return{items:xb(D),total:rb(D),cursor:ub(D),raw:D}},async get(U,J,D={}){try{return await $.get(FG(U,J),D)}catch(j){if(j instanceof MD&&j.status===404)return null;throw j}},async create(U,J,D={}){let{idempotencyKey:j,...W}=D;return $.post(SG(U),J,{...W,idempotencyKey:j??hb()})},async update(U,J,D,j={}){let{method:W="PATCH",idempotencyKey:G,...X}=j;return(W==="PUT"?$.put:$.patch)(FG(U,J),D,{...X,...G?{idempotencyKey:G}:{}})},async delete(U,J,D={}){try{await $.del(FG(U,J),void 0,D)}catch(j){if(j instanceof MD&&j.status===404)return;throw j}}}}function vG(_,$=process.env,U){let J=yb(_,$,U);if(J.transport==="cloud-http")return{transport:"cloud-http",client:nb(_,J.client)};return{transport:"local",client:null}}var hQ="knowledge",mb=["HASNA_KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_MODE","KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_MODE"],db=["HASNA_KNOWLEDGE_API_URL","KNOWLEDGE_API_URL"],cb=["HASNA_KNOWLEDGE_API_KEY","KNOWLEDGE_API_KEY"];function yG(_,$){return $.some((U)=>(_[U]??"").trim().length>0)}function xQ(_){if(yG(_,mb))return _;if(yG(_,db)&&yG(_,cb))return{..._,HASNA_KNOWLEDGE_STORAGE_MODE:"cloud"};return _}var _1="notes";function ib(_){let $={};if(_.search)$.search=_.search;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;if(_.includeArchived||_.archivedOnly)$.includeArchived=!0;return $}function lb(_){return{baseUrl:_.baseUrl,async list($={}){let U=$.limit??200,J=ib({...$,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(ob(J))return null;throw J}},async delete($){let U=await _.get(_1,$);if(!U)return!1;return await _.delete(_1,U.id),!0}}}function ob(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function MU(_=process.env){let $=vG(hQ,xQ(_));if($.transport!=="cloud-http")return null;return lb($.client)}function o6(_=process.env){return vG(hQ,xQ(_)).transport==="cloud-http"}async function wD(_){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 hG(_,$){return _.id===$||_.short_id===$}class rQ{storePath;kind="local";constructor(_){this.storePath=_}get location(){return this.storePath}get exists(){return pb(this.storePath)}async listAll(){let _=Z0(this.storePath);return{items:_.items,exists:_.exists}}async get(_){return Z0(this.storePath).items.find((U)=>hG(U,_))??null}async create(_){return _6(this.storePath,()=>{let $=RU(this.storePath),U=new Date().toISOString(),J=_.id??DQ(),D={id:J,short_id:JQ(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)=>hG(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)=>!hG(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 uQ{cloud;kind="api";exists=!0;constructor(_){this.cloud=_}get location(){return this.cloud.baseUrl}async listAll(){return{items:await wD(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 SD(_){let $=_.storePathOverridden?null:MU(_.env??process.env);if($)return new uQ($);return new rQ(_.storePath)}import{Database as nQ}from"bun:sqlite";function fD(_="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 tb="porter unicode61 remove_diacritics 2",mQ=` +`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((J)=>$.is(J)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function HR(_){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 Mz(){if(g_.env.NO_COLOR||g_.env.FORCE_COLOR==="0"||g_.env.FORCE_COLOR==="false")return!1;if(g_.env.FORCE_COLOR||g_.env.CLICOLOR_FORCE!==void 0)return!0;return}Rv.Command=Pz;Rv.useColor=Mz});var IR=b4((Vv)=>{var{Argument:bR}=eW(),{Command:kz}=AR(),{CommanderError:Av,InvalidArgumentError:VR}=LD(),{Help:bv}=Vz(),{Option:KR}=Kz();Vv.program=new kz;Vv.createCommand=(_)=>new kz(_);Vv.createOption=(_,$)=>new KR(_,$);Vv.createArgument=(_,$)=>new bR(_,$);Vv.Command=kz;Vv.Option=KR;Vv.Argument=bR;Vv.Help=bv;Vv.CommanderError=Av;Vv.InvalidArgumentError=VR;Vv.InvalidOptionArgumentError=VR});import{chmodSync as oz,closeSync as LU,existsSync as C0,fsyncSync as EG,lstatSync as RB,openSync as gG,readFileSync as qU,renameSync as pz,unlinkSync as RG,writeFileSync as BG}from"fs";import{randomUUID as EU}from"crypto";import{basename as BB,dirname as tz,join as qG}from"path";import{chmodSync as xz,existsSync as QB,mkdirSync as XG,readFileSync as LB,writeFileSync as rz}from"fs";import{homedir as NG}from"os";import{dirname as qB,join as t_,resolve as uz}from"path";var q6=t_(".hasna","knowledge"),nz=t_(".hasna","apps","knowledge"),A_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:q6,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 mz(){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 zU(){return t_(NG(),".open-knowledge","db.json")}function HD(){return t_(NG(),".hasna","knowledge")}function OG(_=process.cwd()){return uz(_,q6)}function EB(){return t_(NG(),nz)}function gB(_=process.cwd()){return uz(_,nz)}function YG(_,$=process.cwd()){if(_==="project"||_==="local")return q$(gB($));return q$(EB())}function q$(_){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 T0(_){let $=q$(_);XG($.home,{recursive:!0,mode:448});for(let U of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])XG(U,{recursive:!0,mode:448});if(!QB($.configPath))rz($.configPath,`${JSON.stringify(QU(),null,2)} +`,{mode:384}),xz($.configPath,384);return $}function AD(_,$=process.cwd()){if(_==="project"||_==="local")return q$(OG($));return q$(HD())}function m6(_){XG(qB(_),{recursive:!0})}function zG(_){let $=LB(_,"utf8");return JSON.parse($)}function dz(_,$){m6(_),rz(_,`${JSON.stringify($,null,2)} +`,{mode:384}),xz(_,384)}function VD(){return q$(HD()).jsonStorePath}function gU(_){if(_===VD()&&C0(zU()))AG();if(!C0(_))m6(_),sz(_,`${JSON.stringify({items:[]},null,2)} +`)}function HB(_){return _.toISOString().replace(/[:.]/g,"-")}function HG(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function AB(_){let $=new Set;for(let U of _)for(let J of HG(U))$.add(J);return $}function bB(_,$){return HG($).some((U)=>_.has(U))}function QG(_,$){m6(_),BG(_,`${JSON.stringify($,null,2)} +`,{mode:384}),oz(_,384)}function cz(_){let $=JSON.parse(qU(_,"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 AG(_={}){if(_.dryRun===!0)return iz(_);return $6(VD(),()=>iz(_),{createParent:!0})}function iz(_={}){let $=_.dryRun===!0,U=_.now??new Date,J=q$(HD()),D=zU(),j=J.jsonStorePath,W=C0(D),G=C0(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 L=cz(D);N=L.store,X.skipped_invalid=L.skippedInvalid}catch(L){return X.ok=!1,X.errors.push(`Could not read legacy store: ${L instanceof Error?L.message:String(L)}`),X.message="Legacy global store import failed",X}let z={items:[]};if(G)try{z=cz(j).store}catch(L){return X.ok=!1,X.errors.push(`Could not read canonical store: ${L instanceof Error?L.message:String(L)}`),X.message="Legacy global store import failed",X}let q=AB(z.items),g={items:[...z.items]};for(let L of N.items){if(!L?.id){X.skipped_invalid+=1;continue}if(bB(q,L)){X.skipped_existing+=1;continue}g.items.push(L);for(let E of HG(L))q.add(E);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=`${HB(U)}-${EU().slice(0,8)}`;if(G)X.backup_path=qG(J.exportsDir,`legacy-open-knowledge-db-before-import-${Q}.json`),QG(X.backup_path,z);return QG(j,g),X.report_path=qG(J.runsDir,`legacy-open-knowledge-import-${Q}.json`),QG(X.report_path,X),X}function Z0(_){if(!C0(_))return{exists:!1,items:[]};let $=qU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function VB(_){return`${_}.lock`}var bD=1e4,az=25,lz=120000,KB=new Int32Array(new SharedArrayBuffer(4));function bG(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function ez(_){let $=null;try{$=gG(tz(_),"r"),EG($)}catch{}finally{if($!==null)try{LU($)}catch{}}}var LG=new Set;function sz(_,$){m6(_);let U=qG(tz(_),`.${BB(_)}.tmp.${EU()}`),J=null;try{J=gG(U,"wx",384),BG(J,$),EG(J),LU(J),J=null,pz(U,_);try{oz(_,384)}catch{}ez(_)}catch(D){if(J!==null)try{LU(J)}catch{}try{RG(U)}catch{}throw D}}function _Q(_){Atomics.wait(KB,0,0,_)}function IB(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return bG($)!=="ESRCH"}}function $Q(_,$){try{let U=qU(_,"utf8"),J=JSON.parse(U);if(typeof J.ts==="number")return $-J.ts>lz&&!IB(J.pid)}catch{}try{return $-RB(_).mtimeMs>lz}catch{return!1}}function FB(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${_}.stale.${$}.${EU()}`;try{pz(_,U)}catch(J){if(bG(J)!=="ENOENT")throw J;return}}function MB(_){let $=EU(),U=`${_}.breaker`,J=Date.now();while(Date.now()-J<bD){if(UQ(U,$)){try{if($Q(_,Date.now()))FB(_)}finally{DQ(U,$)}return}_Q(az)}throw Error(`Could not acquire stale-lock breaker on ${U} after ${bD}ms`)}function UQ(_,$){let U=null,J=!1;try{return U=gG(_,"wx",384),J=!0,BG(U,`${JSON.stringify({owner:$,pid:process.pid,ts:Date.now()})} +`),EG(U),LU(U),U=null,ez(_),!0}catch(D){if(U!==null)try{LU(U)}catch{}if(J)try{RG(_)}catch{}if(bG(D)==="EEXIST")return!1;throw D}}function PB(_,$){let U=Date.now();while(Date.now()-U<bD){if(UQ(_,$))return;if($Q(_,Date.now()))MB(_);_Q(az)}throw Error(`Could not acquire lock on ${_} after ${bD}ms`)}function DQ(_,$){try{if(C0(_)){if(JSON.parse(qU(_,"utf8")).owner===$)RG(_)}}catch{}}function RU(_){gU(_);let $=qU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{items:[]};return U}function E6(_,$){sz(_,`${JSON.stringify($,null,2)} +`)}function $6(_,$,U={}){let J=EU(),D=VB(_);if(LG.has(D))return $();if(U.createParent)m6(D);PB(D,J),LG.add(D);try{return $()}finally{LG.delete(D),DQ(D,J)}}function JQ(){return`k_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function jQ(_){return _.replace(/^k_/,"").slice(0,12)}import{existsSync as ab}from"fs";var kB=Object.defineProperty,SB=(_)=>_;function wB(_,$){this[_]=SB.bind(null,$)}var fB=(_,$)=>{for(var U in $)kB(_,U,{get:$[U],enumerable:!0,configurable:!0,set:wB.bind($,U)})},O={};fB(O,{void:()=>EH,util:()=>Q_,unknown:()=>LH,union:()=>HH,undefined:()=>YH,tuple:()=>VH,transformer:()=>XQ,symbol:()=>OH,string:()=>RQ,strictObject:()=>BH,setErrorMap:()=>ZB,set:()=>FH,record:()=>KH,quotelessJson:()=>TB,promise:()=>fH,preprocess:()=>ZH,pipeline:()=>vH,ostring:()=>yH,optional:()=>TH,onumber:()=>hH,oboolean:()=>xH,objectUtil:()=>MG,object:()=>RH,number:()=>BQ,nullable:()=>CH,null:()=>zH,never:()=>qH,nativeEnum:()=>wH,nan:()=>GH,map:()=>IH,makeIssue:()=>FD,literal:()=>kH,lazy:()=>PH,late:()=>jH,isValid:()=>V4,isDirty:()=>kG,isAsync:()=>BU,isAborted:()=>PG,intersection:()=>bH,instanceof:()=>WH,getParsedType:()=>R6,getErrorMap:()=>ID,function:()=>MH,enum:()=>SH,effect:()=>XQ,discriminatedUnion:()=>AH,defaultErrorMap:()=>x0,datetimeRegex:()=>qQ,date:()=>NH,custom:()=>gQ,coerce:()=>rH,boolean:()=>HQ,bigint:()=>XH,array:()=>gH,any:()=>QH,addIssueToContext:()=>v,ZodVoid:()=>AU,ZodUnknown:()=>d6,ZodUnion:()=>m0,ZodUndefined:()=>u0,ZodType:()=>X_,ZodTuple:()=>D6,ZodTransformer:()=>I$,ZodSymbol:()=>HU,ZodString:()=>C$,ZodSet:()=>F4,ZodSchema:()=>X_,ZodRecord:()=>bU,ZodReadonly:()=>t0,ZodPromise:()=>M4,ZodPipeline:()=>IU,ZodParsedType:()=>r,ZodOptional:()=>v$,ZodObject:()=>y_,ZodNumber:()=>c6,ZodNullable:()=>B6,ZodNull:()=>n0,ZodNever:()=>U6,ZodNativeEnum:()=>l0,ZodNaN:()=>KU,ZodMap:()=>VU,ZodLiteral:()=>i0,ZodLazy:()=>c0,ZodIssueCode:()=>S,ZodIntersection:()=>d0,ZodFunction:()=>h0,ZodFirstPartyTypeKind:()=>e,ZodError:()=>E$,ZodEnum:()=>l6,ZodEffects:()=>I$,ZodDiscriminatedUnion:()=>PD,ZodDefault:()=>o0,ZodDate:()=>K4,ZodCatch:()=>p0,ZodBranded:()=>kD,ZodBoolean:()=>r0,ZodBigInt:()=>i6,ZodArray:()=>Z$,ZodAny:()=>I4,Schema:()=>X_,ParseStatus:()=>a_,OK:()=>j$,NEVER:()=>uH,INVALID:()=>t,EMPTY_PATH:()=>vB,DIRTY:()=>y0,BRAND:()=>JH});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 MG;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(MG||(MG={}));var r=Q_.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 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}},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"]),TB=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class E$ 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<j.path.length){let X=j.path[G];if(G!==j.path.length-1)W[X]=W[X]||{_errors:[]};else W[X]=W[X]||{_errors:[]},W[X]._errors.push($(j));W=W[X],G++}}};return J(this),U}static assert(_){if(!(_ instanceof E$))throw Error(`Not a ZodError: ${_}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Q_.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(_=($)=>$.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()}}E$.create=(_)=>{return new E$(_)};var CB=(_,$)=>{let U;switch(_.code){case S.invalid_type:if(_.received===r.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}},x0=CB,zQ=x0;function ZB(_){zQ=_}function ID(){return zQ}var FD=(_)=>{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}},vB=[];function v(_,$){let U=ID(),J=FD({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===x0?void 0:x0].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"}),y0=(_)=>({status:"dirty",value:_}),j$=(_)=>({status:"valid",value:_}),PG=(_)=>_.status==="aborted",kG=(_)=>_.status==="dirty",V4=(_)=>_.status==="valid",BU=(_)=>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 WQ=(_,$)=>{if(V4($))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 E$(_.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 R6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:R6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new a_,ctx:{common:_.parent.common,data:_.data,parsedType:R6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(BU($))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(_)},J=this._parseSync({data:_,path:U.path,parent:U});return WQ(U,J)}"~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 V4(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)=>V4(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(_)},J=this._parse({data:_,path:U.path,parent:U}),D=await(BU(J)?J:Promise.resolve(J));return WQ(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 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 B6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Z$.create(this)}promise(){return M4.create(this,this._def)}or(_){return m0.create([this,_],this._def)}and(_){return d0.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 o0({...j_(this._def),innerType:this,defaultValue:$,typeName:e.ZodDefault})}brand(){return new kD({typeName:e.ZodBranded,type:this,...j_(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new p0({...j_(this._def),innerType:this,catchValue:$,typeName:e.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return IU.create(this,_)}readonly(){return t0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var yB=/^c[^\s-]{8,}$/i,hB=/^[0-9a-z]+$/,xB=/^[0-9A-HJKMNP-TV-Z]{26}$/i,rB=/^[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,uB=/^[a-z0-9_-]{21}$/i,nB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mB=/^[-+]?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)?)??$/,dB=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,cB="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",VG,iB=/^(?:(?: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])$/,lB=/^(?:(?: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])$/,oB=/^(([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]))$/,pB=/^(([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])$/,tB=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,aB=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,QQ="((\\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])))",eB=new RegExp(`^${QQ}$`);function LQ(_){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 sB(_){return new RegExp(`^${LQ(_)}$`)}function qQ(_){let $=`${QQ}T${LQ(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function _H(_,$){if(($==="v4"||!$)&&iB.test(_))return!0;if(($==="v6"||!$)&&oB.test(_))return!0;return!1}function $H(_,$){if(!nB.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 UH(_,$){if(($==="v4"||!$)&&lB.test(_))return!0;if(($==="v6"||!$)&&pB.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:S.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.length<D.value)J=this._getOrReturnCtx(_,J),v(J,{code:S.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="max"){if(_.data.length>D.value)J=this._getOrReturnCtx(_,J),v(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<D.value;if(j||W){if(J=this._getOrReturnCtx(_,J),j)v(J,{code:S.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});else if(W)v(J,{code:S.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});U.dirty()}}else if(D.kind==="email"){if(!dB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"email",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="emoji"){if(!VG)VG=new RegExp(cB,"u");if(!VG.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"emoji",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="uuid"){if(!rB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"uuid",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="nanoid"){if(!uB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"nanoid",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid"){if(!yB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"cuid",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid2"){if(!hB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"cuid2",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ulid"){if(!xB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"ulid",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="url")try{new URL(_.data)}catch{J=this._getOrReturnCtx(_,J),v(J,{validation:"url",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="regex"){if(D.regex.lastIndex=0,!D.regex.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"regex",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="trim")_.data=_.data.trim();else if(D.kind==="includes"){if(!_.data.includes(D.value,D.position))J=this._getOrReturnCtx(_,J),v(J,{code:S.invalid_string,validation:{includes:D.value,position:D.position},message:D.message}),U.dirty()}else if(D.kind==="toLowerCase")_.data=_.data.toLowerCase();else if(D.kind==="toUpperCase")_.data=_.data.toUpperCase();else if(D.kind==="startsWith"){if(!_.data.startsWith(D.value))J=this._getOrReturnCtx(_,J),v(J,{code:S.invalid_string,validation:{startsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="endsWith"){if(!_.data.endsWith(D.value))J=this._getOrReturnCtx(_,J),v(J,{code:S.invalid_string,validation:{endsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="datetime"){if(!qQ(D).test(_.data))J=this._getOrReturnCtx(_,J),v(J,{code:S.invalid_string,validation:"datetime",message:D.message}),U.dirty()}else if(D.kind==="date"){if(!eB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{code:S.invalid_string,validation:"date",message:D.message}),U.dirty()}else if(D.kind==="time"){if(!sB(D).test(_.data))J=this._getOrReturnCtx(_,J),v(J,{code:S.invalid_string,validation:"time",message:D.message}),U.dirty()}else if(D.kind==="duration"){if(!mB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"duration",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ip"){if(!_H(_.data,D.version))J=this._getOrReturnCtx(_,J),v(J,{validation:"ip",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="jwt"){if(!$H(_.data,D.alg))J=this._getOrReturnCtx(_,J),v(J,{validation:"jwt",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cidr"){if(!UH(_.data,D.version))J=this._getOrReturnCtx(_,J),v(J,{validation:"cidr",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64"){if(!tB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"base64",code:S.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64url"){if(!aB.test(_.data))J=this._getOrReturnCtx(_,J),v(J,{validation:"base64url",code:S.invalid_string,message:D.message}),U.dirty()}else Q_.assertNever(D);return{status:U.value,value:_.data}}_regex(_,$,U){return this.refinement((J)=>_.test(J),{validation:$,code:S.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 DH(_,$){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:S.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:S.invalid_type,expected:"integer",received:"float",message:D.message}),J.dirty()}else if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),v(U,{code:S.too_small,minimum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),v(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(DH(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),v(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),v(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,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?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),v(U,{code:S.too_small,type:"bigint",minimum:D.value,inclusive:D.inclusive,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),v(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),v(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 v($,{code:S.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 r0 extends X_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==r.boolean){let U=this._getOrReturnCtx(_);return v(U,{code:S.invalid_type,expected:r.boolean,received:U.parsedType}),t}return j$(_.data)}}r0.create=(_)=>{return new r0({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:S.invalid_type,expected:r.date,received:D.parsedType}),t}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return v(D,{code:S.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:S.too_small,message:D.message,inclusive:!0,exact:!1,minimum:D.value,type:"date"}),U.dirty()}else if(D.kind==="max"){if(_.data.getTime()>D.value)J=this._getOrReturnCtx(_,J),v(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 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 HU extends X_{_parse(_){if(this._getType(_)!==r.symbol){let U=this._getOrReturnCtx(_);return v(U,{code:S.invalid_type,expected:r.symbol,received:U.parsedType}),t}return j$(_.data)}}HU.create=(_)=>{return new HU({typeName:e.ZodSymbol,...j_(_)})};class u0 extends X_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return v(U,{code:S.invalid_type,expected:r.undefined,received:U.parsedType}),t}return j$(_.data)}}u0.create=(_)=>{return new u0({typeName:e.ZodUndefined,...j_(_)})};class n0 extends X_{_parse(_){if(this._getType(_)!==r.null){let U=this._getOrReturnCtx(_);return v(U,{code:S.invalid_type,expected:r.null,received:U.parsedType}),t}return j$(_.data)}}n0.create=(_)=>{return new n0({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:S.invalid_type,expected:r.never,received:$.parsedType}),t}}U6.create=(_)=>{return new U6({typeName:e.ZodNever,...j_(_)})};class AU extends X_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return v(U,{code:S.invalid_type,expected:r.void,received:U.parsedType}),t}return j$(_.data)}}AU.create=(_)=>{return new AU({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:S.invalid_type,expected:r.array,received:$.parsedType}),t;if(J.exactLength!==null){let j=$.data.length>J.exactLength.value,W=$.data.length<J.exactLength.value;if(j||W)v($,{code:j?S.too_big:S.too_small,minimum:W?J.exactLength.value:void 0,maximum:j?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),U.dirty()}if(J.minLength!==null){if($.data.length<J.minLength.value)v($,{code:S.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),U.dirty()}if(J.maxLength!==null){if($.data.length>J.maxLength.value)v($,{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 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 v0(_){if(_ instanceof y_){let $={};for(let U in _.shape){let J=_.shape[U];$[U]=v$.create(v0(J))}return new y_({..._._def,shape:()=>$})}else if(_ instanceof Z$)return new Z$({..._._def,type:v0(_.element)});else if(_ instanceof v$)return v$.create(v0(_.unwrap()));else if(_ instanceof B6)return B6.create(v0(_.unwrap()));else if(_ instanceof D6)return D6.create(_.items.map(($)=>v0($)));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:S.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: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 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,q=await N.value;X.push({key:z,value:q,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 v0(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 EQ(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 m0 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 E$(W.ctx.common.issues));return v($,{code:S.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 E$(G));return v($,{code:S.invalid_union,unionErrors:W}),t}}get options(){return this._def.options}}m0.create=(_,$)=>{return new m0({options:_,typeName:e.ZodUnion,...j_($)})};var g6=(_)=>{if(_ instanceof c0)return g6(_.schema);else if(_ instanceof I$)return g6(_.innerType());else if(_ instanceof i0)return[_.value];else if(_ instanceof l6)return _.options;else if(_ instanceof l0)return Q_.objectValues(_.enum);else if(_ instanceof o0)return g6(_._def.innerType);else if(_ instanceof u0)return[void 0];else if(_ instanceof n0)return[null];else if(_ instanceof v$)return[void 0,...g6(_.unwrap())];else if(_ instanceof B6)return[null,...g6(_.unwrap())];else if(_ instanceof kD)return g6(_.unwrap());else if(_ instanceof t0)return g6(_.unwrap());else if(_ instanceof p0)return g6(_._def.innerType);else return[]};class PD extends X_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.object)return v($,{code:S.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:S.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=g6(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 PD({typeName:e.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:J,...j_(U)})}}function SG(_,$){let U=R6(_),J=R6($);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 d0 extends X_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),J=(D,j)=>{if(PG(D)||PG(j))return t;let W=SG(D.value,j.value);if(!W.valid)return v(U,{code:S.invalid_intersection_types}),t;if(kG(D)||kG(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}))}}d0.create=(_,$,U)=>{return new d0({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:S.invalid_type,expected:r.array,received:U.parsedType}),t;if(U.data.length<this._def.items.length)return v(U,{code:S.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t;if(!this._def.rest&&U.data.length>this._def.items.length)v(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 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:S.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 VU 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:S.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}}}}VU.create=(_,$,U)=>{return new VU({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:S.invalid_type,expected:r.set,received:U.parsedType}),t;let J=this._def;if(J.minSize!==null){if(U.data.size<J.minSize.value)v(U,{code:S.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),$.dirty()}if(J.maxSize!==null){if(U.data.size>J.maxSize.value)v(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 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 h0 extends X_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.function)return v($,{code:S.invalid_type,expected:r.function,received:$.parsedType}),t;function U(W,G){return FD({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,ID(),x0].filter((X)=>!!X),issueData:{code:S.invalid_arguments,argumentsError:G}})}function J(W,G){return FD({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,ID(),x0].filter((X)=>!!X),issueData:{code:S.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 E$([]),N=await W._def.args.parseAsync(G,D).catch((g)=>{throw X.addIssue(U(G,g)),X}),z=await Reflect.apply(j,this,N);return await W._def.returns._def.type.parseAsync(z,D).catch((g)=>{throw X.addIssue(J(z,g)),X})})}else{let W=this;return j$(function(...G){let X=W._def.args.safeParse(G,D);if(!X.success)throw new E$([U(G,X.error)]);let N=Reflect.apply(j,this,X.data),z=W._def.returns.safeParse(N,D);if(!z.success)throw new E$([J(N,z.error)]);return z.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new h0({...this._def,args:D6.create(_).rest(d6.create())})}returns(_){return new h0({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new h0({args:_?_:D6.create([]).rest(d6.create()),returns:$||d6.create(),typeName:e.ZodFunction,...j_(U)})}}class c0 extends X_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}c0.create=(_,$)=>{return new c0({getter:_,typeName:e.ZodLazy,...j_($)})};class i0 extends X_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return v($,{received:$.data,code:S.invalid_literal,expected:this._def.value}),t}return{status:"valid",value:_.data}}get value(){return this._def.value}}i0.create=(_,$)=>{return new i0({value:_,typeName:e.ZodLiteral,...j_($)})};function EQ(_,$){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:S.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:S.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=EQ;class l0 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:S.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:S.invalid_enum_value,options:J}),t}return j$(_.data)}get enum(){return this._def.values}}l0.create=(_,$)=>{return new l0({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:S.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 y0(G.value);if($.value==="dirty")return y0(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 y0(W.value);if($.value==="dirty")return y0(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(!V4(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(!V4(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 B6 extends X_{_parse(_){if(this._getType(_)===r.null)return j$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}B6.create=(_,$)=>{return new B6({innerType:_,typeName:e.ZodNullable,...j_($)})};class o0 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}}o0.create=(_,$)=>{return new o0({innerType:_,typeName:e.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...j_($)})};class p0 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(BU(J))return J.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new E$(U.common.issues)},input:U.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new E$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}p0.create=(_,$)=>{return new p0({innerType:_,typeName:e.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...j_($)})};class KU extends X_{_parse(_){if(this._getType(_)!==r.nan){let U=this._getOrReturnCtx(_);return v(U,{code:S.invalid_type,expected:r.nan,received:U.parsedType}),t}return{status:"valid",value:_.data}}}KU.create=(_)=>{return new KU({typeName:e.ZodNaN,...j_(_)})};var JH=Symbol("zod_brand");class kD 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 IU 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(),y0(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 IU({in:_,out:$,typeName:e.ZodPipeline})}}class t0 extends X_{_parse(_){let $=this._def.innerType._parse(_),U=(J)=>{if(V4(J))J.value=Object.freeze(J.value);return J};return BU($)?$.then((J)=>U(J)):U($)}unwrap(){return this._def.innerType}}t0.create=(_,$)=>{return new t0({innerType:_,typeName:e.ZodReadonly,...j_($)})};function GQ(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function gQ(_,$={},U){if(_)return I4.create().superRefine((J,D)=>{let j=_(J);if(j instanceof Promise)return j.then((W)=>{if(!W){let G=GQ($,J),X=G.fatal??U??!0;D.addIssue({code:"custom",...G,fatal:X})}});if(!j){let W=GQ($,J),G=W.fatal??U??!0;D.addIssue({code:"custom",...W,fatal:G})}return});return I4.create()}var jH={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 WH=(_,$={message:`Input not instance of ${_.name}`})=>gQ((U)=>U instanceof _,$),RQ=C$.create,BQ=c6.create,GH=KU.create,XH=i6.create,HQ=r0.create,NH=K4.create,OH=HU.create,YH=u0.create,zH=n0.create,QH=I4.create,LH=d6.create,qH=U6.create,EH=AU.create,gH=Z$.create,RH=y_.create,BH=y_.strictCreate,HH=m0.create,AH=PD.create,bH=d0.create,VH=D6.create,KH=bU.create,IH=VU.create,FH=F4.create,MH=h0.create,PH=c0.create,kH=i0.create,SH=l6.create,wH=l0.create,fH=M4.create,XQ=I$.create,TH=v$.create,CH=B6.create,ZH=I$.createWithPreprocess,vH=IU.create,yH=()=>RQ().optional(),hH=()=>BQ().optional(),xH=()=>HQ().optional(),rH={string:(_)=>C$.create({..._,coerce:!0}),number:(_)=>c6.create({..._,coerce:!0}),boolean:(_)=>r0.create({..._,coerce:!0}),bigint:(_)=>i6.create({..._,coerce:!0}),date:(_)=>K4.create({..._,coerce:!0})},uH=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"},AQ=O.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),g$=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://"),bQ=O.string().regex(/^[a-fA-F0-9]{64}$/),VQ=O.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),A6=O.record(O.unknown()),s0=O.array(O.string().min(1)).default([]),P4=g$.nullable().optional(),nH=new Set(["succeeded","failed","cancelled","blocked","skipped"]),S4=O.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function b_(_){return O.object({schema:O.literal(_),id:O.string().min(1),createdAt:g$,updatedAt:P4,metadata:A6.optional()}).strict()}var zh=O.object({schema:AQ,id:O.string().min(1),createdAt:g$,updatedAt:P4,metadata:A6.optional()}).strict(),KQ=O.enum(["agent","human","service","model","workflow","system"]),mH=b_(c.actorRef).extend({kind:KQ,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:KQ,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(),IQ=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"]),dH=b_(c.resourceRef).extend({kind:IQ,name:O.string().min(1).optional(),uri:H6.optional(),externalId:__.optional(),sourcePackage:__.optional(),tags:s0}).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:IQ,id:O.string().min(1),name:O.string().min(1).optional(),uri:H6.optional(),externalId:__.optional(),sourcePackage:__.optional(),tags:s0}).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"]})}),fG=O.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),cH=O.enum(["none","partial","full","unknown"]),iH=b_(c.evidenceRef).extend({kind:fG,uri:H6,sha256:bQ.optional(),summary:O.string().min(1).optional(),contentType:O.string().min(1).optional(),sizeBytes:O.number().int().nonnegative().optional(),redaction:cH.default("unknown"),producer:J6.optional(),resourceRefs:O.array(G_).default([]),tags:s0}).strict(),S_=O.object({id:O.string().min(1),kind:fG.optional(),uri:H6.optional(),sha256:bQ.optional(),summary:O.string().min(1).optional()}).strict(),FU=b_(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"]})}),lH=O.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),FQ=b_(c.decisionEnvelope).extend({decisionType:O.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:lH,actor:J6.optional(),traceId:O.string().min(1).optional(),inputHash:VQ.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:FU.optional(),evidenceRefs:O.array(S_).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"]})}),oH=b_(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:FU.optional(),evidenceRefs:O.array(S_).default([])}).strict(),a0=O.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),pH=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"]),tH=O.object({refName:__,requiredForModes:O.array(a0).min(1),allowedSecretInputs:O.array(O.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:__,revocationCheck:O.boolean().default(!0)}).strict(),aH=O.object({operation:__,supportedModes:O.array(a0).min(1),sideEffectClass:pH,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"]})}}),eH=O.object({providerId:__,appId:__,adapterId:__,ownerPackage:__,modes:O.array(a0).min(1),defaultMode:a0,credentialRequirements:O.array(tH).default([]),operations:O.array(aH).min(1),rateLimitPosture:__,costPosture:__.optional(),auditEvents:O.array(__).default([]),redactionRules:O.array(__).default([]),evidenceRefs:O.array(S_).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"]})}}),sH=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(),_A=b_(c.providerLiveModeStandard).extend({name:__,version:__,modes:O.array(a0).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(a0).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(eH).min(1),firstAdoptionTargets:O.array(sH).min(1),evidenceRefs:O.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:O.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),$A=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:S_,resourceRefs:O.array(G_).default([])}).strict(),MQ=b_(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($A).default([]),citations:O.array(S_).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"),UA=O.enum(["public","internal","private","sensitive"]),DA=O.enum(["draft","active","paused","archived"]),TG=O.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),PQ=b_(c.integrationRef).extend({kind:TG,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(S_).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"]})}),JA=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(),jA=b_(c.projectManifest).extend({projectId:k4,slug:k4,name:O.string().min(1),summary:O.string().min(1).optional(),status:DA.default("active"),classification:UA.default("private"),owner:J6.optional(),layout:JA.default({}),integrations:O.array(PQ).default([]),renderManifests:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(S_).default([]),tags:s0}).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)}}),WA=O.enum(["local","package","provider","url"]),CG=O.object({id:O.string().min(1),kind:WA,specifier:O.string().min(1),path:T$.optional(),packageName:O.string().min(1).optional(),uri:H6.optional(),provider:TG.optional(),schemaId:AQ.optional(),integrity:VQ.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"]})}),GA=O.enum(["dashboard","canvas","panel","report","document","custom"]),XA=O.object({id:O.string().min(1),title:O.string().min(1),kind:GA,default:O.boolean().default(!1),entry:T$.optional(),imports:O.array(CG).default([]),panelRefs:O.array(G_).default([]),dataRefs:O.array(G_).default([]),layout:A6.optional()}).strict(),NA=b_(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(XA).min(1),imports:O.array(CG).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(S_).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"]})}}),OA=O.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),YA=O.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),zA=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(),QA=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:g$.optional(),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(S_).default([]),metadata:A6.optional()}).strict(),LA=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(CG).default([]),spec:A6.default({})}).strict(),kQ=b_(c.projectPanel).extend({projectId:k4,provider:O.object({kind:TG,id:O.string().min(1),name:O.string().min(1).optional(),sourcePackage:__.optional(),externalId:__.optional()}).strict(),kind:YA,title:O.string().min(1),summary:O.string().min(1).optional(),state:OA.default("ready"),stateReason:O.string().min(1).optional(),generatedAt:g$,freshness:O.enum(["fresh","stale","unknown"]).default("unknown"),metrics:O.array(zA).default([]),items:O.array(QA).default([]),actions:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(S_).default([]),renderFragment:LA.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"]})}),qA=b_(c.projectSnapshot).extend({projectId:k4,generatedAt:g$,status:S4.default("unknown"),manifestRef:G_,renderManifestRef:G_.optional(),panels:O.array(kQ).default([]),contextPacks:O.array(MQ).default([]),proofBundleRefs:O.array(G_).default([]),resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(S_).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)}}),SQ=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"]})}),EA=b_(c.validationPlan).extend({objective:O.string().min(1),subject:G_.optional(),checks:O.array(SQ).min(1),verifier:J6.optional(),requiredEvidenceKinds:O.array(fG).default([])}).strict(),gA=O.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),RA=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"]),HA=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"]})}),AA=O.object({name:O.string().min(1),command:O.string().min(1),description:O.string().min(1).optional(),required:O.boolean().default(!1)}).strict(),bA=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(),VA=b_(c.scaffoldManifest).extend({name:O.string().min(1),version:O.string().min(1),summary:O.string().min(1),type:gA,status:RA.default("draft"),capabilities:O.array(BA).default([]),techStack:O.array(O.string().min(1)).default([]),tags:s0,source:G_.optional(),output:bA,env:O.array(HA).default([]),scripts:O.array(AA).default([]),validationChecks:O.array(SQ).default([]),evidenceRefs:O.array(S_).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"]})}),KA=O.enum(["installed","failed","cancelled","partial","unknown"]),IA=b_(c.scaffoldInstallRecord).extend({scaffoldId:O.string().min(1),scaffoldVersion:O.string().min(1).optional(),manifestRef:G_.optional(),target:G_,status:KA,installedAt:g$.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(S_).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"]})}),e0=O.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),ZG=O.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),wQ=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"),FA=O.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),MA=__.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),PA=O.enum(["active","stub","deprecated","archived"]),kA=O.enum(["stable","beta","canary","internal"]),SA=O.object({transport:O.enum(["http","stdio"]).default("http"),bin:O.string().min(1).optional(),url:H6.optional()}).strict(),wA=O.object({healthPath:O.string().min(1).default("/health"),port:O.number().int().positive().optional(),baseUrl:H6.optional()}).strict(),fA=O.object({bins:O.array(O.string().min(1)).default([]),mcp:SA.optional(),http:wA.optional()}).strict(),TA=b_(c.app).extend({appId:e0,npmName:ZG,repoFolder:e0,githubUrl:MA,projectSlug:k4,surfaces:fA.default({}),lifecycle:PA,releaseChannel:kA.default("stable"),summary:O.string().min(1).optional(),tags:s0}).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)}}),CA=O.enum(["skill","ci","backfilled"]),ZA=b_(c.release).extend({appId:e0,package:ZG,version:wQ,gitSha:FA,publishedAt:g$,publishPath:CA,changelogRef:G_.optional(),evidenceRefs:O.array(S_).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"]})}),vA=O.enum(["install","update","rollback","freeze-blocked"]),yA=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"})}),hA=b_(c.rolloutRecord).extend({appId:e0,package:ZG,version:wQ,machine:__,action:vA,result:S4,verifiedBy:yA.optional(),at:g$,evidenceRefs:O.array(S_).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"]})}),xA=O.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),rA=O.enum(["pending","queued","sent","failed","skipped","suppressed"]),uA=O.object({channel:xA,status:rA,deliveredAt:g$.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"]})}),nA=b_(c.announcement).extend({campaignId:__,appId:e0.optional(),releaseRef:G_.optional(),channels:O.array(uA).min(1),audienceRef:G_,sentAt:g$}).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"]})}),mA=O.enum(["tag","attribute","group"]),dA=O.enum(["eq","neq","in","not_in","exists","not_exists"]),NQ=O.union([O.string(),O.number(),O.boolean()]),cA=O.object({kind:mA,key:O.string().min(1).optional(),op:dA.default("eq"),value:NQ.optional(),values:O.array(NQ).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"]})}),iA=O.object({match:O.enum(["all","any"]).default("all"),predicates:O.array(cA).min(1)}).strict(),lA=O.enum(["opt_in","opt_out","transactional","none"]),oA=b_(c.audience).extend({audienceId:e0,name:__,definition:iA,consentPolicy:lA,suppressionSyncedAt:P4}).strict(),KG=["@hasna/cloud","open-cloud"],pA=O.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),tA=O.object({id:O.string().min(1),provider:pA,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(),fQ=b_(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(tA).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([...KG]),dependencies:O.array(O.string().min(1)).default([]),evidenceRefs:O.array(S_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...KG,..._.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 KG)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"]})})}),TQ=O.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),aA=O.enum(["low","medium","high","critical"]),CQ=O.object({id:O.string().min(1),kind:TQ,severity:aA,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(S_).default([])}).strict(),eA=O.object({id:O.string().min(1),kind:TQ,status:S4,target:O.string().min(1),command:O.string().min(1).optional(),evidenceRefs:O.array(S_).default([]),findings:O.array(CQ).default([])}).strict(),sA=b_(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:S4,verdict:O.enum(["passed","failed","warning","not_run"]),appCloudManifest:fQ.optional(),checks:O.array(eA).min(1),findings:O.array(CQ).default([]),evidenceRefs:O.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: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"]})})}),_b=O.object({checkId:O.string().min(1),status:S4,summary:O.string().min(1).optional(),startedAt:P4,finishedAt:P4,evidenceRefs:O.array(S_).default([])}).strict(),$b=b_(c.proofBundle).extend({subject:G_,validationPlanRef:G_.optional(),status:S4,verdict:O.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:O.array(_b).default([]),verifier:J6.optional(),evidenceRefs:O.array(S_).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"]})}),Ub=b_(c.workRun).extend({objective:O.string().min(1),status:S4,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(FQ).default([]),costEstimates:O.array(FU).default([]),evidenceRefs:O.array(S_).default([]),validationPlanRefs:O.array(G_).default([]),proofBundleRefs:O.array(G_).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)<Date.parse(_.startedAt))$.addIssue({code:O.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(nH.has(_.status)&&!_.finishedAt)$.addIssue({code:O.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=_.evidenceRefs.length>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"]})}),Db=O.object({id:O.string().min(1),at:g$,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(S_).default([]),costEstimate:FU.optional()}).strict(),Jb=b_(c.agentTrajectory).extend({actor:J6,workRunRef:G_.optional(),events:O.array(Db).default([]),outcome:O.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:G_.optional()}).strict(),jb="v1",Wb=O.enum(["library","cli-with-store","service","saas"]),Gb=["local","self-hosted","cloud"],ZQ=O.enum(Gb),Xb=O.enum(["supported","deferred","unsupported"]),Nb=O.enum(["none","local-only","api-key","session","service-token","custom"]),IG=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(),Ob=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:S_.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"]})}),Yb=O.object({name:O.string().min(1),status:Xb,bin:O.string().min(1).optional(),mcpBin:O.string().min(1).optional(),authMode:Nb,deploymentModes:O.array(ZQ).min(1),health:IG.optional(),readiness:IG.optional(),version:IG.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(Ob).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"]})}),zb=["local","cloud"],vQ=O.enum(zb),Qb=["remote","hybrid","self_hosted"],Lb=O.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),qb=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Eb(_){return qb.map(($)=>`${_}${$}`)}function OQ(_){return`hasna/oss/${_}/database-url`}var gb=O.object({mode:vQ,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(),Rb=O.object({$schema:O.string().min(1).optional(),schema:O.literal(c.serviceContract),name:Lb,class:Wb,contractVersion:O.literal(jb),kitVersion:O.string().min(1),description:O.string().min(1).optional(),bins:O.array(O.string().min(1)).default([]),storage:gb.optional(),deploymentModes:O.array(ZQ).default(["local"]),serviceSurfaces:O.array(Yb).default([]),metadata:A6.optional()}).strict().superRefine((_,$)=>{let U=new Set(Eb(_.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!==OQ(_.name))$.addIssue({code:O.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${OQ(_.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/<name>/<name>.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]})}}),Qh=O.object({status:O.enum(["ok","degraded","unavailable"]),version:O.string().min(1),mode:vQ}).strict(),Lh=O.object({ready:O.boolean(),reason:O.string().min(1).optional()}).strict(),qh=O.object({version:O.string().min(1)}).strict(),Bb=O.enum(["info","notice","breaking","critical"]),Hb=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 (<source>.<entity>.<action>)"),Ab=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],bb=O.enum(Ab);var Vb=O.enum(["fleet","package","machine"]),yQ=b_(c.commsEventEnvelope).extend({type:Hb,severity:Bb,scope:Vb,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:g$.optional(),dedupe_key:__,resourceRefs:O.array(G_).default([]),evidenceRefs:O.array(S_).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"]})}}),Kb=O.enum(["fleet","package","product","loop-lane","initiative","personal"]),Ib=O.enum(["quiet","work","firehose"]),Fb=__.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>)"),Mb=b_(c.commsChannelMetadata).extend({class:Kb,noise:Ib.optional(),owner:__.optional(),until:Fb.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"]})}}),YQ={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}},Pb=b_(c.commsMessageMetadata).extend({tag:bb,envelope:yQ}).strict().superRefine((_,$)=>{let U=YQ[_.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(YQ))if(D.requiredEventType===_.envelope.type&&_.tag!==J)$.addIssue({code:O.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${J}] tag`,path:["tag"]})});var Eh={[c.actorRef]:mH,[c.resourceRef]:dH,[c.evidenceRef]:iH,[c.workRun]:Ub,[c.decisionEnvelope]:FQ,[c.costEstimate]:FU,[c.capabilityCard]:oH,[c.providerLiveModeStandard]:_A,[c.contextPack]:MQ,[c.integrationRef]:PQ,[c.projectManifest]:jA,[c.projectPanel]:kQ,[c.projectSnapshot]:qA,[c.renderManifest]:NA,[c.agentTrajectory]:Jb,[c.validationPlan]:EA,[c.proofBundle]:$b,[c.scaffoldManifest]:VA,[c.scaffoldInstallRecord]:IA,[c.appCloudManifest]:fQ,[c.noCloudEvidencePack]:sA,[c.serviceContract]:Rb,[c.commsEventEnvelope]:yQ,[c.commsChannelMetadata]:Mb,[c.commsMessageMetadata]:Pb,[c.app]:TA,[c.release]:ZA,[c.rolloutRecord]:hA,[c.announcement]:nA,[c.audience]:oA};function kb(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="local")return{mode:"local",deprecatedAlias:null};if($==="cloud")return{mode:"cloud",deprecatedAlias:null};if(Qb.includes($))return{mode:"cloud",deprecatedAlias:$};throw Error(`Unknown storage mode: ${_}. Use local or cloud.`)}function Sb(_){return _.toUpperCase().replace(/-/g,"_")}function wb(_){return`https://${_}.hasna.xyz`}function hQ(_){let $=Sb(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function KD(_,$){for(let U of $){let J=_[U]?.trim();if(J)return{key:U,value:J}}return null}function fb(_){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 Tb(_,$=process.env){let U=hQ(_),J=KD($,U.modeKeys),D=KD($,U.apiUrlKeys),j=KD($,U.apiKeyKeys),W="local",G=null,X="default",N=[];if(J){let Q=kb(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??wb(_),q=D?D.key:"default",g;try{g=fb(z)}catch(Q){let L=Q instanceof Error?Q.message:String(Q);return N.push(`Invalid API URL from ${q}: ${L}. 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:g,apiUrlSource:q,apiKeyPresent:!0,apiKeySource:j.key,misconfigured:!1,warning:N.length>0?N.join(" "):null}}class MD 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 Cb=[408,425,429,500,502,503,504],Zb=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]);function vb(_,$){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 yb=(_)=>new Promise(($)=>setTimeout($,_));function hb(_){let $=_.fetchImpl??((N,z)=>fetch(N,z)),U=_.baseUrl.replace(/\/+$/,""),J=_.timeoutMs??30000,D=_.sleepImpl??yb,j=_.retry;function W(N){let z=N!==void 0?N:j;if(z===!1)return null;let q=z??{};return{retries:q.retries??2,baseDelayMs:q.baseDelayMs??200,maxDelayMs:q.maxDelayMs??2000,retryStatuses:q.retryStatuses??[...Cb]}}async function G(N,z,q,g,Q){let L={"x-api-key":_.apiKey,Authorization:`Bearer ${_.apiKey}`,Accept:"application/json",..._.headers??{},...Q.headers??{}};if(Q.idempotencyKey)L["Idempotency-Key"]=Q.idempotencyKey;let E={method:N,headers:L};if(g!==void 0)L["Content-Type"]="application/json",E.body=JSON.stringify(g);let R=new AbortController,H=()=>R.abort();if(Q.signal)if(Q.signal.aborted)R.abort();else Q.signal.addEventListener("abort",H,{once:!0});let B=setTimeout(()=>R.abort(),Q.timeoutMs??J);E.signal=R.signal;let K;try{K=await $(q,E)}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(B),Q.signal)Q.signal.removeEventListener("abort",H)}let b=await K.text(),I=void 0;if(b.length>0)try{I=JSON.parse(b)}catch{I=b}if(!K.ok){let T=W(Q.retry);return{ok:!1,retryable:T?T.retryStatuses.includes(K.status):!1,error:new MD(N,z,K.status,I)}}return{ok:!0,value:I}}async function X(N,z,q,g={}){let Q=N.toUpperCase(),L=vb(z.startsWith("/")?z:`/${z}`,g.query),E=`${U}${L}`,R=W(g.retry),H=Zb.has(Q)||Boolean(g.idempotencyKey),B=R&&H?R.retries+1:1,K=null;for(let b=1;b<=B;b++){let I=await G(Q,L,E,q,g);if(I.ok)return I.value;if(K=I,!(R!==null&&H&&I.retryable&&b<B))break;let P=Math.min(R.maxDelayMs,R.baseDelayMs*2**(b-1)),n=Math.floor(Math.random()*(P/2+1));await D(P+n)}throw K.error}return{baseUrl:U,request:X,get:(N,z)=>X("GET",N,void 0,z),post:(N,z,q)=>X("POST",N,z,q),put:(N,z,q)=>X("PUT",N,z,q),patch:(N,z,q)=>X("PATCH",N,z,q),del:(N,z,q)=>X("DELETE",N,z,q)}}function xb(_,$=process.env,U){let J=Tb(_,$);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=hQ(_),j=KD($,D.apiKeyKeys)?.value;if(!j)throw Error(`Client for '${_}' resolved to cloud-http without an API key.`);return{transport:"cloud-http",client:hb({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 wG(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function FG(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${wG(_)}/${encodeURIComponent(String($))}`}function rb(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function ub(_){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 nb(_){if(_&&typeof _==="object"){let $=_;for(let U of["total","count","totalCount","total_count"])if(typeof $[U]==="number")return $[U]}return null}function mb(_){if(_&&typeof _==="object"){let $=_;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof $[U]==="string")return $[U]}return null}function db(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(U,J={}){let D=await $.get(wG(U),J);return{items:ub(D),total:nb(D),cursor:mb(D),raw:D}},async get(U,J,D={}){try{return await $.get(FG(U,J),D)}catch(j){if(j instanceof MD&&j.status===404)return null;throw j}},async create(U,J,D={}){let{idempotencyKey:j,...W}=D;return $.post(wG(U),J,{...W,idempotencyKey:j??rb()})},async update(U,J,D,j={}){let{method:W="PATCH",idempotencyKey:G,...X}=j;return(W==="PUT"?$.put:$.patch)(FG(U,J),D,{...X,...G?{idempotencyKey:G}:{}})},async delete(U,J,D={}){try{await $.del(FG(U,J),void 0,D)}catch(j){if(j instanceof MD&&j.status===404)return;throw j}}}}function vG(_,$=process.env,U){let J=xb(_,$,U);if(J.transport==="cloud-http")return{transport:"cloud-http",client:db(_,J.client)};return{transport:"local",client:null}}var xQ="knowledge",cb=["HASNA_KNOWLEDGE_STORAGE_MODE","HASNA_KNOWLEDGE_MODE","KNOWLEDGE_STORAGE_MODE","KNOWLEDGE_MODE"],ib=["HASNA_KNOWLEDGE_API_URL","KNOWLEDGE_API_URL"],lb=["HASNA_KNOWLEDGE_API_KEY","KNOWLEDGE_API_KEY"];function yG(_,$){return $.some((U)=>(_[U]??"").trim().length>0)}function rQ(_){if(yG(_,cb))return _;if(yG(_,ib)&&yG(_,lb))return{..._,HASNA_KNOWLEDGE_STORAGE_MODE:"cloud"};return _}var _1="notes";function ob(_){let $={};if(_.search)$.search=_.search;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;if(_.includeArchived||_.archivedOnly)$.includeArchived=!0;return $}function pb(_){return{baseUrl:_.baseUrl,async list($={}){let U=$.limit??200,J=ob({...$,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(tb(J))return null;throw J}},async delete($){let U=await _.get(_1,$);if(!U)return!1;return await _.delete(_1,U.id),!0}}}function tb(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function MU(_=process.env){let $=vG(xQ,rQ(_));if($.transport!=="cloud-http")return null;return pb($.client)}function o6(_=process.env){return vG(xQ,rQ(_)).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 hG(_,$){return _.id===$||_.short_id===$}class uQ{storePath;kind="local";constructor(_){this.storePath=_}get location(){return this.storePath}get exists(){return ab(this.storePath)}async listAll(){let _=Z0(this.storePath);return{items:_.items,exists:_.exists}}async get(_){return Z0(this.storePath).items.find((U)=>hG(U,_))??null}async create(_){return $6(this.storePath,()=>{let $=RU(this.storePath),U=new Date().toISOString(),J=_.id??JQ(),D={id:J,short_id:jQ(J),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:U,updated_at:U};return $.items.push(D),E6(this.storePath,$),D},{createParent:!0})}async update(_,$){return $6(this.storePath,()=>{let U=RU(this.storePath),J=U.items.findIndex((j)=>hG(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,E6(this.storePath,U),D},{createParent:!0})}async delete(_){return $6(this.storePath,()=>{let $=RU(this.storePath),U=$.items.length;$.items=$.items.filter((D)=>!hG(D,_));let J=U!==$.items.length;if(J)E6(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)E6(this.storePath,U);return D},{createParent:!0})}}class nQ{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 wD(_){let $=_.storePathOverridden?null:MU(_.env??process.env);if($)return new nQ($);return new uQ(_.storePath)}import{Database as mQ}from"bun:sqlite";function fD(_="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 eb="porter unicode61 remove_diacritics 2",dQ=` 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')); -`,ab=` +`,sb=` 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')); -`,eb=` +`,_V=` 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')); -`,sb=` +`,$V=` 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')); -`,_V=` +`,UV=` 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')); -`,dQ=` +`,cQ=` 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')); -`,$V=` +`,DV=` 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')); -`,UV=` +`,JV=` 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')); -`,DV=` +`,jV=` BEGIN; CREATE TEMP TABLE _chunks_fts_backup AS @@ -494,7 +494,7 @@ CREATE VIRTUAL TABLE chunks_fts USING fts5( text, title, source_uri, - tokenize='${tb}' + tokenize='${eb}' ); 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(_){fD("opening the local knowledge.db catalog"),m6(_);let $=new nQ(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function cQ(_){return fD("reading the local knowledge.db catalog"),new nQ(_,{readonly:!0})}function o(_){let $=x(_);try{if($.exec(mQ),l_($)<2)$.exec(ab);if(l_($)<3)$.exec(eb);if(l_($)<4)$.exec(sb);if(l_($)<5)$.exec(_V);if(l_($)<6)$.exec(dQ);if(JV($))jV($);if(WV($))GV($);if(XV($))NV($);return{path:_,schema_version:l_($)}}finally{$.close()}}function l_(_){return _.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function r_(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function xG(_){return`"${_.replaceAll('"','""')}"`}function S4(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(U)}function b6(_,$,U){if(!S4(_,$))return!1;return _.query(`PRAGMA table_info(${xG($)})`).all().some((D)=>D.name===U)}function p6(_,$,U,J){if(!b6(_,$,U))_.exec(`ALTER TABLE ${xG($)} ADD COLUMN ${xG(U)} ${J};`)}function JV(_){return l_(_)<7||!b6(_,"knowledge_sync_changes","logical_clock")||!b6(_,"knowledge_sync_changes","bundle_id")||!S4(_,"knowledge_sync_table_clocks")||!S4(_,"knowledge_sync_imports")}function jV(_){if(!S4(_,"knowledge_sync_changes"))_.exec(dQ);p6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),p6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec($V)}function WV(_){return l_(_)<8||!b6(_,"wiki_pages","valid_from")||!b6(_,"wiki_pages","valid_to")||!b6(_,"wiki_pages","supersedes")||!b6(_,"wiki_pages","superseded_by")||!b6(_,"wiki_pages","confidence")||!b6(_,"wiki_pages","last_verified_at")}function GV(_){if(!S4(_,"wiki_pages"))_.exec(mQ);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 x(_){fD("opening the local knowledge.db catalog"),m6(_);let $=new mQ(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function iQ(_){return fD("reading the local knowledge.db catalog"),new mQ(_,{readonly:!0})}function o(_){let $=x(_);try{if($.exec(dQ),p_($)<2)$.exec(sb);if(p_($)<3)$.exec(_V);if(p_($)<4)$.exec($V);if(p_($)<5)$.exec(UV);if(p_($)<6)$.exec(cQ);if(WV($))GV($);if(XV($))NV($);if(OV($))YV($);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 xG(_){return`"${_.replaceAll('"','""')}"`}function w4(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(U)}function b6(_,$,U){if(!w4(_,$))return!1;return _.query(`PRAGMA table_info(${xG($)})`).all().some((D)=>D.name===U)}function p6(_,$,U,J){if(!b6(_,$,U))_.exec(`ALTER TABLE ${xG($)} ADD COLUMN ${xG(U)} ${J};`)}function WV(_){return p_(_)<7||!b6(_,"knowledge_sync_changes","logical_clock")||!b6(_,"knowledge_sync_changes","bundle_id")||!w4(_,"knowledge_sync_table_clocks")||!w4(_,"knowledge_sync_imports")}function GV(_){if(!w4(_,"knowledge_sync_changes"))_.exec(cQ);p6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),p6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec(DV)}function XV(_){return p_(_)<8||!b6(_,"wiki_pages","valid_from")||!b6(_,"wiki_pages","valid_to")||!b6(_,"wiki_pages","supersedes")||!b6(_,"wiki_pages","superseded_by")||!b6(_,"wiki_pages","confidence")||!b6(_,"wiki_pages","last_verified_at")}function NV(_){if(!w4(_,"wiki_pages"))_.exec(dQ);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(` 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(UV)}function iQ(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function XV(_){if(!S4(_,"chunks_fts"))return!1;return l_(_)<9||!iQ(_)}function NV(_){if(!S4(_,"chunks_fts"))return;if(iQ(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(DV)}function rG(_){let $=x(_);try{return{schema_version:l_($),sources:r_($,"sources"),source_revisions:r_($,"source_revisions"),chunks:r_($,"chunks"),wiki_pages:r_($,"wiki_pages"),citations:r_($,"citations"),indexes:r_($,"knowledge_indexes"),runs:r_($,"runs"),run_events:r_($,"run_events"),redaction_findings:r_($,"redaction_findings"),audit_events:r_($,"audit_events"),approval_gates:r_($,"approval_gates"),storage_objects:r_($,"storage_objects"),embeddings:r_($,"chunk_embeddings"),vector_entries:r_($,"vector_index_entries"),reindex_queue:r_($,"reindex_queue"),knowledge_machines:r_($,"knowledge_machines"),sync_snapshots:r_($,"knowledge_sync_snapshots"),sync_changes:r_($,"knowledge_sync_changes"),sync_conflicts:r_($,"knowledge_sync_conflicts"),sync_table_clocks:r_($,"knowledge_sync_table_clocks"),sync_imports:r_($,"knowledge_sync_imports")}}finally{$.close()}}import{chmodSync as OV,existsSync as YV,mkdirSync as lQ,readFileSync as zV,statSync as QV,writeFileSync as qV}from"fs";import{dirname as LV,join as uG,relative as gV,sep as EV}from"path";import{pathToFileURL as RV}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 nG(_,$){let U=gV(_,$);if(U.startsWith("..")||U===".."||U.startsWith(`..${EV}`))throw Error(`Artifact path escapes root: ${$}`)}function BV(_){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 oQ{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;lQ(_,{recursive:!0,mode:448})}async put(_){let $=J6(_.key),U=uG(this.root,$);return nG(this.root,U),lQ(LV(U),{recursive:!0,mode:448}),qV(U,_.body,{mode:384}),OV(U,384),{key:$,uri:RV(U).href,modified_at:QV(U).mtime.toISOString()}}async getText(_){let $=J6(_),U=uG(this.root,$);return nG(this.root,U),zV(U,"utf8")}async exists(_){let $=J6(_),U=uG(this.root,$);return nG(this.root,U),YV(U)}}class pQ{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:BV(_.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 mG(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new pQ({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 oQ($.artifactsDir)}import{createHash as $D}from"crypto";import{spawnSync as $f}from"child_process";import{existsSync as K_,readFileSync as Uf}from"fs";import{hostname as Df}from"os";import{join as sE,resolve as Q3}from"path";import{createHash as xK,randomUUID as rK}from"crypto";import{createHash as PV,randomUUID as kV}from"crypto";import{existsSync as cG,readdirSync as wV}from"fs";import{join as D7}from"path";import{pathToFileURL as SV}from"url";import{existsSync as HV,mkdirSync as AV,readFileSync as bV,unlinkSync as VV,writeFileSync as KV}from"fs";import{homedir as IV}from"os";import{dirname as FV,join as tQ}from"path";var dG="https://knowledge.md";function V6(_){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 TD(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??tQ(IV(),".hasna","knowledge");return tQ($,"auth.json")}function aQ(_,$=process.env){return V6($.KNOWLEDGE_API_URL??_?.hosted?.api_url??dG)}function eQ(_=process.env){try{let $=TD(_);if(!HV($))return null;let U=JSON.parse(bV($,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function sQ(_,$=process.env){let U=TD($),J={..._,api_url:_.api_url?V6(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return AV(FV(U),{recursive:!0,mode:448}),KV(U,`${JSON.stringify(J,null,2)} -`,{mode:384}),J}function _7(_=process.env){try{return VV(TD(_)),!0}catch{return!1}}function MV(_=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 $=eQ(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function $7(_,$=process.env){let U=eQ($),J=MV($),D=$.KNOWLEDGE_API_URL?aQ(_,$):U?.api_url?V6(U.api_url):aQ(_,$);return{authenticated:Boolean(J.apiKey),source:J.source,api_url:D,auth_path:TD($),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 U7=2;var J7=[{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."}],fV=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function j7(_){let $=[];if(cG(D7(_.home,"cloud.env")))$.push("cloud.env");if(cG(D7(_.home,"migration-exports")))$.push("migration-exports");if(cG(_.home)){for(let U of wV(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))$.push(U)}return $}function $1(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${PV("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function W7(_){return J7.find((U)=>_.startsWith(U.prefix))?.kind??"artifact"}function CD(_,$,U="global"){let J=iG(_,$),D=_.storage.s3??null,j=D?.prefix?.replace(/^\/+|\/+$/g,"")??"",W=D?`s3://${D.bucket}/${j?`${j}/`:""}`:"",G=H_.s3.prefix.replace(/^\/+|\/+$/g,""),X=`s3://${H_.s3.bucket}/${G}/`,N=_.storage.type==="s3"&&D?.bucket===H_.s3.bucket&&(D.region??null)===H_.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:SV(`${$.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:H_.division,app_type:H_.app_type,app:H_.app,env:H_.env,active:N,local_path:H_.local_path,s3:{bucket:H_.s3.bucket,region:H_.s3.region,profile:H_.s3.profile,prefix:G,uri_prefix:X,server_side_encryption:H_.s3.server_side_encryption},secrets:{env:H_.secrets.env,aws:H_.secrets.aws,s3:H_.secrets.s3,rds:H_.secrets.rds,future_rds:H_.secrets.future_rds},evidence_doc:H_.evidence_doc},hosted:{enabled:_.mode==="hosted",api_url:V6(_.hosted?.api_url??dG),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:U7,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:fV,forbidden_workspace_files_present:j7($),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:H_.secrets.env,aws:H_.secrets.aws,s3:H_.secrets.s3,rds:H_.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:J7,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 iG(_,$){let U=[],J=[],D=j7($);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{V6(_.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(JV)}function lQ(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function OV(_){if(!w4(_,"chunks_fts"))return!1;return p_(_)<9||!lQ(_)}function YV(_){if(!w4(_,"chunks_fts"))return;if(lQ(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(jV)}function rG(_){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 zV,existsSync as QV,mkdirSync as oQ,readFileSync as LV,statSync as qV,writeFileSync as EV}from"fs";import{dirname as gV,join as uG,relative as RV,sep as BV}from"path";import{pathToFileURL as HV}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 nG(_,$){let U=RV(_,$);if(U.startsWith("..")||U===".."||U.startsWith(`..${BV}`))throw Error(`Artifact path escapes root: ${$}`)}function AV(_){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 pQ{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;oQ(_,{recursive:!0,mode:448})}async put(_){let $=j6(_.key),U=uG(this.root,$);return nG(this.root,U),oQ(gV(U),{recursive:!0,mode:448}),EV(U,_.body,{mode:384}),zV(U,384),{key:$,uri:HV(U).href,modified_at:qV(U).mtime.toISOString()}}async getText(_){let $=j6(_),U=uG(this.root,$);return nG(this.root,U),LV(U,"utf8")}async exists(_){let $=j6(_),U=uG(this.root,$);return nG(this.root,U),QV(U)}}class tQ{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:AV(_.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 mG(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new tQ({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 pQ($.artifactsDir)}import{createHash as $D}from"crypto";import{spawnSync as Df}from"child_process";import{existsSync as I_,readFileSync as Jf}from"fs";import{hostname as jf}from"os";import{join as _3,resolve as L3}from"path";import{createHash as uK,randomUUID as nK}from"crypto";import{createHash as SV,randomUUID as wV}from"crypto";import{existsSync as cG,readdirSync as fV}from"fs";import{join as J7}from"path";import{pathToFileURL as TV}from"url";import{existsSync as bV,mkdirSync as VV,readFileSync as KV,unlinkSync as IV,writeFileSync as FV}from"fs";import{homedir as MV}from"os";import{dirname as PV,join as aQ}from"path";var dG="https://knowledge.md";function V6(_){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 TD(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??aQ(MV(),".hasna","knowledge");return aQ($,"auth.json")}function eQ(_,$=process.env){return V6($.KNOWLEDGE_API_URL??_?.hosted?.api_url??dG)}function sQ(_=process.env){try{let $=TD(_);if(!bV($))return null;let U=JSON.parse(KV($,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function _7(_,$=process.env){let U=TD($),J={..._,api_url:_.api_url?V6(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return VV(PV(U),{recursive:!0,mode:448}),FV(U,`${JSON.stringify(J,null,2)} +`,{mode:384}),J}function $7(_=process.env){try{return IV(TD(_)),!0}catch{return!1}}function kV(_=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 $=sQ(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function U7(_,$=process.env){let U=sQ($),J=kV($),D=$.KNOWLEDGE_API_URL?eQ(_,$):U?.api_url?V6(U.api_url):eQ(_,$);return{authenticated:Boolean(J.apiKey),source:J.source,api_url:D,auth_path:TD($),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 D7=2;var j7=[{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."}],CV=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function W7(_){let $=[];if(cG(J7(_.home,"cloud.env")))$.push("cloud.env");if(cG(J7(_.home,"migration-exports")))$.push("migration-exports");if(cG(_.home)){for(let U of fV(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))$.push(U)}return $}function $1(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${SV("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function G7(_){return j7.find((U)=>_.startsWith(U.prefix))?.kind??"artifact"}function CD(_,$,U="global"){let J=iG(_,$),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:q6,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:TV(`${$.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:V6(_.hosted?.api_url??dG),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:D7,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:CV,forbidden_workspace_files_present:W7($),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:j7,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 iG(_,$){let U=[],J=[],D=W7($);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(q6))J.push(`Workspace home does not end with ${q6}: ${$.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{V6(_.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(` 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(kV(),G.uri,G.kind,G.content_type??null,G.hash??null,G.size_bytes??null,JSON.stringify(X),J,J)}})($)}function lG(_){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:lG($)}}function y$(_){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 G7(_,$){return{..._,provenance:$}}import{createHash as wK}from"crypto";import{existsSync as SK,readFileSync as fK}from"fs";import{basename as hD}from"path";import{createHash as sV}from"crypto";import{existsSync as _K,readFileSync as $K}from"fs";import{basename as UK}from"path";import{fileURLToPath as TV}from"url";function X7(_,$){if(!_)throw Error($);return _}function CV(_){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/<id>, open-files://file/<id>/revision/<revision_id>, or open-files://source/<id>/path/<path>.");let D=X7(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/<id>/revision/<revision_id>.")}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 ZV(_){let $=new URL(_),U=X7($.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 vV(_){return{kind:"file",uri:_,path:TV(_)}}function yV(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function I$(_){if(_.startsWith("open-files://"))return CV(_);if(_.startsWith("s3://"))return ZV(_);if(_.startsWith("file://"))return vV(_);if(_.startsWith("https://")||_.startsWith("http://"))return yV(_);throw Error(`Unsupported source ref scheme: ${_}`)}function N7(_,$=I$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function O7(_){let $=I$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as hV,randomUUID as pG}from"crypto";import{relative as xV,resolve as z7,sep as rV}from"path";function Y7(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function Q7(_,$){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)=>z7(D)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??Y7("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??Y7("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 uV(_,$){let U=xV(_,$);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${rV}`)}function I6(_,$){let U=z7(_);if(!$.allowWriteRoots.some((J)=>uV(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 U1(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var q7=[{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 N$(_,$){if($&&!$.redaction.enabled)return{text:_,findings:[]};let U=_,J=[];for(let D of q7)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 nV(_){return`audit_${hV("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${pG()}`).digest("hex").slice(0,24)}`}function oG(_,$=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)=>oG(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]=oG(W,$+1);let D=Object.keys(_).length;if(D>J.length)U.__truncated_keys=D-J.length;return U}return String(_)}function C_(_,$){let U=$.created_at??new Date().toISOString(),J=oG($.metadata??{}),D=nV({...$,metadata:J,created_at:U});return _.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_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(wV(),G.uri,G.kind,G.content_type??null,G.hash??null,G.size_bytes??null,JSON.stringify(X),J,J)}})($)}function lG(_){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:lG($)}}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 X7(_,$){return{..._,provenance:$}}import{createHash as fK}from"crypto";import{existsSync as TK,readFileSync as CK}from"fs";import{basename as hD}from"path";import{createHash as $K}from"crypto";import{existsSync as UK,readFileSync as DK}from"fs";import{basename as JK}from"path";import{fileURLToPath as ZV}from"url";function N7(_,$){if(!_)throw Error($);return _}function vV(_){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/<id>, open-files://file/<id>/revision/<revision_id>, or open-files://source/<id>/path/<path>.");let D=N7(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/<id>/revision/<revision_id>.")}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 yV(_){let $=new URL(_),U=N7($.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 hV(_){return{kind:"file",uri:_,path:ZV(_)}}function xV(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function F$(_){if(_.startsWith("open-files://"))return vV(_);if(_.startsWith("s3://"))return yV(_);if(_.startsWith("file://"))return hV(_);if(_.startsWith("https://")||_.startsWith("http://"))return xV(_);throw Error(`Unsupported source ref scheme: ${_}`)}function O7(_,$=F$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function Y7(_){let $=F$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as rV,randomUUID as pG}from"crypto";import{relative as uV,resolve as Q7,sep as nV}from"path";function z7(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function L7(_,$){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)=>Q7(D)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??z7("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??z7("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 mV(_,$){let U=uV(_,$);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${nV}`)}function I6(_,$){let U=Q7(_);if(!$.allowWriteRoots.some((J)=>mV(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 U1(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var q7=[{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 q7)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 dV(_){return`audit_${rV("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${pG()}`).digest("hex").slice(0,24)}`}function oG(_,$=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)=>oG(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]=oG(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=oG($.metadata??{}),D=dV({...$,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 ZD(_,$){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_${pG()}`,$.source_uri??null,$.run_id??null,J.severity,J.type,JSON.stringify({...$.metadata??{},start:J.start,end:J.end}),U]);return $.findings.length}function L7(_,$){let U=$.created_at??new Date().toISOString(),J=`approval_${pG()}`;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 mV=[{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]"}];q7.push(...mV);function dV(_,$,U){let J=_.query(`SELECT id FROM approval_gates + VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${pG()}`,$.source_uri??null,$.run_id??null,J.severity,J.type,JSON.stringify({...$.metadata??{},start:J.start,end:J.end}),U]);return $.findings.length}function E7(_,$){let U=$.created_at??new Date().toISOString(),J=`approval_${pG()}`;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 cV=[{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]"}];q7.push(...cV);function iV(_,$,U){let J=_.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 g7(_,$,U,J){let D=U==="generated_write"&&$.approvals.generatedWritesRequireApproval,j=!D||dV(_,U,J);return{action:U,target_uri:J??null,approval_required:D,approved:j,decision:j?"allow":"requires_approval"}}import{createHash as cV}from"crypto";var R7=/file:\/\/[^\s"'<>),\]}]+/gi,iV=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,lV=/\/(?:home|tmp)\/[^\s"'<>),\]}]+/g,B7=/(?:~|\/home\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,H7=/\/home\/[^/\s"'<>]+\/(?:workspace|Workspace)\/[^\s"'<>),\]}]*/g,A7=/\b(?:knowledge\.db(?:[-.][A-Za-z0-9_-]+)?|db\.json(?:[-.][A-Za-z0-9_-]+)?|cloud\.env|migration-exports\/[^\s"'<>),\]}]+)\b/gi,b7=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,oV=new Set(["content_base64"]);function F$(_){return cV("sha256").update(_).digest("hex").slice(0,12)}function pV(_){return _.length<=80?_:`${_.slice(0,77)}...`}function E7(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function tV(_,$,U,J){for(let D of _.matchAll(R7)){let j=D[0];if(!U.allowFileSourceRefs||E7(j))J.push({type:E7(j)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:pV(j.replace(/^file:\/\/.*/,`[redacted:file-uri:${F$(j)}]`))})}for(let D of _.matchAll(B7))J.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${F$(D[0])}]`});for(let D of _.matchAll(A7))J.push({type:D[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:$,preview:`[redacted:${F$(D[0])}]`});for(let D of _.matchAll(b7))J.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${F$(D[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let D of _.matchAll(H7))J.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${F$(D[0])}]`})}function aV(_,$={},U="$"){let J=[],D=(j,W)=>{if(typeof j==="string"){tV(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 f4(_,$={}){let U=aV(_,$);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 eV(_){return N$(_).text.replace(b7,($)=>`[REDACTED:database-url:${F$($)}]`).replace(R7,($)=>`[REDACTED:local-file-uri:${F$($)}]`).replace(iV,($)=>`[REDACTED:local-hasna-path:${F$($)}]`).replace(H7,($)=>`[REDACTED:private-workspace:${F$($)}]`).replace(lV,($)=>`[REDACTED:local-path:${F$($)}]`).replace(B7,($)=>`[REDACTED:hasna-path:${F$($)}]`).replace(A7,($)=>`[REDACTED:private-artifact:${F$($)}]`)}function f_(_){if(typeof _==="string")return eV(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((U)=>f_(U));let $={};for(let[U,J]of Object.entries(_))$[U]=oV.has(U)?J:f_(J);return $}var DK=20971520,V7=1e4,JK=10;function aG(_,$){return`${_}_${sV("sha256").update($).digest("hex").slice(0,20)}`}function T4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function g_(_){return typeof _==="string"&&_.length>0?_:void 0}function jK(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function WK(_){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 GK(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function XK(_){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 NK(_){let $=g_(_.extracted_text_ref)??g_(_.extracted_text_uri)??g_(_.text_ref);if($)return $;let U=T4(_.content);return g_(U?.extracted_text_ref)??g_(U?.extracted_text_uri)??null}function OK(_){let $=g_(_.path);return g_(_.title)??g_(_.name)??($?UK($):null)}function YK(_){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 I7(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function tG(_){if(Array.isArray(_))return _.map((J)=>tG(J));let $=T4(_);if(!$)return _;let U={};for(let[J,D]of Object.entries($)){if(K7.has(I7(J)))continue;U[J]=tG(D)}return U}function zK(_,$,U){return g_(_.revision_id)??g_(_.revision)??g_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??g_(_.updated_at)??"current"}function QK(_,$){let U={};for(let[J,D]of Object.entries(_)){if(K7.has(I7(J)))continue;U[J]=f_(tG(D))}return U.source_ref=$.sourceRef,U.source_uri=$.sourceUri,U.status=$.status,U}function qK(_,$,U={}){let J=WK(_);f4(J,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let D=I$(J),j=GK(J,D),W=YK(_),G=g_(_.status)??"active";return{raw:_,sourceRef:J,sourceUri:j,kind:D.kind,title:OK(_),revision:zK(_,D,W),hash:W,extractedTextUri:NK(_),text:XK(_),metadata:QK(_,{sourceRef:J,sourceUri:j,status:G}),acl:_.permissions??_.acl??{},status:G,updatedAt:g_(_.updated_at)??$}}function LK(_){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=T4(J);if(!D)throw Error("Manifest array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),J=T4(U);if(!J)throw Error("Manifest object parse failed.");if(Array.isArray(J.items))return J.items.map((D)=>{let j=T4(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=T4(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=T4(JSON.parse(U));if(!J)throw Error("Manifest JSONL entries must be objects.");return J})}async function gK(_,$,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 EK(_,$,U,J=DK){let D=_.startsWith("s3://")?await gK(_,$,U):(()=>{if(!_K(_))throw Error(`Manifest not found: ${_}`);return $K(_,"utf8")})(),j=Buffer.byteLength(D);if(j>J)throw Error(`Manifest input is too large: ${j} bytes exceeds ${J} byte limit.`);return D}function RK(_,$,U){let J=_.replace(/\r\n/g,` + ORDER BY updated_at DESC LIMIT 1`).get($,U??null,U??null);return Boolean(J)}function g7(_,$,U,J){let D=U==="generated_write"&&$.approvals.generatedWritesRequireApproval,j=!D||iV(_,U,J);return{action:U,target_uri:J??null,approval_required:D,approved:j,decision:j?"allow":"requires_approval"}}import{createHash as lV}from"crypto";var B7=/file:\/\/[^\s"'<>),\]}]+/gi,oV=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,pV=/\/(?:home|tmp)\/[^\s"'<>),\]}]+/g,H7=/(?:~|\/home\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,A7=/\/home\/[^/\s"'<>]+\/(?:workspace|Workspace)\/[^\s"'<>),\]}]*/g,b7=/\b(?:knowledge\.db(?:[-.][A-Za-z0-9_-]+)?|db\.json(?:[-.][A-Za-z0-9_-]+)?|cloud\.env|migration-exports\/[^\s"'<>),\]}]+)\b/gi,V7=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,tV=new Set(["content_base64"]);function M$(_){return lV("sha256").update(_).digest("hex").slice(0,12)}function aV(_){return _.length<=80?_:`${_.slice(0,77)}...`}function R7(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function eV(_,$,U,J){for(let D of _.matchAll(B7)){let j=D[0];if(!U.allowFileSourceRefs||R7(j))J.push({type:R7(j)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:aV(j.replace(/^file:\/\/.*/,`[redacted:file-uri:${M$(j)}]`))})}for(let D of _.matchAll(H7))J.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${M$(D[0])}]`});for(let D of _.matchAll(b7))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(V7))J.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${M$(D[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let D of _.matchAll(A7))J.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${M$(D[0])}]`})}function sV(_,$={},U="$"){let J=[],D=(j,W)=>{if(typeof j==="string"){eV(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 f4(_,$={}){let U=sV(_,$);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 _K(_){return O$(_).text.replace(V7,($)=>`[REDACTED:database-url:${M$($)}]`).replace(B7,($)=>`[REDACTED:local-file-uri:${M$($)}]`).replace(oV,($)=>`[REDACTED:local-hasna-path:${M$($)}]`).replace(A7,($)=>`[REDACTED:private-workspace:${M$($)}]`).replace(pV,($)=>`[REDACTED:local-path:${M$($)}]`).replace(H7,($)=>`[REDACTED:hasna-path:${M$($)}]`).replace(b7,($)=>`[REDACTED:private-artifact:${M$($)}]`)}function C_(_){if(typeof _==="string")return _K(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((U)=>C_(U));let $={};for(let[U,J]of Object.entries(_))$[U]=tV.has(U)?J:C_(J);return $}var jK=20971520,K7=1e4,WK=10;function aG(_,$){return`${_}_${$K("sha256").update($).digest("hex").slice(0,20)}`}function T4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function E_(_){return typeof _==="string"&&_.length>0?_:void 0}function GK(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function XK(_){let $=E_(_.source_ref)??E_(_.source_uri)??E_(_.uri);if($)return $;let U=E_(_.file_id);if(U){let j=E_(_.revision_id)??E_(_.revision),W=`open-files://file/${encodeURIComponent(U)}`;return j?`${W}/revision/${encodeURIComponent(j)}`:W}let J=E_(_.source_id),D=E_(_.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 NK(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function OK(_){let $=E_(_.extracted_text)??E_(_.text)??E_(_.content_text)??E_(_.markdown);if($!==void 0)return $;let U=_.content;return typeof U==="string"?U:null}function YK(_){let $=E_(_.extracted_text_ref)??E_(_.extracted_text_uri)??E_(_.text_ref);if($)return $;let U=T4(_.content);return E_(U?.extracted_text_ref)??E_(U?.extracted_text_uri)??null}function zK(_){let $=E_(_.path);return E_(_.title)??E_(_.name)??($?JK($):null)}function QK(_){return E_(_.hash)??E_(_.checksum)??E_(_.sha256)??null}var I7=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 F7(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function tG(_){if(Array.isArray(_))return _.map((J)=>tG(J));let $=T4(_);if(!$)return _;let U={};for(let[J,D]of Object.entries($)){if(I7.has(F7(J)))continue;U[J]=tG(D)}return U}function LK(_,$,U){return E_(_.revision_id)??E_(_.revision)??E_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??E_(_.updated_at)??"current"}function qK(_,$){let U={};for(let[J,D]of Object.entries(_)){if(I7.has(F7(J)))continue;U[J]=C_(tG(D))}return U.source_ref=$.sourceRef,U.source_uri=$.sourceUri,U.status=$.status,U}function EK(_,$,U={}){let J=XK(_);f4(J,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let D=F$(J),j=NK(J,D),W=QK(_),G=E_(_.status)??"active";return{raw:_,sourceRef:J,sourceUri:j,kind:D.kind,title:zK(_),revision:LK(_,D,W),hash:W,extractedTextUri:YK(_),text:OK(_),metadata:qK(_,{sourceRef:J,sourceUri:j,status:G}),acl:_.permissions??_.acl??{},status:G,updatedAt:E_(_.updated_at)??$}}function gK(_){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=T4(J);if(!D)throw Error("Manifest array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),J=T4(U);if(!J)throw Error("Manifest object parse failed.");if(Array.isArray(J.items))return J.items.map((D)=>{let j=T4(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=T4(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=T4(JSON.parse(U));if(!J)throw Error("Manifest JSONL entries must be objects.");return J})}async function RK(_,$,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,q=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(!q.Body)return"";return await q.Body.transformToString()}async function BK(_,$,U,J=jK){let D=_.startsWith("s3://")?await RK(_,$,U):(()=>{if(!UK(_))throw Error(`Manifest not found: ${_}`);return DK(_,"utf8")})(),j=Buffer.byteLength(D);if(j>J)throw Error(`Manifest input is too large: ${j} bytes exceeds ${J} byte limit.`);return D}function HK(_,$,U){let J=_.replace(/\r\n/g,` `);if(!J.trim())return[];let D=[],j=0;while(j<J.length){let W=Math.min(J.length,j+$),G=W;if(W<J.length){let N=J.lastIndexOf(` -`,W),z=J.lastIndexOf(". ",W),L=Math.max(N,z);if(L>j+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 BK(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function HK(_,$){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 AK(_,$,U){let J=aG("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`,W),z=J.lastIndexOf(". ",W),q=Math.max(N,z);if(q>j+Math.floor($*0.5))G=q+(q===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 AK(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function bK(_,$){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 VK(_,$,U){let J=aG("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 bK(_,$,U,J){let D=aG("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`,[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 KK(_,$,U,J){let D=aG("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 VK(_,$,U,J,D,j,W){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let G=N$(U.text,W);if(G.findings.length>0)ZD(_,{source_uri:U.sourceUri,findings:G.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:J}),C_(_,{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=RK(G.text,D,j);for(let N of X){let z=aG("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=G7({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:jK(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,BK(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 F7(_){let $=_.now??new Date;if(_.safetyPolicy)I6(_.dbPath,_.safetyPolicy);o(_.dbPath);let U=await EK(_.input,_.config,_.safetyPolicy,_.maxInputBytes),J=LK(U),D=_.maxItems??V7;if(J.length>D)throw Error(`Manifest contains too many items: ${J.length} exceeds ${D} item limit.`);return C4({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 C4(_){let $=(_.now??new Date).toISOString(),U=_.maxChunkChars??4000,J=_.chunkOverlapChars??200,D=_.maxItems??V7;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=[];C_(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=qK(q,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(Q.length<JK)Q.push({source_ref:g.sourceRef,title:g.title,status:g.status,has_text:Boolean(g.text)});let R=AK(j,g,$),H=bK(j,R,g,$);if(G.add(R),X.add(H),g.text||g.status.toLowerCase()==="deleted")z+=HK(j,H);let B=VK(j,H,g,$,U,J,_.safetyPolicy);N+=B.chunksInserted,L+=B.redactions}return C_(j,{event_type:"write",action:"knowledge_manifest_ingest",target_uri:_.dbPath,decision:"allow",metadata:{items:_.items.length,sources:G.size,revisions:X.size,chunks_inserted:N,redactions:L},created_at:$}),{path:_.sourceLabel,db_path:_.dbPath,items_seen:_.items.length,sources_upserted:G.size,revisions_upserted:X.size,chunks_inserted:N,chunks_deleted:z,redactions:L,skipped:E,items_preview:Q}})()}finally{j.close()}}function vD(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Z4(_,$){for(let U of $){let J=_[U];if(typeof J==="string"&&J.length>0)return J}return null}function M7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return null}function KK(_,$){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 IK(_,$,U){if(!$)return U;try{let J=I$(_);if(J.kind==="open-files"&&J.entity==="file")return`${_}/revision/${encodeURIComponent($.revision)}`}catch{return U}return U}function FK(_,$,U){return _.query(`SELECT id, uri, kind, title, metadata_json, acl_json, updated_at + 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 IK(_,$,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)ZD(_,{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=HK(G.text,D,j);for(let N of X){let z=aG("chk",`${$}\x00${N.ordinal}\x00${N.text}`),q=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"}),g=X7({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:E_(U.raw.path)??null,mime:E_(U.raw.mime)??E_(U.raw.content_type)??null,size:GK(U.raw.size)??null},q);_.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,AK(N.text),N.startOffset,N.endOffset,JSON.stringify(g),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 M7(_){let $=_.now??new Date;if(_.safetyPolicy)I6(_.dbPath,_.safetyPolicy);o(_.dbPath);let U=await BK(_.input,_.config,_.safetyPolicy,_.maxInputBytes),J=gK(U),D=_.maxItems??K7;if(J.length>D)throw Error(`Manifest contains too many items: ${J.length} exceeds ${D} item limit.`);return C4({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 C4(_){let $=(_.now??new Date).toISOString(),U=_.maxChunkChars??4000,J=_.chunkOverlapChars??200,D=_.maxItems??K7;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,q=0,g=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 L of _.items){let E=EK(L,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(Q.length<WK)Q.push({source_ref:E.sourceRef,title:E.title,status:E.status,has_text:Boolean(E.text)});let R=VK(j,E,$),H=KK(j,R,E,$);if(G.add(R),X.add(H),E.text||E.status.toLowerCase()==="deleted")z+=bK(j,H);let B=IK(j,H,E,$,U,J,_.safetyPolicy);N+=B.chunksInserted,q+=B.redactions}return v_(j,{event_type:"write",action:"knowledge_manifest_ingest",target_uri:_.dbPath,decision:"allow",metadata:{items:_.items.length,sources:G.size,revisions:X.size,chunks_inserted:N,redactions:q},created_at:$}),{path:_.sourceLabel,db_path:_.dbPath,items_seen:_.items.length,sources_upserted:G.size,revisions_upserted:X.size,chunks_inserted:N,chunks_deleted:z,redactions:q,skipped:g,items_preview:Q}})()}finally{j.close()}}function vD(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Z4(_,$){for(let U of $){let J=_[U];if(typeof J==="string"&&J.length>0)return J}return null}function P7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return null}function FK(_,$){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 MK(_,$,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 PK(_,$,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 MK(_,$,U){if(U)return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get($,U,$)??null}function kK(_,$,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 PK(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function kK(_,$,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 SK(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function wK(_,$,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 yD(_){let $=_.purpose??"knowledge_answer",U=Math.max(0,Math.min(_.limit??10,100)),J=(_.now??new Date).toISOString(),D=I$(_.sourceRef),j=N7(_.sourceRef,D),W=O7(_.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=FK(G,j,_.sourceRef);if(!X)return C_(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=vD(X.metadata_json),z=vD(X.acl_json);try{KK(z,$)}catch(b){throw C_(G,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"deny",metadata:{purpose:$,read_only:!0,source_uri:X.uri,error:b instanceof Error?b.message:String(b)},created_at:J}),b}let L=MK(G,X.id,W),E=vD(L?.metadata_json),Q=PK(G,L?.id??null),q=kK(G,L?.id??null,U),g=IK(X.uri,L,_.sourceRef),R=q.map((b)=>{let I=vD(b.metadata_json),C={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:Z4(I,["source_ref"])??g,source_uri:X.uri,source_revision_id:L?.id??null,revision:L?.revision??null,hash:L?.hash??Z4(I,["hash"]),chunk_id:b.id,start_offset:b.start_offset,end_offset:b.end_offset,resolved_at:J},f=t6({source_ref:C.source_ref,source_uri:C.source_uri,source_kind:X.kind,source_revision_id:C.source_revision_id,revision:C.revision,hash:C.hash,chunk_id:b.id,start_offset:b.start_offset,end_offset:b.end_offset,status:Z4(I,["status"]),resolver:C.resolver});return{id:b.id,kind:b.kind,ordinal:b.ordinal,text:b.text,token_count:b.token_count,start_offset:b.start_offset,end_offset:b.end_offset,metadata:I,evidence:C,provenance:f}}),H=R.map((b)=>({source_ref:b.evidence.source_ref,source_uri:X.uri,chunk_id:b.id,quote:b.text.slice(0,500),start_offset:b.start_offset,end_offset:b.end_offset,evidence:b.evidence,provenance:b.provenance}));C_(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:R.length,chunks_total:Q},created_at:J});let B=Z4(N,["mime","content_type"])??Z4(E,["mime","content_type"]),K=M7(N,["size","size_bytes"])??M7(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:B,size:K,hash:L?.hash??Z4(N,["hash","checksum","sha256"]),text_available:Q>0,chunks_total:Q,chunks_returned:R.length,char_count_returned:R.reduce((b,I)=>b+I.text.length,0),extracted_text_ref:L?.extracted_text_uri??Z4(E,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:R,citations:H}})()}finally{G.close()}}function D1(_){return`sha256:${wK("sha256").update(_).digest("hex")}`}function TK(_){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 yD(_){let $=_.purpose??"knowledge_answer",U=Math.max(0,Math.min(_.limit??10,100)),J=(_.now??new Date).toISOString(),D=F$(_.sourceRef),j=O7(_.sourceRef,D),W=Y7(_.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=PK(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=vD(X.metadata_json),z=vD(X.acl_json);try{FK(z,$)}catch(b){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:b instanceof Error?b.message:String(b)},created_at:J}),b}let q=kK(G,X.id,W),g=vD(q?.metadata_json),Q=SK(G,q?.id??null),L=wK(G,q?.id??null,U),E=MK(X.uri,q,_.sourceRef),R=L.map((b)=>{let I=vD(b.metadata_json),T={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:Z4(I,["source_ref"])??E,source_uri:X.uri,source_revision_id:q?.id??null,revision:q?.revision??null,hash:q?.hash??Z4(I,["hash"]),chunk_id:b.id,start_offset:b.start_offset,end_offset:b.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:b.id,start_offset:b.start_offset,end_offset:b.end_offset,status:Z4(I,["status"]),resolver:T.resolver});return{id:b.id,kind:b.kind,ordinal:b.ordinal,text:b.text,token_count:b.token_count,start_offset:b.start_offset,end_offset:b.end_offset,metadata:I,evidence:T,provenance:P}}),H=R.map((b)=>({source_ref:b.evidence.source_ref,source_uri:X.uri,chunk_id:b.id,quote:b.text.slice(0,500),start_offset:b.start_offset,end_offset:b.end_offset,evidence:b.evidence,provenance:b.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:q?.revision??null,chunks_returned:R.length,chunks_total:Q},created_at:J});let B=Z4(N,["mime","content_type"])??Z4(g,["mime","content_type"]),K=P7(N,["size","size_bytes"])??P7(g,["size","size_bytes"]);return{source_ref:E,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:q?{id:q.id,revision:q.revision,hash:q.hash,extracted_text_uri:q.extracted_text_uri,metadata:g,created_at:q.created_at,reindex_required:g.reindex_required===!0}:null,content:{mime:B,size:K,hash:q?.hash??Z4(N,["hash","checksum","sha256"]),text_available:Q>0,chunks_total:Q,chunks_returned:R.length,char_count_returned:R.reduce((b,I)=>b+I.text.length,0),extracted_text_ref:q?.extracted_text_uri??Z4(g,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:R,citations:H}})()}finally{G.close()}}function D1(_){return`sha256:${fK("sha256").update(_).digest("hex")}`}function ZK(_){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 CK(_,$,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 ZK(_,$){if($)U1($);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")?TK(D):D,mime:J}}function xD(_){if(_.kind==="file")return hD(_.path);if(_.kind==="s3")return hD(_.key);if(_.kind==="web")return hD(new URL(_.url).pathname)||_.url;return _.path?hD(_.path):_.id}async function P7(_,$,U){if(_.kind==="file"){if(!SK(_.path))throw Error(`Source file not found: ${_.path}`);let J=fK(_.path,"utf8");return{text:J,contentSource:"file",title:xD(_),mime:"text/plain",size:J.length,hash:D1(J),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let J=await CK(_.uri,$,U);return{text:J,contentSource:"s3",title:xD(_),mime:"text/plain",size:J.length,hash:D1(J),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let J=await ZK(_.url,U);return{text:J.text,contentSource:"web",title:xD(_),mime:J.mime,size:J.text.length,hash:D1(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 vK(_,$,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=I$(_);return{text:(await P7(J,$,U)).text,contentSource:"extracted_text_ref"}}async function yK(_){let $=await yD({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 vK($.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??D1(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 vK(_,$,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,q=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(!q.Body)return"";return await q.Body.transformToString()}async function yK(_,$){if($)U1($);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")?ZK(D):D,mime:J}}function xD(_){if(_.kind==="file")return hD(_.path);if(_.kind==="s3")return hD(_.key);if(_.kind==="web")return hD(new URL(_.url).pathname)||_.url;return _.path?hD(_.path):_.id}async function k7(_,$,U){if(_.kind==="file"){if(!TK(_.path))throw Error(`Source file not found: ${_.path}`);let J=CK(_.path,"utf8");return{text:J,contentSource:"file",title:xD(_),mime:"text/plain",size:J.length,hash:D1(J),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let J=await vK(_.uri,$,U);return{text:J,contentSource:"s3",title:xD(_),mime:"text/plain",size:J.length,hash:D1(J),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let J=await yK(_.url,U);return{text:J.text,contentSource:"web",title:xD(_),mime:J.mime,size:J.text.length,hash:D1(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 hK(_,$,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 k7(J,$,U)).text,contentSource:"extracted_text_ref"}}async function xK(_){let $=await yD({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 hK($.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??D1(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(` -`);return{text:U,contentSource:"catalog_chunks",title:$.source?.title??null,mime:$.content.mime,size:U.length,hash:$.revision?.hash??D1(U),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function hK(_,$,U,J){let D=U.hash??D1(U.text),j={...f_(U.metadata),source_ref:_,content_source:U.contentSource,read_only:!0},W={source_ref:_,name:U.title??xD($),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 rD(_){let $=_.purpose??"knowledge_index";f4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let U=I$(_.sourceRef),J=U.kind==="open-files"?await yK(_):await P7(U,_.config,_.safetyPolicy),D=hK(_.sourceRef,U,J,$);return{...await C4({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 uD(_,$){return`${_}_${xK("sha256").update($).digest("hex").slice(0,20)}`}function uK(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function eG(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function nK(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function k7(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function mK(_){let $=_.path?.trim()||`wiki/notes/${uK(_.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 dK(_){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 w7(_,$){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,...$1($.body),metadata:{...$.metadata??{}}}}async function cK(_,$,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 w7(_,{key:W,body:`${G}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:y$({generated_from:String($.event??"app_wiki_log"),artifact_key:W})}})}function iK(_){return{...f_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function sG(_){let $=eG(_.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 lK(_,$){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??D1(U),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function rK(_,$,U,J){let D=U.hash??D1(U.text),j={...C_(U.metadata),source_ref:_,content_source:U.contentSource,read_only:!0},W={source_ref:_,name:U.title??xD($),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 rD(_){let $=_.purpose??"knowledge_index";f4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let U=F$(_.sourceRef),J=U.kind==="open-files"?await xK(_):await k7(U,_.config,_.safetyPolicy),D=rK(_.sourceRef,U,J,$);return{...await C4({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 uD(_,$){return`${_}_${uK("sha256").update($).digest("hex").slice(0,20)}`}function mK(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function eG(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function dK(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function S7(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function cK(_){let $=_.path?.trim()||`wiki/notes/${mK(_.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 iK(_){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 w7(_,$){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,...$1($.body),metadata:{...$.metadata??{}}}}async function lK(_,$,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 w7(_,{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 oK(_){return{...C_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function sG(_){let $=eG(_.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 pK(_,$){return $.map((U)=>{let J=_.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=eG(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 oK(_,$,U,J){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let D=lK(_,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 (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[uD("cit",`${$}\x00${j.source_uri}\x00${j.chunk_id??rK()}`),$,j.chunk_id,j.source_uri,j.quote,j.start_offset,j.end_offset,JSON.stringify(j.metadata),J]);return D.length}function pK(_,$){_.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + LIMIT 1`).get(U,`%${U}%`),D=eG(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 tK(_,$,U,J){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let D=pK(_,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 (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[uD("cit",`${$}\x00${j.source_uri}\x00${j.chunk_id??nK()}`),$,j.chunk_id,j.source_uri,j.quote,j.start_offset,j.end_offset,JSON.stringify(j.metadata),J]);return D.length}function aK(_,$){_.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`,[uD("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 tK(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[uD("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 eK(_,$){_.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, @@ -596,21 +596,21 @@ COMMIT; 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=uD("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,nK($.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 PU(_){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 S7(_){PU(_);let $=o(_.workspace.knowledgeDbPath),U=x(_.workspace.knowledgeDbPath);try{C_(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 f7(_){PU(_);let $=_.now??new Date,U=$.toISOString(),J=k7(_.tags),D=k7(_.sourceRefs);for(let L of D)f4(L,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let j=mK(_),W=dK({title:_.title,content:_.content,tags:J,sourceRefs:D,now:U}),G=y$({generated_from:"app_wiki_note",artifact_key:j,source_refs:D}),X=await w7(_.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 cK(_.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=uD("wiki",j),E=iK({path:j,tags:J,sourceRefs:D,provenance:G,metadata:_.metadata});K6(z,[X,N],$),tK(z,{pageId:L,path:j,title:_.title,artifactUri:X.uri,contentHash:X.hash??"",body:W,metadata:E,now:U});let Q=oK(z,L,D,U);pK(z,{title:_.title,path:j,artifactUri:X.uri,contentHash:X.hash??"",tags:J,sourceRefs:D,now:U}),C_(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:sG(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 T7(_){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 + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,$.pageId,"wiki",0,$.body,dK($.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 PU(_){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 f7(_){PU(_);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 T7(_){PU(_);let $=_.now??new Date,U=$.toISOString(),J=S7(_.tags),D=S7(_.sourceRefs);for(let q of D)f4(q,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let j=cK(_),W=iK({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 w7(_.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 lK(_.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 q=uD("wiki",j),g=oK({path:j,tags:J,sourceRefs:D,provenance:G,metadata:_.metadata});K6(z,[X,N],$),eK(z,{pageId:q,path:j,title:_.title,artifactUri:X.uri,contentHash:X.hash??"",body:W,metadata:g,now:U});let Q=tK(z,q,D,U);aK(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 L=z.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(q);if(!L)throw Error(`Failed to write app wiki note: ${j}`);return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,note:sG(L),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 C7(_){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 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(sG)}finally{U.close()}}async function C7(_){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(sG)}finally{U.close()}}async function Z7(_){o(_.dbPath);let $=x(_.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 FROM citations WHERE wiki_page_id = ? - ORDER BY created_at ASC`).all(U.id).map((j)=>({...j,metadata:eG(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:sG(U),citations:J,content:D}}finally{$.close()}}async function Z7(_){return PU(_),f4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),rD({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as XX}from"crypto";import{randomUUID as aK}from"crypto";var _X={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"}},eK={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}},sK={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 y7(_){return _?.providers??{}}function F6(_,$){let U=y7(_)[$]??{};return{..._X[$],...U}}function h7(_){let $=y7(_);return{...sK,...$.default_model?{default:$.default_model}:{},...$.aliases??{}}}function c_(_){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 h$(_,$){return h7($)[_]??_}function $X(_){let $=h7(_);return Object.entries($).map(([U,J])=>{let D=c_(J);return{alias:U,model_ref:J,provider:D.provider,model:D.model,default:U==="default",capabilities:eK[D.provider]}})}function x7(_,$=process.env){return Object.keys(_X).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 r7(_,$=process.env){return{default_model:h$("default",_),providers:x7(_,$),models:$X(_)}}function v4(_,$,U=process.env){let J=x7($,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 _I(_){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 $I(_={}){let{createProviderRegistry:$}=await import("ai"),U=_.env??process.env,J={};for(let D of Object.keys(_X)){let j=F6(_.config,D),W=U[j.api_key_env];if(!W)continue;let G=_.factories?.[D]??await _I(D);J[D]=G({apiKey:W,baseURL:j.base_url})}return $(J)}async function kU(_,$={}){let U=h$(_,$.config),J=c_(U);return v4(J.provider,$.config,$.env),(await $I($)).languageModel(U)}function v7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return 0}function y4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:v7($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:v7($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function J1(_,$){let U=`usage_${aK()}`;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 FI}from"crypto";import{existsSync as NI,readFileSync as OI}from"fs";import{createHash as m7}from"crypto";var UI="openai:text-embedding-3-small",d7=1536;function nD(_){return _?.embeddings??{}}function u7(_,$){return`${_}_${m7("sha256").update($).digest("hex").slice(0,20)}`}function DX(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function x$(_,$){for(let U of $){let J=_[U];if(typeof J==="string"&&J.length>0)return J}return null}function n7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return null}function UX(_){return Math.sqrt(_.reduce(($,U)=>$+U*U,0))}function DI(_,$,U=UX($)){let J=UX(_);if(J===0||U===0)return 0;let D=Math.min(_.length,$.length),j=0;for(let W=0;W<D;W+=1)j+=_[W]*$[W];return j/(J*U)}function JI(_,$){let U=m7("sha256").update(_).digest();return Array.from({length:$},(J,D)=>{let j=U[D%U.length]/255;return Number((j*2-1).toFixed(6))})}async function jI(_,$,U=process.env){v4("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 h4(_,$){if(!_||_==="default"||_==="embedding")return nD($).default_model??UI;return _}async function c7(_,$={}){let U=h4($.modelRef,$.config),J=c_(U);if(J.provider!=="openai")throw Error(`Embedding provider ${J.provider} is not supported yet. Use openai:text-embedding-3-small.`);let D=$.dimensions??nD($.config).dimensions??d7;if($.fake)return{provider:J.provider,model:J.model,dimensions:D,vectors:_.map((N)=>JI(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 jI(J.model,$.config,$.env),G=await j({model:W,values:_,maxParallelCalls:$.maxParallelCalls??nD($.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 WI(_,$){if($.sourceRevisionId)return _.query(`SELECT + ORDER BY created_at ASC`).all(U.id).map((j)=>({...j,metadata:eG(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:sG(U),citations:J,content:D}}finally{$.close()}}async function v7(_){return PU(_),f4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),rD({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as XX}from"crypto";import{randomUUID as sK}from"crypto";var _X={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"}},_I={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}},$I={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 h7(_){return _?.providers??{}}function F6(_,$){let U=h7(_)[$]??{};return{..._X[$],...U}}function x7(_){let $=h7(_);return{...$I,...$.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 x7($)[_]??_}function $X(_){let $=x7(_);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:_I[D.provider]}})}function r7(_,$=process.env){return Object.keys(_X).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 u7(_,$=process.env){return{default_model:x$("default",_),providers:r7(_,$),models:$X(_)}}function v4(_,$,U=process.env){let J=r7($,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 UI(_){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 DI(_={}){let{createProviderRegistry:$}=await import("ai"),U=_.env??process.env,J={};for(let D of Object.keys(_X)){let j=F6(_.config,D),W=U[j.api_key_env];if(!W)continue;let G=_.factories?.[D]??await UI(D);J[D]=G({apiKey:W,baseURL:j.base_url})}return $(J)}async function kU(_,$={}){let U=x$(_,$.config),J=l_(U);return v4(J.provider,$.config,$.env),(await DI($)).languageModel(U)}function y7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return 0}function y4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:y7($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:y7($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function J1(_,$){let U=`usage_${sK()}`;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 PI}from"crypto";import{existsSync as YI,readFileSync as zI}from"fs";import{createHash as d7}from"crypto";var JI="openai:text-embedding-3-small",c7=1536;function nD(_){return _?.embeddings??{}}function n7(_,$){return`${_}_${d7("sha256").update($).digest("hex").slice(0,20)}`}function DX(_){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 m7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return null}function UX(_){return Math.sqrt(_.reduce(($,U)=>$+U*U,0))}function jI(_,$,U=UX($)){let J=UX(_);if(J===0||U===0)return 0;let D=Math.min(_.length,$.length),j=0;for(let W=0;W<D;W+=1)j+=_[W]*$[W];return j/(J*U)}function WI(_,$){let U=d7("sha256").update(_).digest();return Array.from({length:$},(J,D)=>{let j=U[D%U.length]/255;return Number((j*2-1).toFixed(6))})}async function GI(_,$,U=process.env){v4("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 h4(_,$){if(!_||_==="default"||_==="embedding")return nD($).default_model??JI;return _}async function i7(_,$={}){let U=h4($.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??nD($.config).dimensions??c7;if($.fake)return{provider:J.provider,model:J.model,dimensions:D,vectors:_.map((N)=>WI(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 GI(J.model,$.config,$.env),G=await j({model:W,values:_,maxParallelCalls:$.maxParallelCalls??nD($.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 XI(_,$){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 GI(_){let $=DX(_.metadata_json),U=$.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return t6({source_ref:x$($,["source_ref"]),source_uri:_.source_uri??x$($,["source_uri"]),source_kind:_.source_kind??x$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??x$($,["revision"]),hash:_.hash??x$($,["hash"]),chunk_id:_.id,start_offset:_.start_offset??n7($,["start_offset"]),end_offset:_.end_offset??n7($,["end_offset"]),status:x$($,["status"]),resolver:"open-files-read-only"})}function XI(_,$,U,J){let D=_.prepare(` + LIMIT ?`).all($.provider,$.model,$.limit)}function NI(_){let $=DX(_.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??m7($,["start_offset"]),end_offset:_.end_offset??m7($,["end_offset"]),status:r$($,["status"]),resolver:"open-files-read-only"})}function OI(_,$,U,J){let D=_.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 G=0;G<$.length;G+=1){let X=$[G],N=U.vectors[G];if(!N)continue;let z=DX(X.metadata_json),L=GI(X),E=L.source_ref??x$(z,["source_ref"]),Q=L.source_uri??X.source_uri??x$(z,["source_uri"]),q=L.revision??X.revision??x$(z,["revision"]),g=L.hash??X.hash??x$(z,["hash"]),R=L.status??x$(z,["status"])??"active",H=JSON.stringify(N);D.run(u7("emb",`${X.id}\x00${U.provider}\x00${U.model}`),X.id,U.provider,U.model,U.dimensions,H,J),j.run(u7("vec",`${X.id}\x00${U.provider}\x00${U.model}`),X.id,X.source_revision_id,U.provider,U.model,U.dimensions,H,UX(N),Q,E,q,g,L.start_offset,L.end_offset,X.token_count,R,JSON.stringify({...z,provenance:L,embedded_at:J}),J,J)}})(),$.length}async function mD(_){let $=h4(_.modelRef,_.config),U=c_($);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=WI(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??nD(_.config).dimensions??d7,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let G=await c7(W.map((N)=>N.text),_),X=x(_.dbPath);try{let N=XI(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 i7(_){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 G=0;G<$.length;G+=1){let X=$[G],N=U.vectors[G];if(!N)continue;let z=DX(X.metadata_json),q=NI(X),g=q.source_ref??r$(z,["source_ref"]),Q=q.source_uri??X.source_uri??r$(z,["source_uri"]),L=q.revision??X.revision??r$(z,["revision"]),E=q.hash??X.hash??r$(z,["hash"]),R=q.status??r$(z,["status"])??"active",H=JSON.stringify(N);D.run(n7("emb",`${X.id}\x00${U.provider}\x00${U.model}`),X.id,U.provider,U.model,U.dimensions,H,J),j.run(n7("vec",`${X.id}\x00${U.provider}\x00${U.model}`),X.id,X.source_revision_id,U.provider,U.model,U.dimensions,H,UX(N),Q,g,L,E,q.start_offset,q.end_offset,X.token_count,R,JSON.stringify({...z,provenance:q,embedded_at:J}),J,J)}})(),$.length}async function mD(_){let $=h4(_.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=XI(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??nD(_.config).dimensions??c7,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let G=await i7(W.map((N)=>N.text),_),X=x(_.dbPath);try{let N=OI(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 l7(_){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 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 dD(_){let $=h4(_.modelRef,_.config),U=c_($),J=Math.max(1,Math.min(_.limit??10,100)),D=await c7([_.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:J,indexes:D}}finally{$.close()}}async function dD(_){let $=h4(_.modelRef,_.config),U=l_($),J=Math.max(1,Math.min(_.limit??10,100)),D=await i7([_.query],_),j=D.vectors[0]??[];o(_.dbPath);let W=x(_.dbPath);try{let X=W.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=DX(N.metadata_json),E=L.provenance&&typeof L.provenance==="object"&&!Array.isArray(L.provenance)?L.provenance:null;return{chunk_id:N.chunk_id,score:DI(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 cD(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function E$(_,$){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 t7(_){return Array.from(new Set(_))}function a7(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return t7($.filter((U)=>U.length>0)).slice(0,16)}function o7(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function YI(_){let $=[],U=/"([^"]*)"|(\S+)/g,J,D=!1;while((J=U.exec(_))!==null){if(J[1]!==void 0){let N=o7(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=o7(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 zI(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function QI(_){let $=YI(_);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=zI(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 qI(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function e7(_,$){return _.flatMap((U)=>Array.from({length:$},()=>`%${qI(U)}%`))}function LI(_,$){let U=Number.isFinite(_)?1/(1+Math.abs(_)):0,J=1/(1+$);return iD(Math.max(U,J))}function JX(_,$){if($.length===0)return 0;let U=$.filter((J)=>_.includes(J)).length;if(U===0)return 0;return iD(Math.min(0.85,0.35+U/$.length*0.5))}function gI(_){return iD(Math.max(0,Math.min(1,(_+1)/2)))}function iD(_){return Number(_.toFixed(6))}function W1(_,$){let U=_.keyword??0,J=_.semantic??0,D=_.catalog??0,j=$?.chunk_id?0.05:0;return iD(Math.min(1,U*0.55+J*0.4+D*0.35+j))}function jX(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function EI(_){let $=cD(_.chunk_metadata_json),U=jX($);if(U)return U;if(!_.source_revision_id&&!_.source_uri)return null;return t6({source_ref:E$($,["source_ref"]),source_uri:_.source_uri??E$($,["source_uri"]),source_kind:_.source_kind??E$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??E$($,["revision"]),hash:_.hash??E$($,["hash"]),chunk_id:_.chunk_id,start_offset:_.start_offset??l7($,["start_offset"]),end_offset:_.end_offset??l7($,["end_offset"]),status:E$($,["status"]),resolver:"open-files-read-only"})}function p7(_,$,U){if(!$)return[];try{return RI(_,$,U)}catch{return[]}}function RI(_,$,U){return _.query(`SELECT + WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((N)=>{let z=JSON.parse(N.vector_json),q=DX(N.metadata_json),g=q.provenance&&typeof q.provenance==="object"&&!Array.isArray(q.provenance)?q.provenance:null;return{chunk_id:N.chunk_id,score:jI(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:g}}).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 cD(_){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 o7(_,$){for(let U of $){let J=_[U];if(typeof J==="number"&&Number.isFinite(J))return J}return null}function a7(_){return Array.from(new Set(_))}function e7(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return a7($.filter((U)=>U.length>0)).slice(0,16)}function p7(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function QI(_){let $=[],U=/"([^"]*)"|(\S+)/g,J,D=!1;while((J=U.exec(_))!==null){if(J[1]!==void 0){let N=p7(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=p7(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 LI(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function qI(_){let $=QI(_);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 q=LI(z);if(z.negate){N.push(q);continue}if(G.length===0)G=q;else G=X?`${G} OR ${q}`:`${G} ${W} ${q}`;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 EI(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function s7(_,$){return _.flatMap((U)=>Array.from({length:$},()=>`%${EI(U)}%`))}function gI(_,$){let U=Number.isFinite(_)?1/(1+Math.abs(_)):0,J=1/(1+$);return iD(Math.max(U,J))}function JX(_,$){if($.length===0)return 0;let U=$.filter((J)=>_.includes(J)).length;if(U===0)return 0;return iD(Math.min(0.85,0.35+U/$.length*0.5))}function RI(_){return iD(Math.max(0,Math.min(1,(_+1)/2)))}function iD(_){return Number(_.toFixed(6))}function W1(_,$){let U=_.keyword??0,J=_.semantic??0,D=_.catalog??0,j=$?.chunk_id?0.05:0;return iD(Math.min(1,U*0.55+J*0.4+D*0.35+j))}function jX(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function BI(_){let $=cD(_.chunk_metadata_json),U=jX($);if(U)return U;if(!_.source_revision_id&&!_.source_uri)return null;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:_.chunk_id,start_offset:_.start_offset??o7($,["start_offset"]),end_offset:_.end_offset??o7($,["end_offset"]),status:R$($,["status"]),resolver:"open-files-read-only"})}function t7(_,$,U){if(!$)return[];try{return HI(_,$,U)}catch{return[]}}function HI(_,$,U){return _.query(`SELECT chunks_fts.chunk_id, c.kind AS chunk_kind, c.wiki_page_id, @@ -721,15 +721,15 @@ 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 s7(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((J)=>`lower(COALESCE(${J}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function BI(_,$,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 _L(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((J)=>`lower(COALESCE(${J}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function AI(_,$,U){let J=["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 (${s7(J,$)}) + WHERE status = 'active' AND (${_L(J,$)}) ORDER BY updated_at DESC - LIMIT ?`).all(...e7($,J.length),U)}function HI(_,$,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(...s7($,J.length),U)}function bI(_,$,U){let J=["kind","name","shard_key","artifact_uri","metadata_json"];return _.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json FROM knowledge_indexes - WHERE ${s7(J,$)} + WHERE ${_L(J,$)} ORDER BY updated_at DESC - LIMIT ?`).all(...e7($,J.length),U)}function _q(_){if(!_||!NI(_))return[];try{let $=JSON.parse(OI(_,"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 AI(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function $q(_,$,U){if($.length===0)return[];return _.filter((J)=>J.archived!==!0).map((J)=>({item:J,haystack:AI(J)})).filter(({haystack:J})=>$.some((D)=>J.includes(D))).map(({item:J,haystack:D})=>({item:J,score:JX(D,$)})).sort((J,D)=>D.score-J.score||J.item.id.localeCompare(D.item.id)).slice(0,U)}function bI(_,$,U){return $q(_q(_),$,U)}function VI(_,$){let U=cD(_.chunk_metadata_json),J=EI(_),D=E$(U,["source_ref"]),j=_.source_uri??E$(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??E$(U,["source_kind"]),revision:_.revision??E$(U,["revision"]),hash:_.hash??E$(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=W1(G.scores,G.citation),G}function Uq(_,$){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=W1(J.scores,J.citation),J}function KI(_,$){let U=cD(_.metadata_json),J=JX(`${_.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:jX(U),reasons:["wiki_catalog_match"]};return D.score=W1(D.scores,D.citation),D}function II(_,$){let U=cD(_.metadata_json),J=JX(`${_.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:E$(U,["artifact_key"]),hash:E$(U,["content_hash"]),shard_key:_.shard_key},provenance:jX(U),reasons:["index_catalog_match"]};return D.score=W1(D.scores,D.citation),D}function j1(_,$){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=t7([...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=W1(J.scores,J.citation)}function Dq(_){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 lD(_){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=a7($),W=QI($),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 R=x(_.dbPath);try{let K=Math.max(D*3,20),b=p7(R,W.and,K);if(b.length===0&&W.or)b=p7(R,W.or,K);E=b.length,b.forEach((m,M_)=>j1(g,VI(m,LI(m.rank,M_))));let I=BI(R,j,Math.max(D,10)),C=HI(R,j,Math.max(D,10)),f=bI(_.legacyStorePath,j,Math.max(D,10));Q=I.length+C.length,E+=f.length,f.forEach(({item:m,score:M_})=>j1(g,Uq(m,M_))),I.forEach((m)=>j1(g,KI(m,j))),C.forEach((m)=>j1(g,II(m,j)))}finally{R.close()}if(G)try{let K=await dD({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 b of K.results){let I={kind:"source_chunk",id:b.chunk_id,title:null,text:b.text,score:0,scores:{semantic:gI(b.score)},source:{uri:b.source_uri,ref:b.source_ref,kind:b.provenance?.source_kind??null,revision:b.revision,hash:b.hash},citation:{chunk_id:b.chunk_id,start_offset:b.provenance?.start_offset??null,end_offset:b.provenance?.end_offset??null},artifact:null,provenance:b.provenance,reasons:["semantic_match"]};I.score=W1(I.scores,I.citation),j1(g,I)}}catch(K){X.push(`semantic_search_failed: ${K instanceof Error?K.message:String(K)}`)}let B=Dq(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:B.length},warnings:X,results:B}}async function oD(_){return x4(_q(_.legacyStorePath),_,["knowledge_db_missing"])}async function x4(_,$,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=a7(J),G=$.semantic===!0||$.fake===!0||Boolean($.modelRef),X=new Map,N=$q(_,W,Math.max(j+D,10));N.forEach(({item:E,score:Q})=>j1(X,Uq(E,Q)));let z=[...U];if(G)z.push("semantic_search_requires_local_catalog");let L=Dq(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 Jq(_,$){return`${_}_${FI("sha256").update($).digest("hex").slice(0,20)}`}function jq(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function MI(_){return Array.from(new Set(jq(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function PI(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function kI(_,$){if($.length===0)return 0;let U=PI(_),J=$.filter((D)=>U.includes(D)).length;return Number((J/$.length).toFixed(6))}function wI(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function Wq(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return lG(_.status);return!1}function SI(_){if(Wq(_.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 fI(_){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 TI(_){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 CI(_,$){let U={base_score:_.score,exact_score:kI(_,$),citation_score:fI(_),freshness_score:SI(_),authority_score:TI(_)},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 Gq(_,$){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 ZI(_){return{id:Jq("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:Gq(_,500),provenance:_.provenance}}function vI(_,$,U){let J=Gq(_,U);if(!J)return null;return{id:Jq("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:J,score:_.score}}function pD(_){return _.map(()=>"?").join(", ")}function yI(_,$){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(...s7($,J.length),U)}function $L(_){if(!_||!YI(_))return[];try{let $=JSON.parse(zI(_,"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 VI(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function UL(_,$,U){if($.length===0)return[];return _.filter((J)=>J.archived!==!0).map((J)=>({item:J,haystack:VI(J)})).filter(({haystack:J})=>$.some((D)=>J.includes(D))).map(({item:J,haystack:D})=>({item:J,score:JX(D,$)})).sort((J,D)=>D.score-J.score||J.item.id.localeCompare(D.item.id)).slice(0,U)}function KI(_,$,U){return UL($L(_),$,U)}function II(_,$){let U=cD(_.chunk_metadata_json),J=BI(_),D=R$(U,["source_ref"]),j=_.source_uri??R$(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??R$(U,["source_kind"]),revision:_.revision??R$(U,["revision"]),hash:_.hash??R$(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=W1(G.scores,G.citation),G}function DL(_,$){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=W1(J.scores,J.citation),J}function FI(_,$){let U=cD(_.metadata_json),J=JX(`${_.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:jX(U),reasons:["wiki_catalog_match"]};return D.score=W1(D.scores,D.citation),D}function MI(_,$){let U=cD(_.metadata_json),J=JX(`${_.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:R$(U,["artifact_key"]),hash:R$(U,["content_hash"]),shard_key:_.shard_key},provenance:jX(U),reasons:["index_catalog_match"]};return D.score=W1(D.scores,D.citation),D}function j1(_,$){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=a7([...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=W1(J.scores,J.citation)}function JL(_){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 lD(_){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=e7($),W=qI($),G=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),X=[],N=null,z=null,q=null,g=0,Q=0,L=0,E=new Map;o(_.dbPath);let R=x(_.dbPath);try{let K=Math.max(D*3,20),b=t7(R,W.and,K);if(b.length===0&&W.or)b=t7(R,W.or,K);g=b.length,b.forEach((n,f_)=>j1(E,II(n,gI(n.rank,f_))));let I=AI(R,j,Math.max(D,10)),T=bI(R,j,Math.max(D,10)),P=KI(_.legacyStorePath,j,Math.max(D,10));Q=I.length+T.length,g+=P.length,P.forEach(({item:n,score:f_})=>j1(E,DL(n,f_))),I.forEach((n)=>j1(E,FI(n,j))),T.forEach((n)=>j1(E,MI(n,j)))}finally{R.close()}if(G)try{let K=await dD({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,q=K.dimensions,L=K.results.length;for(let b of K.results){let I={kind:"source_chunk",id:b.chunk_id,title:null,text:b.text,score:0,scores:{semantic:RI(b.score)},source:{uri:b.source_uri,ref:b.source_ref,kind:b.provenance?.source_kind??null,revision:b.revision,hash:b.hash},citation:{chunk_id:b.chunk_id,start_offset:b.provenance?.start_offset??null,end_offset:b.provenance?.end_offset??null},artifact:null,provenance:b.provenance,reasons:["semantic_match"]};I.score=W1(I.scores,I.citation),j1(E,I)}}catch(K){X.push(`semantic_search_failed: ${K instanceof Error?K.message:String(K)}`)}let B=JL(Array.from(E.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:q,counts:{keyword_results:g,catalog_results:Q,semantic_results:L,merged_results:B.length},warnings:X,results:B}}async function oD(_){return x4($L(_.legacyStorePath),_,["knowledge_db_missing"])}async function x4(_,$,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=e7(J),G=$.semantic===!0||$.fake===!0||Boolean($.modelRef),X=new Map,N=UL(_,W,Math.max(j+D,10));N.forEach(({item:g,score:Q})=>j1(X,DL(g,Q)));let z=[...U];if(G)z.push("semantic_search_requires_local_catalog");let q=JL(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:q.length},warnings:z,results:q}}function jL(_,$){return`${_}_${PI("sha256").update($).digest("hex").slice(0,20)}`}function WL(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function kI(_){return Array.from(new Set(WL(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function SI(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function wI(_,$){if($.length===0)return 0;let U=SI(_),J=$.filter((D)=>U.includes(D)).length;return Number((J/$.length).toFixed(6))}function fI(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function GL(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return lG(_.status);return!1}function TI(_){if(GL(_.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 CI(_){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 ZI(_){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 vI(_,$){let U={base_score:_.score,exact_score:wI(_,$),citation_score:CI(_),freshness_score:TI(_),authority_score:ZI(_)},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 XL(_,$){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 yI(_){return{id:jL("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:XL(_,500),provenance:_.provenance}}function hI(_,$,U){let J=XL(_,U);if(!J)return null;return{id:jL("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:J,score:_.score}}function pD(_){return _.map(()=>"?").join(", ")}function xI(_,$){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 FROM citations WHERE chunk_id IN (${pD(U)}) ORDER BY created_at DESC @@ -740,30 +740,30 @@ COMMIT; LIMIT 50`).all(...J)),j.push(...W.query(`SELECT from_page_id, to_page_id, label FROM wiki_backlinks WHERE from_page_id IN (${pD(J)}) OR to_page_id IN (${pD(J)}) - LIMIT 50`).all(...J,...J))}finally{W.close()}return{citations:D,backlinks:j}}function G1(_,$={}){let U=Math.max(200,Math.min($.contextChars??1200,4000)),J=MI(_.query),D=[..._.warnings],j=new Set,W=new Set,X=_.results.filter((L)=>{if(!wI(L.provenance))return D.push(`permission_filtered: ${L.kind}:${L.id}`),j.add("Dropped a result because provenance was not read-only."),!1;if(Wq(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)=>CI(L,J)).sort((L,E)=>E.score-L.score||L.id.localeCompare(E.id)).slice(0,_.limit),N=X.map(ZI),z=X.map((L,E)=>vI(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:jq(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:D,search_counts:_.counts,results:X,citations:N,excerpts:z,graph:$.dbPath?yI($.dbPath,X):{citations:[],backlinks:[]},notes:{permissions:Array.from(j),freshness:Array.from(W)}}}async function X1(_){let $=await lD(_);return G1($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function tD(_,$){let U=await x4(_,$);return G1(U,{contextChars:$.contextChars})}function N1(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function GX(_){return`C${_+1}`}function Nq(_,$){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`[${GX(D)}] ${J.text} (${W})`})].join(` -`)}function Oq(_,$){let U=$.citations.map((D,j)=>({id:GX(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:GX(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: + LIMIT 50`).all(...J,...J))}finally{W.close()}return{citations:D,backlinks:j}}function G1(_,$={}){let U=Math.max(200,Math.min($.contextChars??1200,4000)),J=kI(_.query),D=[..._.warnings],j=new Set,W=new Set,X=_.results.filter((q)=>{if(!fI(q.provenance))return D.push(`permission_filtered: ${q.kind}:${q.id}`),j.add("Dropped a result because provenance was not read-only."),!1;if(GL(q.provenance))return D.push(`stale_filtered: ${q.kind}:${q.id}`),W.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((q)=>vI(q,J)).sort((q,g)=>g.score-q.score||q.id.localeCompare(g.id)).slice(0,_.limit),N=X.map(yI),z=X.map((q,g)=>hI(q,N[g],U)).filter((q)=>Boolean(q));for(let q of X){if(q.provenance&&"read_only"in q.provenance&&q.provenance.read_only)j.add("All source-backed excerpts are read-only and citation-required.");if(q.rerank.freshness_score>=0.85)W.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:_.query,normalized_query:WL(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:D,search_counts:_.counts,results:X,citations:N,excerpts:z,graph:$.dbPath?xI($.dbPath,X):{citations:[],backlinks:[]},notes:{permissions:Array.from(j),freshness:Array.from(W)}}}async function X1(_){let $=await lD(_);return G1($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function tD(_,$){let U=await x4(_,$);return G1(U,{contextChars:$.contextChars})}function N1(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function GX(_){return`C${_+1}`}function OL(_,$){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`[${GX(D)}] ${J.text} (${W})`})].join(` +`)}function YL(_,$){let U=$.citations.map((D,j)=>({id:GX(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:GX(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: ${JSON.stringify(U,null,2)}`].join(` -`)}function Yq(_,$){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 hI(_,$){let U=x(_);try{U.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) +`)}function zL(_,$){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 rI(_,$){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 WX(_,$){let U=x(_);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${XX()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{U.close()}}function Xq(_,$){let U=x(_);try{U.run(`UPDATE runs + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${XX()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{U.close()}}function NL(_,$){let U=x(_);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 xI(_,$,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 zq(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let U=(_.now??new Date).toISOString(),J=`run_${XX()}`,D=h$(_.modelRef??"default",_.config),j=c_(D);o(_.dbPath),hI(_.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 X1({...z,query:$});WX(_.dbPath,{runId:J,level:"info",event:"context_retrieved",metadata:{results:L.results.length,citations:L.citations.length,warnings:L.warnings},now:U});let E=Nq($,L),Q=!1,q="local",g="context-draft",R={input_tokens:N1($)+L.excerpts.reduce((b,I)=>b+N1(I.text),0),output_tokens:N1(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 uI(_,$,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 QL(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let U=(_.now??new Date).toISOString(),J=`run_${XX()}`,D=x$(_.modelRef??"default",_.config),j=l_(D);o(_.dbPath),rI(_.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}=_,q=await X1({...z,query:$});WX(_.dbPath,{runId:J,level:"info",event:"context_retrieved",metadata:{results:q.results.length,citations:q.citations.length,warnings:q.warnings},now:U});let g=OL($,q),Q=!1,L="local",E="context-draft",R={input_tokens:N1($)+q.excerpts.reduce((b,I)=>b+N1(I.text),0),output_tokens:N1(g),cost_usd:0},H=[...q.warnings];if(_.generate)try{if(_.fake)Q=!0,L=j.provider,E=j.model,g=`Fake generated answer for: ${$} -${E}`;else{let{generateText:b}=await import("ai"),I=await kU(D,{config:_.config,env:_.env}),C=await b({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:Oq($,L)});Q=!0,q=j.provider,g=j.model,E=C.text;let f=y4({provider:q,model:g,usage:C.usage,providerMetadata:C.providerMetadata});R={input_tokens:f.input_tokens,output_tokens:f.output_tokens,cost_usd:f.cost_usd}}}catch(b){throw WX(_.dbPath,{runId:J,level:"error",event:"answer_generation_failed",metadata:{message:b instanceof Error?b.message:String(b)},now:U}),Xq(_.dbPath,{runId:J,status:"failed",provider:j.provider,model:j.model,metadata:{generated:!1,error:b instanceof Error?b.message:String(b)},now:U}),b}let B=Yq($,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 WX(_.dbPath,{runId:J,level:"info",event:Q?"answer_generated":"answer_drafted",metadata:{provider:q,model:g,proposed_updates:B.length,durable_writes_performed:!1},now:U}),xI(_.dbPath,J,R,q,g,U,{generated:Q,citations:L.citations.length}),Xq(_.dbPath,{runId:J,status:Q?"completed":"dry_run",provider:q,model:g,metadata:{generated:Q,citations:L.citations.length,proposed_updates:B.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:B,write_policy:K,usage:R,warnings:H}}async function Qq(_,$){let U=$.prompt.trim();if(!U)throw Error("Knowledge prompt is required.");let J=`run_${XX()}`,D=h$($.modelRef??"default",$.config),j=c_(D),{prompt:W,generate:G,approveWrite:X,now:N,...z}=$,L=await tD(_,{...z,query:U}),E=Nq(U,L),Q=!1,q="local",g="context-draft",R={input_tokens:N1(U)+L.excerpts.reduce((b,I)=>b+N1(I.text),0),output_tokens:N1(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} +${g}`;else{let{generateText:b}=await import("ai"),I=await kU(D,{config:_.config,env:_.env}),T=await b({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:YL($,q)});Q=!0,L=j.provider,E=j.model,g=T.text;let P=y4({provider:L,model:E,usage:T.usage,providerMetadata:T.providerMetadata});R={input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd}}}catch(b){throw WX(_.dbPath,{runId:J,level:"error",event:"answer_generation_failed",metadata:{message:b instanceof Error?b.message:String(b)},now:U}),NL(_.dbPath,{runId:J,status:"failed",provider:j.provider,model:j.model,metadata:{generated:!1,error:b instanceof Error?b.message:String(b)},now:U}),b}let B=zL($,q),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 WX(_.dbPath,{runId:J,level:"info",event:Q?"answer_generated":"answer_drafted",metadata:{provider:L,model:E,proposed_updates:B.length,durable_writes_performed:!1},now:U}),uI(_.dbPath,J,R,L,E,U,{generated:Q,citations:q.citations.length}),NL(_.dbPath,{runId:J,status:Q?"completed":"dry_run",provider:L,model:E,metadata:{generated:Q,citations:q.citations.length,proposed_updates:B.length,approve_write:_.approveWrite===!0},now:U}),{run_id:J,prompt:$,generated:Q,provider:L,model:E,answer:g,context:q,citations:q.citations,proposed_wiki_updates:B,write_policy:K,usage:R,warnings:H}}async function LL(_,$){let U=$.prompt.trim();if(!U)throw Error("Knowledge prompt is required.");let J=`run_${XX()}`,D=x$($.modelRef??"default",$.config),j=l_(D),{prompt:W,generate:G,approveWrite:X,now:N,...z}=$,q=await tD(_,{...z,query:U}),g=OL(U,q),Q=!1,L="local",E="context-draft",R={input_tokens:N1(U)+q.excerpts.reduce((b,I)=>b+N1(I.text),0),output_tokens:N1(g),cost_usd:0},H=[...q.warnings];if($.generate)if($.fake)Q=!0,L=j.provider,E=j.model,g=`Fake generated answer for: ${U} -${E}`;else{let{generateText:b}=await import("ai"),I=await kU(D,{config:$.config,env:$.env}),C=await b({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:Oq(U,L)});Q=!0,q=j.provider,g=j.model,E=C.text;let f=y4({provider:q,model:g,usage:C.usage,providerMetadata:C.providerMetadata});R={input_tokens:f.input_tokens,output_tokens:f.output_tokens,cost_usd:f.cost_usd}}let B=Yq(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:B,write_policy:K,usage:R,warnings:H}}import{createHash as rI}from"crypto";var uI=1200,nI=6,mI=12000,dI=50,qq=800;function Y1(_,$,U=16){return`${_}_${rI("sha256").update($).digest("hex").slice(0,U)}`}function OX(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function YX(_){return OX(_).toLowerCase()}function cI(_){return Array.from(new Set(YX(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function M6(_,$){let U=OX(_);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 Lq(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function zX(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function NX(_){return Object.keys(_).filter(($)=>!zX($)).sort().slice(0,12)}function iI(_,$){for(let U of $){if(zX(U))continue;let J=_[U];if(typeof J==="string"&&J.trim())return J.trim()}return null}function wU(_,$){if(!_)return null;let U=N$(_,$).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(zX(j))J.searchParams.delete(j);return J.toString()}catch{return U}}function j6(_,$,U){return wU(iI(_,$),U)}function aD(_){let $=[];for(let U of NX(_).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 lI(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function gq(_){return lI(JSON.stringify(_))}function oI(_){if(!Number.isFinite(_??NaN))return uI;let $=Math.floor(_);if($<qq)throw Error(`--max-tokens must be at least ${qq} for the stable context-pack schema.`);return Math.min($,mI)}function pI(_,$){let U=Number.isFinite(_??NaN)?_:$;if(!Number.isFinite(U??NaN))return nI;return Math.max(1,Math.min(Math.floor(U),dI))}function Bq(_,$){if(!_)return{cutoff:null,warning:null};let U=_.trim(),J=/^(\d+)\s*([mhdw])$/i.exec(U);if(J){let j=Number(J[1]),W=J[2].toLowerCase(),G=W==="m"?60000:W==="h"?3600000:W==="d"?86400000:604800000;return{cutoff:new Date($.getTime()-j*G).toISOString(),warning:null}}let D=new Date(U);if(!Number.isNaN(D.getTime()))return{cutoff:D.toISOString(),warning:null};return{cutoff:null,warning:`invalid_since_ignored: ${U}`}}function O1(_,$,U){let J=N$(_,$);return{text:M6(J.text,U),redactions:J.findings.length}}function Eq(_,$){if($.length===0)return 0.5;let U=YX(_),J=$.filter((D)=>U.includes(D)).length;return Number((J/$.length).toFixed(6))}function tI(_){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 aI(_,$,U){let J=wU($.source_ref,U),D=wU($.source_uri,U),j=wU($.artifact_uri,U),W=wU($.artifact_path,U),G=J??D??W??j??$.id,X=$.quote?O1($.quote,U,_<3?220:140):null;return{citation:{id:Y1("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 eI(_,$){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 X1({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,R=0;q.citations.forEach((b,I)=>{let C=aI(I,b,_.safetyPolicy);R+=C.redactions,g.set(b.id,C.citation)});let H=q.excerpts.slice(0,Math.max($*2,$)).map((b)=>{let I=q.results.find((M_)=>M_.id===b.result_id),C=b.citation_id?g.get(b.citation_id):null,f=O1(b.text,_.safetyPolicy,520);R+=f.redactions;let m=I?.title??C?.ref??b.kind;return{id:Y1("ev",`${b.kind}\x00${b.result_id}\x00${b.citation_id??""}`,14),kind:b.kind,title:M6(m,100),text_preview:f.text,score:Number(b.score.toFixed(6)),citation_ids:C?[C.id]:[],provenance:{source:"search",record_ref:`${b.kind}:${b.result_id}`,created_at:q.created_at,updated_at:null,metadata_keys:[]}}}),B=new Set(H.flatMap((b)=>b.citation_ids));return{citations:Array.from(g.values()).filter((b)=>B.has(b.id)),evidence:H,duplicateCandidates:[],redactions:R,warnings:q.warnings,available:q.excerpts.length}}function sI(_,$,U){if($)return _.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at +${g}`;else{let{generateText:b}=await import("ai"),I=await kU(D,{config:$.config,env:$.env}),T=await b({model:I,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:YL(U,q)});Q=!0,L=j.provider,E=j.model,g=T.text;let P=y4({provider:L,model:E,usage:T.usage,providerMetadata:T.providerMetadata});R={input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd}}let B=zL(U,q),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:L,model:E,answer:g,context:q,citations:q.citations,proposed_wiki_updates:B,write_policy:K,usage:R,warnings:H}}import{createHash as nI}from"crypto";var mI=1200,dI=6,cI=12000,iI=50,qL=800;function Y1(_,$,U=16){return`${_}_${nI("sha256").update($).digest("hex").slice(0,U)}`}function OX(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function YX(_){return OX(_).toLowerCase()}function lI(_){return Array.from(new Set(YX(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function M6(_,$){let U=OX(_);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 EL(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function zX(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function NX(_){return Object.keys(_).filter(($)=>!zX($)).sort().slice(0,12)}function oI(_,$){for(let U of $){if(zX(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(zX(j))J.searchParams.delete(j);return J.toString()}catch{return U}}function W6(_,$,U){return SU(oI(_,$),U)}function aD(_){let $=[];for(let U of NX(_).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 pI(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function gL(_){return pI(JSON.stringify(_))}function tI(_){if(!Number.isFinite(_??NaN))return mI;let $=Math.floor(_);if($<qL)throw Error(`--max-tokens must be at least ${qL} for the stable context-pack schema.`);return Math.min($,cI)}function aI(_,$){let U=Number.isFinite(_??NaN)?_:$;if(!Number.isFinite(U??NaN))return dI;return Math.max(1,Math.min(Math.floor(U),iI))}function HL(_,$){if(!_)return{cutoff:null,warning:null};let U=_.trim(),J=/^(\d+)\s*([mhdw])$/i.exec(U);if(J){let j=Number(J[1]),W=J[2].toLowerCase(),G=W==="m"?60000:W==="h"?3600000:W==="d"?86400000:604800000;return{cutoff:new Date($.getTime()-j*G).toISOString(),warning:null}}let D=new Date(U);if(!Number.isNaN(D.getTime()))return{cutoff:D.toISOString(),warning:null};return{cutoff:null,warning:`invalid_since_ignored: ${U}`}}function O1(_,$,U){let J=O$(_,$);return{text:M6(J.text,U),redactions:J.findings.length}}function RL(_,$){if($.length===0)return 0.5;let U=YX(_),J=$.filter((D)=>U.includes(D)).length;return Number((J/$.length).toFixed(6))}function eI(_){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 sI(_,$,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?O1($.quote,U,_<3?220:140):null;return{citation:{id:Y1("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 _F(_,$){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:q,maxParallelCalls:g,legacyStorePath:Q}=_,L=await X1({dbPath:D,config:J,legacyStorePath:Q,query:U,limit:Math.max($,j??$),semantic:W,modelRef:G,dimensions:X,fake:N,env:z,batchSize:q,maxParallelCalls:g,contextChars:Math.min(_.contextChars??700,1200)}),E=new Map,R=0;L.citations.forEach((b,I)=>{let T=sI(I,b,_.safetyPolicy);R+=T.redactions,E.set(b.id,T.citation)});let H=L.excerpts.slice(0,Math.max($*2,$)).map((b)=>{let I=L.results.find((f_)=>f_.id===b.result_id),T=b.citation_id?E.get(b.citation_id):null,P=O1(b.text,_.safetyPolicy,520);R+=P.redactions;let n=I?.title??T?.ref??b.kind;return{id:Y1("ev",`${b.kind}\x00${b.result_id}\x00${b.citation_id??""}`,14),kind:b.kind,title:M6(n,100),text_preview:P.text,score:Number(b.score.toFixed(6)),citation_ids:T?[T.id]:[],provenance:{source:"search",record_ref:`${b.kind}:${b.result_id}`,created_at:L.created_at,updated_at:null,metadata_keys:[]}}}),B=new Set(H.flatMap((b)=>b.citation_ids));return{citations:Array.from(E.values()).filter((b)=>B.has(b.id)),evidence:H,duplicateCandidates:[],redactions:R,warnings:L.warnings,available:L.excerpts.length}}function $F(_,$,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 _F(_,$,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 UF(_,$,U){if($.length===0)return[];let J=$.map(()=>"?").join(", ");return _.query(`SELECT id, run_id, level, event, metadata_json, created_at FROM run_events WHERE run_id IN (${J}) ORDER BY created_at DESC - LIMIT ?`).all(...$,U)}function $F(_,$){return`${_.type} ${_.metadata_json} ${$.map((J)=>`${J.event} ${J.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function UF(_,$,U){let J=j6($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=j6($,["artifact_uri"],U),j=j6($,["artifact_path","artifact_key"],U),W=J??D??j??`knowledge://project/runs/${_.id}`,G=_.prompt?O1(_.prompt,U,180).text:null;return{id:Y1("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:j6($,["revision"],U),hash:j6($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:G}}function DF(_,$,U){let J=j6($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=j6($,["artifact_uri"],U),j=j6($,["artifact_path","artifact_key"],U),W=J??D??j??`knowledge://project/runs/${_.run_id}`,G=O1(_.event,U,160).text;return{id:Y1("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:j6($,["revision"],U),hash:j6($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:G}}function Hq(_){let $=new Map;for(let U of _){let J=YX(`${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:Y1("dup",U,12),reason:"normalized_text_match",evidence_ids:J,confidence:J.length>2?"high":"medium"}))}async function JF(_,$,U){let J=_.source==="loops"?"loops":"runs",D=(_.topic??_.query??"").trim(),j=cI(D),W=Bq(_.since,U),G=W.warning?[W.warning]:[];o(_.dbPath);let X=x(_.dbPath);try{let N=sI(X,W.cutoff,Math.max($*8,40)),z=_F(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)=>$F(H,L.get(H.id)??[])):N).map((H)=>{let B=Lq(H.metadata_json),K=`${H.type} ${H.status} ${H.prompt??""} ${aD(B)} ${(L.get(H.id)??[]).map((b)=>`${b.event} ${b.metadata_json}`).join(" ")}`;return{row:H,metadata:B,score:Eq(K,j),text:K}}).filter((H)=>j.length===0||H.score>0).sort((H,B)=>B.score-H.score||B.row.updated_at.localeCompare(H.row.updated_at)||H.row.id.localeCompare(B.row.id)),q=[],g=[],R=0;for(let H of Q.slice(0,Math.max($*2,$))){let B=UF(H.row,H.metadata,_.safetyPolicy);q.push(B);let K=aD(H.metadata),b=[H.row.prompt,K].filter(Boolean).join(" | ")||`${H.row.type} ${H.row.status}`,I=O1(b,_.safetyPolicy,420);R+=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:[B.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:NX(H.metadata)}});let C=(L.get(H.row.id)??[]).map((f)=>{let m=Lq(f.metadata_json),M_=`${f.event} ${aD(m)} ${f.metadata_json}`;return{event:f,metadata:m,score:Eq(M_,j),text:M_}}).filter((f)=>j.length===0||f.score>0).sort((f,m)=>m.score-f.score||m.event.created_at.localeCompare(f.event.created_at)||f.event.id.localeCompare(m.event.id)).slice(0,2);for(let f of C){let m=DF(f.event,f.metadata,_.safetyPolicy);q.push(m);let M_=O1(`${f.event}: ${aD(f.metadata)}`,_.safetyPolicy,320);R+=M_.redactions,g.push({id:`event:${f.event.id}`,kind:`run_event:${f.event.level}`,title:M6(f.event.event,100),text_preview:M_.text,score:f.score,citation_ids:[m.id],provenance:{source:J,record_ref:`knowledge://project/runs/${f.event.run_id}`,created_at:f.event.created_at,updated_at:null,metadata_keys:NX(f.metadata)}})}}return{citations:q,evidence:g,duplicateCandidates:_.dedupe?Hq(g):[],redactions:R,warnings:G,available:Q.length}}finally{X.close()}}function jF(_){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 Aq(_){let $=new Set(_.evidence.flatMap((U)=>U.citation_ids));_.citations=_.citations.filter((U)=>$.has(U.id))}function Rq(_){_.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 WF(_){let $=_.budgets.max_tokens,U=new Set(_.warnings);while(gq(_)>$){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),Rq(_),U.add("evidence_truncated_for_token_budget"),Aq(_);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,Rq(_),_.budgets.estimated_tokens=gq(_),_.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 bq(_){let $=_.now??new Date,U=_.source??"search",J=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=oI(_.maxTokens),j=pI(_.maxItems,_.limit),W=OX(_.query??_.topic??"");if(J==="proposal"&&U!=="search"&&!W)throw Error("Proposal context requires --topic <text> or a positional topic.");if(U!=="search")o(_.dbPath);let G=Bq(_.since,$).cutoff??_.since??"",X=U==="search"?await eI(_,j):await JF(_,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,R)=>R.findIndex((H)=>H.id===q.id)===g).sort((q,g)=>q.id.localeCompare(g.id)),L=_.dedupe?Hq(N):X.duplicateCandidates.filter((q)=>q.evidence_ids.every((g)=>N.some((R)=>R.id===g))),E=jF({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:Y1("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:tI(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 Aq(Q),WF(Q)}import{randomUUID as ig}from"crypto";import{createHash as GF,randomUUID as XF}from"crypto";import{existsSync as NF,readFileSync as OF}from"fs";import{hostname as Pq}from"os";import{fileURLToPath as kq}from"url";import{extname as YF,relative as wq,resolve as Vq,sep as zF}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,ZU={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"]},vU=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function W6(_=new Date){return _.toISOString()}function RX(_){return`${_}_${Date.now().toString(36)}_${XF().slice(0,8)}`}function Sq(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??Pq()}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 fU(_){return`sha256:${GF("sha256").update(_).digest("hex")}`}function eD(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function UJ(_,$){try{return JSON.parse(_)}catch{return $}}function R$(_){return`"${_.replace(/"/g,'""')}"`}function QF(_){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 fq(_,$){return $.filter((U)=>M$(_,U))}function M$(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get($);return Boolean(U)}function qF(_,$){let U=_.query(`PRAGMA table_info(${R$($)})`).all();return new Set(U.map((J)=>J.name))}function LF(_,$,U){let J=qF(_,$);return U.filter((D)=>J.has(D))}function Tq(_){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 u4(_,$){return ZU[_].map((J)=>`${J}=${JSON.stringify($[J]??null)}`).join("&")}var gF=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function TU(_,$=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)=>TU(J,$+1));let U={};for(let[J,D]of Object.entries(_)){if(gF.has(J.toLowerCase()))continue;U[J]=TU(D,$+1)}return U}function SU(_){if(!_)return null;return TU(_)}function BX(_){return fU(Q1(_))}function EF(_,$){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 r4(_,$=new Map){return BX(EF(_,$))}function Cq(_,$){if(!M$(_,$))return[];return _.query(`SELECT * FROM ${R$($)} ORDER BY rowid ASC`).all()}function $J(_,$,U=new Map){return BX($.map((J)=>({key:u4(_,J),hash:r4(J,U)})).sort((J,D)=>J.key.localeCompare(D.key)))}function CU(_,$,U){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,U)??null}function RF(_){if(!M$(_,"knowledge_sync_table_clocks"))return[];return _.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function DJ(_,$){let U=$.now??W6(),D=CU(_,$.table,$.machineId)?.created_at??U;_.query(` + LIMIT ?`).all(...$,U)}function DF(_,$){return`${_.type} ${_.metadata_json} ${$.map((J)=>`${J.event} ${J.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function JF(_,$,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?O1(_.prompt,U,180).text:null;return{id:Y1("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 jF(_,$,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=O1(_.event,U,160).text;return{id:Y1("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 AL(_){let $=new Map;for(let U of _){let J=YX(`${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:Y1("dup",U,12),reason:"normalized_text_match",evidence_ids:J,confidence:J.length>2?"high":"medium"}))}async function WF(_,$,U){let J=_.source==="loops"?"loops":"runs",D=(_.topic??_.query??"").trim(),j=lI(D),W=HL(_.since,U),G=W.warning?[W.warning]:[];o(_.dbPath);let X=x(_.dbPath);try{let N=$F(X,W.cutoff,Math.max($*8,40)),z=UF(X,N.map((H)=>H.id),Math.max($*12,80)),q=new Map;for(let H of z)q.set(H.run_id,[...q.get(H.run_id)??[],H]);let Q=(J==="loops"?N.filter((H)=>DF(H,q.get(H.id)??[])):N).map((H)=>{let B=EL(H.metadata_json),K=`${H.type} ${H.status} ${H.prompt??""} ${aD(B)} ${(q.get(H.id)??[]).map((b)=>`${b.event} ${b.metadata_json}`).join(" ")}`;return{row:H,metadata:B,score:RL(K,j),text:K}}).filter((H)=>j.length===0||H.score>0).sort((H,B)=>B.score-H.score||B.row.updated_at.localeCompare(H.row.updated_at)||H.row.id.localeCompare(B.row.id)),L=[],E=[],R=0;for(let H of Q.slice(0,Math.max($*2,$))){let B=JF(H.row,H.metadata,_.safetyPolicy);L.push(B);let K=aD(H.metadata),b=[H.row.prompt,K].filter(Boolean).join(" | ")||`${H.row.type} ${H.row.status}`,I=O1(b,_.safetyPolicy,420);R+=I.redactions,E.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:[B.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:NX(H.metadata)}});let T=(q.get(H.row.id)??[]).map((P)=>{let n=EL(P.metadata_json),f_=`${P.event} ${aD(n)} ${P.metadata_json}`;return{event:P,metadata:n,score:RL(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=jF(P.event,P.metadata,_.safetyPolicy);L.push(n);let f_=O1(`${P.event}: ${aD(P.metadata)}`,_.safetyPolicy,320);R+=f_.redactions,E.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:NX(P.metadata)}})}}return{citations:L,evidence:E,duplicateCandidates:_.dedupe?AL(E):[],redactions:R,warnings:G,available:Q.length}}finally{X.close()}}function GF(_){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 bL(_){let $=new Set(_.evidence.flatMap((U)=>U.citation_ids));_.citations=_.citations.filter((U)=>$.has(U.id))}function BL(_){_.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 XF(_){let $=_.budgets.max_tokens,U=new Set(_.warnings);while(gL(_)>$){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),BL(_),U.add("evidence_truncated_for_token_budget"),bL(_);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,BL(_),_.budgets.estimated_tokens=gL(_),_.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 VL(_){let $=_.now??new Date,U=_.source??"search",J=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=tI(_.maxTokens),j=aI(_.maxItems,_.limit),W=OX(_.query??_.topic??"");if(J==="proposal"&&U!=="search"&&!W)throw Error("Proposal context requires --topic <text> or a positional topic.");if(U!=="search")o(_.dbPath);let G=HL(_.since,$).cutoff??_.since??"",X=U==="search"?await _F(_,j):await WF(_,j,$),N=X.evidence.sort((L,E)=>E.score-L.score||L.id.localeCompare(E.id)).slice(0,j),z=X.citations.filter((L,E,R)=>R.findIndex((H)=>H.id===L.id)===E).sort((L,E)=>L.id.localeCompare(E.id)),q=_.dedupe?AL(N):X.duplicateCandidates.filter((L)=>L.evidence_ids.every((E)=>N.some((R)=>R.id===E))),g=GF({source:U,purpose:J,query:W,evidence:N,duplicates:q}),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:Y1("ctx",[U,J,W,G,_.dedupe===!0?"dedupe":"no-dedupe",_.semantic===!0?"semantic":"keyword",_.modelRef??"",_.limit??"",D,j,N.map((L)=>L.id).join(","),z.map((L)=>L.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:eI(U)},citations:z,evidence:N,duplicate_candidates:q,outline:g,warnings:X.warnings,message:`${N.length} bounded evidence item(s), estimated under ${D} token(s)`};return bL(Q),XF(Q)}import{randomUUID as lE}from"crypto";import{createHash as NF,randomUUID as OF}from"crypto";import{existsSync as YF,readFileSync as zF}from"fs";import{hostname as kL}from"os";import{fileURLToPath as SL}from"url";import{extname as QF,relative as wL,resolve as KL,sep as LF}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,ZU={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"]},vU=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function G6(_=new Date){return _.toISOString()}function RX(_){return`${_}_${Date.now().toString(36)}_${OF().slice(0,8)}`}function fL(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??kL()}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 fU(_){return`sha256:${NF("sha256").update(_).digest("hex")}`}function eD(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function UJ(_,$){try{return JSON.parse(_)}catch{return $}}function B$(_){return`"${_.replace(/"/g,'""')}"`}function qF(_){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 TL(_,$){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 EF(_,$){let U=_.query(`PRAGMA table_info(${B$($)})`).all();return new Set(U.map((J)=>J.name))}function gF(_,$,U){let J=EF(_,$);return U.filter((D)=>J.has(D))}function CL(_){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 u4(_,$){return ZU[_].map((J)=>`${J}=${JSON.stringify($[J]??null)}`).join("&")}var RF=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function TU(_,$=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)=>TU(J,$+1));let U={};for(let[J,D]of Object.entries(_)){if(RF.has(J.toLowerCase()))continue;U[J]=TU(D,$+1)}return U}function wU(_){if(!_)return null;return TU(_)}function BX(_){return fU(Q1(_))}function BF(_,$){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 r4(_,$=new Map){return BX(BF(_,$))}function ZL(_,$){if(!P$(_,$))return[];return _.query(`SELECT * FROM ${B$($)} ORDER BY rowid ASC`).all()}function $J(_,$,U=new Map){return BX($.map((J)=>({key:u4(_,J),hash:r4(J,U)})).sort((J,D)=>J.key.localeCompare(D.key)))}function CU(_,$,U){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,U)??null}function HF(_){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 DJ(_,$){let U=$.now??G6(),D=CU(_,$.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:b}=await import("ai"),I=await kU(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=CU(_,$.table,$.machineId);if(!j)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return j}function BF(_,$){let U=CU(_,$.table,$.machineId),J=U?.high_water_hash===$.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,D=$.record?DJ(_,{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 HF(_,$,U,J,D){if($.high_water_bundle_id=U,!J)return;DJ(_,{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 Zq(_,$){return _.table_clocks?.find((U)=>U.table===$)??null}function AF(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function bF(_,$,U){if(U.length===0)return 0;let J=LF(_,$,Object.keys(U[0]));if(J.length===0)return 0;let D=ZU[$],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)=>QF(q[g])))})(U),U.length}function vq(_,$){let U=ZU[_],J=[],D=$;for(let j=0;j<U.length;j+=1){let G=`${U[j]}=`;if(!D.startsWith(G))return null;let X=D.slice(G.length),N=U[j+1],z=N?`&${N}=`:null,L=z?X.indexOf(z):-1,E=L>=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 yq(_){return ZU[_].map(($)=>`${R$($)} = ?`).join(" AND ")}function VF(_,$,U){if(!M$(_,"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??{}),D,U);let j=CU(_,$.table,$.machineId);if(!j)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return j}function AF(_,$){let U=CU(_,$.table,$.machineId),J=U?.high_water_hash===$.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,D=$.record?DJ(_,{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 bF(_,$,U,J,D){if($.high_water_bundle_id=U,!J)return;DJ(_,{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 vL(_,$){return _.table_clocks?.find((U)=>U.table===$)??null}function VF(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function KF(_,$,U){if(U.length===0)return 0;let J=gF(_,$,Object.keys(U[0]));if(J.length===0)return 0;let D=ZU[$],j=J.map(B$).join(", "),W=J.map(()=>"?").join(", "),G=D.map(B$).join(", "),X=J.filter((Q)=>!D.includes(Q)),N=D[0],z=X.length>0?X.map((Q)=>`${B$(Q)} = excluded.${B$(Q)}`).join(", "):`${B$(N)} = excluded.${B$(N)}`,q=_.query(`INSERT INTO ${B$($)} (${j}) VALUES (${W}) + ON CONFLICT (${G}) DO UPDATE SET ${z}`);return _.transaction((Q)=>{for(let L of Q)q.run(...J.map((E)=>qF(L[E])))})(U),U.length}function yL(_,$){let U=ZU[_],J=[],D=$;for(let j=0;j<U.length;j+=1){let G=`${U[j]}=`;if(!D.startsWith(G))return null;let X=D.slice(G.length),N=U[j+1],z=N?`&${N}=`:null,q=z?X.indexOf(z):-1,g=q>=0?X.slice(0,q):X;try{J.push(JSON.parse(g))}catch{return null}D=q>=0&&z?X.slice(q+1):""}return D.length===0?J:null}function hL(_){return ZU[_].map(($)=>`${B$($)} = ?`).join(" AND ")}function IF(_,$,U){if(!P$(_,"knowledge_sync_changes"))return new Map;let J=_.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 KF(_,$){if(M$(_,"chunks_fts"))_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run($);if(M$(_,"chunk_embeddings"))_.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run($);if(M$(_,"vector_index_entries"))_.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run($);if(M$(_,"citations"))_.query("DELETE FROM citations WHERE chunk_id = ?").run($)}function IF(_,$,U){let J=vq($,U);if(!J)return!1;let D=yq($),j=_.query(`SELECT * FROM ${R$($)} WHERE ${D} LIMIT 1`).get(...J);if(!j)return!1;if($==="chunks"&&typeof j.id==="string")KF(_,j.id);return _.query(`DELETE FROM ${R$($)} WHERE ${D}`).run(...J),!0}function FF(_,$){if(!M$(_,"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,$),D=new Map;for(let j of J)D.set(j.entity_id,j.next_hash);return D}function FF(_,$){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 MF(_,$,U){let J=yL($,U);if(!J)return!1;let D=hL($),j=_.query(`SELECT * FROM ${B$($)} WHERE ${D} LIMIT 1`).get(...J);if(!j)return!1;if($==="chunks"&&typeof j.id==="string")FF(_,j.id);return _.query(`DELETE FROM ${B$($)} WHERE ${D}`).run(...J),!0}function PF(_,$){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 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=UJ(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 MF(_,$,U){if($==="chunks")FF(_,U)}function PF(_,$){let U=wq(_,$);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${zF}`)}function kF(_,$){let U=UJ(_.metadata_json,{});if(typeof U.key==="string")return U.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let J=kq(_.artifact_uri),D=Vq($),j=Vq(J);if(!PF(D,j))return null;let W=wq(D,j).replace(/\\/g,"/");return W?J6(W):null}catch{return null}}var wF=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function SF(_,$){let U=_?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return $?wF.has(YF($).toLowerCase()):!1}function n4(_){let $=new Map;for(let U of _)if(U.key)$.set(U.artifact_uri,U.key);return $}function e6(_){return BX({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function JJ(_){return _.key??_.artifact_uri}function fF(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function hq(_){return Object.fromEntries(_J.map(($)=>[$,M$(_,$)?eD(_,$):0]))}function TF(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes + LIMIT 1`).get(G);j=X?.title??"",W=X?.uri??""}if(!W&&typeof U.metadata_json==="string"){let X=UJ(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 kF(_,$,U){if($==="chunks")PF(_,U)}function SF(_,$){let U=wL(_,$);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${LF}`)}function wF(_,$){let U=UJ(_.metadata_json,{});if(typeof U.key==="string")return U.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let J=SL(_.artifact_uri),D=KL($),j=KL(J);if(!SF(D,j))return null;let W=wL(D,j).replace(/\\/g,"/");return W?j6(W):null}catch{return null}}var fF=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function TF(_,$){let U=_?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return $?fF.has(QF($).toLowerCase()):!1}function n4(_){let $=new Map;for(let U of _)if(U.key)$.set(U.artifact_uri,U.key);return $}function e6(_){return BX({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function JJ(_){return _.key??_.artifact_uri}function CF(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function xL(_){return Object.fromEntries(_J.map(($)=>[$,P$(_,$)?eD(_,$):0]))}function ZF(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes FROM storage_objects - ORDER BY artifact_uri ASC`).all()}function CF(_,$){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 QX(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function ZF(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function s6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function sD(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function z1(_){if(Array.isArray(_))return`[${_.map(z1).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${z1(U)}`).join(",")}}`;return JSON.stringify(_)}function Kq(_){let{recorded_at:$,...U}=_;return U}function y_(_){return typeof _==="string"&&_.length>0?_:null}function vF(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function Iq(_){return typeof _==="boolean"?_:null}function yF(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function xq(_){let $=s6(_),U=y_($.observed_at),J=y_($.source_authority);if(!U||!J)return null;return{observed_at:U,verified_at:y_($.verified_at),expires_at:y_($.expires_at),ttl_ms:vF($.ttl_ms),source_authority:J,confidence:y_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:yF($.reasons)}}function rq(_,$){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 hF(_,$){return y_($.source)===_.source&&y_($.target)===_.target&&y_($.route)===_.route&&y_($.target_kind)===_.targetKind&&y_($.confidence)===_.confidence}function xF(_,$){return y_($.source)===_.source&&y_($.requested_machine_id)===_.requested_machine_id&&y_($.machine_id)===_.machine_id&&y_($.project_id)===_.project_id&&y_($.repo_name)===_.repo_name&&y_($.project_root)===_.project_root&&y_($.project_root_source)===_.project_root_source&&y_($.workspace_root)===_.workspace_root&&y_($.workspace_root_source)===_.workspace_root_source&&y_($.open_files_root)===_.open_files_root&&y_($.open_files_root_source)===_.open_files_root_source&&y_($.trust_status)===_.trust_status&&y_($.auth_status)===_.auth_status&&Iq($.current)===_.current&&Iq($.primary)===_.primary}function rF(_,$,U){if(!_)return null;let J=xq($.cacheability);if(J&&rq(J,U)&&hF(_,$))return{..._,cacheability:J};return _}function uF(_,$,U){if(!_)return null;let J=xq($.cacheability);if(J&&rq(J,U)&&xF(_,$))return{..._,cacheability:J};return _}function nF(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??Pq()}function mF(_,$){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 Fq(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function dF(_,$,U){let J=s6($.resolver_evidence),D=_.route?sD({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?sD({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 sD({...J,recorded_at:U,route:D,workspace:j})}function uq(_,$){o(_);let U=x(_);try{let J=nF($),D=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(J)??null,j=W6($.now),W=QX(D?.capabilities_json),G=QX(D?.metadata_json),X=s6(W.resolver),N=s6(G.resolver_evidence),z=s6(N.route),L=s6(N.workspace),E=rF($.route?.source==="registry"?null:$.route??null,z,j),Q=uF($.workspace?.source==="registry"?null:$.workspace??null,L,j),q={...$,route:E,workspace:Q},g={...W,resolver:sD({...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)},R=dF(q,G,j);if(D){let B=N;if(D.workspace_home===(Q?.project_root??D.workspace_home??null)&&D.tailscale_dns===Fq(D,E)&&D.ssh_target===(E?.target??D.ssh_target??null)&&z1(QX(D.capabilities_json))===z1(g)&&z1(Kq(B))===z1(Kq(R)))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:Fq(D,E),tailscale_ips_json:JSON.stringify(ZF(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:mF(q,G),resolver_evidence:R}),created_at:D?.created_at??j,updated_at:j};return nq(U,H),H}finally{U.close()}}function nq(_,$){_.query(` + ORDER BY artifact_uri ASC`).all()}function vF(_,$){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 QX(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function yF(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function s6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function sD(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function z1(_){if(Array.isArray(_))return`[${_.map(z1).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${z1(U)}`).join(",")}}`;return JSON.stringify(_)}function IL(_){let{recorded_at:$,...U}=_;return U}function h_(_){return typeof _==="string"&&_.length>0?_:null}function hF(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function FL(_){return typeof _==="boolean"?_:null}function xF(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function rL(_){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:hF($.ttl_ms),source_authority:J,confidence:h_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:xF($.reasons)}}function uL(_,$){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 rF(_,$){return h_($.source)===_.source&&h_($.target)===_.target&&h_($.route)===_.route&&h_($.target_kind)===_.targetKind&&h_($.confidence)===_.confidence}function uF(_,$){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&&FL($.current)===_.current&&FL($.primary)===_.primary}function nF(_,$,U){if(!_)return null;let J=rL($.cacheability);if(J&&uL(J,U)&&rF(_,$))return{..._,cacheability:J};return _}function mF(_,$,U){if(!_)return null;let J=rL($.cacheability);if(J&&uL(J,U)&&uF(_,$))return{..._,cacheability:J};return _}function dF(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??kL()}function cF(_,$){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 ML(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function iF(_,$,U){let J=s6($.resolver_evidence),D=_.route?sD({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?sD({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 sD({...J,recorded_at:U,route:D,workspace:j})}function nL(_,$){o(_);let U=x(_);try{let J=dF($),D=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(J)??null,j=G6($.now),W=QX(D?.capabilities_json),G=QX(D?.metadata_json),X=s6(W.resolver),N=s6(G.resolver_evidence),z=s6(N.route),q=s6(N.workspace),g=nF($.route?.source==="registry"?null:$.route??null,z,j),Q=mF($.workspace?.source==="registry"?null:$.workspace??null,q,j),L={...$,route:g,workspace:Q},E={...W,resolver:sD({...X,route_source:g?.source??X.route_source,route_kind:g?.route??X.route_kind,route_target_kind:g?.targetKind??X.route_target_kind,route_confidence:g?.confidence??X.route_confidence,route_cacheable:g?.cacheability?.cacheable??X.route_cacheable,route_stale:g?.cacheability?.stale??X.route_stale,route_expires_at:g?.cacheability?.expires_at??X.route_expires_at,route_observed_at:g?.cacheability?.observed_at??X.route_observed_at,route_source_authority:g?.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(g?.target??D?.ssh_target),workspace_fallback:Boolean(Q?.project_root??D?.workspace_home)},R=iF(L,G,j);if(D){let B=N;if(D.workspace_home===(Q?.project_root??D.workspace_home??null)&&D.tailscale_dns===ML(D,g)&&D.ssh_target===(g?.target??D.ssh_target??null)&&z1(QX(D.capabilities_json))===z1(E)&&z1(IL(B))===z1(IL(R)))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:ML(D,g),tailscale_ips_json:JSON.stringify(yF(D?.tailscale_ips_json)),ssh_target:g?.target??D?.ssh_target??null,last_seen_at:j,capabilities_json:JSON.stringify(E),metadata_json:JSON.stringify({...G,source:"knowledge",sources:cF(L,G),resolver_evidence:R}),created_at:D?.created_at??j,updated_at:j};return mL(U,H),H}finally{U.close()}}function mL(_,$){_.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:b}=await import("ai"),I=await kU(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 cF(_,$,U=W6()){for(let J of $.machines)nq(_,CF(J,U));return $.machines.length}function HX(_){o(_);let $=x(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function yU(_){o(_.dbPath);let $=x(_.dbPath),U=[],J=W6(_.now),D=Sq(_.machineId),j=_.recordClocks!==!1;try{let W=fq($,Tq(_.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 lF(_,$,U=G6()){for(let J of $.machines)mL(_,vF(J,U));return $.machines.length}function HX(_){o(_);let $=x(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function yU(_){o(_.dbPath);let $=x(_.dbPath),U=[],J=G6(_.now),D=fL(_.machineId),j=_.recordClocks!==!1;try{let W=TL($,CL(_.tables)),X=$.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=kF(q,_.storage.local_layout.directories.artifacts),R={...q,key:g};if(_.includeArtifactContent!==!1&&g&&q.artifact_uri.startsWith("file://"))try{let H=kq(q.artifact_uri);if(NF(H))if(!SF(q.content_type,g))U.push(`artifact_content_not_embedded_binary:${q.id}`);else{let B=OF(H,"utf8"),K=f_(B);if(K!==B)U.push(`artifact_content_redacted:${q.id}`);R.content_base64=Buffer.from(K,"utf8").toString("base64"),R.hash=fU(K),R.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 R=f_(R),R}),N=n4(X),z=W.filter((q)=>!vU.has(q)).map((q)=>({table:q,primary_keys:ZU[q],rows:Cq($,q).map((g)=>f_(g))})),L=z.map((q)=>BF($,{table:q.table,machineId:D,highWaterHash:$J(q.table,q.rows,N),rowCount:q.rows.length,record:j,now:J})),E=fU(Q1({source:{scope:_.scope,workspace_home:f_(_.workspaceHome),sqlite_schema_version:l_($),machine_id:D,artifact_root_uri:f_(_.storage.artifact_store.uri_prefix)},tables:z.map((q)=>({table:q.table,primary_keys:q.primary_keys,rows:q.rows.map((g)=>({key:u4(q.table,g),hash:r4(g,N)})).sort((g,R)=>g.key.localeCompare(R.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)HF($,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:f_(_.workspaceHome),sqlite_schema_version:l_($),machine_id:D,artifact_root_uri:f_(_.storage.artifact_store.uri_prefix)},table_clocks:L,tables:z,artifacts:X,warnings:f_(U),message:`${z.reduce((q,g)=>q+g.rows.length,0)} row(s), ${X.length} artifact(s) exported`}}finally{$.close()}}function iF(_,$){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 lF(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");iF(_,"knowledge sync bundle")}function AX(_,$){return _.tables.find((U)=>U.table===$)??null}function mq(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return fU(Q1({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((U)=>({key:u4($.table,U),hash:r4(U,n4(_.artifacts))})).sort((U,J)=>U.key.localeCompare(J.key))})),artifacts:_.artifacts.map(($)=>({identity:JJ($),fingerprint:e6($)})).sort(($,U)=>$.identity.localeCompare(U.identity))}))}function oF(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${mq(_).replace("sha256:","").slice(0,32)}`}function pF(_,$){return new Map($.map((U)=>[u4(_,U),U]))}function tF(_){return new Map(_.artifacts.map(($)=>[JJ($),$]))}async function aF(_){let $=tF(_.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:TU(G),remote_artifact:TU(j)}};if(gX(_.db,q)){D.skipped+=1;continue}D.conflicts+=1,J.push(q);continue}let X=Boolean(j.key&&j.content_base64),N=fF(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=UJ(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 qX(_,$){let U={..._};if(typeof U.artifact_uri==="string"&&$.has(U.artifact_uri))U.artifact_uri=$.get(U.artifact_uri);return U}function eF(_,$){let U=W6();_.query(` + ORDER BY artifact_uri ASC`).all().map((L)=>{let E=wF(L,_.storage.local_layout.directories.artifacts),R={...L,key:E};if(_.includeArtifactContent!==!1&&E&&L.artifact_uri.startsWith("file://"))try{let H=SL(L.artifact_uri);if(YF(H))if(!TF(L.content_type,E))U.push(`artifact_content_not_embedded_binary:${L.id}`);else{let B=zF(H,"utf8"),K=C_(B);if(K!==B)U.push(`artifact_content_redacted:${L.id}`);R.content_base64=Buffer.from(K,"utf8").toString("base64"),R.hash=fU(K),R.size_bytes=Buffer.byteLength(K)}else U.push(`artifact_missing:${L.artifact_uri}`)}catch(H){U.push(`artifact_read_failed:${L.artifact_uri}:${H instanceof Error?H.message:String(H)}`)}else if(_.includeArtifactContent!==!1&&L.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${L.artifact_uri}`);return R=C_(R),R}),N=n4(X),z=W.filter((L)=>!vU.has(L)).map((L)=>({table:L,primary_keys:ZU[L],rows:ZL($,L).map((E)=>C_(E))})),q=z.map((L)=>AF($,{table:L.table,machineId:D,highWaterHash:$J(L.table,L.rows,N),rowCount:L.rows.length,record:j,now:J})),g=fU(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((L)=>({table:L.table,primary_keys:L.primary_keys,rows:L.rows.map((E)=>({key:u4(L.table,E),hash:r4(E,N)})).sort((E,R)=>E.key.localeCompare(R.key))})),table_clocks:q.map((L)=>({table:L.table,machine_id:L.machine_id,logical_clock:L.logical_clock,high_water_hash:L.high_water_hash,row_count:L.row_count})),artifacts:X.map((L)=>({identity:JJ(L),fingerprint:e6(L)})).sort((L,E)=>L.identity.localeCompare(E.identity))})),Q=`syncbundle_${g.replace("sha256:","").slice(0,32)}`;for(let L of q)bF($,L,Q,j,J);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:_4,min_protocol_version:$4,bundle_id:Q,content_hash:g,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:q,tables:z,artifacts:X,warnings:C_(U),message:`${z.reduce((L,E)=>L+E.rows.length,0)} row(s), ${X.length} artifact(s) exported`}}finally{$.close()}}function oF(_,$){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 pF(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");oF(_,"knowledge sync bundle")}function AX(_,$){return _.tables.find((U)=>U.table===$)??null}function dL(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return fU(Q1({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((U)=>({key:u4($.table,U),hash:r4(U,n4(_.artifacts))})).sort((U,J)=>U.key.localeCompare(J.key))})),artifacts:_.artifacts.map(($)=>({identity:JJ($),fingerprint:e6($)})).sort(($,U)=>$.identity.localeCompare(U.identity))}))}function tF(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${dL(_).replace("sha256:","").slice(0,32)}`}function aF(_,$){return new Map($.map((U)=>[u4(_,U),U]))}function eF(_){return new Map(_.artifacts.map(($)=>[JJ($),$]))}async function sF(_){let $=eF(_.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 L={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:TU(G),remote_artifact:TU(j)}};if(EX(_.db,L)){D.skipped+=1;continue}D.conflicts+=1,J.push(L);continue}let X=Boolean(j.key&&j.content_base64),N=CF(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 q=UJ(j.metadata_json,{}),g=typeof q.artifact_modified_at==="string"?q.artifact_modified_at:void 0,Q={uri:z,key:j.key??q.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:g,metadata:{...q,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 LX(_,$){let U={..._};if(typeof U.artifact_uri==="string"&&$.has(U.artifact_uri))U.artifact_uri=$.get(U.artifact_uri);return U}function _M(_,$){let U=G6();_.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(RX("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 gX(_,$){let U=$.localHash??"",J=$.remoteHash??"";if(_.query(` + `).run(RX("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 EX(_,$){let U=$.localHash??"",J=$.remoteHash??"";if(_.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -836,7 +836,7 @@ ${E}`;else{let{generateText:b}=await import("ai"),I=await kU(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 LX(_,$){if(_.query(` + `).get($.entityKind,$.entityId,$.remoteMachineId,$.localMachineId,J,U);return Boolean(j)}function qX(_,$){if(_.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -847,13 +847,13 @@ ${E}`;else{let{generateText:b}=await import("ai"),I=await kU(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=W6();return _.query(` + `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null))return!1;let J=G6();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(RX("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 sF(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function _M(_,$){let U=$.now??W6();_.query(` + `).run(RX("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 $M(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function UM(_,$){let U=$.now??G6();_.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:b}=await import("ai"),I=await kU(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 $M(_){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(($)=>!vU.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:AX(_.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 UM(_,$){let U=n4(_.artifacts),J=n4($.artifacts);for(let D of _.tables){if(vU.has(D.table))continue;let j=AX($,D.table),G=Zq(_,D.table)?.high_water_hash??$J(D.table,D.rows,U);if($J(D.table,j?.rows??[],J)!==G)return!1}return!0}async function jJ(_){lF(_.bundle),o(_.targetDbPath);let $=[..._.bundle.warnings],U=_.dryRun===!0,J=Sq(_.localMachineId),D=_.bundle.source.machine_id??"unknown",j=oF(_.bundle),W=mq(_.bundle),G=_.targetBundle??yU({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:J,includeArtifactContent:!1,recordClocks:!U}),X=x(_.targetDbPath);try{if(!U&&sF(X,j)&&UM(_.bundle,G))return $M({bundle:_.bundle,targetBundle:G,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:j});let N=await aF({db:X,bundle:_.bundle,targetBundle:G,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:U,direction:_.direction,localMachineId:J,warnings:$}),z=n4(_.bundle.artifacts),L=n4(G.artifacts),E=[],Q=0,q=0,g=0;for(let B of _.bundle.tables){if(B.table==="storage_objects"||vU.has(B.table))continue;if(!M$(X,B.table))continue;let K=Zq(_.bundle,B.table),b=CU(X,B.table,D),I=AX(G,B.table),C=pF(B.table,I?.rows??[]),f=new Set(B.rows.map((T_)=>u4(B.table,T_))),m=VF(X,B.table,D),M_=[],Z_={table:B.table,source_rows:B.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:${B.table}`);else if(AF(b,K)){g+=1,Z_.skipped+=B.rows.length,Z_.stale_skipped=B.rows.length,$.push(`stale_table_skipped:${B.table}:${D}:${K.logical_clock}`),E.push(Z_);continue}for(let T_ of B.rows){let __=u4(B.table,T_),D$=C.get(__),d_=r4(T_,z);if(!D$){Z_.inserted+=1,M_.push(qX(T_,N.uriMap));continue}let q6=r4(D$,L);if(q6===d_){Z_.skipped+=1;continue}let S_=m.get(__);if(m.has(__)&&S_===q6){Z_.updated+=1,M_.push(qX(T_,N.uriMap));continue}let n_={entityKind:B.table,entityId:__,localMachineId:J,remoteMachineId:D,localHash:q6,remoteHash:d_,baseHash:b?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:j,incoming_logical_clock:K?.logical_clock??null,current_logical_clock:b?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:SU(D$),remote_row:SU(T_)}};if(gX(X,n_)){Z_.skipped+=1;continue}if(Z_.conflicts+=1,!U&&LX(X,n_))Q+=1}if(!U&&M_.length>0){let T_=M_.map((__)=>qX(__,N.uriMap));bF(X,B.table,T_),MF(X,B.table,T_);for(let __ of T_)eF(X,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:J,entityKind:B.table,entityId:u4(B.table,__),nextHash:r4(__,n4(_.bundle.artifacts)),logicalClock:K?.logical_clock??0,bundleId:j,row:__})}for(let[T_,__]of m){if(f.has(T_))continue;let D$=C.get(T_);if(!D$)continue;let d_=r4(D$,L);if(__&&d_!==__){let q6={entityKind:B.table,entityId:T_,localMachineId:J,remoteMachineId:D,localHash:d_,remoteHash:null,baseHash:__,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:SU(D$),remote_row:null}};if(gX(X,q6)){Z_.skipped+=1;continue}if(Z_.conflicts+=1,!U&&LX(X,q6))Q+=1;continue}if(Z_.deleted+=1,!U)IF(X,B.table,T_)}if(!U&&K)DJ(X,{table:B.table,machineId:D,logicalClock:K.logical_clock,highWaterHash:K.high_water_hash,highWaterBundleId:j,originMachineId:D,updatedByMachineId:J,lastAppliedAt:W6(),metadata:{source:"import",direction:_.direction,row_count:B.rows.length,inserted:Z_.inserted,updated:Z_.updated,deleted:Z_.deleted,skipped:Z_.skipped,conflicts:Z_.conflicts}}),q+=1;E.push(Z_)}for(let B of N.conflicts)if(!U){if(LX(X,{...B,baseHash:B.baseHash??null,metadata:{...B.metadata,bundle_id:j}}))Q+=1}let R=E.reduce((B,K)=>B+K.inserted,0),H=E.reduce((B,K)=>B+K.conflicts,0)+N.result.conflicts;if(!U)_M(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:l_(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"} ${R} row(s), copied ${N.result.copied} artifact(s), ${H} conflict(s)`}}finally{X.close()}}function dq(_){o(_.dbPath);let $=x(_.dbPath),U=W6(_.now);try{let J=_.topology?cF($,_.topology,U):0,D=hq($),j=f_(TF($)),W=_.machineId??_.topology?.local_machine_id??"unknown",G=f_(_.storage.artifact_store.uri_prefix),X=f_(_.workspaceHome),N=fU(Q1({machine_id:W,scope:_.scope,workspace_home:X,sqlite_schema_version:l_($),artifact_root_uri:G,tables:D,artifacts:j})),z={id:RX("syncsnap"),machine_id:W,scope:_.scope,workspace_home:X,sqlite_schema_version:l_($),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 DM(_){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(($)=>!vU.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:AX(_.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 JM(_,$){let U=n4(_.artifacts),J=n4($.artifacts);for(let D of _.tables){if(vU.has(D.table))continue;let j=AX($,D.table),G=vL(_,D.table)?.high_water_hash??$J(D.table,D.rows,U);if($J(D.table,j?.rows??[],J)!==G)return!1}return!0}async function jJ(_){pF(_.bundle),o(_.targetDbPath);let $=[..._.bundle.warnings],U=_.dryRun===!0,J=fL(_.localMachineId),D=_.bundle.source.machine_id??"unknown",j=tF(_.bundle),W=dL(_.bundle),G=_.targetBundle??yU({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:J,includeArtifactContent:!1,recordClocks:!U}),X=x(_.targetDbPath);try{if(!U&&$M(X,j)&&JM(_.bundle,G))return DM({bundle:_.bundle,targetBundle:G,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:j});let N=await sF({db:X,bundle:_.bundle,targetBundle:G,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:U,direction:_.direction,localMachineId:J,warnings:$}),z=n4(_.bundle.artifacts),q=n4(G.artifacts),g=[],Q=0,L=0,E=0;for(let B of _.bundle.tables){if(B.table==="storage_objects"||vU.has(B.table))continue;if(!P$(X,B.table))continue;let K=vL(_.bundle,B.table),b=CU(X,B.table,D),I=AX(G,B.table),T=aF(B.table,I?.rows??[]),P=new Set(B.rows.map((T_)=>u4(B.table,T_))),n=IF(X,B.table,D),f_=[],R_={table:B.table,source_rows:B.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:${B.table}`);else if(VF(b,K)){E+=1,R_.skipped+=B.rows.length,R_.stale_skipped=B.rows.length,$.push(`stale_table_skipped:${B.table}:${D}:${K.logical_clock}`),g.push(R_);continue}for(let T_ of B.rows){let u_=u4(B.table,T_),J_=T.get(u_),i_=r4(T_,z);if(!J_){R_.inserted+=1,f_.push(LX(T_,N.uriMap));continue}let Z_=r4(J_,q);if(Z_===i_){R_.skipped+=1;continue}let P_=n.get(u_);if(n.has(u_)&&P_===Z_){R_.updated+=1,f_.push(LX(T_,N.uriMap));continue}let n_={entityKind:B.table,entityId:u_,localMachineId:J,remoteMachineId:D,localHash:Z_,remoteHash:i_,baseHash:b?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:j,incoming_logical_clock:K?.logical_clock??null,current_logical_clock:b?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:wU(J_),remote_row:wU(T_)}};if(EX(X,n_)){R_.skipped+=1;continue}if(R_.conflicts+=1,!U&&qX(X,n_))Q+=1}if(!U&&f_.length>0){let T_=f_.map((u_)=>LX(u_,N.uriMap));KF(X,B.table,T_),kF(X,B.table,T_);for(let u_ of T_)_M(X,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:J,entityKind:B.table,entityId:u4(B.table,u_),nextHash:r4(u_,n4(_.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_=r4(J_,q);if(u_&&i_!==u_){let Z_={entityKind:B.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:wU(J_),remote_row:null}};if(EX(X,Z_)){R_.skipped+=1;continue}if(R_.conflicts+=1,!U&&qX(X,Z_))Q+=1;continue}if(R_.deleted+=1,!U)MF(X,B.table,T_)}if(!U&&K)DJ(X,{table:B.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:B.rows.length,inserted:R_.inserted,updated:R_.updated,deleted:R_.deleted,skipped:R_.skipped,conflicts:R_.conflicts}}),L+=1;g.push(R_)}for(let B of N.conflicts)if(!U){if(qX(X,{...B,baseHash:B.baseHash??null,metadata:{...B.metadata,bundle_id:j}}))Q+=1}let R=g.reduce((B,K)=>B+K.inserted,0),H=g.reduce((B,K)=>B+K.conflicts,0)+N.result.conflicts;if(!U)UM(X,{bundle:_.bundle,bundleId:j,contentHash:W,sourceMachineId:D,targetMachineId:J,direction:_.direction,status:H===0?"applied":"conflicted",tableResults:g,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:g,artifacts:N.result,conflicts_created:Q,bundle_id:j,replayed:!1,clocks:{advanced:L,stale_tables:E},warnings:$,message:`${_.dryRun?"Would import":"Imported"} ${R} row(s), copied ${N.result.copied} artifact(s), ${H} conflict(s)`}}finally{X.close()}}function cL(_){o(_.dbPath);let $=x(_.dbPath),U=G6(_.now);try{let J=_.topology?lF($,_.topology,U):0,D=xL($),j=C_(ZF($)),W=_.machineId??_.topology?.local_machine_id??"unknown",G=C_(_.storage.artifact_store.uri_prefix),X=C_(_.workspaceHome),N=fU(Q1({machine_id:W,scope:_.scope,workspace_home:X,sqlite_schema_version:p_($),artifact_root_uri:G,tables:D,artifacts:j})),z={id:RX("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(` 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 fq($,Tq()).filter((Q)=>!vU.has(Q))){let Q=Cq($,E).map((H)=>f_(H)),q=$J(E,Q,L),g=CU($,E,W),R=g?.high_water_hash===q?g.logical_clock:(g?.logical_clock??0)+1;DJ($,{table:E,machineId:W,logicalClock:R,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 cq(_){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=RF($),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:f_(_.workspaceHome),sqlite_schema_version:l_($),local_machine_id:_.localMachineId??null,machines:{total:U.length,rows:f_(U)},snapshots:{total:eD($,"knowledge_sync_snapshots"),latest:f_(J)},changes:{total:eD($,"knowledge_sync_changes"),by_operation:j},clocks:{total:W.length,rows:W},imports:{total:eD($,"knowledge_sync_imports"),latest:f_(G)},conflicts:{total:X,by_status:D,open:N},table_counts:hq($),message:`${U.length} machine(s), ${N} open sync conflict(s)`}}finally{$.close()}}function bX(_){return{..._,metadata:UJ(_.metadata_json,{})}}function WJ(_,$){o(_);let U=x(_);try{let J=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return J?bX(J):null}finally{U.close()}}function iq(_,$={}){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(bX)}finally{U.close()}}function DM(_){return _J.includes(_)?_:null}function JM(_,$){let U=DM($.entity_kind);if(!U||!M$(_,U))return null;let J=vq(U,$.entity_id);if(!J)return null;let D=yq(U);return _.query(`SELECT * FROM ${R$(U)} WHERE ${D} LIMIT 1`).get(...J)}function jM(_,$){for(let U of $){let J=_[U];if(J&&typeof J==="object"&&!Array.isArray(J))return SU(J)}return null}function Mq(_,$){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 EX(_,$=new Set,U=0){if(U>8||_===null||_===void 0)return $;if(typeof _==="string")return Mq($,_),$;if(Array.isArray(_)){for(let J of _)EX(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"))Mq($,D);EX(D,$,U+1)}return $}function lq(_){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 oq(_,$){let U=WJ(_,$);if(!U)throw Error(`Sync conflict not found: ${$}`);o(_);let J=x(_);try{let D=SU(JM(J,U)),j=jM(U.metadata,["remote_row","source_row","incoming_row"]),G=[...EX({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:lq({conflict:U,localRow:D,remoteRow:j,sourceRefs:G}),read_only_tools:X}}finally{J.close()}}function hU(_,$){let U=WJ(_,$);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:lq({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 pq(_,$){o(_);let U=x(_),J=W6();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(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 q=new Map;for(let g of TL($,CL()).filter((Q)=>!vU.has(Q))){let Q=ZL($,g).map((H)=>C_(H)),L=$J(g,Q,q),E=CU($,g,W),R=E?.high_water_hash===L?E.logical_clock:(E?.logical_clock??0)+1;DJ($,{table:g,machineId:W,logicalClock:R,highWaterHash:L,highWaterBundleId:z.id,originMachineId:E?.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 iL(_){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=HF($),G=$.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,X=D.reduce((z,q)=>z+q.count,0),N=D.filter((z)=>z.status!=="resolved"&&z.status!=="ignored").reduce((z,q)=>z+q.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:eD($,"knowledge_sync_snapshots"),latest:C_(J)},changes:{total:eD($,"knowledge_sync_changes"),by_operation:j},clocks:{total:W.length,rows:W},imports:{total:eD($,"knowledge_sync_imports"),latest:C_(G)},conflicts:{total:X,by_status:D,open:N},table_counts:xL($),message:`${U.length} machine(s), ${N} open sync conflict(s)`}}finally{$.close()}}function bX(_){return{..._,metadata:UJ(_.metadata_json,{})}}function WJ(_,$){o(_);let U=x(_);try{let J=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return J?bX(J):null}finally{U.close()}}function lL(_,$={}){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(bX)}finally{U.close()}}function jM(_){return _J.includes(_)?_:null}function WM(_,$){let U=jM($.entity_kind);if(!U||!P$(_,U))return null;let J=yL(U,$.entity_id);if(!J)return null;let D=hL(U);return _.query(`SELECT * FROM ${B$(U)} WHERE ${D} LIMIT 1`).get(...J)}function GM(_,$){for(let U of $){let J=_[U];if(J&&typeof J==="object"&&!Array.isArray(J))return wU(J)}return null}function PL(_,$){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 gX(_,$=new Set,U=0){if(U>8||_===null||_===void 0)return $;if(typeof _==="string")return PL($,_),$;if(Array.isArray(_)){for(let J of _)gX(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"))PL($,D);gX(D,$,U+1)}return $}function oL(_){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 pL(_,$){let U=WJ(_,$);if(!U)throw Error(`Sync conflict not found: ${$}`);o(_);let J=x(_);try{let D=wU(WM(J,U)),j=GM(U.metadata,["remote_row","source_row","incoming_row"]),G=[...gX({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:oL({conflict:U,localRow:D,remoteRow:j,sourceRefs:G}),read_only_tools:X}}finally{J.close()}}function hU(_,$){let U=WJ(_,$);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:oL({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 tL(_,$){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(` UPDATE knowledge_sync_conflicts SET status = 'resolved', resolution_strategy = ?, @@ -877,35 +877,35 @@ ${E}`;else{let{generateText:b}=await import("ai"),I=await kU(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 bX(j)}finally{U.close()}}function ZY(_){let U=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function lk(_){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 cg(_){let $=x(_.dbPath);try{$.run(`UPDATE runs + `).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 bX(j)}finally{U.close()}}function ZY(_){let U=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function pk(_){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 iE(_){let $=x(_.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 vY(_){let $=x(_.dbPath);try{$.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`event_${ig()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function ok(_,$,U,J){let D=x(_);try{J1(D,{...U,run_id:$,created_at:J})}finally{D.close()}}function pk(_){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_${lE()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function tk(_,$,U,J){let D=x(_);try{J1(D,{...U,run_id:$,created_at:J})}finally{D.close()}}function ak(_){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 tk(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function ak(_,$){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 ek(_){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 lg(_){let $=(_.now??new Date).toISOString();o(_.dbPath);let U=hU(_.dbPath,_.id),J=oq(_.dbPath,_.id),D=h$(_.modelRef??"default",_.config),j=c_(D),W=`run_${ig()}`,G=pk({deterministic:U,evidence:J});lk({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:$}),vY({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:ZY(G),output_tokens:0,cost_usd:0};if(_.fake)X=ek(J),N=X.summary,L.output_tokens=ZY(N)+ZY(X.diff??"");else try{let{generateObject:E}=await import("ai"),{z:Q}=await Promise.resolve().then(() => (dg(),mg)),q=await kU(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({})})}),R=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=R.object.summary,z=tk(R.object.confidence),X=ak(R.object.proposed_patch,`${J.conflict.entity_kind}:${J.conflict.entity_id}`);let H=y4({provider:j.provider,model:j.model,usage:R.usage,providerMetadata:R.providerMetadata});L={input_tokens:H.input_tokens,output_tokens:H.output_tokens,cost_usd:H.cost_usd},ok(_.dbPath,W,H,$)}catch(E){throw vY({dbPath:_.dbPath,runId:W,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:E instanceof Error?E.message:String(E)},now:$}),cg({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 cg({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:$}),vY({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 sk,randomUUID as _w}from"crypto";import{existsSync as $w,readFileSync as Uw}from"fs";import{basename as Dw}from"path";function BW(_,$){return`${_}_${sk("sha256").update($).digest("hex").slice(0,20)}`}function r1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function V_(_){return typeof _==="string"&&_.length>0?_:void 0}function Jw(_){let $=V_(_.source_ref)??V_(_.source_uri)??V_(_.uri);if($)return $;let U=V_(_.file_id);if(U){let j=V_(_.revision_id)??V_(_.revision),W=`open-files://file/${encodeURIComponent(U)}`;return j?`${W}/revision/${encodeURIComponent(j)}`:W}let J=V_(_.source_id),D=V_(_.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 jw(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function Ww(_){return V_(_.hash)??V_(_.checksum)??V_(_.sha256)??null}function Gw(_,$,U){return V_(_.revision_id)??V_(_.revision)??V_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??null}function Xw(_){return V_(_.previous_revision_id)??V_(_.previous_revision)??V_(_.previous_version_id)??null}function Nw(_){return(V_(_.event_type)??V_(_.event)??V_(_.type)??V_(_.action)??V_(_.change_type)??"changed").toLowerCase()}function Ow(_){let $=V_(_.path);return V_(_.title)??V_(_.name)??($?Dw($):null)}function Yw(_,$){let U=Jw(_),J=I$(U),D=Ww(_);return{raw:_,eventType:Nw(_),sourceRef:U,sourceUri:jw(U,J),kind:J.kind,title:Ow(_),revision:Gw(_,J,D),previousRevision:Xw(_),hash:D,status:V_(_.status)?.toLowerCase()??null,updatedAt:V_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function zw(_){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=r1(J);if(!D)throw Error("Outbox array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),J=r1(U);if(!J)throw Error("Outbox object parse failed.");if(Array.isArray(J.events))return J.events.map((D)=>{let j=r1(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=r1(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=r1(JSON.parse(U));if(!J)throw Error("Outbox JSONL entries must be objects.");return J})}async function Qw(_,$,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 qw(_,$,U){if(_.startsWith("s3://"))return Qw(_,$,U);if(!$w(_))throw Error(`Outbox not found: ${_}`);return Uw(_,"utf8")}function og(_,$){let U={};if(_)try{U=r1(JSON.parse(_))??{}}catch{U={}}return JSON.stringify({...U,...$})}function Lw(_,$,U){let J=BW("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`)}function ek(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function sk(_,$){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 _S(_){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 oE(_){let $=(_.now??new Date).toISOString();o(_.dbPath);let U=hU(_.dbPath,_.id),J=pL(_.dbPath,_.id),D=x$(_.modelRef??"default",_.config),j=l_(D),W=`run_${lE()}`,G=ak({deterministic:U,evidence:J});pk({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((g)=>g.name)},now:$}),vY({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,q={input_tokens:ZY(G),output_tokens:0,cost_usd:0};if(_.fake)X=_S(J),N=X.summary,q.output_tokens=ZY(N)+ZY(X.diff??"");else try{let{generateObject:g}=await import("ai"),{z:Q}=await Promise.resolve().then(() => (cE(),dE)),L=await kU(D,{config:_.config,env:_.env}),E=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({})})}),R=await g({model:L,schema:E,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:G});N=R.object.summary,z=ek(R.object.confidence),X=sk(R.object.proposed_patch,`${J.conflict.entity_kind}:${J.conflict.entity_id}`);let H=y4({provider:j.provider,model:j.model,usage:R.usage,providerMetadata:R.providerMetadata});q={input_tokens:H.input_tokens,output_tokens:H.output_tokens,cost_usd:H.cost_usd},tk(_.dbPath,W,H,$)}catch(g){throw vY({dbPath:_.dbPath,runId:W,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:g instanceof Error?g.message:String(g)},now:$}),iE({dbPath:_.dbPath,runId:W,status:"failed",provider:j.provider,model:j.model,usage:q,metadata:{conflict_id:_.id,mode:"ai",error:g instanceof Error?g.message:String(g)},now:$}),g}return iE({dbPath:_.dbPath,runId:W,status:_.fake?"dry_run":"completed",provider:j.provider,model:j.model,usage:q,metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,confidence:z,proposed_strategy:X.strategy,citation_count:J.citations.length},now:$}),vY({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:q},warnings:[...U.warnings,...J.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${_.id}`}}import{createHash as $S,randomUUID as US}from"crypto";import{existsSync as DS,readFileSync as JS}from"fs";import{basename as jS}from"path";function BW(_,$){return`${_}_${$S("sha256").update($).digest("hex").slice(0,20)}`}function r1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function K_(_){return typeof _==="string"&&_.length>0?_:void 0}function WS(_){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 GS(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function XS(_){return K_(_.hash)??K_(_.checksum)??K_(_.sha256)??null}function NS(_,$,U){return K_(_.revision_id)??K_(_.revision)??K_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??null}function OS(_){return K_(_.previous_revision_id)??K_(_.previous_revision)??K_(_.previous_version_id)??null}function YS(_){return(K_(_.event_type)??K_(_.event)??K_(_.type)??K_(_.action)??K_(_.change_type)??"changed").toLowerCase()}function zS(_){let $=K_(_.path);return K_(_.title)??K_(_.name)??($?jS($):null)}function QS(_,$){let U=WS(_),J=F$(U),D=XS(_);return{raw:_,eventType:YS(_),sourceRef:U,sourceUri:GS(U,J),kind:J.kind,title:zS(_),revision:NS(_,J,D),previousRevision:OS(_),hash:D,status:K_(_.status)?.toLowerCase()??null,updatedAt:K_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function LS(_){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=r1(J);if(!D)throw Error("Outbox array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),J=r1(U);if(!J)throw Error("Outbox object parse failed.");if(Array.isArray(J.events))return J.events.map((D)=>{let j=r1(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=r1(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=r1(JSON.parse(U));if(!J)throw Error("Outbox JSONL entries must be objects.");return J})}async function qS(_,$,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,q=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(!q.Body)return"";return await q.Body.transformToString()}async function ES(_,$,U){if(_.startsWith("s3://"))return qS(_,$,U);if(!DS(_))throw Error(`Outbox not found: ${_}`);return JS(_,"utf8")}function pE(_,$){let U={};if(_)try{U=r1(JSON.parse(_))??{}}catch{U={}}return JSON.stringify({...U,...$})}function gS(_,$,U){let J=BW("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(V_($.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 = ?",[og(D.metadata_json,j),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,D.id]),D.id}function gw(_,$,U,J){if(!U.revision)return null;let D=BW("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`,[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 = ?",[pE(D.metadata_json,j),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,D.id]),D.id}function RS(_,$,U,J){if(!U.revision)return null;let D=BW("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) 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,V_(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 Ew(_,$,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 Rw(_,$){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 = ?",[og(j?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:U.length,embeddingsDeleted:J,vectorEntriesDeleted:D}}function Bw(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function Hw(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function Aw(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function pg(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)I6(_.dbPath,_.safetyPolicy);o(_.dbPath);let U=await qw(_.input,_.config,_.safetyPolicy),J=zw(U),D=x(_.dbPath),j=`run_${_w()}`;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 C_(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,R)=>{let H=Yw(g,$),B=Lw(D,H,$);W.add(B);let K=gw(D,B,H,$);if(K)G.add(K);let b=Ew(D,B,H);for(let I of b){G.add(I);let C=Rw(D,I);X+=C.chunksDeleted,N+=C.embeddingsDeleted,z+=C.vectorEntriesDeleted,L+=1}if(Bw(H.eventType,H.status))E+=1;if(Hw(H.eventType))Q+=1;if(Aw(H.eventType)||H.acl!==void 0)q+=1;D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + 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 BS(_,$,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 HS(_,$){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 = ?",[pE(j?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:U.length,embeddingsDeleted:J,vectorEntriesDeleted:D}}function AS(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function bS(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function VS(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function tE(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)I6(_.dbPath,_.safetyPolicy);o(_.dbPath);let U=await ES(_.input,_.config,_.safetyPolicy),J=LS(U),D=x(_.dbPath),j=`run_${US()}`;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,q=0,g=0,Q=0,L=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((E,R)=>{let H=QS(E,$),B=gS(D,H,$);W.add(B);let K=RS(D,B,H,$);if(K)G.add(K);let b=BS(D,B,H);for(let I of b){G.add(I);let T=HS(D,I);X+=T.chunksDeleted,N+=T.embeddingsDeleted,z+=T.vectorEntriesDeleted,q+=1}if(AS(H.eventType,H.status))g+=1;if(bS(H.eventType))Q+=1;if(VS(H.eventType)||H.acl!==void 0)L+=1;D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?)`,[BW("evt",`${j}\x00${R}\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:b.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, ?, ?)`,[BW("usage",j),j,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),$]),C_(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 eg}from"child_process";import{hostname as E0,platform as sg,userInfo as bw}from"os";var Vw=1,Kw="@hasna/machines",Iw="@hasna/machines/consumer";function p(_){return typeof _==="string"&&_.length>0?_:null}function q4(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function s_(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function IW(_){return typeof _==="boolean"?_:null}function Fw(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function FW(_=sg()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function o2(_){let $=eg("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function u1(_,$){return await _($)}async function p2(_,$){return(await u1($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function Mw(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function tg(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function Pw(_,$){let U=new Map;if(!await p2("tailscale",_))return $.push("tailscale_not_available"),{peers:U,selfKey:null};let J=await u1(_,"tailscale status --json");if(J.exitCode!==0)return $.push(`tailscale_status_failed:${J.stderr.trim()||J.exitCode}`),{peers:U,selfKey:null};let D=Mw(J.stdout);if(!D)return $.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let j=(W)=>{let G=tg(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:tg(D.Self)}}function kw(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??E0()}function ww(_){let $=_.machineId===_.localMachineId||_.machineId===E0(),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??($?E0():_.machineId),local:$,platform:_.peer?.OS?FW(_.peer.OS):$?FW():null,os:_.peer?.OS??($?sg():null),user:$?bw().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 Sw(_){if(!Array.isArray(_))return[];return _.map(($)=>{let U=s_($),J=p(U.kind)??"unknown";return{kind:J==="local"||J==="lan"||J==="tailscale"||J==="ssh"?J:"unknown",target:p(U.target)??"",reachable:IW(U.reachable)}}).filter(($)=>$.target.length>0)}function fw(_,$){let U=p(_.machine_id)??p(_.hostname)??"unknown",J=s_(_.tailscale),D=s_(_.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:IW(J.online),active:IW(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:Sw(_.route_hints),tags:q4(_.tags),metadata:s_(_.metadata),source:"open-machines"}}function Tw(_,$){return`${$} machine${$===1?"":"s"} discovered via ${_}`}function H$(_){let $=_ instanceof Error?_.message:String(_);return $.includes("Cannot find module '@hasna/machines'")||$.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":$}function t2(_){return _.adapterMode??"auto"}function _E(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let U=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function MW(_){return typeof _.schema_version==="number"?_.schema_version:null}function a2(_){return typeof _==="number"&&_>Vw?_:null}function PW(_){return{package:Kw,entrypoint:Iw,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function L_(_,$="adapter_disabled"){return PW({mode:_,implementation:"disabled",available:!1,error:$})}function kW(_,$){let U=a2(_E($));if(!U)return null;return PW({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function wW(_){return PW({mode:_,implementation:"cli",available:!0})}function SW(_,$){return PW({mode:_,implementation:"sdk",available:!0,contractVersion:_E($)})}function fW(_){try{return JSON.parse(_)}catch{return null}}function R0(_){return`'${_.replace(/'/g,"'\\''")}'`}function TW(_){return["machines",..._].map(R0).join(" ")}function CW(_){return _==="local"||_==="localhost"||_===E0()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function Cw(_,$){let U=CW(_),J=U?$:`ssh ${R0(_)} ${R0($)}`,D=eg("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 $E(_,$,U){return await _($,U)}function L0(_,$){if($)return"ok";return _===!1?"warn":"fail"}function g0(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function Zw(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function vw(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function UE(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function DE(_){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 JE(_,$,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 $E(U,_,J),j=DE(D.stdout);return{path:j.path||null,version:j.version?vw(j.version):null,stderr:D.stderr,source:D.source??(CW(_)?"local":"ssh")}}function ag(_){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 yw(_,$,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" "$(${ag("name")})"; printf "version=%s\\n" "$(${ag("version")})"; fi`].join("; "),D=await $E(U,_,J),j=DE(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??(CW(_)?"local":"ssh")}}async function hw(_,$,U){let J=await JE(_,$,U),D=Boolean(J.path),j=[Z6({id:`command:${g0($.command)}:path`,kind:"command",status:L0($.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=UE(J.version??"");j.push(Z6({id:`command:${g0($.command)}:version`,kind:"command",status:W===$.expectedVersion?"ok":L0($.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 xw(_,$,U){let J=$.command??Zw($.name),D=await JE(_,{command:J,expectedVersion:$.expectedVersion,required:$.required},U),j=Boolean(D.path),W=[Z6({id:`package:${g0($.name)}:command`,kind:"package",status:L0($.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=UE(D.version??"");W.push(Z6({id:`package:${g0($.name)}:version`,kind:"package",status:G===$.expectedVersion?"ok":L0($.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 rw(_,$,U){let J=await yw(_,$,U),D=$.label??$.path,j=[Z6({id:`workspace:${g0(D)}:path`,kind:"workspace",status:L0($.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:${g0(D)}:package-name`,kind:"workspace",status:J.packageName===$.expectedPackageName?"ok":L0($.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:${g0(D)}:version`,kind:"workspace",status:J.version===$.expectedVersion?"ok":L0($.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 jE(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:L6,workspace_home:$.knowledge?.workspace_home??null},message:Tw(_.source,_.machines.length)}}async function ZW(){try{return await import("@hasna/machines/consumer")}catch(_){if(H$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function WE(_,$,U){let J=s_(_);if(a2(MW(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)??E0(),current_platform:p(J.current_platform)??FW(),machines:D.map((G)=>fw(G,j)),warnings:q4(J.warnings),adapter:U};return jE(W,$)}function HW(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function GE(_){let $=s_(_),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:Fw($.ttl_ms),source_authority:J,confidence:p($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:q4($.reasons)}}function XE(_,$){let U=s_(_);if(a2(MW(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:HW(U.route),targetKind:HW(j?.kind)??HW(U.source)??HW(U.route),confidence:p(U.confidence),source:"open-machines",adapter:$,evidence:D,cacheability:GE(U.cacheability),warnings:q4(U.warnings)}}function yY(_){let $=s_(_);return{path:p($.path),source:p($.source)??"unresolved"}}function uw(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=s_($),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:IW(U.path_exists)}]})}function nw(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=s_($),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 mw(_){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 NE(_,$,U){let J=s_(_);if(a2(MW(J)))return null;let D=s_(J.paths),j=s_(J.project),W=s_(J.machine),G=yY(D.project_root),X=yY(D.workspace_root),N=yY(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",R=q4(J.warnings),H=uw(J.diagnostics),B=nw(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:B.length?B:mw({requestedMachineId:L,projectId:E,repoName:Q,openFilesRepoName:$.openFilesRepoName,warnings:R,projectRootSource:G.source,openFilesRootSource:N.source,trustStatus:q,authStatus:g}),evidence:z,cacheability:GE(J.cacheability),warnings:R}}async function AW(_,$){let U=_.runner??o2;if(!await p2("machines",U))return null;let J=["topology","--json"];if(_.includeTailscale===!1)J.push("--no-tailscale");let D=await u1(U,TW(J));if(D.exitCode!==0)return null;return WE(fW(D.stdout),_,$)}async function S6(_,$){let U=[];if($.error)U.push(`open_machines_unavailable:${$.error}`);let J=_.runner??o2,D=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await Pw(J,U),j=kw(D.selfKey),G=[...new Set([j,...D.peers.keys()])].sort().map((X)=>ww({machineId:X,localMachineId:j,peer:D.peers.get(X)}));return jE({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:j,local_hostname:E0(),current_platform:FW(),machines:G,warnings:U,adapter:$},_)}async function OE(_={}){let $=t2(_);if($==="disabled")return await S6(_,L_($));let U=wW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??ZW)(),j=kW($,D);if(j)return await S6(_,j);let W=SW($,D);if(D?.discoverMachineTopology){let G=D.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),X=WE(G,_,W);if(X)return X;if($==="sdk")return await S6(_,L_($,"invalid_topology_shape"));return await AW(_,U)??await S6(_,L_($,"invalid_topology_shape"))}if($==="sdk")return await S6(_,L_($,"missing_discoverMachineTopology"));return await AW(_,U)??await S6(_,L_($,"missing_discoverMachineTopology"))}return await AW(_,U)??await S6(_,L_($,"machines_cli_unavailable"))}catch(J){if($==="sdk")return await S6(_,L_($,H$(J)));return await AW(_,U)??await S6(_,L_($,H$(J)))}}async function bW(_,$){let U=_.runner??o2;if(!await p2("machines",U))return null;let J=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)J.push("--no-tailscale");let D=await u1(U,TW(J));if(D.exitCode!==0)return null;return XE(fW(D.stdout),$)}function f6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function hY(_){let $=t2(_);if($==="disabled")return f6(_.machineId,L_($));let U=wW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??ZW)(),j=kW($,D);if(j)return f6(_.machineId,j);let W=SW($,D);if(D?.resolveMachineRoute){let G=XE(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_($,H$(J))),warnings:[H$(J)]};return await bW(_,U)??{...f6(_.machineId,L_($,H$(J))),warnings:[H$(J)]}}}async function VW(_,$){let U=_.runner??o2;if(!await p2("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 u1(U,TW(j));if(W.exitCode!==0)return null;return NE(fW(W.stdout),_,$)}function dw(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:L_(t2(_),"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 vW(_){let $=dw(_);if($)return $;let U=t2(_);if(U==="disabled")return T6(_,["adapter_disabled"],L_(U));let J=wW(U);try{if(U!=="cli"){let j=await(_.loadOpenMachines??ZW)(),W=kW(U,j);if(W)return T6(_,[`unsupported_contract_version:${W.contract_version}`],W);let G=SW(U,j);if(j?.resolveMachineWorkspace){let X=NE(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 VW(_,J)??T6(_,["invalid_workspace_shape"],L_(U,"invalid_workspace_shape"))}if(U==="sdk")return T6(_,["missing_resolveMachineWorkspace"],L_(U,"missing_resolveMachineWorkspace"));return await VW(_,J)??T6(_,["missing_resolveMachineWorkspace"],L_(U,"missing_resolveMachineWorkspace"))}return await VW(_,J)??T6(_,["machines_cli_unavailable"],L_(U,"machines_cli_unavailable"))}catch(D){if(U==="sdk")return T6(_,[H$(D)],L_(U,H$(D)));return await VW(_,J)??T6(_,[H$(D)],L_(U,H$(D)))}}function YE(_,$){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 zE(_,$,U){let J=s_(_);if(a2(MW(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=s_(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 YE({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 cw(_){if(!_.runner)return o2;return async($)=>{let U=await _.runner?.("local",$);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function iw(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function lw(_){let $=[_.expectedPackageName,_.expectedVersion].filter((J)=>Boolean(J)).join(":"),U=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${U}`:U}async function KW(_,$){let U=cw(_);if(!await p2("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",iw(j));for(let j of _.workspaces??[])J.push("--workspace",lw(j));let D=await u1(U,TW(J));if(D.exitCode!==0)return null;return zE(fW(D.stdout),_,$)}async function C6(_,$){let U=_.machineId??E0(),J=_.runner??Cw,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 hw(U,N,J));for(let N of j)G.push(...await xw(U,N,J));for(let N of W)G.push(...await rw(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:CW(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 YE({ok:X.fail===0,source:"local",machine_id:U,generated_at:(_.now??new Date).toISOString(),checks:G,summary:X,adapter:$},_)}async function QE(_={}){let $=t2(_);if($==="disabled")return await C6(_,L_($));let U=wW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??ZW)(),j=kW($,D);if(j)return await C6(_,j);let W=SW($,D);if(D?.checkMachineCompatibility){let G=D.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),X=zE(G,_,W);if(X)return X;if($==="sdk")return await C6(_,L_($,"invalid_compatibility_shape"));return await KW(_,U)??await C6(_,L_($,"invalid_compatibility_shape"))}if($==="sdk")return await C6(_,L_($,"missing_checkMachineCompatibility"));return await KW(_,U)??await C6(_,L_($,"missing_checkMachineCompatibility"))}return await KW(_,U)??await C6(_,L_($,"machines_cli_unavailable"))}catch(J){if($==="sdk")return await C6(_,L_($,H$(J)));return await KW(_,U)??await C6(_,L_($,H$(J)))}}import{createHash as ow,randomUUID as qE}from"crypto";function pw(_,$){return`${_}_${ow("sha256").update($).digest("hex").slice(0,20)}`}function tw(_){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 LE(_,$){let U=h4($.modelRef,$.config),J=c_(U),D=x(_);try{return D.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri + VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[BW("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:q,deleted_sources:g,moved_sources:Q,permission_updates:L}})()}finally{D.close()}}import{spawnSync as sE}from"child_process";import{hostname as g0,platform as _g,userInfo as KS}from"os";var IS=1,FS="@hasna/machines",MS="@hasna/machines/consumer";function p(_){return typeof _==="string"&&_.length>0?_:null}function L4(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function $$(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function IW(_){return typeof _==="boolean"?_:null}function PS(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function FW(_=_g()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function o2(_){let $=sE("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function u1(_,$){return await _($)}async function p2(_,$){return(await u1($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function kS(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function aE(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function SS(_,$){let U=new Map;if(!await p2("tailscale",_))return $.push("tailscale_not_available"),{peers:U,selfKey:null};let J=await u1(_,"tailscale status --json");if(J.exitCode!==0)return $.push(`tailscale_status_failed:${J.stderr.trim()||J.exitCode}`),{peers:U,selfKey:null};let D=kS(J.stdout);if(!D)return $.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let j=(W)=>{let G=aE(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:aE(D.Self)}}function wS(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??g0()}function fS(_){let $=_.machineId===_.localMachineId||_.machineId===g0(),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??($?g0():_.machineId),local:$,platform:_.peer?.OS?FW(_.peer.OS):$?FW():null,os:_.peer?.OS??($?_g():null),user:$?KS().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 TS(_){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:IW(U.reachable)}}).filter(($)=>$.target.length>0)}function CS(_,$){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:L4(J.ips),online:IW(J.online),active:IW(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:TS(_.route_hints),tags:L4(_.tags),metadata:$$(_.metadata),source:"open-machines"}}function ZS(_,$){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 t2(_){return _.adapterMode??"auto"}function $g(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let U=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function MW(_){return typeof _.schema_version==="number"?_.schema_version:null}function a2(_){return typeof _==="number"&&_>IS?_:null}function PW(_){return{package:FS,entrypoint:MS,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function q_(_,$="adapter_disabled"){return PW({mode:_,implementation:"disabled",available:!1,error:$})}function kW(_,$){let U=a2($g($));if(!U)return null;return PW({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function SW(_){return PW({mode:_,implementation:"cli",available:!0})}function wW(_,$){return PW({mode:_,implementation:"sdk",available:!0,contractVersion:$g($)})}function fW(_){try{return JSON.parse(_)}catch{return null}}function R0(_){return`'${_.replace(/'/g,"'\\''")}'`}function TW(_){return["machines",..._].map(R0).join(" ")}function CW(_){return _==="local"||_==="localhost"||_===g0()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function vS(_,$){let U=CW(_),J=U?$:`ssh ${R0(_)} ${R0($)}`,D=sE("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 Ug(_,$,U){return await _($,U)}function q0(_,$){if($)return"ok";return _===!1?"warn":"fail"}function E0(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function yS(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function hS(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function Dg(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function Jg(_){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 jg(_,$,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 Ug(U,_,J),j=Jg(D.stdout);return{path:j.path||null,version:j.version?hS(j.version):null,stderr:D.stderr,source:D.source??(CW(_)?"local":"ssh")}}function eE(_){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 xS(_,$,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" "$(${eE("name")})"; printf "version=%s\\n" "$(${eE("version")})"; fi`].join("; "),D=await Ug(U,_,J),j=Jg(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??(CW(_)?"local":"ssh")}}async function rS(_,$,U){let J=await jg(_,$,U),D=Boolean(J.path),j=[Z6({id:`command:${E0($.command)}:path`,kind:"command",status:q0($.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=Dg(J.version??"");j.push(Z6({id:`command:${E0($.command)}:version`,kind:"command",status:W===$.expectedVersion?"ok":q0($.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 uS(_,$,U){let J=$.command??yS($.name),D=await jg(_,{command:J,expectedVersion:$.expectedVersion,required:$.required},U),j=Boolean(D.path),W=[Z6({id:`package:${E0($.name)}:command`,kind:"package",status:q0($.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=Dg(D.version??"");W.push(Z6({id:`package:${E0($.name)}:version`,kind:"package",status:G===$.expectedVersion?"ok":q0($.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 nS(_,$,U){let J=await xS(_,$,U),D=$.label??$.path,j=[Z6({id:`workspace:${E0(D)}:path`,kind:"workspace",status:q0($.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":q0($.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":q0($.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 Wg(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:q6,workspace_home:$.knowledge?.workspace_home??null},message:ZS(_.source,_.machines.length)}}async function ZW(){try{return await import("@hasna/machines/consumer")}catch(_){if(A$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function Gg(_,$,U){let J=$$(_);if(a2(MW(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)??g0(),current_platform:p(J.current_platform)??FW(),machines:D.map((G)=>CS(G,j)),warnings:L4(J.warnings),adapter:U};return Wg(W,$)}function HW(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function Xg(_){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:PS($.ttl_ms),source_authority:J,confidence:p($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:L4($.reasons)}}function Ng(_,$){let U=$$(_);if(a2(MW(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:HW(U.route),targetKind:HW(j?.kind)??HW(U.source)??HW(U.route),confidence:p(U.confidence),source:"open-machines",adapter:$,evidence:D,cacheability:Xg(U.cacheability),warnings:L4(U.warnings)}}function yY(_){let $=$$(_);return{path:p($.path),source:p($.source)??"unresolved"}}function mS(_){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:IW(U.path_exists)}]})}function dS(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=$$($),J=p(U.id),D=p(U.reason),j=L4(U.command),W=p(U.shell_command),G=L4(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 cS(_){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 Og(_,$,U){let J=$$(_);if(a2(MW(J)))return null;let D=$$(J.paths),j=$$(J.project),W=$$(J.machine),G=yY(D.project_root),X=yY(D.workspace_root),N=yY(D.open_files_root);if(J.ok!==!0||!G.path)return null;let z=typeof J.evidence==="object"&&J.evidence!==null?J.evidence:null,q=p(J.requested_machine_id)??$.machineId,g=p(j.project_id)??$.projectId??"open-knowledge",Q=p(j.repo_name)??$.repoName??$.projectId??"open-knowledge",L=p(W.trust_status)??"unknown",E=p(W.auth_status)??"unknown",R=L4(J.warnings),H=mS(J.diagnostics),B=dS(J.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:q,machine_id:p(J.machine_id),project_id:g,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:L,auth_status:E,current:W.current===!0,primary:W.primary===!0,diagnostics:H,repair_hints:B.length?B:cS({requestedMachineId:q,projectId:g,repoName:Q,openFilesRepoName:$.openFilesRepoName,warnings:R,projectRootSource:G.source,openFilesRootSource:N.source,trustStatus:L,authStatus:E}),evidence:z,cacheability:Xg(J.cacheability),warnings:R}}async function AW(_,$){let U=_.runner??o2;if(!await p2("machines",U))return null;let J=["topology","--json"];if(_.includeTailscale===!1)J.push("--no-tailscale");let D=await u1(U,TW(J));if(D.exitCode!==0)return null;return Gg(fW(D.stdout),_,$)}async function w6(_,$){let U=[];if($.error)U.push(`open_machines_unavailable:${$.error}`);let J=_.runner??o2,D=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await SS(J,U),j=wS(D.selfKey),G=[...new Set([j,...D.peers.keys()])].sort().map((X)=>fS({machineId:X,localMachineId:j,peer:D.peers.get(X)}));return Wg({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:j,local_hostname:g0(),current_platform:FW(),machines:G,warnings:U,adapter:$},_)}async function Yg(_={}){let $=t2(_);if($==="disabled")return await w6(_,q_($));let U=SW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??ZW)(),j=kW($,D);if(j)return await w6(_,j);let W=wW($,D);if(D?.discoverMachineTopology){let G=D.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),X=Gg(G,_,W);if(X)return X;if($==="sdk")return await w6(_,q_($,"invalid_topology_shape"));return await AW(_,U)??await w6(_,q_($,"invalid_topology_shape"))}if($==="sdk")return await w6(_,q_($,"missing_discoverMachineTopology"));return await AW(_,U)??await w6(_,q_($,"missing_discoverMachineTopology"))}return await AW(_,U)??await w6(_,q_($,"machines_cli_unavailable"))}catch(J){if($==="sdk")return await w6(_,q_($,A$(J)));return await AW(_,U)??await w6(_,q_($,A$(J)))}}async function bW(_,$){let U=_.runner??o2;if(!await p2("machines",U))return null;let J=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)J.push("--no-tailscale");let D=await u1(U,TW(J));if(D.exitCode!==0)return null;return Ng(fW(D.stdout),$)}function f6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function hY(_){let $=t2(_);if($==="disabled")return f6(_.machineId,q_($));let U=SW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??ZW)(),j=kW($,D);if(j)return f6(_.machineId,j);let W=wW($,D);if(D?.resolveMachineRoute){let G=Ng(D.resolveMachineRoute(_.machineId,{includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),W);if(G)return G;if($==="sdk")return f6(_.machineId,q_($,"invalid_route_shape"));return await bW(_,U)??f6(_.machineId,q_($,"invalid_route_shape"))}if($==="sdk")return f6(_.machineId,q_($,"missing_resolveMachineRoute"));return await bW(_,U)??f6(_.machineId,q_($,"missing_resolveMachineRoute"))}return await bW(_,U)??f6(_.machineId,q_($,"machines_cli_unavailable"))}catch(J){if($==="sdk")return{...f6(_.machineId,q_($,A$(J))),warnings:[A$(J)]};return await bW(_,U)??{...f6(_.machineId,q_($,A$(J))),warnings:[A$(J)]}}}async function VW(_,$){let U=_.runner??o2;if(!await p2("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 u1(U,TW(j));if(W.exitCode!==0)return null;return Og(fW(W.stdout),_,$)}function iS(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:q_(t2(_),"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 vW(_){let $=iS(_);if($)return $;let U=t2(_);if(U==="disabled")return T6(_,["adapter_disabled"],q_(U));let J=SW(U);try{if(U!=="cli"){let j=await(_.loadOpenMachines??ZW)(),W=kW(U,j);if(W)return T6(_,[`unsupported_contract_version:${W.contract_version}`],W);let G=wW(U,j);if(j?.resolveMachineWorkspace){let X=Og(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"],q_(U,"invalid_workspace_shape"));return await VW(_,J)??T6(_,["invalid_workspace_shape"],q_(U,"invalid_workspace_shape"))}if(U==="sdk")return T6(_,["missing_resolveMachineWorkspace"],q_(U,"missing_resolveMachineWorkspace"));return await VW(_,J)??T6(_,["missing_resolveMachineWorkspace"],q_(U,"missing_resolveMachineWorkspace"))}return await VW(_,J)??T6(_,["machines_cli_unavailable"],q_(U,"machines_cli_unavailable"))}catch(D){if(U==="sdk")return T6(_,[A$(D)],q_(U,A$(D)));return await VW(_,J)??T6(_,[A$(D)],q_(U,A$(D)))}}function zg(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:q6,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 Qg(_,$,U){let J=$$(_);if(a2(MW(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),q=p(N.kind),g=p(N.source);return Z6({id:p(N.id)??"unknown",kind:q==="command"||q==="package"||q==="workspace"?q:"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:g==="local"||g==="ssh"||g==="open-machines"?g:"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 zg({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 lS(_){if(!_.runner)return o2;return async($)=>{let U=await _.runner?.("local",$);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function oS(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function pS(_){let $=[_.expectedPackageName,_.expectedVersion].filter((J)=>Boolean(J)).join(":"),U=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${U}`:U}async function KW(_,$){let U=lS(_);if(!await p2("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",oS(j));for(let j of _.workspaces??[])J.push("--workspace",pS(j));let D=await u1(U,TW(J));if(D.exitCode!==0)return null;return Qg(fW(D.stdout),_,$)}async function C6(_,$){let U=_.machineId??g0(),J=_.runner??vS,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 rS(U,N,J));for(let N of j)G.push(...await uS(U,N,J));for(let N of W)G.push(...await nS(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:CW(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 zg({ok:X.fail===0,source:"local",machine_id:U,generated_at:(_.now??new Date).toISOString(),checks:G,summary:X,adapter:$},_)}async function Lg(_={}){let $=t2(_);if($==="disabled")return await C6(_,q_($));let U=SW($);try{if($!=="cli"){let D=await(_.loadOpenMachines??ZW)(),j=kW($,D);if(j)return await C6(_,j);let W=wW($,D);if(D?.checkMachineCompatibility){let G=D.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),X=Qg(G,_,W);if(X)return X;if($==="sdk")return await C6(_,q_($,"invalid_compatibility_shape"));return await KW(_,U)??await C6(_,q_($,"invalid_compatibility_shape"))}if($==="sdk")return await C6(_,q_($,"missing_checkMachineCompatibility"));return await KW(_,U)??await C6(_,q_($,"missing_checkMachineCompatibility"))}return await KW(_,U)??await C6(_,q_($,"machines_cli_unavailable"))}catch(J){if($==="sdk")return await C6(_,q_($,A$(J)));return await KW(_,U)??await C6(_,q_($,A$(J)))}}import{createHash as tS,randomUUID as qg}from"crypto";function aS(_,$){return`${_}_${tS("sha256").update($).digest("hex").slice(0,20)}`}function eS(_){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 Eg(_,$){let U=h4($.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 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 gE(_){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=LE(_.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:tw(_.dbPath),stale_revisions:W}}finally{$.close()}}function xY(_){o(_.dbPath);let $=(_.now??new Date).toISOString(),U=_.reason??"missing_embedding",J=LE(_.dbPath,_),D=x(_.dbPath),j=0,W=0;try{D.transaction(()=>{for(let X of J){let N=pw("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 aw(_){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 ew(_,$,U){let J=h4($.modelRef,$.config),D=c_(J),j=x(_);try{return j.run(`UPDATE reindex_queue + ORDER BY c.created_at ASC, c.ordinal ASC`).all(J.provider,J.model)}finally{D.close()}}function gg(_){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=Eg(_.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:eS(_.dbPath),stale_revisions:W}}finally{$.close()}}function xY(_){o(_.dbPath);let $=(_.now??new Date).toISOString(),U=_.reason??"missing_embedding",J=Eg(_.dbPath,_),D=x(_.dbPath),j=0,W=0;try{D.transaction(()=>{for(let X of J){let N=aS("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 sS(_){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 _w(_,$,U){let J=h4($.modelRef,$.config),D=l_(J),j=x(_);try{return j.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 EE(_){o(_.dbPath);let $=(_.now??new Date).toISOString(),U=`run_${qE()}`,J=_.full?aw(_.dbPath):{embeddings:0,vectorEntries:0},D=xY({..._,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",h4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{j.close()}let W=await mD({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),G=ew(_.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_${qE()}`,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 HE}from"crypto";import{existsSync as AE,lstatSync as sw,readdirSync as _S,readFileSync as $S,statSync as US}from"fs";import{basename as n1,extname as DS,join as JS,relative as jS,resolve as mY,sep as WS}from"path";import{pathToFileURL as RE}from"url";var GS=100,XS=25,NS=262144,OS=5,YS=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),rY=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),zS=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),QS=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,yW=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function uY(_){return`sha256:${HE("sha256").update(_).digest("hex")}`}function qS(_){return`sha256:${HE("sha256").update(_).digest("hex")}`}function e2(_){return _.split(WS).join("/")}function nY(_,$){let U=jS(_,$);return U?e2(U):n1($)}function L4(_){return YS.has(DS(_).toLowerCase())}function BE(_){return e2(_).split("/").some(($)=>QS.test($))}function bE(_,$=220){let U=_.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function VE(_){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 LS(){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:(_)=>rY.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=e2(_),U=n1($);if(rY.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 $=e2(_);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 $=e2(_),U=n1($);if(rY.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:(_)=>yW.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:(_)=>yW.test(_)&&L4(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>yW.test(_)&&L4(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>yW.test(_)&&L4(_)}}]}function gS(_,$){let U=new Map;for(let J of LS()){let D=mY(_,J.base);if(!AE(D))continue;if(US(D).isFile()){let W=n1(D);if(J.spec.include(W))U.set(D,{...J.spec,absPath:D});continue}IE({basePath:D,depth:0,maxDepth:J.maxDepth??OS,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 IE(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let U of _S(_.basePath,{withFileTypes:!0})){let J=JS(_.basePath,U.name),D=nY($,J);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(zS.has(U.name))continue;if(BE(D)){_.skipped.push({source_family:_.spec.family,source_path:J,reason:"sensitive_path"});continue}IE({..._,rootBasePath:$,basePath:J,depth:_.depth+1});continue}if(!U.isFile())continue;let j=nY(mY($),J);if(BE(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 ES(_){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 FE(_,$){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 RS(_){let $=sw(_.candidate.absPath),U=_.candidate.absPath,J=nY(_.root,U);if($.size>_.maxBytesPerFile){let Q=RE(U).href;return{evidence:{source_family:_.candidate.family,title:n1(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=$S(U),j=D.toString("utf8"),W=N$(j,_.safetyPolicy),X=W.findings.some((Q)=>Q.severity==="high")?"refused":W.findings.length>0?"redacted":"clean",N=uY(W.text),z=RE(U).href,L=VE(W.text),E={source_family:_.candidate.family,title:n1(U),source_path:U,source_path_ref:J,source_ref:z,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:qS(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:bE(W.text)};return{evidence:E,text:W.text,manifest:E.importable?FE(E,W.text):null}}function BS(_){let $=N$(_.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=uY($.text),W=uY(_.item.content),G=VE($.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:bE($.text),legacy_json_id:_.item.id};return{evidence:X,text:$.text,manifest:X.importable?FE(X,$.text):null}}function HS(_){if(!_.legacyStorePath||!AE(_.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=Z0(_.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 ME(_={}){let $=mY(_.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??GS,1000)),G=Math.max(1,Math.min(_.limit??XS,100)),X=Math.max(1024,Math.min(_.maxBytesPerFile??NS,2097152)),N=[],L=gS($,N).slice(0,W).map((m)=>RS({root:$,candidate:{...m,owner:m.owner==="repository"?J:m.owner,scope:U},discoveredAt:j,maxBytesPerFile:X,safetyPolicy:_.safetyPolicy})),Q=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:Z0(_.legacyStorePath)).items.filter((m)=>m.archived!==!0&&ES(m)).slice(0,W),q=Q.map((m)=>BS({item:m,legacyStorePath:_.legacyStorePath,discoveredAt:j,scope:U,safetyPolicy:_.safetyPolicy})),g=[...L,...q].slice(0,W),R=g.map((m)=>m.evidence),B=g.filter((m)=>m.manifest).map((m)=>m.manifest),K=R.filter((m)=>m.redaction_status==="refused").length,b=R.slice(0,G),I=N.slice(0,G),C=null,f=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(B.length>0)C=await C4({dbPath:_.dbPath,items:B,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:W});if(_.deprecateLegacy!==!1)f=HS({legacyStorePath:_.legacyStorePath,records:R,now:j})}return{ok:K===0||B.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:R.length,records_importable:B.length,records_refused:K,records_skipped:N.length,evidence_truncated:R.length>b.length,skipped_truncated:N.length>I.length,evidence:b,skipped:I,import_result:C,legacy:{store_path:_.legacyStorePath??null,candidates:Q.length,promoted:q.filter((m)=>m.manifest).length,deprecated:f,data_loss:!1},message:D?`Discovered ${R.length} rule source(s); ${B.length} importable, ${K} refused`:`Imported ${C?.items_seen??0} rule source(s); ${f} legacy note(s) deprecated`}}import{createHash as AS,randomUUID as PE}from"crypto";function bS(_){return`sha256:${AS("sha256").update(_).digest("hex")}`}function kE(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function wE(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function g4(_){return typeof _==="string"&&_.length>0?_:null}function VS(_){let $=wE(_),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 hW(_,$){if(Array.isArray(_)){for(let D of _)hW(D,$);return}let U=VS(_);if(U)$.set(U.url,U);let J=wE(_);for(let D of["sources","results","citations","annotations","output"])if(J[D])hW(J[D],$)}function KS(_,$){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 IS(_){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 FS(_){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 MS(_,$,U){if(!_.fileResults||$.length===0)return 0;let J=$.map((j)=>{let W=[j.title,j.snippet,j.url].filter(Boolean).join(` -`),G=bS(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 C4({dbPath:_.dbPath,items:J,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(U)})).sources_upserted}async function SE(_){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=h$(_.modelRef??(_.provider?`${_.provider}:${F6(_.config,_.provider).default_model}`:"default"),_.config),X=c_(G),N=_.provider??X.provider,z=X.provider===N?X.model:F6(_.config,N).default_model,L=`run_${PE()}`;if(!_.fake&&_.safetyPolicy)U1(_.safetyPolicy);if(!_.fake&&N!=="openai"&&N!=="anthropic")throw Error(`Provider ${N} does not expose native web search yet.`);if(!_.fake)v4(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]),C_(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:kE($),output_tokens:0,cost_usd:0},R=[];if(_.fake)q=KS($,D),Q=`Fake web search answer for: ${$}`,g.output_tokens=kE(Q);else{let K=N==="openai"?await IS({query:$,model:z,config:_.config,env:U,maxUses:j,domains:W}):await FS({query:$,model:z,config:_.config,env:U,maxUses:j,domains:W});Q=K.text;let b=new Map;hW(K.sources,b),hW(K.toolResults,b),q=Array.from(b.values()).slice(0,D);let I=y4({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 MS(_,q,J),B=x(_.dbPath);try{B.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]),B.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${PE()}`,L,"info","provider_web_search_completed",JSON.stringify({sources:q.length,filed_sources:H}),J]),J1(B,{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{B.close()}if(q.length===0)R.push("no_web_sources_returned");return{run_id:L,query:$,provider:N,model:z,answer:Q,sources:q,filed_sources:H,usage:g,warnings:R}}import{createHash as PS,randomUUID as kS}from"crypto";function m1(_,$){return`${_}_${PS("sha256").update($).digest("hex").slice(0,20)}`}function dY(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function wS(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function SS(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function fE(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function fS(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function TE(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function TS(_,$){let U=Math.max(1,Math.min($.limit??10,50)),J=$.sourceRefs??[],D=fS($.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,`%${TE(G)}%`)}if(D.length>0){j.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let G of D)W.push(`%${TE(G)}%`)}return W.push(U),_.query(`SELECT + )`,["completed",U,"embedding","pending",D.provider,D.model]).changes}finally{j.close()}}async function Rg(_){o(_.dbPath);let $=(_.now??new Date).toISOString(),U=`run_${qg()}`,J=_.full?sS(_.dbPath):{embeddings:0,vectorEntries:0},D=xY({..._,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",h4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{j.close()}let W=await mD({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),G=_w(_.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_${qg()}`,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 Ag}from"crypto";import{existsSync as bg,lstatSync as $w,readdirSync as Uw,readFileSync as Dw,statSync as Jw}from"fs";import{basename as n1,extname as jw,join as Ww,relative as Gw,resolve as mY,sep as Xw}from"path";import{pathToFileURL as Bg}from"url";var Nw=100,Ow=25,Yw=262144,zw=5,Qw=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),rY=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),Lw=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),qw=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,yW=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function uY(_){return`sha256:${Ag("sha256").update(_).digest("hex")}`}function Ew(_){return`sha256:${Ag("sha256").update(_).digest("hex")}`}function e2(_){return _.split(Xw).join("/")}function nY(_,$){let U=Gw(_,$);return U?e2(U):n1($)}function q4(_){return Qw.has(jw(_).toLowerCase())}function Hg(_){return e2(_).split("/").some(($)=>qw.test($))}function Vg(_,$=220){let U=_.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function Kg(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function Ig(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function gw(){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:(_)=>rY.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=e2(_),U=n1($);if(rY.has(U)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&q4($))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 $=e2(_);return $==="CLAUDE.md"||/^rules\//.test($)&&q4($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=e2(_),U=n1($);if(rY.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&q4($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>yW.test(_)&&q4(_)}},{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:(_)=>yW.test(_)&&q4(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>yW.test(_)&&q4(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>yW.test(_)&&q4(_)}}]}function Rw(_,$){let U=new Map;for(let J of gw()){let D=mY(_,J.base);if(!bg(D))continue;if(Jw(D).isFile()){let W=n1(D);if(J.spec.include(W))U.set(D,{...J.spec,absPath:D});continue}Fg({basePath:D,depth:0,maxDepth:J.maxDepth??zw,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 Fg(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let U of Uw(_.basePath,{withFileTypes:!0})){let J=Ww(_.basePath,U.name),D=nY($,J);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(Lw.has(U.name))continue;if(Hg(D)){_.skipped.push({source_family:_.spec.family,source_path:J,reason:"sensitive_path"});continue}Fg({..._,rootBasePath:$,basePath:J,depth:_.depth+1});continue}if(!U.isFile())continue;let j=nY(mY($),J);if(Hg(j)){_.skipped.push({source_family:_.spec.family,source_path:J,reason:"sensitive_path"});continue}if(!_.spec.include(j))continue;if(!q4(J))continue;_.candidates.set(J,{..._.spec,absPath:J})}}function Bw(_){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 Mg(_,$){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 Hw(_){let $=$w(_.candidate.absPath),U=_.candidate.absPath,J=nY(_.root,U);if($.size>_.maxBytesPerFile){let Q=Bg(U).href;return{evidence:{source_family:_.candidate.family,title:n1(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=Dw(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=uY(W.text),z=Bg(U).href,q=Kg(W.text),g={source_family:_.candidate.family,title:n1(U),source_path:U,source_path_ref:J,source_ref:z,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:Ew(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:[Ig({sourceRef:z,sourcePath:U,lineCount:q,contentHash:N})],bytes:D.byteLength,line_count:q,importable:X!=="refused",skipped_reason:X==="refused"?"secret_refused":null,preview:X==="refused"?null:Vg(W.text)};return{evidence:g,text:W.text,manifest:g.importable?Mg(g,W.text):null}}function Aw(_){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=uY($.text),W=uY(_.item.content),G=Kg($.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:[Ig({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:Vg($.text),legacy_json_id:_.item.id};return{evidence:X,text:$.text,manifest:X.importable?Mg(X,$.text):null}}function bw(_){if(!_.legacyStorePath||!bg(_.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=Z0(_.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)E6(_.legacyStorePath,{items:U.items});return J})}async function Pg(_={}){let $=mY(_.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??Nw,1000)),G=Math.max(1,Math.min(_.limit??Ow,100)),X=Math.max(1024,Math.min(_.maxBytesPerFile??Yw,2097152)),N=[],q=Rw($,N).slice(0,W).map((n)=>Hw({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:[]}:Z0(_.legacyStorePath)).items.filter((n)=>n.archived!==!0&&Bw(n)).slice(0,W),L=Q.map((n)=>Aw({item:n,legacyStorePath:_.legacyStorePath,discoveredAt:j,scope:U,safetyPolicy:_.safetyPolicy})),E=[...q,...L].slice(0,W),R=E.map((n)=>n.evidence),B=E.filter((n)=>n.manifest).map((n)=>n.manifest),K=R.filter((n)=>n.redaction_status==="refused").length,b=R.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(B.length>0)T=await C4({dbPath:_.dbPath,items:B,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:W});if(_.deprecateLegacy!==!1)P=bw({legacyStorePath:_.legacyStorePath,records:R,now:j})}return{ok:K===0||B.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:R.length,records_importable:B.length,records_refused:K,records_skipped:N.length,evidence_truncated:R.length>b.length,skipped_truncated:N.length>I.length,evidence:b,skipped:I,import_result:T,legacy:{store_path:_.legacyStorePath??null,candidates:Q.length,promoted:L.filter((n)=>n.manifest).length,deprecated:P,data_loss:!1},message:D?`Discovered ${R.length} rule source(s); ${B.length} importable, ${K} refused`:`Imported ${T?.items_seen??0} rule source(s); ${P} legacy note(s) deprecated`}}import{createHash as Vw,randomUUID as kg}from"crypto";function Kw(_){return`sha256:${Vw("sha256").update(_).digest("hex")}`}function Sg(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function wg(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function E4(_){return typeof _==="string"&&_.length>0?_:null}function Iw(_){let $=wg(_),U=E4($.url)??E4($.uri)??E4($.sourceUrl);if(!U)return null;return{url:U,title:E4($.title)??E4($.name),snippet:E4($.snippet)??E4($.text)??E4($.description),provider_metadata:$}}function hW(_,$){if(Array.isArray(_)){for(let D of _)hW(D,$);return}let U=Iw(_);if(U)$.set(U.url,U);let J=wg(_);for(let D of["sources","results","citations","annotations","output"])if(J[D])hW(J[D],$)}function Fw(_,$){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 Mw(_){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 Pw(_){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 kw(_,$,U){if(!_.fileResults||$.length===0)return 0;let J=$.map((j)=>{let W=[j.title,j.snippet,j.url].filter(Boolean).join(` +`),G=Kw(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 C4({dbPath:_.dbPath,items:J,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(U)})).sources_upserted}async function fg(_){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,q=`run_${kg()}`;if(!_.fake&&_.safetyPolicy)U1(_.safetyPolicy);if(!_.fake&&N!=="openai"&&N!=="anthropic")throw Error(`Provider ${N} does not expose native web search yet.`);if(!_.fake)v4(N,_.config,U);o(_.dbPath);let g=x(_.dbPath);try{g.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[q,"provider-web-search",$,"running",N,z,JSON.stringify({domains:W,max_uses:j,fake:_.fake===!0}),J,J]),v_(g,{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{g.close()}let Q="",L=[],E={input_tokens:Sg($),output_tokens:0,cost_usd:0},R=[];if(_.fake)L=Fw($,D),Q=`Fake web search answer for: ${$}`,E.output_tokens=Sg(Q);else{let K=N==="openai"?await Mw({query:$,model:z,config:_.config,env:U,maxUses:j,domains:W}):await Pw({query:$,model:z,config:_.config,env:U,maxUses:j,domains:W});Q=K.text;let b=new Map;hW(K.sources,b),hW(K.toolResults,b),L=Array.from(b.values()).slice(0,D);let I=y4({provider:N,model:z,usage:K.usage,providerMetadata:K.providerMetadata});E={input_tokens:I.input_tokens,output_tokens:I.output_tokens,cost_usd:I.cost_usd}}let H=await kw(_,L,J),B=x(_.dbPath);try{B.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:W,max_uses:j,sources:L.length,filed_sources:H,fake:_.fake===!0}),J,q]),B.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${kg()}`,q,"info","provider_web_search_completed",JSON.stringify({sources:L.length,filed_sources:H}),J]),J1(B,{run_id:q,provider:N,model:z,input_tokens:E.input_tokens,output_tokens:E.output_tokens,cost_usd:E.cost_usd,metadata:{web_search:!0,sources:L.length,filed_sources:H},created_at:J})}finally{B.close()}if(L.length===0)R.push("no_web_sources_returned");return{run_id:q,query:$,provider:N,model:z,answer:Q,sources:L,filed_sources:H,usage:E,warnings:R}}import{createHash as Sw,randomUUID as ww}from"crypto";function m1(_,$){return`${_}_${Sw("sha256").update($).digest("hex").slice(0,20)}`}function dY(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function fw(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function Tw(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function Tg(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Cw(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function Cg(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function Zw(_,$){let U=Math.max(1,Math.min($.limit??10,50)),J=$.sourceRefs??[],D=Cw($.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,`%${Cg(G)}%`)}if(D.length>0){j.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let G of D)W.push(`%${Cg(G)}%`)}return W.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 ${j.join(" AND ")} ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(...W)}function CE(_,$=420){let U=_.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,$-1).trim()}...`}function CS(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function ZS(_,$,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}`}`,"",CE(j.text),"",`Citation: [${G}]`].join(` + LIMIT ?`).all(...W)}function Zg(_,$=420){let U=_.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,$-1).trim()}...`}function vw(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function yw(_,$,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}`}`,"",Zg(j.text),"",`Citation: [${G}]`].join(` `)});return[`# ${_}`,"",`Generated at: ${U}`,"","## Sources","",...J,"",...D,""].join(` -`)}async function xW(_,$){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,...$1($.body),metadata:{...$.metadata??{}}}}async function ZE(_,$,U){let{year:J,month:D,day:j}=wS(U),W=`logs/${J}/${D}/${j}.jsonl`,G="";try{G=await _.getText(W)}catch{G=""}return xW(_,{key:W,body:`${G}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:y$({generated_from:String($.event??"wiki_log"),artifact_key:W})}})}function cY(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) +`)}async function xW(_,$){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,...$1($.body),metadata:{...$.metadata??{}}}}async function vg(_,$,U){let{year:J,month:D,day:j}=fw(U),W=`logs/${J}/${D}/${j}.jsonl`,G="";try{G=await _.getText(W)}catch{G=""}return xW(_,{key:W,body:`${G}${JSON.stringify($)} +`,content_type:"application/x-ndjson",metadata:{provenance:h$({generated_from:String($.event??"wiki_log"),artifact_key:W})}})}function cY(_,$){_.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, @@ -948,16 +948,16 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| 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=m1("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,SS($.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 vE(_,$,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 (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[m1("cit",`${$}\x00${D.source_uri}\x00${D.chunk_id??kS()}`),$,D.chunk_id,D.source_uri,D.quote,D.start_offset,D.end_offset,JSON.stringify(D.metadata),J]);return U.length}function yE(_,$){return _.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,$.pageId,"wiki",0,$.body,Tw($.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 yg(_,$,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 (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[m1("cit",`${$}\x00${D.source_uri}\x00${D.chunk_id??ww()}`),$,D.chunk_id,D.source_uri,D.quote,D.start_offset,D.end_offset,JSON.stringify(D.metadata),J]);return U.length}function hg(_,$){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`,[m1("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function vS(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function hE(_){let $=_.now??new Date,U=$.toISOString();o(_.dbPath);let J=x(_.dbPath),D;try{D=TS(J,_)}finally{J.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let j=CS(_,D),G=`wiki/generated/${dY(j)}.md`,X=ZS(j,D,U),N=D.map((C)=>{let f=fE(C.metadata_json);return typeof f.source_ref==="string"?f.source_ref:C.source_uri}).filter((C)=>Boolean(C)),z=y$({generated_from:"wiki_compile",artifact_key:G,source_refs:N}),L=await xW(_.store,{key:G,body:X,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),E=m1("wiki",G),Q=D.map((C)=>({chunk_id:C.chunk_id,source_uri:C.source_uri??"unknown",quote:CE(C.text,240),start_offset:C.start_offset,end_offset:C.end_offset,metadata:{source_revision_id:C.source_revision_id,revision:C.revision,hash:C.hash,source_ref:fE(C.metadata_json).source_ref??C.source_uri}})),q=vS(j),g=`wiki/concepts/${dY(q)}.md`,R=[`# ${q}`,"",`Related page: [[${G}]]`,""].join(` -`),H=y$({generated_from:"wiki_compile_concept",artifact_key:g,source_refs:N}),B=await xW(_.store,{key:g,body:R,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),K=m1("wiki",g),b=await ZE(_.store,{ts:U,event:"wiki_compile_completed",page_key:G,source_refs:N,chunks_seen:D.length},$),I=x(_.dbPath);try{K6(I,[L,B,b],$),cY(I,{pageId:E,path:G,title:j,artifactUri:L.uri,contentHash:L.hash??"",body:X,provenance:z,now:U}),cY(I,{pageId:K,path:g,title:q,artifactUri:B.uri,contentHash:B.hash??"",body:R,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 C=vE(I,E,Q,U),f=yE(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:C,concept_page_id:K,indexes_updated:f,log_key:b.key,warnings:[]}}finally{I.close()}}async function xE(_){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/${dY(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=y$({generated_from:"knowledge_answer",artifact_key:j,source_refs:X}),z=await xW(_.store,{key:j,body:G,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),L=await ZE(_.store,{ts:U,event:"wiki_answer_filed",page_key:j,prompt:_.prompt,citations:W.length},$),E=m1("wiki",j),Q=x(_.dbPath);try{K6(Q,[z,L],$),cY(Q,{pageId:E,path:j,title:J,artifactUri:z.uri,contentHash:z.hash??"",body:G,provenance:N,now:U});let q=vE(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 yE(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 B0(_,$){_.push($)}function rE(_){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`,[m1("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function hw(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function xg(_){let $=_.now??new Date,U=$.toISOString();o(_.dbPath);let J=x(_.dbPath),D;try{D=Zw(J,_)}finally{J.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let j=vw(_,D),G=`wiki/generated/${dY(j)}.md`,X=yw(j,D,U),N=D.map((T)=>{let P=Tg(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}),q=await xW(_.store,{key:G,body:X,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),g=m1("wiki",G),Q=D.map((T)=>({chunk_id:T.chunk_id,source_uri:T.source_uri??"unknown",quote:Zg(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:Tg(T.metadata_json).source_ref??T.source_uri}})),L=hw(j),E=`wiki/concepts/${dY(L)}.md`,R=[`# ${L}`,"",`Related page: [[${G}]]`,""].join(` +`),H=h$({generated_from:"wiki_compile_concept",artifact_key:E,source_refs:N}),B=await xW(_.store,{key:E,body:R,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),K=m1("wiki",E),b=await vg(_.store,{ts:U,event:"wiki_compile_completed",page_key:G,source_refs:N,chunks_seen:D.length},$),I=x(_.dbPath);try{K6(I,[q,B,b],$),cY(I,{pageId:g,path:G,title:j,artifactUri:q.uri,contentHash:q.hash??"",body:X,provenance:z,now:U}),cY(I,{pageId:K,path:E,title:L,artifactUri:B.uri,contentHash:B.hash??"",body:R,provenance:H,now:U}),I.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) + VALUES (?, ?, ?, ?)`,[g,K,"concept",U]);let T=yg(I,g,Q,U),P=hg(I,{title:j,path:G,artifactUri:q.uri,contentHash:q.hash??"",now:U});return{page_id:g,path:G,artifact_uri:q.uri,content_hash:q.hash??"",chunks_seen:D.length,citations_written:T,concept_page_id:K,indexes_updated:P,log_key:b.key,warnings:[]}}finally{I.close()}}async function rg(_){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/${dY(J)}.md`,W=_.context.citations,G=[`# ${J}`,"",_.answer,"","## Citations","",...W.map((L,E)=>`- [C${E+1}] ${L.source_ref??L.source_uri??L.artifact_path??L.artifact_uri??"unknown"} ${L.hash?`(hash ${L.hash})`:""}`),""].join(` +`),X=W.map((L)=>L.source_ref??L.source_uri).filter((L)=>Boolean(L)),N=h$({generated_from:"knowledge_answer",artifact_key:j,source_refs:X}),z=await xW(_.store,{key:j,body:G,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),q=await vg(_.store,{ts:U,event:"wiki_answer_filed",page_key:j,prompt:_.prompt,citations:W.length},$),g=m1("wiki",j),Q=x(_.dbPath);try{K6(Q,[z,q],$),cY(Q,{pageId:g,path:j,title:J,artifactUri:z.uri,contentHash:z.hash??"",body:G,provenance:N,now:U});let L=yg(Q,g,W.map((E)=>({chunk_id:E.chunk_id,source_uri:E.source_uri??E.artifact_uri??"unknown",quote:E.quote,start_offset:E.start_offset,end_offset:E.end_offset,metadata:{source_ref:E.source_ref,artifact_path:E.artifact_path,revision:E.revision,hash:E.hash}})),U);return hg(Q,{title:J,path:j,artifactUri:z.uri,contentHash:z.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:g,path:j,artifact_uri:z.uri,citations_written:L,log_key:q.key,message:`Filed answer to ${j}`}}finally{Q.close()}}function B0(_,$){_.push($)}function ug(_){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 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/%' @@ -981,7 +981,7 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| 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)B0(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)B0(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 Q of z)B0(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 q=$.query("SELECT id, path FROM wiki_pages WHERE lower(metadata_json) LIKE '%contradiction%'").all();for(let Q of q)B0(U,{type:"contradiction_marker",severity:"warn",page_id:Q.id,path:Q.path,message:"Page metadata contains a contradiction marker."});let g=$.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)B0(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 yS}from"crypto";function hS(_){let $=String(_.getUTCFullYear()),U=String(_.getUTCMonth()+1).padStart(2,"0"),J=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:U,day:J}}function iY(_,$){return`${_}_${yS("sha256").update($).digest("hex").slice(0,20)}`}function xS(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function rS(){return`# Knowledge Agent Schema v1 + LIMIT 25`).all();for(let Q of g)B0(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:g.length}}}finally{$.close()}}import{createHash as xw}from"crypto";function rw(_){let $=String(_.getUTCFullYear()),U=String(_.getUTCMonth()+1).padStart(2,"0"),J=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:U,day:J}}function iY(_,$){return`${_}_${xw("sha256").update($).digest("hex").slice(0,20)}`}function uw(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function nw(){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 uS(){return`# Knowledge Index +`}function mw(){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 uE(){return`# Wiki +`}function ng(){return`# Wiki Generated durable knowledge pages live here. Pages should be concise, cited, and organized for both humans and agents. -`}async function nE(_,$=new Date){let{year:U,month:J,day:D}=hS($),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:rS(),content_type:"text/markdown"},{key:"indexes/root.md",body:uS(),content_type:"text/markdown"},{key:"wiki/README.md",body:uE(),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:W7(E.key),content_type:E.content_type,modified_at:Q.modified_at,metadata:{provenance:y$({generated_from:"wiki_layout_init",artifact_key:E.key,citation_required:E.key.startsWith("wiki/")||E.key.startsWith("indexes/")})},...$1(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 lY(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return y$({generated_from:"wiki_layout_init",artifact_key:_.key})}function nS(_,$,U,J,D,j){let W=lY(J),G=iY("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,xS(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 mE(_,$,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 mg(_,$=new Date){let{year:U,month:J,day:D}=rw($),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:nw(),content_type:"text/markdown"},{key:"indexes/root.md",body:mw(),content_type:"text/markdown"},{key:"wiki/README.md",body:ng(),content_type:"text/markdown"},{key:X,body:`${JSON.stringify(N)} +`,content_type:"application/x-ndjson"}],q=await Promise.all(z.map(async(g)=>{let Q=await _.put(g);return{key:Q.key,uri:Q.uri,kind:G7(g.key),content_type:g.content_type,modified_at:Q.modified_at,metadata:{provenance:h$({generated_from:"wiki_layout_init",artifact_key:g.key,citation_required:g.key.startsWith("wiki/")||g.key.startsWith("indexes/")})},...$1(g.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:X,artifacts:q,written:["schemas/v1.md","indexes/root.md","wiki/README.md",X]}}function lY(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return h$({generated_from:"wiki_layout_init",artifact_key:_.key})}function dw(_,$,U,J,D,j){let W=lY(J),G=iY("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,uw(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 dg(_,$,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) 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`,[W,"wiki/README.md","Wiki",j.uri,j.hash??null,"active",JSON.stringify({artifact_key:j.key,provenance:lY(j)}),J,J]),nS(_,W,"Wiki",j,uE(),J)}}import{createHash as dE}from"crypto";import{cpSync as _z,chmodSync as pY,existsSync as d$,lstatSync as pE,mkdirSync as rW,readdirSync as $z,readFileSync as s2,renameSync as mS,rmSync as nW,writeFileSync as cE}from"fs";import{dirname as tY,join as v6,relative as dS}from"path";function aY(_,$=_){if(!d$(_))return[];let U=pE(_);if(U.isFile())return[dS($,_)||"."];if(!U.isDirectory())return[];return $z(_).flatMap((J)=>aY(v6(_,J),$)).sort()}function iE(_,$){if($.length===0)return{sha256:null,bytes:0};let U=dE("sha256"),J=0;for(let D of $){let j=v6(_,D),W=s2(j),G=dE("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 cS(_){if(!d$(_))return null;let $=JSON.parse(s2(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function iS(_){if(!d$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=cQ(_);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 _$(_,$={}){let U=aY(_.home),J=iE(_.home,U),D=aY(_.artifactsDir),j=iE(_.artifactsDir,D),W=d$(_.knowledgeDbPath);return{path:_.home,exists:d$(_.home),file_count:U.length,total_bytes:J.bytes,tree_sha256:J.sha256,json_items:cS(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:W,integrity_check:null,table_counts:{}}:iS(_.knowledgeDbPath),artifacts:{exists:d$(_.artifactsDir),file_count:D.length,total_bytes:j.bytes,tree_sha256:j.sha256},files:U}}function lS(_,$){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(s2(_.configPath,"utf8")))===JSON.stringify(QU())}catch{return!1}}function eY(_,$){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 uW(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function sY(_){if(Array.isArray(_))return`[${_.map(sY).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${sY(U)}`).join(",")}}`;return JSON.stringify(_)}function lE(_){return sY(_)}function oY(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function H0(_){if(!d$(_))return{items:[]};let $=JSON.parse(s2(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function oE(_,$){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=oY(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(lE(L)===lE(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"},...oY(z)?[{key:oY(z),keyKind:"short_id"}]:[]],Q=!1;for(let{key:q,keyKind:g}of E){let R=J.get(q);if(!R)continue;if(g==="id"&&R.keyKind==="id")W+=1,D.push({type:"id_conflict",id:q,legacy_id:z.id,current_id:R.item.id,legacy_title:z.title,current_title:R.item.title});else G+=1,D.push({type:"short_id_conflict",id:q,legacy_id:z.id,current_id:R.item.id,legacy_title:z.title,current_title:R.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 oS(_,$){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 tE(_){let $=_.now??new Date,U=_.approveWrite!==!0,J=_$(_.legacy),D=_$(_.current),j={legacy_exists:J.exists,legacy_store_exists:d$(_.legacy.jsonStorePath),current_store_exists:d$(_.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:H0(_.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:H0(_.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=H0(_.current.jsonStorePath),X=H0(_.legacy.jsonStorePath),N=oE(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-${uW($)}`,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 oS([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let z=H0(_.current.jsonStorePath),L=H0(_.legacy.jsonStorePath),E=oE(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:_$(_.legacy),current_before:_$(_.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:_$(_.legacy),current_before:_$(_.current),backup_after:null,current_after:_$(_.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-${uW($)}`;rW(tY(Q),{recursive:!0}),_z(_.legacy.home,Q,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let q=q$(Q),g=_$(q);if(j.legacy_backup_written=eY(_$(_.legacy),g),!j.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${Q}`);g6(_.current.jsonStorePath,E.mergedStore);let R=H0(_.current.jsonStorePath);E.stats.final_items=R.items.length,j.final_count_matches_expected=R.items.length===E.stats.expected_total_items;let H=_$(_.current),B=j.legacy_backup_written&&j.no_conflicts&&j.final_count_matches_expected;return{ok:B,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:B?`Merged ${E.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function pS(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function Uz(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function tS(_){let $;for(let U=0;U<8;U+=1)try{nW(_,{recursive:!0,force:!1});return}catch(J){if($=J,!Uz(J))throw J;pS(50*(U+1))}throw $}function aE(_){if(!d$(_))return;let $=pE(_);if(pY(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let U of $z(_))aE(v6(_,U))}function aS(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function eS(_){for(let $ of $z(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{nW(v6(_,$),{recursive:!0,force:!1})}catch(U){if(!Uz(U)||!$.startsWith("knowledge.db"))throw U}}}function sS(_,$){try{mS(_,$);return}catch(U){_z(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{tS(_)}catch(J){if(Uz(J)){eS(_);return}throw nW($,{recursive:!0,force:!0}),J}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function _f(_,$,U){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((J)=>!aS(J)))return!1;try{let J=JSON.parse(s2(v6(_.home,"migration.json"),"utf8"));return J.new_path===U&&typeof J.backup_path==="string"}catch{return!1}}function eE(_){let $=_.now??new Date,U=_.approveWrite!==!0,J=_$(_.current),D=lS(_.current,J),j=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!J.exists||D),W=_$(_.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=_f(_.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-${uW($)}`,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-${uW($)}`;rW(tY(_.current.home),{recursive:!0}),rW(tY(N),{recursive:!0}),_z(_.legacy.home,N,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),aE(N);let z=q$(N),L=_$(z,{includeSqlite:!1});if(G.backup_matches_legacy=eY(W,L),!G.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${N}`);if(J.exists&&D)nW(_.current.home,{recursive:!0,force:!0});sS(_.legacy.home,_.current.home);let E=_$(_.current,{includeSqlite:!1});G.migrated_matches_backup=eY(L,E);let Q=_$(z),q=_$(_.current),g={...Q,path:_.legacy.home};rW(_.legacy.home,{recursive:!0});let R=v6(_.legacy.home,"TOMBSTONE.md");cE(R,["# 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}),pY(R,384);let H=v6(_.legacy.home,"migration.json");cE(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}),pY(H,384),G.tombstone_written=d$(R);let B=G.backup_matches_legacy&&G.migrated_matches_backup&&G.tombstone_written;return{ok:B,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:N,tombstone_path:R,legacy_before:g,current_before:J,backup_after:Q,current_after:q,checks:G,warnings:X,message:B?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}function Jf(_){let $=Q3(_);if(K_(sE($,"knowledge.db"))||K_(sE($,"config.json")))return T0($);return T0(q$(OG($)).home)}function Dz(_){return`${Df()}:${$D("sha256").update(_.home).digest("hex").slice(0,12)}`}function Wz(_){return`'${_.replace(/'/g,"'\\''")}'`}function jf(_){return["knowledge",..._].map(Wz).join(" ")}function _3(_,$){return`cd ${Wz(_)} && knowledge ${$.map(Wz).join(" ")}`}function q3(_){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 Jz(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function Wf(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((U)=>typeof U==="string"):[]}catch{return[]}}function UD(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function u_(_){return typeof _==="string"&&_.length>0?_:null}function Gf(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function mW(_){return typeof _==="boolean"?_:null}function Xf(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function L3(_,$,U){let J=UD(_),D=u_(J.observed_at)??u_($[`${U}_observed_at`]),j=u_(J.source_authority)??u_($[`${U}_source_authority`]);if(!D||!j)return null;return{observed_at:D,verified_at:u_(J.verified_at),expires_at:u_(J.expires_at)??u_($[`${U}_expires_at`]),ttl_ms:Gf(J.ttl_ms),source_authority:j,confidence:u_(J.confidence)??(U==="route"?u_($.route_confidence):null),cacheable:mW(J.cacheable)??mW($[`${U}_cacheable`])??!1,stale:mW(J.stale)??mW($[`${U}_stale`])??!1,reasons:Xf(J.reasons)}}function Nf(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||Wf(_.tailscale_ips_json).includes($)}function $3(_,$){return HX(_).find((U)=>Nf(U,$))??null}function g3(_){return UD(d1(_.metadata_json).resolver_evidence)}function DD(_){return UD(d1(_.capabilities_json).resolver)}function E3(_){let $=DD(_),U=u_($.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 Of(_){let $=DD(_),U=u_($.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return E3(_)}function Yf(_){return u_(DD(_).route_confidence)??"medium"}function U3(_,$,U){let J=g3(_),D=UD(J.route),j=DD(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:E3(_),targetKind:Of(_),confidence:Yf(_),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:L3(D.cacheability,j,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function D3(_,$,U){if(!_.workspace_home)return null;let J=g3(_),D=UD(J.workspace),j=DD(_);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:u_(D.project_id)??U.project_id,repo_name:u_(D.repo_name)??U.repo_name,project_root:_.workspace_home,project_root_source:u_(j.project_root_source)??"registry",workspace_root:u_(D.workspace_root),workspace_root_source:u_(j.workspace_root_source)??"registry",open_files_root:u_(D.open_files_root),open_files_root_source:u_(j.open_files_root_source)??"registry",trust_status:u_(j.trust_status)??"unknown",auth_status:u_(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:L3(D.cacheability,j,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function J3(_){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 dW(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:jf(_.args)}}function cW(_,$){let U=x(_);try{return Number(U.query($).get()?.count??0)}finally{U.close()}}function zf(_,$){let U=cW(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),J=cW(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=cW(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),j=cW(_,["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 Qf=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function Gz(_,$=0){if($>8)return!1;if(!_||typeof _!=="object")return!1;if(Array.isArray(_))return _.some((U)=>Gz(U,$+1));for(let[U,J]of Object.entries(_)){if(Qf.has(U.toLowerCase()))return!0;if(Gz(J,$+1))return!0}return!1}function d1(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function j3(_,$=20,U=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),U)}function qf(_,$=220){let U=_??"";return U.length>$?`${U.slice(0,$)}...`:U}function w$(_,$=["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]=d1(j),delete J[D]}}return J})}function A$(_,$,U=[]){return _.query($).all(...U)}function Lf(_){if(!K_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(Uf(_,"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 W3(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:qf(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function G3(){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 R3(_,$,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 gf(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Ef(_,$,U=!1){let J=R3(_,$,U);return{query:_,normalized_query:gf(_),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 jz(_,$,U){let J=U??$.jsonStorePath;if(K_(J))return J;if(_==="global"){let D=zU();if(K_(D))return D}return J}function Rf(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function Xz(_,$){let U=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function X3(_,$,U){let J=N$(Xz(_,U),$);return{text:J.text,redactions:J.findings.length}}function N3(_,$,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((B,K)=>{let b=X3(B.quote,U,K<3?220:140);N+=b.redactions;let I=B.source_ref??B.source_uri??B.artifact_path??B.artifact_uri??B.id;return{id:`cite_${$D("sha256").update(`${B.id}\x00${I}`).digest("hex").slice(0,12)}`,kind:B.artifact_uri||B.artifact_path?"artifact":"source",ref:I,source_ref:B.source_ref,source_uri:B.source_uri,artifact_uri:B.artifact_uri,artifact_path:B.artifact_path,run_id:null,run_event_id:null,revision:B.revision,hash:B.hash,chunk_id:B.chunk_id,offsets:{start:B.start_offset,end:B.end_offset},quote_preview:b.text}}),L=new Map($.citations.map((B,K)=>[B.id,z[K]])),E=$.excerpts.slice(0,Math.max(G*2,G)).map((B)=>{let K=$.results.find((C)=>C.id===B.result_id),b=B.citation_id?L.get(B.citation_id):void 0,I=X3(B.text,U,520);return N+=I.redactions,{id:`ev_${$D("sha256").update(`${B.kind}\x00${B.result_id}\x00${B.citation_id??""}`).digest("hex").slice(0,14)}`,kind:B.kind,title:Xz(K?.title??b?.ref??B.kind,100),text_preview:I.text,score:Number(B.score.toFixed(6)),citation_ids:b?[b.id]:[],provenance:{source:D,record_ref:`${B.kind}:${B.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((B,K)=>K.score-B.score||B.id.localeCompare(K.id)).slice(0,G),Q=new Set(E.flatMap((B)=>B.citation_ids)),q=z.filter((B)=>Q.has(B.id)),g=Array.from(new Set($.warnings)),R=`ctx_${$D("sha256").update([D,j,W,g.join(","),E.map((B)=>B.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:R,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: ${Xz(W,80)}`:"Knowledge context",bullets:E.length>0?E.slice(0,5).map((B)=>`${B.id}: ${B.title}`):["No matching bounded evidence was found."],evidence_ids:E.slice(0,8).map((B)=>B.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=Rf(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 Bf(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Hf(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function Af(_){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 O3(_){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_${$D("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 Nz(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function bf(_,$){let U=x(_);try{let J=U.query(`SELECT artifact_uri, kind, hash, size_bytes, 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:lY(j)}),J,J]),dw(_,W,"Wiki",j,ng(),J)}}import{createHash as cg}from"crypto";import{cpSync as _z,chmodSync as pY,existsSync as c$,lstatSync as tg,mkdirSync as rW,readdirSync as $z,readFileSync as s2,renameSync as cw,rmSync as nW,writeFileSync as ig}from"fs";import{dirname as tY,join as v6,relative as iw}from"path";function aY(_,$=_){if(!c$(_))return[];let U=tg(_);if(U.isFile())return[iw($,_)||"."];if(!U.isDirectory())return[];return $z(_).flatMap((J)=>aY(v6(_,J),$)).sort()}function lg(_,$){if($.length===0)return{sha256:null,bytes:0};let U=cg("sha256"),J=0;for(let D of $){let j=v6(_,D),W=s2(j),G=cg("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 lw(_){if(!c$(_))return null;let $=JSON.parse(s2(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function ow(_){if(!c$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=iQ(_);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=aY(_.home),J=lg(_.home,U),D=aY(_.artifactsDir),j=lg(_.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:lw(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:W,integrity_check:null,table_counts:{}}:ow(_.knowledgeDbPath),artifacts:{exists:c$(_.artifactsDir),file_count:D.length,total_bytes:j.bytes,tree_sha256:j.sha256},files:U}}function pw(_,$){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(s2(_.configPath,"utf8")))===JSON.stringify(QU())}catch{return!1}}function eY(_,$){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 uW(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function sY(_){if(Array.isArray(_))return`[${_.map(sY).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${sY(U)}`).join(",")}}`;return JSON.stringify(_)}function og(_){return sY(_)}function oY(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function H0(_){if(!c$(_))return{items:[]};let $=JSON.parse(s2(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function pg(_,$){let U=new Map(_.items.map((z)=>[z.id,z])),J=new Map;for(let z of _.items){let q=J.get(z.id);if(q&&q.item.id!==z.id);J.set(z.id,{item:z,keyKind:"id",source:"current"});let g=oY(z);if(g&&!J.has(g))J.set(g,{item:z,keyKind:"short_id",source:"current"})}let D=[],j=0,W=0,G=0,X=[];for(let z of $.items){let q=U.get(z.id);if(q){if(og(q)===og(z))j+=1;else W+=1,D.push({type:"id_conflict",id:z.id,legacy_title:z.title,current_title:q.title});continue}let g=[{key:z.id,keyKind:"id"},...oY(z)?[{key:oY(z),keyKind:"short_id"}]:[]],Q=!1;for(let{key:L,keyKind:E}of g){let R=J.get(L);if(!R)continue;if(E==="id"&&R.keyKind==="id")W+=1,D.push({type:"id_conflict",id:L,legacy_id:z.id,current_id:R.item.id,legacy_title:z.title,current_title:R.item.title});else G+=1,D.push({type:"short_id_conflict",id:L,legacy_id:z.id,current_id:R.item.id,legacy_title:z.title,current_title:R.item.title});Q=!0}if(Q)continue;X.push(z);for(let{key:L,keyKind:E}of g)J.set(L,{item:z,keyKind:E,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 tw(_,$){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 ag(_){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:H0(_.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:H0(_.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=H0(_.current.jsonStorePath),X=H0(_.legacy.jsonStorePath),N=pg(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-${uW($)}`,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 tw([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let z=H0(_.current.jsonStorePath),q=H0(_.legacy.jsonStorePath),g=pg(z,q);if(j.no_conflicts=g.conflicts.length===0,g.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:g.stats,conflicts:g.conflicts,checks:j,warnings:[...W,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${g.conflicts.length} conflict(s)`};if(g.stats.stranded_items===0)return g.stats.final_items=z.items.length,j.final_count_matches_expected=z.items.length===g.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:g.stats,conflicts:[],checks:j,warnings:W,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let Q=`${_.legacy.home}.merge-backup-${uW($)}`;rW(tY(Q),{recursive:!0}),_z(_.legacy.home,Q,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let L=q$(Q),E=U$(L);if(j.legacy_backup_written=eY(U$(_.legacy),E),!j.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${Q}`);E6(_.current.jsonStorePath,g.mergedStore);let R=H0(_.current.jsonStorePath);g.stats.final_items=R.items.length,j.final_count_matches_expected=R.items.length===g.stats.expected_total_items;let H=U$(_.current),B=j.legacy_backup_written&&j.no_conflicts&&j.final_count_matches_expected;return{ok:B,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:E,current_after:H,merge:g.stats,conflicts:[],checks:j,warnings:W,message:B?`Merged ${g.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function aw(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function Uz(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function ew(_){let $;for(let U=0;U<8;U+=1)try{nW(_,{recursive:!0,force:!1});return}catch(J){if($=J,!Uz(J))throw J;aw(50*(U+1))}throw $}function eg(_){if(!c$(_))return;let $=tg(_);if(pY(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let U of $z(_))eg(v6(_,U))}function sw(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function _f(_){for(let $ of $z(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{nW(v6(_,$),{recursive:!0,force:!1})}catch(U){if(!Uz(U)||!$.startsWith("knowledge.db"))throw U}}}function $f(_,$){try{cw(_,$);return}catch(U){_z(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{ew(_)}catch(J){if(Uz(J)){_f(_);return}throw nW($,{recursive:!0,force:!0}),J}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function Uf(_,$,U){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((J)=>!sw(J)))return!1;try{let J=JSON.parse(s2(v6(_.home,"migration.json"),"utf8"));return J.new_path===U&&typeof J.backup_path==="string"}catch{return!1}}function sg(_){let $=_.now??new Date,U=_.approveWrite!==!0,J=U$(_.current),D=pw(_.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=Uf(_.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-${uW($)}`,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-${uW($)}`;rW(tY(_.current.home),{recursive:!0}),rW(tY(N),{recursive:!0}),_z(_.legacy.home,N,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),eg(N);let z=q$(N),q=U$(z,{includeSqlite:!1});if(G.backup_matches_legacy=eY(W,q),!G.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${N}`);if(J.exists&&D)nW(_.current.home,{recursive:!0,force:!0});$f(_.legacy.home,_.current.home);let g=U$(_.current,{includeSqlite:!1});G.migrated_matches_backup=eY(q,g);let Q=U$(z),L=U$(_.current),E={...Q,path:_.legacy.home};rW(_.legacy.home,{recursive:!0});let R=v6(_.legacy.home,"TOMBSTONE.md");ig(R,["# 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}),pY(R,384);let H=v6(_.legacy.home,"migration.json");ig(H,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:N,legacy_before:E,backup_after:Q,current_after:L},null,2)} +`,{mode:384}),pY(H,384),G.tombstone_written=c$(R);let B=G.backup_matches_legacy&&G.migrated_matches_backup&&G.tombstone_written;return{ok:B,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:N,tombstone_path:R,legacy_before:E,current_before:J,backup_after:Q,current_after:L,checks:G,warnings:X,message:B?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}function Wf(_){let $=L3(_);if(I_(_3($,"knowledge.db"))||I_(_3($,"config.json")))return T0($);return T0(q$(OG($)).home)}function Dz(_){return`${jf()}:${$D("sha256").update(_.home).digest("hex").slice(0,12)}`}function Wz(_){return`'${_.replace(/'/g,"'\\''")}'`}function Gf(_){return["knowledge",..._].map(Wz).join(" ")}function $3(_,$){return`cd ${Wz(_)} && knowledge ${$.map(Wz).join(" ")}`}function q3(_){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 Jz(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function Xf(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((U)=>typeof U==="string"):[]}catch{return[]}}function UD(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function d_(_){return typeof _==="string"&&_.length>0?_:null}function Nf(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function mW(_){return typeof _==="boolean"?_:null}function Of(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function E3(_,$,U){let J=UD(_),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:Nf(J.ttl_ms),source_authority:j,confidence:d_(J.confidence)??(U==="route"?d_($.route_confidence):null),cacheable:mW(J.cacheable)??mW($[`${U}_cacheable`])??!1,stale:mW(J.stale)??mW($[`${U}_stale`])??!1,reasons:Of(J.reasons)}}function Yf(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||Xf(_.tailscale_ips_json).includes($)}function U3(_,$){return HX(_).find((U)=>Yf(U,$))??null}function g3(_){return UD(d1(_.metadata_json).resolver_evidence)}function DD(_){return UD(d1(_.capabilities_json).resolver)}function R3(_){let $=DD(_),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 zf(_){let $=DD(_),U=d_($.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return R3(_)}function Qf(_){return d_(DD(_).route_confidence)??"medium"}function D3(_,$,U){let J=g3(_),D=UD(J.route),j=DD(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:R3(_),targetKind:zf(_),confidence:Qf(_),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:E3(D.cacheability,j,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function J3(_,$,U){if(!_.workspace_home)return null;let J=g3(_),D=UD(J.workspace),j=DD(_);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:E3(D.cacheability,j,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function j3(_){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 dW(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:Gf(_.args)}}function cW(_,$){let U=x(_);try{return Number(U.query($).get()?.count??0)}finally{U.close()}}function Lf(_,$){let U=cW(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),J=cW(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=cW(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),j=cW(_,["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 qf=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function Gz(_,$=0){if($>8)return!1;if(!_||typeof _!=="object")return!1;if(Array.isArray(_))return _.some((U)=>Gz(U,$+1));for(let[U,J]of Object.entries(_)){if(qf.has(U.toLowerCase()))return!0;if(Gz(J,$+1))return!0}return!1}function d1(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function W3(_,$=20,U=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),U)}function Ef(_,$=220){let U=_??"";return U.length>$?`${U.slice(0,$)}...`:U}function w$(_,$=["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]=d1(j),delete J[D]}}return J})}function b$(_,$,U=[]){return _.query($).all(...U)}function gf(_){if(!I_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(Jf(_,"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 G3(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:Ef(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function X3(){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 Rf(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Bf(_,$,U=!1){let J=B3(_,$,U);return{query:_,normalized_query:Rf(_),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 jz(_,$,U){let J=U??$.jsonStorePath;if(I_(J))return J;if(_==="global"){let D=zU();if(I_(D))return D}return J}function Hf(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function Xz(_,$){let U=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function N3(_,$,U){let J=O$(Xz(_,U),$);return{text:J.text,redactions:J.findings.length}}function O3(_,$,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((B,K)=>{let b=N3(B.quote,U,K<3?220:140);N+=b.redactions;let I=B.source_ref??B.source_uri??B.artifact_path??B.artifact_uri??B.id;return{id:`cite_${$D("sha256").update(`${B.id}\x00${I}`).digest("hex").slice(0,12)}`,kind:B.artifact_uri||B.artifact_path?"artifact":"source",ref:I,source_ref:B.source_ref,source_uri:B.source_uri,artifact_uri:B.artifact_uri,artifact_path:B.artifact_path,run_id:null,run_event_id:null,revision:B.revision,hash:B.hash,chunk_id:B.chunk_id,offsets:{start:B.start_offset,end:B.end_offset},quote_preview:b.text}}),q=new Map($.citations.map((B,K)=>[B.id,z[K]])),g=$.excerpts.slice(0,Math.max(G*2,G)).map((B)=>{let K=$.results.find((T)=>T.id===B.result_id),b=B.citation_id?q.get(B.citation_id):void 0,I=N3(B.text,U,520);return N+=I.redactions,{id:`ev_${$D("sha256").update(`${B.kind}\x00${B.result_id}\x00${B.citation_id??""}`).digest("hex").slice(0,14)}`,kind:B.kind,title:Xz(K?.title??b?.ref??B.kind,100),text_preview:I.text,score:Number(B.score.toFixed(6)),citation_ids:b?[b.id]:[],provenance:{source:D,record_ref:`${B.kind}:${B.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((B,K)=>K.score-B.score||B.id.localeCompare(K.id)).slice(0,G),Q=new Set(g.flatMap((B)=>B.citation_ids)),L=z.filter((B)=>Q.has(B.id)),E=Array.from(new Set($.warnings)),R=`ctx_${$D("sha256").update([D,j,W,E.join(","),g.map((B)=>B.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:R,budgets:{max_tokens:X,estimated_tokens:0,max_items:G,items_included:g.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-g.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:L,evidence:g,duplicate_candidates:[],outline:{title:W?`Knowledge context: ${Xz(W,80)}`:"Knowledge context",bullets:g.length>0?g.slice(0,5).map((B)=>`${B.id}: ${B.title}`):["No matching bounded evidence was found."],evidence_ids:g.slice(0,8).map((B)=>B.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:E,message:`${g.length} bounded evidence item(s), estimated under ${X} token(s)`};return H.budgets.estimated_tokens=Hf(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 Af(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function bf(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function Vf(_){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 Y3(_){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_${$D("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 Nz(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function Kf(_,$){let U=x(_);try{let J=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,R=0,H=new Map,B=[],K=[],b=[],I=[],C=$.artifact_store.uri_prefix,f=Nz($);for(let S_ of J){if(D.set(S_.kind,(D.get(S_.kind)??0)+1),S_.hash?.startsWith("sha256:"))j+=1;if(typeof S_.size_bytes==="number"&&S_.size_bytes>=0)W+=1,G+=S_.size_bytes;if(S_.artifact_uri.startsWith(C))X+=1;else if(B.length<5)B.push(S_.artifact_uri);let n_=d1(S_.metadata_json);if(Gz(n_))L+=1;let f0=typeof n_.key==="string"?n_.key:null;if(!f0)N+=1;else if(f&&f0.startsWith(f)){if(z+=1,K.length<5)K.push(f0)}let vz=typeof n_.artifact_modified_at==="string"?n_.artifact_modified_at:null;if(vz)if(Number.isNaN(Date.parse(vz))){if(Q+=1,b.length<5)b.push(S_.artifact_uri)}else E+=1;let YU=n_.provenance&&typeof n_.provenance==="object"&&!Array.isArray(n_.provenance)?n_.provenance:null;if(YU){q+=1;let WG=typeof YU.artifact_key==="string"?YU.artifact_key:null,yz=typeof YU.generated_from==="string"?YU.generated_from:"unknown";if(H.set(yz,(H.get(yz)??0)+1),WG){if(g+=1,f0&&WG!==f0){if(R+=1,I.length<5)I.push(`${S_.artifact_uri}:provenance.artifact_key=${WG}:key=${f0}`)}}else if(I.length<5)I.push(`${S_.artifact_uri}:missing_provenance_artifact_key`)}else if(I.length<5)I.push(`${S_.artifact_uri}:missing_provenance`)}let m=J.length-j,M_=J.length-W,Z_=J.length-E-Q,T_=J.length-q,__=q-g,D$=J.length-X,d_=[m>0?`artifact_manifest_missing_hash:${m}`:null,M_>0?`artifact_manifest_missing_size:${M_}`:null,N>0?`artifact_manifest_missing_key:${N}`:null,D$>0?`artifact_manifest_uri_prefix_mismatch:${D$}`: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,__>0?`artifact_manifest_missing_provenance_artifact_key:${__}`:null,R>0?`artifact_manifest_provenance_key_mismatch:${R}`:null,L>0?`artifact_manifest_raw_payload_sentinels:${L}`:null].filter((S_)=>Boolean(S_)),q6=d_.length===0;return{ok:q6,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:C,s3:$.artifact_store.s3,artifacts:{total:J.length,by_kind:[...D.entries()].map(([S_,n_])=>({kind:S_,count:n_})).sort((S_,n_)=>S_.kind.localeCompare(n_.kind)),with_hash:j,missing_hash:m,with_size:W,missing_size:M_,total_size_bytes:G},modified_time:{with_modified_at:E,missing_modified_at:Z_,invalid_modified_at:Q,examples:b},provenance:{with_provenance:q,missing_provenance:T_,with_artifact_key:g,missing_artifact_key:__,artifact_key_mismatches:R,generated_from:[...H.entries()].map(([S_,n_])=>({value:S_,count:n_})).sort((S_,n_)=>S_.value.localeCompare(n_.value)),examples:I},uri_prefix:{matching:X,mismatched:D$,examples:B},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&&__===0&&R===0},raw_payload_sentinel_hits:L,warnings:d_,message:q6?`${J.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${d_.join(", ")}`}}finally{U.close()}}function Vf(_,$){let U=Nz($);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(),D=new Map,j=0,W=0,G=0,X=0,N=0,z=0,q=0,g=0,Q=0,L=0,E=0,R=0,H=new Map,B=[],K=[],b=[],I=[],T=$.artifact_store.uri_prefix,P=Nz($);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(B.length<5)B.push(P_.artifact_uri);let n_=d1(P_.metadata_json);if(Gz(n_))q+=1;let f0=typeof n_.key==="string"?n_.key:null;if(!f0)N+=1;else if(P&&f0.startsWith(P)){if(z+=1,K.length<5)K.push(f0)}let yz=typeof n_.artifact_modified_at==="string"?n_.artifact_modified_at:null;if(yz)if(Number.isNaN(Date.parse(yz))){if(Q+=1,b.length<5)b.push(P_.artifact_uri)}else g+=1;let YU=n_.provenance&&typeof n_.provenance==="object"&&!Array.isArray(n_.provenance)?n_.provenance:null;if(YU){L+=1;let WG=typeof YU.artifact_key==="string"?YU.artifact_key:null,hz=typeof YU.generated_from==="string"?YU.generated_from:"unknown";if(H.set(hz,(H.get(hz)??0)+1),WG){if(E+=1,f0&&WG!==f0){if(R+=1,I.length<5)I.push(`${P_.artifact_uri}:provenance.artifact_key=${WG}:key=${f0}`)}}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,R_=J.length-g-Q,T_=J.length-L,u_=L-E,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,R>0?`artifact_manifest_provenance_key_mismatch:${R}`:null,q>0?`artifact_manifest_raw_payload_sentinels:${q}`: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:g,missing_modified_at:R_,invalid_modified_at:Q,examples:b},provenance:{with_provenance:L,missing_provenance:T_,with_artifact_key:E,missing_artifact_key:u_,artifact_key_mismatches:R,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:B},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:g>0&&Q===0,preserves_provenance:T_===0&&u_===0&&R===0},raw_payload_sentinel_hits:q,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 If(_,$){let U=Nz($);if(!U)return[];let J=x(_);try{let D=J.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=d1(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 Kf(_){let $=["--scope",_.scope,"--json"],U=_.tables?.length?["--tables",_.tables.join(",")]:[],J=[dW({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!q3(_.machine))J.push(dW({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(dW({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(dW({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return J}function If(){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 Y3(_,$,U,J){let D=If(),j=$f(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 z3(_,$,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 Ff(_,$){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 Mf(_,$){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 Pf(_){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 B3{options;ensuredWorkspace;cachedConfig;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??AD(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=T0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return SD({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||K_($.configPath))this.cachedConfig=K_($.configPath)?zG($.configPath):QU();return this.cachedConfig}safetyPolicy(){return Q7(this.config(),this.workspace)}artifactStore(){return mG(this.config(),this.ensureWorkspace())}storageContract(){return CD(this.config(),this.workspace,this.scope)}validateStorage(){return iG(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,U=YG(this.options.scope,this.options.cwd),J=eE({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=YG(this.options.scope,this.options.cwd),J=tE({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=Pf(_.mode)??U.mode,D=_.apiUrl?V6(_.apiUrl):U.hosted?.api_url?V6(U.hosted.api_url):null,j={...U,mode:J,hosted:{...U.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?nz():U.storage};mz($.configPath,j),this.cachedConfig=j;let W=CD(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 <key>","knowledge storage status --json"]:["knowledge search <query>","knowledge <prompt>"],message:`Set knowledge mode to ${J}`}}authStatus(_=process.env){return $7(this.config(),_)}saveAuth(_,$=process.env){let U=_.apiUrl??this.config().hosted?.api_url;return sQ({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:U},$)}clearAuth(_=process.env){return _7(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:K_(_.home),config_path:_.configPath,config_exists:K_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:K_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:K_(_.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(){fD("reading knowledge.db stats");let _=this.workspace;if(!K_(_.knowledgeDbPath))return G3();return rG(_.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=G3(),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:K_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:K_($.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(W3),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 $=j3(_.limit),U=await this.fetchCloudItems(),J=MU();return this.itemOnlyInventory({items:U,limit:$,includeArchived:_.includeArchived??!1,storePath:J?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,U=j3(_.limit),J=_.storePath??$.jsonStorePath,D=Lf(J),j=D.items.filter((z)=>z.archived!==!0),W=_.includeArchived?D.items:j;if(!K_($.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=rG($.knowledgeDbPath),N=x($.knowledgeDbPath);try{let z=w$(A$(N,` + ORDER BY artifact_uri ASC`).all(),j=[];for(let W of D){let G=d1(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 Ff(_){let $=["--scope",_.scope,"--json"],U=_.tables?.length?["--tables",_.tables.join(",")]:[],J=[dW({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!q3(_.machine))J.push(dW({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(dW({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(dW({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return J}function Mf(){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 z3(_,$,U,J){let D=Mf(),j=Df(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 Q3(_,$,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 Pf(_,$){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 kf(_,$){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 Sf(_){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 H3{options;ensuredWorkspace;cachedConfig;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??AD(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=T0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return wD({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)?zG($.configPath):QU();return this.cachedConfig}safetyPolicy(){return L7(this.config(),this.workspace)}artifactStore(){return mG(this.config(),this.ensureWorkspace())}storageContract(){return CD(this.config(),this.workspace,this.scope)}validateStorage(){return iG(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,U=YG(this.options.scope,this.options.cwd),J=sg({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=YG(this.options.scope,this.options.cwd),J=ag({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=Sf(_.mode)??U.mode,D=_.apiUrl?V6(_.apiUrl):U.hosted?.api_url?V6(U.hosted.api_url):null,j={...U,mode:J,hosted:{...U.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?mz():U.storage};dz($.configPath,j),this.cachedConfig=j;let W=CD(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 <key>","knowledge storage status --json"]:["knowledge search <query>","knowledge <prompt>"],message:`Set knowledge mode to ${J}`}}authStatus(_=process.env){return U7(this.config(),_)}saveAuth(_,$=process.env){let U=_.apiUrl??this.config().hosted?.api_url;return _7({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:U},$)}clearAuth(_=process.env){return $7(_)}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(){fD("reading knowledge.db stats");let _=this.workspace;if(!I_(_.knowledgeDbPath))return X3();return rG(_.knowledgeDbPath)}itemOnlyInventory(_){let $=this.workspace,{items:U,limit:J,includeArchived:D,storePath:j,storeExists:W,storeReadError:G}=_,X=U.filter((g)=>g.archived!==!0),N=D?U:X,z=X3(),q={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:q,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(G3),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 $=W3(_.limit),U=await this.fetchCloudItems(),J=MU();return this.itemOnlyInventory({items:U,limit:$,includeArchived:_.includeArchived??!1,storePath:J?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,U=W3(_.limit),J=_.storePath??$.jsonStorePath,D=gf(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=rG($.knowledgeDbPath),N=x($.knowledgeDbPath);try{let z=w$(b$(N,` 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=w$(A$(N,` + `,[U]),["metadata_json","acl_json"]),q=w$(b$(N,` 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=w$(A$(N,` + `,[U])),g=w$(b$(N,` 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=w$(A$(N,` + `,[U])),Q=w$(b$(N,` 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=w$(A$(N,` + `,[U])),L=w$(b$(N,` 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=w$(A$(N,` + `,[U])),E=w$(b$(N,` 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])),R=w$(A$(N,` + `,[U])),R=w$(b$(N,` 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=A$(N,` + `,[U])),H=b$(N,` SELECT provider, model, dimensions, status, COUNT(*) AS entries FROM vector_index_entries GROUP BY provider, model, dimensions, status ORDER BY entries DESC LIMIT ? - `,[U]),B=w$(A$(N,` + `,[U]),B=w$(b$(N,` 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=w$(A$(N,` + `,[U])),K=w$(b$(N,` 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"]),b=w$(A$(N,` + `,[U]),["tailscale_ips_json","capabilities_json","metadata_json"]),b=w$(b$(N,` 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=w$(A$(N,` + `,[U])),I=w$(b$(N,` 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])),C=w$(A$(N,` + `,[U])),T=w$(b$(N,` SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT ? - `,[U])),f={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:f,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(W3),sources:z,source_revisions:L,chunks:E,wiki_pages:Q,indexes:q,storage_objects:g,runs:R,vector_indexes:H,reindex_queue:B,machines:K,sync_conflicts:b,approval_gates:I,audit_events:C,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(_){PU({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return S7({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return f7({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(!K_($.knowledgeDbPath))return[];return T7({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let U=this.workspace;if(!K_(U.knowledgeDbPath))return null;return C7({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return Z7({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 nE(this.artifactStore()),U=x(_.knowledgeDbPath);try{K6(U,$.artifacts),mE(U,$.artifacts)}finally{U.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return hE({..._,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 xE({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:U,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return rE({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return F7({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let U=this.ensureWorkspace();return rD({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,U=$?this.workspace:this.ensureWorkspace();return ME({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 yD({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return pg({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!K_($.knowledgeDbPath))return Bf();return gE({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return xY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return EE({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return r7(this.config(),_)}modelRegistry(){return $X(this.config())}embeddingStatus(){let _=this.workspace;if(!K_(_.knowledgeDbPath))return Hf();return i7(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return mD({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return o6()}async fetchCloudItems(){let _=MU();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return wD(_)}async semanticSearch(_){let $=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems(),J=await x4(U,{..._},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:J.results}}if(!K_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return dD({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){let J=await this.fetchCloudItems();return x4(J,_)}let U=jz(this.scope,$,_.legacyStorePath);if(!K_($.knowledgeDbPath)){if(K_(U))return oD({..._,legacyStorePath:U,config:this.config()});return R3(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return lD({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let J=await this.fetchCloudItems();return tD(J,_)}let U=jz(this.scope,$,_.legacyStorePath);if(!K_($.knowledgeDbPath)){if(K_(U)){let J=await oD({..._,legacyStorePath:U,config:this.config()});return G1(J,{contextChars:_.contextChars})}return Ef(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return X1({..._,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 x4(D,{..._,query:J}),W=G1(j,{contextChars:_.contextChars});return N3(_,W,this.safetyPolicy())}return O3(_)}let U=jz(this.scope,$,_.legacyStorePath);if(!K_($.knowledgeDbPath)){let J=(_.query??_.topic??"").trim();if(J&&_.source!=="loops"&&_.source!=="runs"&&K_(U)){let D=await oD({..._,query:J,legacyStorePath:U,config:this.config()}),j=G1(D,{contextChars:_.contextChars});return N3(_,j,this.safetyPolicy())}return O3(_)}return bq({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){let J=await this.fetchCloudItems();return Qq(J,{..._,config:this.config()})}let $=this.ensureWorkspace(),U=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)EU(U);return zq({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return SE({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return OE({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return QE({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!K_(_.knowledgeDbPath))return Af({scope:this.scope,workspaceHome:_.home});return cq({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=bf($.knowledgeDbPath,J),W=_.machine?.trim()||null,G=_.peerWorkspace?.trim()||null,X=[],N=null,z=null;if(W&&!q3(W)){let g=await hY({machineId:W,includeTailscale:_.includeTailscale});N=Jz(g),X.push(...g.warnings)}if(W||G){let g=await vW({machineId:W??Dz($),peerWorkspace:G,includeTailscale:_.includeTailscale});if(W&&!G&&(N?.source==="raw"||!g.ok||!g.project_root)){let R=$3($.knowledgeDbPath,W);if(R){if(N?.source==="raw"&&R.ssh_target)N=Jz(U3(R,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=D3(R,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=zf($.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=Kf({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=Nz(U),D=Vf($.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 <name>"};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,d1(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=C_(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 dq({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:U,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!K_($.knowledgeDbPath))return[];return iq($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),U=WJ($.knowledgeDbPath,_);if(!U)throw Error(`Sync conflict not found: ${_}`);return U}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return hU($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return lg({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),U=hU($.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 J=pq($.knowledgeDbPath,{id:_.id,strategy:_.strategy??U.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=x($.knowledgeDbPath);try{let j=C_(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(!K_(_.knowledgeDbPath))return[];return HX(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),o($.knowledgeDbPath),yU({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),jJ({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 hY({machineId:_.machine,includeTailscale:_.includeTailscale}),X=await vW({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&G.source==="raw"||!X.ok||!X.project_root){let Q=$3(J.knowledgeDbPath,_.machine);if(Q){if(!_.peerWorkspace&&G.source==="raw"&&Q.ssh_target)G=U3(Q,_.machine,G);if(!X.ok||!X.project_root){let q=D3(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 <repo-or-knowledge-home> 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:Jz(G),resolved_workspace:_D(X,X.project_root),peer_workspace:N,message:""},L=!1,E=()=>{if(U||L)return;uq(J.knowledgeDbPath,{machineId:_.machine,route:G,workspace:X}),L=!0};if($==="pull"||$==="both"){let Q=_3(N,["sync","export",...W,...D,...j]),q=Y3(_.machine,Q,void 0,G),g=z3(_.machine,"sync export",q);Ff(_.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=_3(N,["sync","import",...W,...U?["--dry-run"]:[]]),g=z3(_.machine,"sync import",Y3(_.machine,q,JSON.stringify(Q),G));Mf(_.machine,g),z.push=g}return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),E(),z.message=[J3(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=Q3(_.peerWorkspace),D=Jf(J);o(D.knowledgeDbPath);let j=zG(D.configPath),W=CD(j,D,this.scope),G=mG(j,D),X=_.machineId??Dz(U),N=Dz(D),z=await vW({machineId:_.machineId??N,peerWorkspace:J,includeTailscale:!1}),L=()=>yU({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:X,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),E=()=>yU({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 jJ({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 jJ({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=[J3(Q.resolved_workspace),Q.pull?`pull: ${Q.pull.message}`:null,Q.push?`push: ${Q.push.message}`:null].filter(Boolean).join("; "),Q}}function iW(_={}){return new B3(_)}var kf=Object.defineProperty,wf=(_)=>_;function Sf(_,$){this[_]=wf.bind(null,$)}var ff=(_,$)=>{for(var U in $)kf(_,U,{get:$[U],enumerable:!0,configurable:!0,set:Sf.bind($,U)})},Y={};ff(Y,{void:()=>ET,util:()=>q_,unknown:()=>LT,union:()=>AT,undefined:()=>zT,tuple:()=>KT,transformer:()=>b3,symbol:()=>YT,string:()=>f3,strictObject:()=>HT,setErrorMap:()=>Zf,set:()=>MT,record:()=>IT,quotelessJson:()=>Tf,promise:()=>TT,preprocess:()=>vT,pipeline:()=>yT,ostring:()=>hT,optional:()=>CT,onumber:()=>xT,oboolean:()=>rT,objectUtil:()=>Qz,object:()=>BT,number:()=>T3,nullable:()=>ZT,null:()=>QT,never:()=>gT,nativeEnum:()=>fT,nan:()=>XT,map:()=>FT,makeIssue:()=>oW,literal:()=>wT,lazy:()=>kT,late:()=>WT,isValid:()=>A0,isDirty:()=>Lz,isAsync:()=>JD,isAborted:()=>qz,intersection:()=>VT,instanceof:()=>GT,getParsedType:()=>h6,getErrorMap:()=>lW,function:()=>PT,enum:()=>ST,effect:()=>b3,discriminatedUnion:()=>bT,defaultErrorMap:()=>o1,datetimeRegex:()=>k3,date:()=>OT,custom:()=>S3,coerce:()=>uT,boolean:()=>C3,bigint:()=>NT,array:()=>RT,any:()=>qT,addIssueToContext:()=>h,ZodVoid:()=>WD,ZodUnknown:()=>E4,ZodUnion:()=>e1,ZodUndefined:()=>t1,ZodType:()=>O_,ZodTuple:()=>Y6,ZodTransformer:()=>S$,ZodSymbol:()=>jD,ZodString:()=>i$,ZodSet:()=>K0,ZodSchema:()=>O_,ZodRecord:()=>GD,ZodReadonly:()=>jU,ZodPromise:()=>I0,ZodPipeline:()=>OD,ZodParsedType:()=>u,ZodOptional:()=>o$,ZodObject:()=>x_,ZodNumber:()=>R4,ZodNullable:()=>x6,ZodNull:()=>a1,ZodNever:()=>O6,ZodNativeEnum:()=>UU,ZodNaN:()=>ND,ZodMap:()=>XD,ZodLiteral:()=>$U,ZodLazy:()=>_U,ZodIssueCode:()=>w,ZodIntersection:()=>s1,ZodFunction:()=>l1,ZodFirstPartyTypeKind:()=>s,ZodError:()=>b$,ZodEnum:()=>H4,ZodEffects:()=>S$,ZodDiscriminatedUnion:()=>pW,ZodDefault:()=>DU,ZodDate:()=>b0,ZodCatch:()=>JU,ZodBranded:()=>tW,ZodBoolean:()=>p1,ZodBigInt:()=>B4,ZodArray:()=>l$,ZodAny:()=>V0,Schema:()=>O_,ParseStatus:()=>$$,OK:()=>X$,NEVER:()=>nT,INVALID:()=>a,EMPTY_PATH:()=>vf,DIRTY:()=>i1,BRAND:()=>jT});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 Qz;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(Qz||(Qz={}));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}},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"]),Tf=(_)=>{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<j.path.length){let X=j.path[G];if(G!==j.path.length-1)W[X]=W[X]||{_errors:[]};else W[X]=W[X]||{_errors:[]},W[X]._errors.push($(j));W=W[X],G++}}};return J(this),U}static assert(_){if(!(_ instanceof b$))throw Error(`Not a ZodError: ${_}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,q_.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(_=($)=>$.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 Cf=(_,$)=>{let U;switch(_.code){case w.invalid_type:if(_.received===u.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}},o1=Cf,F3=o1;function Zf(_){F3=_}function lW(){return F3}var oW=(_)=>{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}},vf=[];function h(_,$){let U=lW(),J=oW({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===o1?void 0:o1].filter((D)=>!!D)});_.common.issues.push(J)}class $${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 $$.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"}),i1=(_)=>({status:"dirty",value:_}),X$=(_)=>({status:"valid",value:_}),qz=(_)=>_.status==="aborted",Lz=(_)=>_.status==="dirty",A0=(_)=>_.status==="valid",JD=(_)=>typeof Promise<"u"&&_ instanceof Promise,l;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(l||(l={}));class p${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 H3=(_,$)=>{if(A0($))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 $$,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 H3(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 A0(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)=>A0(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 H3(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 S$({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 o$.create(this,this._def)}nullable(){return x6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return l$.create(this)}promise(){return I0.create(this,this._def)}or(_){return e1.create([this,_],this._def)}and(_){return s1.create(this,_,this._def)}transform(_){return new S$({...W_(this._def),schema:this,typeName:s.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new DU({...W_(this._def),innerType:this,defaultValue:$,typeName:s.ZodDefault})}brand(){return new tW({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 OD.create(this,_)}readonly(){return jU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var yf=/^c[^\s-]{8,}$/i,hf=/^[0-9a-z]+$/,xf=/^[0-9A-HJKMNP-TV-Z]{26}$/i,rf=/^[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,uf=/^[a-z0-9_-]{21}$/i,nf=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mf=/^[-+]?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)?)??$/,df=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,cf="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Oz,lf=/^(?:(?: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])$/,of=/^(?:(?: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])$/,pf=/^(([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]))$/,tf=/^(([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])$/,af=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ef=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,M3="((\\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])))",sf=new RegExp(`^${M3}$`);function P3(_){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 _T(_){return new RegExp(`^${P3(_)}$`)}function k3(_){let $=`${M3}T${P3(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function $T(_,$){if(($==="v4"||!$)&&lf.test(_))return!0;if(($==="v6"||!$)&&pf.test(_))return!0;return!1}function UT(_,$){if(!nf.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 DT(_,$){if(($==="v4"||!$)&&of.test(_))return!0;if(($==="v6"||!$)&&tf.test(_))return!0;return!1}class i$ extends O_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==u.string){let D=this._getOrReturnCtx(_);return h(D,{code:w.invalid_type,expected:u.string,received:D.parsedType}),a}let U=new $$,J=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.length<D.value)J=this._getOrReturnCtx(_,J),h(J,{code:w.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="max"){if(_.data.length>D.value)J=this._getOrReturnCtx(_,J),h(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<D.value;if(j||W){if(J=this._getOrReturnCtx(_,J),j)h(J,{code:w.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});else if(W)h(J,{code:w.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});U.dirty()}}else if(D.kind==="email"){if(!df.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"email",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="emoji"){if(!Oz)Oz=new RegExp(cf,"u");if(!Oz.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"emoji",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="uuid"){if(!rf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"uuid",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="nanoid"){if(!uf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"nanoid",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid"){if(!yf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"cuid",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid2"){if(!hf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"cuid2",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ulid"){if(!xf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"ulid",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="url")try{new URL(_.data)}catch{J=this._getOrReturnCtx(_,J),h(J,{validation:"url",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="regex"){if(D.regex.lastIndex=0,!D.regex.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"regex",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="trim")_.data=_.data.trim();else if(D.kind==="includes"){if(!_.data.includes(D.value,D.position))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:{includes:D.value,position:D.position},message:D.message}),U.dirty()}else if(D.kind==="toLowerCase")_.data=_.data.toLowerCase();else if(D.kind==="toUpperCase")_.data=_.data.toUpperCase();else if(D.kind==="startsWith"){if(!_.data.startsWith(D.value))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:{startsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="endsWith"){if(!_.data.endsWith(D.value))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:{endsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="datetime"){if(!k3(D).test(_.data))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:"datetime",message:D.message}),U.dirty()}else if(D.kind==="date"){if(!sf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:"date",message:D.message}),U.dirty()}else if(D.kind==="time"){if(!_T(D).test(_.data))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:"time",message:D.message}),U.dirty()}else if(D.kind==="duration"){if(!mf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"duration",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ip"){if(!$T(_.data,D.version))J=this._getOrReturnCtx(_,J),h(J,{validation:"ip",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="jwt"){if(!UT(_.data,D.alg))J=this._getOrReturnCtx(_,J),h(J,{validation:"jwt",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cidr"){if(!DT(_.data,D.version))J=this._getOrReturnCtx(_,J),h(J,{validation:"cidr",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64"){if(!af.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"base64",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64url"){if(!ef.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"base64url",code:w.invalid_string,message:D.message}),U.dirty()}else q_.assertNever(D);return{status:U.value,value:_.data}}_regex(_,$,U){return this.refinement((J)=>_.test(J),{validation:$,code:w.invalid_string,...l.errToObj(U)})}_addCheck(_){return new i$({...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 i$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new i$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new i$({...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 _}}i$.create=(_)=>{return new i$({checks:[],typeName:s.ZodString,coerce:_?.coerce??!1,...W_(_)})};function JT(_,$){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 R4 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:w.invalid_type,expected:u.number,received:D.parsedType}),a}let U=void 0,J=new $$;for(let D of this._def.checks)if(D.kind==="int"){if(!q_.isInteger(_.data))U=this._getOrReturnCtx(_,U),h(U,{code:w.invalid_type,expected:"integer",received:"float",message:D.message}),J.dirty()}else if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),h(U,{code:w.too_small,minimum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),h(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(JT(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),h(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),h(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,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,_]})}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(_)}}R4.create=(_)=>{return new R4({checks:[],typeName:s.ZodNumber,coerce:_?.coerce||!1,...W_(_)})};class B4 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 $$;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),h(U,{code:w.too_small,type:"bigint",minimum:D.value,inclusive:D.inclusive,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),h(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),h(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 h($,{code:w.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 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,_]})}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 _}}B4.create=(_)=>{return new B4({checks:[],typeName:s.ZodBigInt,coerce:_?.coerce??!1,...W_(_)})};class p1 extends O_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==u.boolean){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.boolean,received:U.parsedType}),a}return X$(_.data)}}p1.create=(_)=>{return new p1({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:w.invalid_type,expected:u.date,received:D.parsedType}),a}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return h(D,{code:w.invalid_date}),a}let U=new $$,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:w.too_small,message:D.message,inclusive:!0,exact:!1,minimum:D.value,type:"date"}),U.dirty()}else if(D.kind==="max"){if(_.data.getTime()>D.value)J=this._getOrReturnCtx(_,J),h(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 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 jD extends O_{_parse(_){if(this._getType(_)!==u.symbol){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.symbol,received:U.parsedType}),a}return X$(_.data)}}jD.create=(_)=>{return new jD({typeName:s.ZodSymbol,...W_(_)})};class t1 extends O_{_parse(_){if(this._getType(_)!==u.undefined){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.undefined,received:U.parsedType}),a}return X$(_.data)}}t1.create=(_)=>{return new t1({typeName:s.ZodUndefined,...W_(_)})};class a1 extends O_{_parse(_){if(this._getType(_)!==u.null){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.null,received:U.parsedType}),a}return X$(_.data)}}a1.create=(_)=>{return new a1({typeName:s.ZodNull,...W_(_)})};class V0 extends O_{constructor(){super(...arguments);this._any=!0}_parse(_){return X$(_.data)}}V0.create=(_)=>{return new V0({typeName:s.ZodAny,...W_(_)})};class E4 extends O_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return X$(_.data)}}E4.create=(_)=>{return new E4({typeName:s.ZodUnknown,...W_(_)})};class O6 extends O_{_parse(_){let $=this._getOrReturnCtx(_);return h($,{code:w.invalid_type,expected:u.never,received:$.parsedType}),a}}O6.create=(_)=>{return new O6({typeName:s.ZodNever,...W_(_)})};class WD extends O_{_parse(_){if(this._getType(_)!==u.undefined){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.void,received:U.parsedType}),a}return X$(_.data)}}WD.create=(_)=>{return new WD({typeName:s.ZodVoid,...W_(_)})};class l$ extends O_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),J=this._def;if($.parsedType!==u.array)return h($,{code:w.invalid_type,expected:u.array,received:$.parsedType}),a;if(J.exactLength!==null){let j=$.data.length>J.exactLength.value,W=$.data.length<J.exactLength.value;if(j||W)h($,{code:j?w.too_big:w.too_small,minimum:W?J.exactLength.value:void 0,maximum:j?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),U.dirty()}if(J.minLength!==null){if($.data.length<J.minLength.value)h($,{code:w.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),U.dirty()}if(J.maxLength!==null){if($.data.length>J.maxLength.value)h($,{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 p$($,j,$.path,W))})).then((j)=>{return $$.mergeArray(U,j)});let D=[...$.data].map((j,W)=>{return J.type._parseSync(new p$($,j,$.path,W))});return $$.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new l$({...this._def,minLength:{value:_,message:l.toString($)}})}max(_,$){return new l$({...this._def,maxLength:{value:_,message:l.toString($)}})}length(_,$){return new l$({...this._def,exactLength:{value:_,message:l.toString($)}})}nonempty(_){return this.min(1,_)}}l$.create=(_,$)=>{return new l$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:s.ZodArray,...W_($)})};function c1(_){if(_ instanceof x_){let $={};for(let U in _.shape){let J=_.shape[U];$[U]=o$.create(c1(J))}return new x_({..._._def,shape:()=>$})}else if(_ instanceof l$)return new l$({..._._def,type:c1(_.element)});else if(_ instanceof o$)return o$.create(c1(_.unwrap()));else if(_ instanceof x6)return x6.create(c1(_.unwrap()));else if(_ instanceof Y6)return Y6.create(_.items.map(($)=>c1($)));else return _}class x_ 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:w.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 O6&&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 p$(J,z,J.path,X)),alwaysSet:X in J.data})}if(this._def.catchall instanceof O6){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: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 p$(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 $$.mergeObjectSync(U,X)});else return $$.mergeObjectSync(U,G)}get shape(){return this._def.shape()}strict(_){return l.errToObj,new x_({...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 x_({...this._def,unknownKeys:"strip"})}passthrough(){return new x_({...this._def,unknownKeys:"passthrough"})}extend(_){return new x_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new x_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:s.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new x_({...this._def,catchall:_})}pick(_){let $={};for(let U of q_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new x_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of q_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new x_({...this._def,shape:()=>$})}deepPartial(){return c1(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 x_({...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 o$)D=D._def.innerType;$[U]=D}return new x_({...this._def,shape:()=>$})}keyof(){return w3(q_.objectKeys(this.shape))}}x_.create=(_,$)=>{return new x_({shape:()=>_,unknownKeys:"strip",catchall:O6.create(),typeName:s.ZodObject,...W_($)})};x_.strictCreate=(_,$)=>{return new x_({shape:()=>_,unknownKeys:"strict",catchall:O6.create(),typeName:s.ZodObject,...W_($)})};x_.lazycreate=(_,$)=>{return new x_({shape:_,unknownKeys:"strip",catchall:O6.create(),typeName:s.ZodObject,...W_($)})};class e1 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:w.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:w.invalid_union,unionErrors:W}),a}}get options(){return this._def.options}}e1.create=(_,$)=>{return new e1({options:_,typeName:s.ZodUnion,...W_($)})};var y6=(_)=>{if(_ instanceof _U)return y6(_.schema);else if(_ instanceof S$)return y6(_.innerType());else if(_ instanceof $U)return[_.value];else if(_ instanceof H4)return _.options;else if(_ instanceof UU)return q_.objectValues(_.enum);else if(_ instanceof DU)return y6(_._def.innerType);else if(_ instanceof t1)return[void 0];else if(_ instanceof a1)return[null];else if(_ instanceof o$)return[void 0,...y6(_.unwrap())];else if(_ instanceof x6)return[null,...y6(_.unwrap())];else if(_ instanceof tW)return y6(_.unwrap());else if(_ instanceof jU)return y6(_.unwrap());else if(_ instanceof JU)return y6(_._def.innerType);else return[]};class pW extends O_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.object)return h($,{code:w.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:w.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 pW({typeName:s.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:J,...W_(U)})}}function gz(_,$){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=gz(_[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=gz(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 s1 extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),J=(D,j)=>{if(qz(D)||qz(j))return a;let W=gz(D.value,j.value);if(!W.valid)return h(U,{code:w.invalid_intersection_types}),a;if(Lz(D)||Lz(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}))}}s1.create=(_,$,U)=>{return new s1({left:_,right:$,typeName:s.ZodIntersection,...W_(U)})};class Y6 extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==u.array)return h(U,{code:w.invalid_type,expected:u.array,received:U.parsedType}),a;if(U.data.length<this._def.items.length)return h(U,{code:w.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),a;if(!this._def.rest&&U.data.length>this._def.items.length)h(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 p$(U,j,U.path,W))}).filter((j)=>!!j);if(U.common.async)return Promise.all(D).then((j)=>{return $$.mergeArray($,j)});else return $$.mergeArray($,D)}get items(){return this._def.items}rest(_){return new Y6({...this._def,rest:_})}}Y6.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Y6({items:_,typeName:s.ZodTuple,rest:null,...W_($)})};class GD 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:w.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 p$(U,W,U.path,W)),value:j._parse(new p$(U,U.data[W],U.path,W)),alwaysSet:W in U.data});if(U.common.async)return $$.mergeObjectAsync($,J);else return $$.mergeObjectSync($,J)}get element(){return this._def.valueType}static create(_,$,U){if($ instanceof O_)return new GD({keyType:_,valueType:$,typeName:s.ZodRecord,...W_(U)});return new GD({keyType:i$.create(),valueType:_,typeName:s.ZodRecord,...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.map)return h(U,{code:w.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 p$(U,W,U.path,[X,"key"])),value:D._parse(new p$(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}}}}XD.create=(_,$,U)=>{return new XD({valueType:$,keyType:_,typeName:s.ZodMap,...W_(U)})};class K0 extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==u.set)return h(U,{code:w.invalid_type,expected:u.set,received:U.parsedType}),a;let J=this._def;if(J.minSize!==null){if(U.data.size<J.minSize.value)h(U,{code:w.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),$.dirty()}if(J.maxSize!==null){if(U.data.size>J.maxSize.value)h(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 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 p$(U,G,U.path,X)));if(U.common.async)return Promise.all(W).then((G)=>j(G));else return j(W)}min(_,$){return new K0({...this._def,minSize:{value:_,message:l.toString($)}})}max(_,$){return new K0({...this._def,maxSize:{value:_,message:l.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}K0.create=(_,$)=>{return new K0({valueType:_,minSize:null,maxSize:null,typeName:s.ZodSet,...W_($)})};class l1 extends O_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.function)return h($,{code:w.invalid_type,expected:u.function,received:$.parsedType}),a;function U(W,G){return oW({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,lW(),o1].filter((X)=>!!X),issueData:{code:w.invalid_arguments,argumentsError:G}})}function J(W,G){return oW({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,lW(),o1].filter((X)=>!!X),issueData:{code:w.invalid_return_type,returnTypeError:G}})}let D={errorMap:$.common.contextualErrorMap},j=$.data;if(this._def.returns instanceof I0){let W=this;return X$(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 X$(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 l1({...this._def,args:Y6.create(_).rest(E4.create())})}returns(_){return new l1({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new l1({args:_?_:Y6.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 $U extends O_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return h($,{received:$.data,code:w.invalid_literal,expected:this._def.value}),a}return{status:"valid",value:_.data}}get value(){return this._def.value}}$U.create=(_,$)=>{return new $U({value:_,typeName:s.ZodLiteral,...W_($)})};function w3(_,$){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:w.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:w.invalid_enum_value,options:U}),a}return X$(_.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=w3;class UU 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:w.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:w.invalid_enum_value,options:J}),a}return X$(_.data)}get enum(){return this._def.values}}UU.create=(_,$)=>{return new UU({values:_,typeName:s.ZodNativeEnum,...W_($)})};class I0 extends O_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.promise&&$.common.async===!1)return h($,{code:w.invalid_type,expected:u.promise,received:$.parsedType}),a;let U=$.parsedType===u.promise?$.data:Promise.resolve($.data);return X$(U.then((J)=>{return this._def.type.parseAsync(J,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}I0.create=(_,$)=>{return new I0({type:_,typeName:s.ZodPromise,...W_($)})};class S$ 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 i1(G.value);if($.value==="dirty")return i1(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 i1(W.value);if($.value==="dirty")return i1(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(!A0(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(!A0(j))return a;return Promise.resolve(J.transform(j.value,D)).then((W)=>({status:$.value,value:W}))});q_.assertNever(J)}}S$.create=(_,$,U)=>{return new S$({schema:_,typeName:s.ZodEffects,effect:$,...W_(U)})};S$.createWithPreprocess=(_,$,U)=>{return new S$({schema:$,effect:{type:"preprocess",transform:_},typeName:s.ZodEffects,...W_(U)})};class o$ extends O_{_parse(_){if(this._getType(_)===u.undefined)return X$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}o$.create=(_,$)=>{return new o$({innerType:_,typeName:s.ZodOptional,...W_($)})};class x6 extends O_{_parse(_){if(this._getType(_)===u.null)return X$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}x6.create=(_,$)=>{return new x6({innerType:_,typeName:s.ZodNullable,...W_($)})};class DU 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}}DU.create=(_,$)=>{return new DU({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 ND extends O_{_parse(_){if(this._getType(_)!==u.nan){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.nan,received:U.parsedType}),a}return{status:"valid",value:_.data}}}ND.create=(_)=>{return new ND({typeName:s.ZodNaN,...W_(_)})};var jT=Symbol("zod_brand");class tW 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 OD 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(),i1(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 OD({in:_,out:$,typeName:s.ZodPipeline})}}class jU extends O_{_parse(_){let $=this._def.innerType._parse(_),U=(J)=>{if(A0(J))J.value=Object.freeze(J.value);return J};return JD($)?$.then((J)=>U(J)):U($)}unwrap(){return this._def.innerType}}jU.create=(_,$)=>{return new jU({innerType:_,typeName:s.ZodReadonly,...W_($)})};function A3(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function S3(_,$={},U){if(_)return V0.create().superRefine((J,D)=>{let j=_(J);if(j instanceof Promise)return j.then((W)=>{if(!W){let G=A3($,J),X=G.fatal??U??!0;D.addIssue({code:"custom",...G,fatal:X})}});if(!j){let W=A3($,J),G=W.fatal??U??!0;D.addIssue({code:"custom",...W,fatal:G})}return});return V0.create()}var WT={object:x_.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 GT=(_,$={message:`Input not instance of ${_.name}`})=>S3((U)=>U instanceof _,$),f3=i$.create,T3=R4.create,XT=ND.create,NT=B4.create,C3=p1.create,OT=b0.create,YT=jD.create,zT=t1.create,QT=a1.create,qT=V0.create,LT=E4.create,gT=O6.create,ET=WD.create,RT=l$.create,BT=x_.create,HT=x_.strictCreate,AT=e1.create,bT=pW.create,VT=s1.create,KT=Y6.create,IT=GD.create,FT=XD.create,MT=K0.create,PT=l1.create,kT=_U.create,wT=$U.create,ST=H4.create,fT=UU.create,TT=I0.create,b3=S$.create,CT=o$.create,ZT=x6.create,vT=S$.createWithPreprocess,yT=OD.create,hT=()=>f3().optional(),xT=()=>T3().optional(),rT=()=>C3().optional(),uT={string:(_)=>i$.create({..._,coerce:!0}),number:(_)=>R4.create({..._,coerce:!0}),boolean:(_)=>p1.create({..._,coerce:!0}),bigint:(_)=>B4.create({..._,coerce:!0}),date:(_)=>b0.create({..._,coerce:!0})},nT=a;var n={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"},Z3=Y.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),V$=Y.string().datetime(),D_=Y.string().trim().min(1),t$=D_.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://"),v3=Y.string().regex(/^[a-fA-F0-9]{64}$/),y3=Y.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),r6=Y.record(Y.unknown()),XU=Y.array(Y.string().min(1)).default([]),F0=V$.nullable().optional(),mT=new Set(["succeeded","failed","cancelled","blocked","skipped"]),P0=Y.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function I_(_){return Y.object({schema:Y.literal(_),id:Y.string().min(1),createdAt:V$,updatedAt:F0,metadata:r6.optional()}).strict()}var hd=Y.object({schema:Z3,id:Y.string().min(1),createdAt:V$,updatedAt:F0,metadata:r6.optional()}).strict(),h3=Y.enum(["agent","human","service","model","workflow","system"]),dT=I_(n.actorRef).extend({kind:h3,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(),z6=Y.object({kind:h3,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(),x3=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"]),cT=I_(n.resourceRef).extend({kind:x3,name:Y.string().min(1).optional(),uri:t$.optional(),externalId:D_.optional(),sourcePackage:D_.optional(),tags:XU}).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:x3,id:Y.string().min(1),name:Y.string().min(1).optional(),uri:t$.optional(),externalId:D_.optional(),sourcePackage:D_.optional(),tags:XU}).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"]})}),Ez=Y.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),iT=Y.enum(["none","partial","full","unknown"]),lT=I_(n.evidenceRef).extend({kind:Ez,uri:t$,sha256:v3.optional(),summary:Y.string().min(1).optional(),contentType:Y.string().min(1).optional(),sizeBytes:Y.number().int().nonnegative().optional(),redaction:iT.default("unknown"),producer:z6.optional(),resourceRefs:Y.array(N_).default([]),tags:XU}).strict(),w_=Y.object({id:Y.string().min(1),kind:Ez.optional(),uri:t$.optional(),sha256:v3.optional(),summary:Y.string().min(1).optional()}).strict(),YD=I_(n.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"]})}),oT=Y.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),r3=I_(n.decisionEnvelope).extend({decisionType:Y.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:oT,actor:z6.optional(),traceId:Y.string().min(1).optional(),inputHash:y3.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:YD.optional(),evidenceRefs:Y.array(w_).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"]})}),pT=I_(n.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:YD.optional(),evidenceRefs:Y.array(w_).default([])}).strict(),WU=Y.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),tT=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"]),aT=Y.object({refName:D_,requiredForModes:Y.array(WU).min(1),allowedSecretInputs:Y.array(Y.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:D_,revocationCheck:Y.boolean().default(!0)}).strict(),eT=Y.object({operation:D_,supportedModes:Y.array(WU).min(1),sideEffectClass:tT,requiresApproval:Y.boolean().default(!1),requiresIdempotencyKey:Y.boolean().default(!1),requiresSandboxEvidence:Y.boolean().default(!1),requiresRollbackOrRevocation:Y.boolean().default(!1),rollbackOrRevocation:D_.optional(),noSideEffectSmoke:D_.optional(),reconciliation:D_.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"]})}}),sT=Y.object({providerId:D_,appId:D_,adapterId:D_,ownerPackage:D_,modes:Y.array(WU).min(1),defaultMode:WU,credentialRequirements:Y.array(aT).default([]),operations:Y.array(eT).min(1),rateLimitPosture:D_,costPosture:D_.optional(),auditEvents:Y.array(D_).default([]),redactionRules:Y.array(D_).default([]),evidenceRefs:Y.array(w_).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"]})}}),_C=Y.object({appId:D_,repo:D_,priority:Y.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:Y.array(D_).min(1),firstOperations:Y.array(D_).min(1),blockedUntil:Y.array(D_).default([])}).strict(),$C=I_(n.providerLiveModeStandard).extend({name:D_,version:D_,modes:Y.array(WU).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:Y.array(D_).min(1),liveMutationGate:Y.object({requiredMode:Y.literal("live_mutating"),requiredChecks:Y.array(D_).min(1),forbiddenBypassSignals:Y.array(D_).min(1),disabledLiveSmoke:D_}).strict(),noSideEffectSmoke:Y.object({requiredForModes:Y.array(WU).min(1),commandEvidence:Y.array(D_).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(sT).min(1),firstAdoptionTargets:Y.array(_C).min(1),evidenceRefs:Y.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:Y.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),UC=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:w_,resourceRefs:Y.array(N_).default([])}).strict(),u3=I_(n.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(UC).default([]),citations:Y.array(w_).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(),c$=D_.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),M0=Y.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),DC=Y.enum(["public","internal","private","sensitive"]),JC=Y.enum(["draft","active","paused","archived"]),Rz=Y.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),n3=I_(n.integrationRef).extend({kind:Rz,name:Y.string().min(1),projectId:M0.optional(),sourcePackage:D_.optional(),externalId:D_.optional(),uri:t$.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(w_).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"]})}),jC=Y.object({schemaRoot:c$.default(".hasna/project"),dashboardManifest:c$.default(".hasna/project/dashboard.render.json"),snapshotsDir:c$.default(".hasna/project/snapshots"),documentsDir:c$.default("documents"),reportsDir:c$.default("reports"),evidenceDir:c$.default(".hasna/project/evidence"),privateDir:c$.default(".hasna/project/private")}).strict(),WC=I_(n.projectManifest).extend({projectId:M0,slug:M0,name:Y.string().min(1),summary:Y.string().min(1).optional(),status:JC.default("active"),classification:DC.default("private"),owner:z6.optional(),layout:jC.default({}),integrations:Y.array(n3).default([]),renderManifests:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(w_).default([]),tags:XU}).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)}}),GC=Y.enum(["local","package","provider","url"]),Bz=Y.object({id:Y.string().min(1),kind:GC,specifier:Y.string().min(1),path:c$.optional(),packageName:Y.string().min(1).optional(),uri:t$.optional(),provider:Rz.optional(),schemaId:Z3.optional(),integrity:y3.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"]})}),XC=Y.enum(["dashboard","canvas","panel","report","document","custom"]),NC=Y.object({id:Y.string().min(1),title:Y.string().min(1),kind:XC,default:Y.boolean().default(!1),entry:c$.optional(),imports:Y.array(Bz).default([]),panelRefs:Y.array(N_).default([]),dataRefs:Y.array(N_).default([]),layout:r6.optional()}).strict(),OC=I_(n.renderManifest).extend({projectId:M0,name:Y.string().min(1),version:Y.string().min(1),manifestPath:c$.default(".hasna/project/dashboard.render.json"),renderer:Y.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:Y.array(NC).min(1),imports:Y.array(Bz).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(w_).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"]})}}),YC=Y.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),zC=Y.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),QC=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(),qC=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:V$.optional(),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(w_).default([]),metadata:r6.optional()}).strict(),LC=Y.object({renderer:Y.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:Y.string().min(1).optional(),entry:c$.optional(),imports:Y.array(Bz).default([]),spec:r6.default({})}).strict(),m3=I_(n.projectPanel).extend({projectId:M0,provider:Y.object({kind:Rz,id:Y.string().min(1),name:Y.string().min(1).optional(),sourcePackage:D_.optional(),externalId:D_.optional()}).strict(),kind:zC,title:Y.string().min(1),summary:Y.string().min(1).optional(),state:YC.default("ready"),stateReason:Y.string().min(1).optional(),generatedAt:V$,freshness:Y.enum(["fresh","stale","unknown"]).default("unknown"),metrics:Y.array(QC).default([]),items:Y.array(qC).default([]),actions:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(w_).default([]),renderFragment:LC.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"]})}),gC=I_(n.projectSnapshot).extend({projectId:M0,generatedAt:V$,status:P0.default("unknown"),manifestRef:N_,renderManifestRef:N_.optional(),panels:Y.array(m3).default([]),contextPacks:Y.array(u3).default([]),proofBundleRefs:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(w_).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)}}),d3=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"]})}),EC=I_(n.validationPlan).extend({objective:Y.string().min(1),subject:N_.optional(),checks:Y.array(d3).min(1),verifier:z6.optional(),requiredEvidenceKinds:Y.array(Ez).default([])}).strict(),RC=Y.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),BC=Y.enum(["draft","active","deprecated","archived"]),HC=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"]),AC=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"]})}),bC=Y.object({name:Y.string().min(1),command:Y.string().min(1),description:Y.string().min(1).optional(),required:Y.boolean().default(!1)}).strict(),VC=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(),KC=I_(n.scaffoldManifest).extend({name:Y.string().min(1),version:Y.string().min(1),summary:Y.string().min(1),type:RC,status:BC.default("draft"),capabilities:Y.array(HC).default([]),techStack:Y.array(Y.string().min(1)).default([]),tags:XU,source:N_.optional(),output:VC,env:Y.array(AC).default([]),scripts:Y.array(bC).default([]),validationChecks:Y.array(d3).default([]),evidenceRefs:Y.array(w_).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"]})}),IC=Y.enum(["installed","failed","cancelled","partial","unknown"]),FC=I_(n.scaffoldInstallRecord).extend({scaffoldId:Y.string().min(1),scaffoldVersion:Y.string().min(1).optional(),manifestRef:N_.optional(),target:N_,status:IC,installedAt:V$.optional(),installer:z6.optional(),packageManager:Y.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:r6.optional(),generatedFiles:Y.array(N_).default([]),evidenceRefs:Y.array(w_).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"]})}),GU=Y.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),Hz=Y.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),c3=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"),MC=Y.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),PC=D_.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),kC=Y.enum(["active","stub","deprecated","archived"]),wC=Y.enum(["stable","beta","canary","internal"]),SC=Y.object({transport:Y.enum(["http","stdio"]).default("http"),bin:Y.string().min(1).optional(),url:t$.optional()}).strict(),fC=Y.object({healthPath:Y.string().min(1).default("/health"),port:Y.number().int().positive().optional(),baseUrl:t$.optional()}).strict(),TC=Y.object({bins:Y.array(Y.string().min(1)).default([]),mcp:SC.optional(),http:fC.optional()}).strict(),CC=I_(n.app).extend({appId:GU,npmName:Hz,repoFolder:GU,githubUrl:PC,projectSlug:M0,surfaces:TC.default({}),lifecycle:kC,releaseChannel:wC.default("stable"),summary:Y.string().min(1).optional(),tags:XU}).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)}}),ZC=Y.enum(["skill","ci","backfilled"]),vC=I_(n.release).extend({appId:GU,package:Hz,version:c3,gitSha:MC,publishedAt:V$,publishPath:ZC,changelogRef:N_.optional(),evidenceRefs:Y.array(w_).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"]})}),yC=Y.enum(["install","update","rollback","freeze-blocked"]),hC=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"})}),xC=I_(n.rolloutRecord).extend({appId:GU,package:Hz,version:c3,machine:D_,action:yC,result:P0,verifiedBy:hC.optional(),at:V$,evidenceRefs:Y.array(w_).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"]})}),rC=Y.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),uC=Y.enum(["pending","queued","sent","failed","skipped","suppressed"]),nC=Y.object({channel:rC,status:uC,deliveredAt:V$.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"]})}),mC=I_(n.announcement).extend({campaignId:D_,appId:GU.optional(),releaseRef:N_.optional(),channels:Y.array(nC).min(1),audienceRef:N_,sentAt:V$}).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"]})}),dC=Y.enum(["tag","attribute","group"]),cC=Y.enum(["eq","neq","in","not_in","exists","not_exists"]),V3=Y.union([Y.string(),Y.number(),Y.boolean()]),iC=Y.object({kind:dC,key:Y.string().min(1).optional(),op:cC.default("eq"),value:V3.optional(),values:Y.array(V3).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"]})}),lC=Y.object({match:Y.enum(["all","any"]).default("all"),predicates:Y.array(iC).min(1)}).strict(),oC=Y.enum(["opt_in","opt_out","transactional","none"]),pC=I_(n.audience).extend({audienceId:GU,name:D_,definition:lC,consentPolicy:oC,suppressionSyncedAt:F0}).strict(),Yz=["@hasna/cloud","open-cloud"],tC=Y.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),aC=Y.object({id:Y.string().min(1),provider:tC,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:t$.optional(),machineScoped:Y.boolean().default(!1)}).strict(),i3=I_(n.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(aC).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([...Yz]),dependencies:Y.array(Y.string().min(1)).default([]),evidenceRefs:Y.array(w_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...Yz,..._.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 Yz)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"]})})}),l3=Y.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),eC=Y.enum(["low","medium","high","critical"]),o3=Y.object({id:Y.string().min(1),kind:l3,severity:eC,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(w_).default([])}).strict(),sC=Y.object({id:Y.string().min(1),kind:l3,status:P0,target:Y.string().min(1),command:Y.string().min(1).optional(),evidenceRefs:Y.array(w_).default([]),findings:Y.array(o3).default([])}).strict(),_Z=I_(n.noCloudEvidencePack).extend({subject:N_,packageName:Y.string().min(1).optional(),packageVersion:Y.string().min(1).optional(),generatedBy:z6.optional(),scanMode:Y.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:P0,verdict:Y.enum(["passed","failed","warning","not_run"]),appCloudManifest:i3.optional(),checks:Y.array(sC).min(1),findings:Y.array(o3).default([]),evidenceRefs:Y.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: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"]})})}),$Z=Y.object({checkId:Y.string().min(1),status:P0,summary:Y.string().min(1).optional(),startedAt:F0,finishedAt:F0,evidenceRefs:Y.array(w_).default([])}).strict(),UZ=I_(n.proofBundle).extend({subject:N_,validationPlanRef:N_.optional(),status:P0,verdict:Y.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:Y.array($Z).default([]),verifier:z6.optional(),evidenceRefs:Y.array(w_).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"]})}),DZ=I_(n.workRun).extend({objective:Y.string().min(1),status:P0,actor:z6,traceId:Y.string().min(1).optional(),startedAt:F0,finishedAt:F0,constraints:Y.array(Y.string().min(1)).default([]),resourceRefs:Y.array(N_).default([]),decisions:Y.array(r3).default([]),costEstimates:Y.array(YD).default([]),evidenceRefs:Y.array(w_).default([]),validationPlanRefs:Y.array(N_).default([]),proofBundleRefs:Y.array(N_).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)<Date.parse(_.startedAt))$.addIssue({code:Y.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(mT.has(_.status)&&!_.finishedAt)$.addIssue({code:Y.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=_.evidenceRefs.length>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"]})}),JZ=Y.object({id:Y.string().min(1),at:V$,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(w_).default([]),costEstimate:YD.optional()}).strict(),jZ=I_(n.agentTrajectory).extend({actor:z6,workRunRef:N_.optional(),events:Y.array(JZ).default([]),outcome:Y.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:N_.optional()}).strict(),WZ="v1",GZ=Y.enum(["library","cli-with-store","service","saas"]),XZ=["local","self-hosted","cloud"],p3=Y.enum(XZ),NZ=Y.enum(["supported","deferred","unsupported"]),OZ=Y.enum(["none","local-only","api-key","session","service-token","custom"]),zz=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(),YZ=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:w_.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"]})}),zZ=Y.object({name:Y.string().min(1),status:NZ,bin:Y.string().min(1).optional(),mcpBin:Y.string().min(1).optional(),authMode:OZ,deploymentModes:Y.array(p3).min(1),health:zz.optional(),readiness:zz.optional(),version:zz.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(YZ).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"]})}),QZ=["local","cloud"],t3=Y.enum(QZ);var qZ=Y.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),LZ=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function gZ(_){return LZ.map(($)=>`${_}${$}`)}function K3(_){return`hasna/oss/${_}/database-url`}var EZ=Y.object({mode:t3,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(),RZ=Y.object({$schema:Y.string().min(1).optional(),schema:Y.literal(n.serviceContract),name:qZ,class:GZ,contractVersion:Y.literal(WZ),kitVersion:Y.string().min(1),description:Y.string().min(1).optional(),bins:Y.array(Y.string().min(1)).default([]),storage:EZ.optional(),deploymentModes:Y.array(p3).default(["local"]),serviceSurfaces:Y.array(zZ).default([]),metadata:r6.optional()}).strict().superRefine((_,$)=>{let U=new Set(gZ(_.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/<name>/<name>.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]})}}),xd=Y.object({status:Y.enum(["ok","degraded","unavailable"]),version:Y.string().min(1),mode:t3}).strict(),rd=Y.object({ready:Y.boolean(),reason:Y.string().min(1).optional()}).strict(),ud=Y.object({version:Y.string().min(1)}).strict(),BZ=Y.enum(["info","notice","breaking","critical"]),HZ=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 (<source>.<entity>.<action>)"),AZ=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],bZ=Y.enum(AZ);var VZ=Y.enum(["fleet","package","machine"]),a3=I_(n.commsEventEnvelope).extend({type:HZ,severity:BZ,scope:VZ,summary:Y.string().min(1).optional(),source:z6.optional(),affected_packages:Y.array(D_).default([]),affected_machines:Y.array(D_).default([]),action_required:Y.boolean().default(!1),ack_by:V$.optional(),dedupe_key:D_,resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(w_).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"]})}}),KZ=Y.enum(["fleet","package","product","loop-lane","initiative","personal"]),IZ=Y.enum(["quiet","work","firehose"]),FZ=D_.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>)"),MZ=I_(n.commsChannelMetadata).extend({class:KZ,noise:IZ.optional(),owner:D_.optional(),until:FZ.optional(),successor:D_.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"]})}}),I3={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}},PZ=I_(n.commsMessageMetadata).extend({tag:bZ,envelope:a3}).strict().superRefine((_,$)=>{let U=I3[_.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(I3))if(D.requiredEventType===_.envelope.type&&_.tag!==J)$.addIssue({code:Y.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${J}] tag`,path:["tag"]})});var kZ={[n.actorRef]:dT,[n.resourceRef]:cT,[n.evidenceRef]:lT,[n.workRun]:DZ,[n.decisionEnvelope]:r3,[n.costEstimate]:YD,[n.capabilityCard]:pT,[n.providerLiveModeStandard]:$C,[n.contextPack]:u3,[n.integrationRef]:n3,[n.projectManifest]:WC,[n.projectPanel]:m3,[n.projectSnapshot]:gC,[n.renderManifest]:OC,[n.agentTrajectory]:jZ,[n.validationPlan]:EC,[n.proofBundle]:UZ,[n.scaffoldManifest]:KC,[n.scaffoldInstallRecord]:FC,[n.appCloudManifest]:i3,[n.noCloudEvidencePack]:_Z,[n.serviceContract]:RZ,[n.commsEventEnvelope]:a3,[n.commsChannelMetadata]:MZ,[n.commsMessageMetadata]:PZ,[n.app]:CC,[n.release]:vC,[n.rolloutRecord]:xC,[n.announcement]:mC,[n.audience]:pC};class e3 extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function s3(_,$){let J=kZ[_].safeParse($);if(!J.success)throw new e3(_,J.error.issues);return J.data}var nd={$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:n.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 _R="@hasna/knowledge";function wZ(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function SZ(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function zD(_,$=180){let U=String(_??"").replace(/\s+/g," ").trim();if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-3))}...`}function m_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function QD(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function NU(_){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 aW(_){return t$.safeParse(_).success}function a$(_,$,U,J,D=[]){return{kind:_,id:$,name:U,uri:J&&aW(J)?J:void 0,externalId:$,sourcePackage:_R,tags:D}}function fZ(_){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(NU).filter(Boolean).sort((U,J)=>J.localeCompare(U))[0]}function TZ(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function CZ(_){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 ZZ(_,$){let U=[];for(let J of _.items.slice(0,$))U.push({id:`item_${J.id}`,title:J.title,summary:zD(J.content_preview),status:J.archived?"archived":"active",priority:"medium",timestamp:NU(J.updated_at??J.created_at),resourceRefs:[a$("knowledge",J.id,J.title,`knowledge://item/${encodeURIComponent(J.id)}`,J.tags)],evidenceRefs:J.url&&aW(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=m_(J.id,m_(J.uri,"source")),j=m_(J.title,m_(J.uri,D)),W=m_(J.uri,`knowledge://source/${encodeURIComponent(D)}`);U.push({id:`source_${D}`,title:j,summary:zD(`${QD(J.chunks)} chunk(s), ${QD(J.revisions)} revision(s)`),status:QD(J.chunks)>0?"indexed":"source",priority:"medium",timestamp:NU(J.updated_at??J.created_at),resourceRefs:[a$("document",D,j,W)],evidenceRefs:aW(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=m_(J.id,"chunk"),j=m_(J.source_uri);U.push({id:`chunk_${D}`,title:m_(J.wiki_title,j?`Chunk from ${j}`:`Knowledge chunk ${D}`),summary:zD(J.text_preview),status:"chunk",priority:"low",timestamp:NU(J.created_at),resourceRefs:[a$("context_pack",D,m_(J.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:j&&aW(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=m_(J.id,"sync_conflict");U.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${m_(J.entity_kind,"entity")}/${m_(J.entity_id,D)}`,summary:zD(`Status ${m_(J.status,"unknown")}; strategy ${m_(J.resolution_strategy,"none")}.`),status:m_(J.status,"unknown"),priority:"critical",timestamp:NU(J.created_at),resourceRefs:[a$("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=m_(J.id,"reindex");U.push({id:`reindex_${D}`,title:`Reindex ${m_(J.kind,"item")}: ${m_(J.target_id,D)}`,summary:zD(J.reason),status:m_(J.status,"unknown"),priority:m_(J.status).toLowerCase()==="failed"?"high":"medium",timestamp:NU(J.updated_at??J.created_at),resourceRefs:[a$("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 $R(_,$={}){let U=wZ($.limit),J=new Date().toISOString(),D=SZ(_),W=await($.service??iW({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:U,storePath:$.storePath,includeArchived:$.includeArchived}),G=fZ(W),X=TZ(G),N=W.summary.active_items+W.summary.sources+W.summary.chunks+W.summary.wiki_pages+W.summary.storage_objects,z=CZ(W),L=N===0?"empty":X==="stale"?"stale":"ready",E=ZZ(W,U),Q={schema:n.projectPanel,id:`knowledge_panel_${D}`,createdAt:J,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:_R,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:[a$("action","knowledge:inventory","Inspect knowledge inventory"),a$("action","knowledge:context-pack","Build cited context pack"),a$("action","knowledge:ingest","Ingest project source")],resourceRefs:[a$("project",D,_,`project://${D}`),a$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),a$("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 s3(n.projectPanel,Q)}function UR(_){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 jR=["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 vZ=["remote","hybrid","self_hosted"],WR="HASNA_KNOWLEDGE_STORAGE_MODE",GR="KNOWLEDGE_STORAGE_MODE";function DR(_){return process.env[_]?.trim()||void 0}function JR(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="local")return"local";if($==="cloud")return"cloud";if($&&vZ.includes($))return"cloud";return}function yZ(_={}){let $=T0(AD(_.scope,_.cwd).home);return o($.knowledgeDbPath),{db:x($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function XR(){let _=JR(DR(WR))??JR(DR(GR));if(_)return _;return"local"}function Az(_={}){let $=yZ(_);try{hZ($.db);let U=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:XR(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:jR,sync:U}}finally{$.db.close()}}function hZ(_){_.exec(` + `,[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(G3),sources:z,source_revisions:q,chunks:g,wiki_pages:Q,indexes:L,storage_objects:E,runs:R,vector_indexes:H,reindex_queue:B,machines:K,sync_conflicts:b,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(_){PU({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return f7({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return T7({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 C7({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let U=this.workspace;if(!I_(U.knowledgeDbPath))return null;return Z7({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return v7({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 mg(this.artifactStore()),U=x(_.knowledgeDbPath);try{K6(U,$.artifacts),dg(U,$.artifacts)}finally{U.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return xg({..._,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 rg({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:U,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return ug({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return M7({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let U=this.ensureWorkspace();return rD({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,U=$?this.workspace:this.ensureWorkspace();return Pg({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 yD({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return tE({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!I_($.knowledgeDbPath))return Af();return gg({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return xY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return Rg({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return u7(this.config(),_)}modelRegistry(){return $X(this.config())}embeddingStatus(){let _=this.workspace;if(!I_(_.knowledgeDbPath))return bf();return l7(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return mD({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return o6()}async fetchCloudItems(){let _=MU();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 x4(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 dD({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){let J=await this.fetchCloudItems();return x4(J,_)}let U=jz(this.scope,$,_.legacyStorePath);if(!I_($.knowledgeDbPath)){if(I_(U))return oD({..._,legacyStorePath:U,config:this.config()});return B3(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return lD({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let J=await this.fetchCloudItems();return tD(J,_)}let U=jz(this.scope,$,_.legacyStorePath);if(!I_($.knowledgeDbPath)){if(I_(U)){let J=await oD({..._,legacyStorePath:U,config:this.config()});return G1(J,{contextChars:_.contextChars})}return Bf(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return X1({..._,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 x4(D,{..._,query:J}),W=G1(j,{contextChars:_.contextChars});return O3(_,W,this.safetyPolicy())}return Y3(_)}let U=jz(this.scope,$,_.legacyStorePath);if(!I_($.knowledgeDbPath)){let J=(_.query??_.topic??"").trim();if(J&&_.source!=="loops"&&_.source!=="runs"&&I_(U)){let D=await oD({..._,query:J,legacyStorePath:U,config:this.config()}),j=G1(D,{contextChars:_.contextChars});return O3(_,j,this.safetyPolicy())}return Y3(_)}return VL({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){let J=await this.fetchCloudItems();return LL(J,{..._,config:this.config()})}let $=this.ensureWorkspace(),U=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)gU(U);return QL({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return fg({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return Yg({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return Lg({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!I_(_.knowledgeDbPath))return Vf({scope:this.scope,workspaceHome:_.home});return iL({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=Kf($.knowledgeDbPath,J),W=_.machine?.trim()||null,G=_.peerWorkspace?.trim()||null,X=[],N=null,z=null;if(W&&!q3(W)){let E=await hY({machineId:W,includeTailscale:_.includeTailscale});N=Jz(E),X.push(...E.warnings)}if(W||G){let E=await vW({machineId:W??Dz($),peerWorkspace:G,includeTailscale:_.includeTailscale});if(W&&!G&&(N?.source==="raw"||!E.ok||!E.project_root)){let R=U3($.knowledgeDbPath,W);if(R){if(N?.source==="raw"&&R.ssh_target)N=Jz(D3(R,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(!E.ok||!E.project_root){let H=J3(R,W,E);if(H)z=_D(H,H.project_root),X.push(...H.warnings)}}}z=E.ok&&E.project_root?_D(E,E.project_root):z??{..._D(E,G??""),project_root:E.project_root??G??""},X.push(...E.warnings)}if(!D.ok)X.push(...D.errors.map((E)=>`storage:${E}`));let q=Lf($.knowledgeDbPath,z);if(!q.ok)X.push("open_files_boundary_raw_payload_sentinels");if(!j.ok)X.push(...j.warnings);let g=z?.diagnostics.filter((E)=>E.severity==="fail")??[],Q=D.ok&&j.ok&&q.ok&&g.length===0&&(z?.project_root!==""||!z),L=Ff({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:q,resolved_route:N,resolved_workspace:z,recommended_commands:L,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=Nz(U),D=If($.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 <name>"};let W=x($.knowledgeDbPath);try{let G=new Date().toISOString();W.transaction((z)=>{let q=W.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),g=W.query("SELECT id, metadata_json FROM storage_objects").all(),Q=new Map(g.map((L)=>[L.id,d1(L.metadata_json)]));for(let L of z){let E=Q.get(L.id)??{};E.key=L.repaired_key,q.run(JSON.stringify(E),G,L.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 cL({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:U,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!I_($.knowledgeDbPath))return[];return lL($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),U=WJ($.knowledgeDbPath,_);if(!U)throw Error(`Sync conflict not found: ${_}`);return U}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return hU($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return oE({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),U=hU($.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 J=tL($.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 HX(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),o($.knowledgeDbPath),yU({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),jJ({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 hY({machineId:_.machine,includeTailscale:_.includeTailscale}),X=await vW({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&G.source==="raw"||!X.ok||!X.project_root){let Q=U3(J.knowledgeDbPath,_.machine);if(Q){if(!_.peerWorkspace&&G.source==="raw"&&Q.ssh_target)G=D3(Q,_.machine,G);if(!X.ok||!X.project_root){let L=J3(Q,_.machine,X);if(L)X=L}}}if(!X.ok||!X.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.",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:Jz(G),resolved_workspace:_D(X,X.project_root),peer_workspace:N,message:""},q=!1,g=()=>{if(U||q)return;nL(J.knowledgeDbPath,{machineId:_.machine,route:G,workspace:X}),q=!0};if($==="pull"||$==="both"){let Q=$3(N,["sync","export",...W,...D,...j]),L=z3(_.machine,Q,void 0,G),E=Q3(_.machine,"sync export",L);Pf(_.machine,E),z.pull=await this.importSyncBundle({bundle:E,dryRun:U,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){g();let Q=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!U}),L=$3(N,["sync","import",...W,...U?["--dry-run"]:[]]),E=Q3(_.machine,"sync import",z3(_.machine,L,JSON.stringify(Q),G));kf(_.machine,E),z.push=E}return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),g(),z.message=[j3(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=L3(_.peerWorkspace),D=Wf(J);o(D.knowledgeDbPath);let j=zG(D.configPath),W=CD(j,D,this.scope),G=mG(j,D),X=_.machineId??Dz(U),N=Dz(D),z=await vW({machineId:_.machineId??N,peerWorkspace:J,includeTailscale:!1}),q=()=>yU({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:X,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),g=()=>yU({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 jJ({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:g(),targetBundle:q(),direction:"pull",dryRun:_.dryRun,localMachineId:X});if($==="push"||$==="both")Q.push=await jJ({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:W,targetStore:G,bundle:q(),targetBundle:g(),direction:"push",dryRun:_.dryRun,localMachineId:N});return Q.ok=(Q.pull?.ok??!0)&&(Q.push?.ok??!0),Q.message=[j3(Q.resolved_workspace),Q.pull?`pull: ${Q.pull.message}`:null,Q.push?`push: ${Q.push.message}`:null].filter(Boolean).join("; "),Q}}function iW(_={}){return new H3(_)}var wf=Object.defineProperty,ff=(_)=>_;function Tf(_,$){this[_]=ff.bind(null,$)}var Cf=(_,$)=>{for(var U in $)wf(_,U,{get:$[U],enumerable:!0,configurable:!0,set:Tf.bind($,U)})},Y={};Cf(Y,{void:()=>BT,util:()=>L_,unknown:()=>gT,union:()=>VT,undefined:()=>LT,tuple:()=>FT,transformer:()=>V3,symbol:()=>QT,string:()=>T3,strictObject:()=>bT,setErrorMap:()=>yf,set:()=>kT,record:()=>MT,quotelessJson:()=>Zf,promise:()=>ZT,preprocess:()=>hT,pipeline:()=>xT,ostring:()=>rT,optional:()=>vT,onumber:()=>uT,oboolean:()=>nT,objectUtil:()=>Qz,object:()=>AT,number:()=>C3,nullable:()=>yT,null:()=>qT,never:()=>RT,nativeEnum:()=>CT,nan:()=>OT,map:()=>PT,makeIssue:()=>oW,literal:()=>fT,lazy:()=>wT,late:()=>XT,isValid:()=>A0,isDirty:()=>qz,isAsync:()=>JD,isAborted:()=>Lz,intersection:()=>IT,instanceof:()=>NT,getParsedType:()=>h6,getErrorMap:()=>lW,function:()=>ST,enum:()=>TT,effect:()=>V3,discriminatedUnion:()=>KT,defaultErrorMap:()=>o1,datetimeRegex:()=>S3,date:()=>zT,custom:()=>f3,coerce:()=>mT,boolean:()=>Z3,bigint:()=>YT,array:()=>HT,any:()=>ET,addIssueToContext:()=>h,ZodVoid:()=>WD,ZodUnknown:()=>g4,ZodUnion:()=>e1,ZodUndefined:()=>t1,ZodType:()=>O_,ZodTuple:()=>z6,ZodTransformer:()=>f$,ZodSymbol:()=>jD,ZodString:()=>l$,ZodSet:()=>K0,ZodSchema:()=>O_,ZodRecord:()=>GD,ZodReadonly:()=>jU,ZodPromise:()=>I0,ZodPipeline:()=>OD,ZodParsedType:()=>u,ZodOptional:()=>p$,ZodObject:()=>r_,ZodNumber:()=>R4,ZodNullable:()=>x6,ZodNull:()=>a1,ZodNever:()=>Y6,ZodNativeEnum:()=>UU,ZodNaN:()=>ND,ZodMap:()=>XD,ZodLiteral:()=>$U,ZodLazy:()=>_U,ZodIssueCode:()=>w,ZodIntersection:()=>s1,ZodFunction:()=>l1,ZodFirstPartyTypeKind:()=>s,ZodError:()=>V$,ZodEnum:()=>H4,ZodEffects:()=>f$,ZodDiscriminatedUnion:()=>pW,ZodDefault:()=>DU,ZodDate:()=>b0,ZodCatch:()=>JU,ZodBranded:()=>tW,ZodBoolean:()=>p1,ZodBigInt:()=>B4,ZodArray:()=>o$,ZodAny:()=>V0,Schema:()=>O_,ParseStatus:()=>D$,OK:()=>N$,NEVER:()=>dT,INVALID:()=>a,EMPTY_PATH:()=>hf,DIRTY:()=>i1,BRAND:()=>GT});var L_;(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}})(L_||(L_={}));var Qz;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(Qz||(Qz={}));var u=L_.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}},w=L_.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"]),Zf=(_)=>{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(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<j.path.length){let X=j.path[G];if(G!==j.path.length-1)W[X]=W[X]||{_errors:[]};else W[X]=W[X]||{_errors:[]},W[X]._errors.push($(j));W=W[X],G++}}};return J(this),U}static assert(_){if(!(_ instanceof V$))throw Error(`Not a ZodError: ${_}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,L_.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(_=($)=>$.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()}}V$.create=(_)=>{return new V$(_)};var vf=(_,$)=>{let U;switch(_.code){case w.invalid_type:if(_.received===u.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case w.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,L_.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:U=`Unrecognized key(s) in object: ${L_.joinValues(_.keys,", ")}`;break;case w.invalid_union:U="Invalid input";break;case w.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${L_.joinValues(_.options)}`;break;case w.invalid_enum_value:U=`Invalid enum value. Expected ${L_.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 L_.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,L_.assertNever(_)}return{message:U}},o1=vf,M3=o1;function yf(_){M3=_}function lW(){return M3}var oW=(_)=>{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}},hf=[];function h(_,$){let U=lW(),J=oW({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===o1?void 0:o1].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"}),i1=(_)=>({status:"dirty",value:_}),N$=(_)=>({status:"valid",value:_}),Lz=(_)=>_.status==="aborted",qz=(_)=>_.status==="dirty",A0=(_)=>_.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 A3=(_,$)=>{if(A0($))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 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 A3(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 A0(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)=>A0(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 A3(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 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 I0.create(this,this._def)}or(_){return e1.create([this,_],this._def)}and(_){return s1.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 DU({...W_(this._def),innerType:this,defaultValue:$,typeName:s.ZodDefault})}brand(){return new tW({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 OD.create(this,_)}readonly(){return jU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var xf=/^c[^\s-]{8,}$/i,rf=/^[0-9a-z]+$/,uf=/^[0-9A-HJKMNP-TV-Z]{26}$/i,nf=/^[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,mf=/^[a-z0-9_-]{21}$/i,df=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,cf=/^[-+]?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)?)??$/,lf=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,of="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Oz,pf=/^(?:(?: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])$/,tf=/^(?:(?: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])$/,af=/^(([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])$/,sf=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,_T=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,P3="((\\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])))",$T=new RegExp(`^${P3}$`);function k3(_){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 UT(_){return new RegExp(`^${k3(_)}$`)}function S3(_){let $=`${P3}T${k3(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function DT(_,$){if(($==="v4"||!$)&&pf.test(_))return!0;if(($==="v6"||!$)&&af.test(_))return!0;return!1}function JT(_,$){if(!df.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 jT(_,$){if(($==="v4"||!$)&&tf.test(_))return!0;if(($==="v6"||!$)&&ef.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:w.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.length<D.value)J=this._getOrReturnCtx(_,J),h(J,{code:w.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="max"){if(_.data.length>D.value)J=this._getOrReturnCtx(_,J),h(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<D.value;if(j||W){if(J=this._getOrReturnCtx(_,J),j)h(J,{code:w.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});else if(W)h(J,{code:w.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});U.dirty()}}else if(D.kind==="email"){if(!lf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"email",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="emoji"){if(!Oz)Oz=new RegExp(of,"u");if(!Oz.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"emoji",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="uuid"){if(!nf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"uuid",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="nanoid"){if(!mf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"nanoid",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid"){if(!xf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"cuid",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid2"){if(!rf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"cuid2",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ulid"){if(!uf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"ulid",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="url")try{new URL(_.data)}catch{J=this._getOrReturnCtx(_,J),h(J,{validation:"url",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="regex"){if(D.regex.lastIndex=0,!D.regex.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"regex",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="trim")_.data=_.data.trim();else if(D.kind==="includes"){if(!_.data.includes(D.value,D.position))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:{includes:D.value,position:D.position},message:D.message}),U.dirty()}else if(D.kind==="toLowerCase")_.data=_.data.toLowerCase();else if(D.kind==="toUpperCase")_.data=_.data.toUpperCase();else if(D.kind==="startsWith"){if(!_.data.startsWith(D.value))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:{startsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="endsWith"){if(!_.data.endsWith(D.value))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:{endsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="datetime"){if(!S3(D).test(_.data))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:"datetime",message:D.message}),U.dirty()}else if(D.kind==="date"){if(!$T.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:"date",message:D.message}),U.dirty()}else if(D.kind==="time"){if(!UT(D).test(_.data))J=this._getOrReturnCtx(_,J),h(J,{code:w.invalid_string,validation:"time",message:D.message}),U.dirty()}else if(D.kind==="duration"){if(!cf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"duration",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ip"){if(!DT(_.data,D.version))J=this._getOrReturnCtx(_,J),h(J,{validation:"ip",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="jwt"){if(!JT(_.data,D.alg))J=this._getOrReturnCtx(_,J),h(J,{validation:"jwt",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cidr"){if(!jT(_.data,D.version))J=this._getOrReturnCtx(_,J),h(J,{validation:"cidr",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64"){if(!sf.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"base64",code:w.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64url"){if(!_T.test(_.data))J=this._getOrReturnCtx(_,J),h(J,{validation:"base64url",code:w.invalid_string,message:D.message}),U.dirty()}else L_.assertNever(D);return{status:U.value,value:_.data}}_regex(_,$,U){return this.refinement((J)=>_.test(J),{validation:$,code:w.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 WT(_,$){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 R4 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:w.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(!L_.isInteger(_.data))U=this._getOrReturnCtx(_,U),h(U,{code:w.invalid_type,expected:"integer",received:"float",message:D.message}),J.dirty()}else if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),h(U,{code:w.too_small,minimum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),h(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(WT(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),h(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),h(U,{code:w.not_finite,message:D.message}),J.dirty()}else L_.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 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,_]})}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"&&L_.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(_)}}R4.create=(_)=>{return new R4({checks:[],typeName:s.ZodNumber,coerce:_?.coerce||!1,...W_(_)})};class B4 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?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),h(U,{code:w.too_small,type:"bigint",minimum:D.value,inclusive:D.inclusive,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),h(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),h(U,{code:w.not_multiple_of,multipleOf:D.value,message:D.message}),J.dirty()}else L_.assertNever(D);return{status:J.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return h($,{code:w.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 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,_]})}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 _}}B4.create=(_)=>{return new B4({checks:[],typeName:s.ZodBigInt,coerce:_?.coerce??!1,...W_(_)})};class p1 extends O_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==u.boolean){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.boolean,received:U.parsedType}),a}return N$(_.data)}}p1.create=(_)=>{return new p1({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:w.invalid_type,expected:u.date,received:D.parsedType}),a}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return h(D,{code:w.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:w.too_small,message:D.message,inclusive:!0,exact:!1,minimum:D.value,type:"date"}),U.dirty()}else if(D.kind==="max"){if(_.data.getTime()>D.value)J=this._getOrReturnCtx(_,J),h(J,{code:w.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),U.dirty()}else L_.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 jD extends O_{_parse(_){if(this._getType(_)!==u.symbol){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.symbol,received:U.parsedType}),a}return N$(_.data)}}jD.create=(_)=>{return new jD({typeName:s.ZodSymbol,...W_(_)})};class t1 extends O_{_parse(_){if(this._getType(_)!==u.undefined){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.undefined,received:U.parsedType}),a}return N$(_.data)}}t1.create=(_)=>{return new t1({typeName:s.ZodUndefined,...W_(_)})};class a1 extends O_{_parse(_){if(this._getType(_)!==u.null){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.null,received:U.parsedType}),a}return N$(_.data)}}a1.create=(_)=>{return new a1({typeName:s.ZodNull,...W_(_)})};class V0 extends O_{constructor(){super(...arguments);this._any=!0}_parse(_){return N$(_.data)}}V0.create=(_)=>{return new V0({typeName:s.ZodAny,...W_(_)})};class g4 extends O_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return N$(_.data)}}g4.create=(_)=>{return new g4({typeName:s.ZodUnknown,...W_(_)})};class Y6 extends O_{_parse(_){let $=this._getOrReturnCtx(_);return h($,{code:w.invalid_type,expected:u.never,received:$.parsedType}),a}}Y6.create=(_)=>{return new Y6({typeName:s.ZodNever,...W_(_)})};class WD extends O_{_parse(_){if(this._getType(_)!==u.undefined){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.void,received:U.parsedType}),a}return N$(_.data)}}WD.create=(_)=>{return new WD({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:w.invalid_type,expected:u.array,received:$.parsedType}),a;if(J.exactLength!==null){let j=$.data.length>J.exactLength.value,W=$.data.length<J.exactLength.value;if(j||W)h($,{code:j?w.too_big:w.too_small,minimum:W?J.exactLength.value:void 0,maximum:j?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),U.dirty()}if(J.minLength!==null){if($.data.length<J.minLength.value)h($,{code:w.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),U.dirty()}if(J.maxLength!==null){if($.data.length>J.maxLength.value)h($,{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 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 c1(_){if(_ instanceof r_){let $={};for(let U in _.shape){let J=_.shape[U];$[U]=p$.create(c1(J))}return new r_({..._._def,shape:()=>$})}else if(_ instanceof o$)return new o$({..._._def,type:c1(_.element)});else if(_ instanceof p$)return p$.create(c1(_.unwrap()));else if(_ instanceof x6)return x6.create(c1(_.unwrap()));else if(_ instanceof z6)return z6.create(_.items.map(($)=>c1($)));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(),$=L_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==u.object){let X=this._getOrReturnCtx(_);return h(X,{code:w.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: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 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,q=await N.value;X.push({key:z,value:q,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 L_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new r_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of L_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new r_({...this._def,shape:()=>$})}deepPartial(){return c1(this)}partial(_){let $={};for(let U of L_.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 L_.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 w3(L_.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 e1 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 V$(W.ctx.common.issues));return h($,{code:w.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 V$(G));return h($,{code:w.invalid_union,unionErrors:W}),a}}get options(){return this._def.options}}e1.create=(_,$)=>{return new e1({options:_,typeName:s.ZodUnion,...W_($)})};var y6=(_)=>{if(_ instanceof _U)return y6(_.schema);else if(_ instanceof f$)return y6(_.innerType());else if(_ instanceof $U)return[_.value];else if(_ instanceof H4)return _.options;else if(_ instanceof UU)return L_.objectValues(_.enum);else if(_ instanceof DU)return y6(_._def.innerType);else if(_ instanceof t1)return[void 0];else if(_ instanceof a1)return[null];else if(_ instanceof p$)return[void 0,...y6(_.unwrap())];else if(_ instanceof x6)return[null,...y6(_.unwrap())];else if(_ instanceof tW)return y6(_.unwrap());else if(_ instanceof jU)return y6(_.unwrap());else if(_ instanceof JU)return y6(_._def.innerType);else return[]};class pW extends O_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.object)return h($,{code:w.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:w.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 pW({typeName:s.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:J,...W_(U)})}}function Ez(_,$){let U=h6(_),J=h6($);if(_===$)return{valid:!0,data:_};else if(U===u.object&&J===u.object){let D=L_.objectKeys($),j=L_.objectKeys(_).filter((G)=>D.indexOf(G)!==-1),W={..._,...$};for(let G of j){let X=Ez(_[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=Ez(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 s1 extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),J=(D,j)=>{if(Lz(D)||Lz(j))return a;let W=Ez(D.value,j.value);if(!W.valid)return h(U,{code:w.invalid_intersection_types}),a;if(qz(D)||qz(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}))}}s1.create=(_,$,U)=>{return new s1({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:w.invalid_type,expected:u.array,received:U.parsedType}),a;if(U.data.length<this._def.items.length)return h(U,{code:w.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),a;if(!this._def.rest&&U.data.length>this._def.items.length)h(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 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 GD 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:w.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 GD({keyType:_,valueType:$,typeName:s.ZodRecord,...W_(U)});return new GD({keyType:l$.create(),valueType:_,typeName:s.ZodRecord,...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.map)return h(U,{code:w.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}}}}XD.create=(_,$,U)=>{return new XD({valueType:$,keyType:_,typeName:s.ZodMap,...W_(U)})};class K0 extends O_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==u.set)return h(U,{code:w.invalid_type,expected:u.set,received:U.parsedType}),a;let J=this._def;if(J.minSize!==null){if(U.data.size<J.minSize.value)h(U,{code:w.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),$.dirty()}if(J.maxSize!==null){if(U.data.size>J.maxSize.value)h(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 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 K0({...this._def,minSize:{value:_,message:l.toString($)}})}max(_,$){return new K0({...this._def,maxSize:{value:_,message:l.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}K0.create=(_,$)=>{return new K0({valueType:_,minSize:null,maxSize:null,typeName:s.ZodSet,...W_($)})};class l1 extends O_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.function)return h($,{code:w.invalid_type,expected:u.function,received:$.parsedType}),a;function U(W,G){return oW({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,lW(),o1].filter((X)=>!!X),issueData:{code:w.invalid_arguments,argumentsError:G}})}function J(W,G){return oW({data:W,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,lW(),o1].filter((X)=>!!X),issueData:{code:w.invalid_return_type,returnTypeError:G}})}let D={errorMap:$.common.contextualErrorMap},j=$.data;if(this._def.returns instanceof I0){let W=this;return N$(async function(...G){let X=new V$([]),N=await W._def.args.parseAsync(G,D).catch((g)=>{throw X.addIssue(U(G,g)),X}),z=await Reflect.apply(j,this,N);return await W._def.returns._def.type.parseAsync(z,D).catch((g)=>{throw X.addIssue(J(z,g)),X})})}else{let W=this;return N$(function(...G){let X=W._def.args.safeParse(G,D);if(!X.success)throw new V$([U(G,X.error)]);let N=Reflect.apply(j,this,X.data),z=W._def.returns.safeParse(N,D);if(!z.success)throw new V$([J(N,z.error)]);return z.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new l1({...this._def,args:z6.create(_).rest(g4.create())})}returns(_){return new l1({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new l1({args:_?_:z6.create([]).rest(g4.create()),returns:$||g4.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 $U extends O_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return h($,{received:$.data,code:w.invalid_literal,expected:this._def.value}),a}return{status:"valid",value:_.data}}get value(){return this._def.value}}$U.create=(_,$)=>{return new $U({value:_,typeName:s.ZodLiteral,...W_($)})};function w3(_,$){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:L_.joinValues(U),received:$.parsedType,code:w.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:w.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=w3;class UU extends O_{_parse(_){let $=L_.getValidEnumValues(this._def.values),U=this._getOrReturnCtx(_);if(U.parsedType!==u.string&&U.parsedType!==u.number){let J=L_.objectValues($);return h(U,{expected:L_.joinValues(J),received:U.parsedType,code:w.invalid_type}),a}if(!this._cache)this._cache=new Set(L_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let J=L_.objectValues($);return h(U,{received:U.data,code:w.invalid_enum_value,options:J}),a}return N$(_.data)}get enum(){return this._def.values}}UU.create=(_,$)=>{return new UU({values:_,typeName:s.ZodNativeEnum,...W_($)})};class I0 extends O_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==u.promise&&$.common.async===!1)return h($,{code:w.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})}))}}I0.create=(_,$)=>{return new I0({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 i1(G.value);if($.value==="dirty")return i1(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 i1(W.value);if($.value==="dirty")return i1(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(!A0(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(!A0(j))return a;return Promise.resolve(J.transform(j.value,D)).then((W)=>({status:$.value,value:W}))});L_.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 DU 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}}DU.create=(_,$)=>{return new DU({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 V$(U.common.issues)},input:U.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new V$(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 ND extends O_{_parse(_){if(this._getType(_)!==u.nan){let U=this._getOrReturnCtx(_);return h(U,{code:w.invalid_type,expected:u.nan,received:U.parsedType}),a}return{status:"valid",value:_.data}}}ND.create=(_)=>{return new ND({typeName:s.ZodNaN,...W_(_)})};var GT=Symbol("zod_brand");class tW 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 OD 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(),i1(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 OD({in:_,out:$,typeName:s.ZodPipeline})}}class jU extends O_{_parse(_){let $=this._def.innerType._parse(_),U=(J)=>{if(A0(J))J.value=Object.freeze(J.value);return J};return JD($)?$.then((J)=>U(J)):U($)}unwrap(){return this._def.innerType}}jU.create=(_,$)=>{return new jU({innerType:_,typeName:s.ZodReadonly,...W_($)})};function b3(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function f3(_,$={},U){if(_)return V0.create().superRefine((J,D)=>{let j=_(J);if(j instanceof Promise)return j.then((W)=>{if(!W){let G=b3($,J),X=G.fatal??U??!0;D.addIssue({code:"custom",...G,fatal:X})}});if(!j){let W=b3($,J),G=W.fatal??U??!0;D.addIssue({code:"custom",...W,fatal:G})}return});return V0.create()}var XT={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 NT=(_,$={message:`Input not instance of ${_.name}`})=>f3((U)=>U instanceof _,$),T3=l$.create,C3=R4.create,OT=ND.create,YT=B4.create,Z3=p1.create,zT=b0.create,QT=jD.create,LT=t1.create,qT=a1.create,ET=V0.create,gT=g4.create,RT=Y6.create,BT=WD.create,HT=o$.create,AT=r_.create,bT=r_.strictCreate,VT=e1.create,KT=pW.create,IT=s1.create,FT=z6.create,MT=GD.create,PT=XD.create,kT=K0.create,ST=l1.create,wT=_U.create,fT=$U.create,TT=H4.create,CT=UU.create,ZT=I0.create,V3=f$.create,vT=p$.create,yT=x6.create,hT=f$.createWithPreprocess,xT=OD.create,rT=()=>T3().optional(),uT=()=>C3().optional(),nT=()=>Z3().optional(),mT={string:(_)=>l$.create({..._,coerce:!0}),number:(_)=>R4.create({..._,coerce:!0}),boolean:(_)=>p1.create({..._,coerce:!0}),bigint:(_)=>B4.create({..._,coerce:!0}),date:(_)=>b0.create({..._,coerce:!0})},dT=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"},v3=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://"),y3=Y.string().regex(/^[a-fA-F0-9]{64}$/),h3=Y.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),r6=Y.record(Y.unknown()),XU=Y.array(Y.string().min(1)).default([]),F0=K$.nullable().optional(),cT=new Set(["succeeded","failed","cancelled","blocked","skipped"]),P0=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:F0,metadata:r6.optional()}).strict()}var nd=Y.object({schema:v3,id:Y.string().min(1),createdAt:K$,updatedAt:F0,metadata:r6.optional()}).strict(),x3=Y.enum(["agent","human","service","model","workflow","system"]),iT=F_(m.actorRef).extend({kind:x3,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:x3,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(),r3=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"]),lT=F_(m.resourceRef).extend({kind:r3,name:Y.string().min(1).optional(),uri:a$.optional(),externalId:U_.optional(),sourcePackage:U_.optional(),tags:XU}).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:r3,id:Y.string().min(1),name:Y.string().min(1).optional(),uri:a$.optional(),externalId:U_.optional(),sourcePackage:U_.optional(),tags:XU}).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"]})}),gz=Y.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),oT=Y.enum(["none","partial","full","unknown"]),pT=F_(m.evidenceRef).extend({kind:gz,uri:a$,sha256:y3.optional(),summary:Y.string().min(1).optional(),contentType:Y.string().min(1).optional(),sizeBytes:Y.number().int().nonnegative().optional(),redaction:oT.default("unknown"),producer:Q6.optional(),resourceRefs:Y.array(N_).default([]),tags:XU}).strict(),w_=Y.object({id:Y.string().min(1),kind:gz.optional(),uri:a$.optional(),sha256:y3.optional(),summary:Y.string().min(1).optional()}).strict(),YD=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"]})}),tT=Y.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),u3=F_(m.decisionEnvelope).extend({decisionType:Y.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:tT,actor:Q6.optional(),traceId:Y.string().min(1).optional(),inputHash:h3.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:YD.optional(),evidenceRefs:Y.array(w_).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"]})}),aT=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:YD.optional(),evidenceRefs:Y.array(w_).default([])}).strict(),WU=Y.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),eT=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"]),sT=Y.object({refName:U_,requiredForModes:Y.array(WU).min(1),allowedSecretInputs:Y.array(Y.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:U_,revocationCheck:Y.boolean().default(!0)}).strict(),_C=Y.object({operation:U_,supportedModes:Y.array(WU).min(1),sideEffectClass:eT,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"]})}}),$C=Y.object({providerId:U_,appId:U_,adapterId:U_,ownerPackage:U_,modes:Y.array(WU).min(1),defaultMode:WU,credentialRequirements:Y.array(sT).default([]),operations:Y.array(_C).min(1),rateLimitPosture:U_,costPosture:U_.optional(),auditEvents:Y.array(U_).default([]),redactionRules:Y.array(U_).default([]),evidenceRefs:Y.array(w_).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"]})}}),UC=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(),DC=F_(m.providerLiveModeStandard).extend({name:U_,version:U_,modes:Y.array(WU).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(WU).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($C).min(1),firstAdoptionTargets:Y.array(UC).min(1),evidenceRefs:Y.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:Y.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),JC=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:w_,resourceRefs:Y.array(N_).default([])}).strict(),n3=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(JC).default([]),citations:Y.array(w_).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"),M0=Y.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),jC=Y.enum(["public","internal","private","sensitive"]),WC=Y.enum(["draft","active","paused","archived"]),Rz=Y.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),m3=F_(m.integrationRef).extend({kind:Rz,name:Y.string().min(1),projectId:M0.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(w_).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"]})}),GC=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(),XC=F_(m.projectManifest).extend({projectId:M0,slug:M0,name:Y.string().min(1),summary:Y.string().min(1).optional(),status:WC.default("active"),classification:jC.default("private"),owner:Q6.optional(),layout:GC.default({}),integrations:Y.array(m3).default([]),renderManifests:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(w_).default([]),tags:XU}).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)}}),NC=Y.enum(["local","package","provider","url"]),Bz=Y.object({id:Y.string().min(1),kind:NC,specifier:Y.string().min(1),path:i$.optional(),packageName:Y.string().min(1).optional(),uri:a$.optional(),provider:Rz.optional(),schemaId:v3.optional(),integrity:h3.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"]})}),OC=Y.enum(["dashboard","canvas","panel","report","document","custom"]),YC=Y.object({id:Y.string().min(1),title:Y.string().min(1),kind:OC,default:Y.boolean().default(!1),entry:i$.optional(),imports:Y.array(Bz).default([]),panelRefs:Y.array(N_).default([]),dataRefs:Y.array(N_).default([]),layout:r6.optional()}).strict(),zC=F_(m.renderManifest).extend({projectId:M0,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(YC).min(1),imports:Y.array(Bz).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(w_).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"]})}}),QC=Y.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),LC=Y.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),qC=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(),EC=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(w_).default([]),metadata:r6.optional()}).strict(),gC=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(Bz).default([]),spec:r6.default({})}).strict(),d3=F_(m.projectPanel).extend({projectId:M0,provider:Y.object({kind:Rz,id:Y.string().min(1),name:Y.string().min(1).optional(),sourcePackage:U_.optional(),externalId:U_.optional()}).strict(),kind:LC,title:Y.string().min(1),summary:Y.string().min(1).optional(),state:QC.default("ready"),stateReason:Y.string().min(1).optional(),generatedAt:K$,freshness:Y.enum(["fresh","stale","unknown"]).default("unknown"),metrics:Y.array(qC).default([]),items:Y.array(EC).default([]),actions:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(w_).default([]),renderFragment:gC.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"]})}),RC=F_(m.projectSnapshot).extend({projectId:M0,generatedAt:K$,status:P0.default("unknown"),manifestRef:N_,renderManifestRef:N_.optional(),panels:Y.array(d3).default([]),contextPacks:Y.array(n3).default([]),proofBundleRefs:Y.array(N_).default([]),resourceRefs:Y.array(N_).default([]),evidenceRefs:Y.array(w_).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)}}),c3=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"]})}),BC=F_(m.validationPlan).extend({objective:Y.string().min(1),subject:N_.optional(),checks:Y.array(c3).min(1),verifier:Q6.optional(),requiredEvidenceKinds:Y.array(gz).default([])}).strict(),HC=Y.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),AC=Y.enum(["draft","active","deprecated","archived"]),bC=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"]),VC=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"]})}),KC=Y.object({name:Y.string().min(1),command:Y.string().min(1),description:Y.string().min(1).optional(),required:Y.boolean().default(!1)}).strict(),IC=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(),FC=F_(m.scaffoldManifest).extend({name:Y.string().min(1),version:Y.string().min(1),summary:Y.string().min(1),type:HC,status:AC.default("draft"),capabilities:Y.array(bC).default([]),techStack:Y.array(Y.string().min(1)).default([]),tags:XU,source:N_.optional(),output:IC,env:Y.array(VC).default([]),scripts:Y.array(KC).default([]),validationChecks:Y.array(c3).default([]),evidenceRefs:Y.array(w_).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"]})}),MC=Y.enum(["installed","failed","cancelled","partial","unknown"]),PC=F_(m.scaffoldInstallRecord).extend({scaffoldId:Y.string().min(1),scaffoldVersion:Y.string().min(1).optional(),manifestRef:N_.optional(),target:N_,status:MC,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(w_).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"]})}),GU=Y.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),Hz=Y.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),i3=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"),kC=Y.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),SC=U_.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),wC=Y.enum(["active","stub","deprecated","archived"]),fC=Y.enum(["stable","beta","canary","internal"]),TC=Y.object({transport:Y.enum(["http","stdio"]).default("http"),bin:Y.string().min(1).optional(),url:a$.optional()}).strict(),CC=Y.object({healthPath:Y.string().min(1).default("/health"),port:Y.number().int().positive().optional(),baseUrl:a$.optional()}).strict(),ZC=Y.object({bins:Y.array(Y.string().min(1)).default([]),mcp:TC.optional(),http:CC.optional()}).strict(),vC=F_(m.app).extend({appId:GU,npmName:Hz,repoFolder:GU,githubUrl:SC,projectSlug:M0,surfaces:ZC.default({}),lifecycle:wC,releaseChannel:fC.default("stable"),summary:Y.string().min(1).optional(),tags:XU}).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)}}),yC=Y.enum(["skill","ci","backfilled"]),hC=F_(m.release).extend({appId:GU,package:Hz,version:i3,gitSha:kC,publishedAt:K$,publishPath:yC,changelogRef:N_.optional(),evidenceRefs:Y.array(w_).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"]})}),xC=Y.enum(["install","update","rollback","freeze-blocked"]),rC=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"})}),uC=F_(m.rolloutRecord).extend({appId:GU,package:Hz,version:i3,machine:U_,action:xC,result:P0,verifiedBy:rC.optional(),at:K$,evidenceRefs:Y.array(w_).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"]})}),nC=Y.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),mC=Y.enum(["pending","queued","sent","failed","skipped","suppressed"]),dC=Y.object({channel:nC,status:mC,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"]})}),cC=F_(m.announcement).extend({campaignId:U_,appId:GU.optional(),releaseRef:N_.optional(),channels:Y.array(dC).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"]})}),iC=Y.enum(["tag","attribute","group"]),lC=Y.enum(["eq","neq","in","not_in","exists","not_exists"]),K3=Y.union([Y.string(),Y.number(),Y.boolean()]),oC=Y.object({kind:iC,key:Y.string().min(1).optional(),op:lC.default("eq"),value:K3.optional(),values:Y.array(K3).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"]})}),pC=Y.object({match:Y.enum(["all","any"]).default("all"),predicates:Y.array(oC).min(1)}).strict(),tC=Y.enum(["opt_in","opt_out","transactional","none"]),aC=F_(m.audience).extend({audienceId:GU,name:U_,definition:pC,consentPolicy:tC,suppressionSyncedAt:F0}).strict(),Yz=["@hasna/cloud","open-cloud"],eC=Y.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),sC=Y.object({id:Y.string().min(1),provider:eC,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(),l3=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(sC).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([...Yz]),dependencies:Y.array(Y.string().min(1)).default([]),evidenceRefs:Y.array(w_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...Yz,..._.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 Yz)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"]})})}),o3=Y.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),_Z=Y.enum(["low","medium","high","critical"]),p3=Y.object({id:Y.string().min(1),kind:o3,severity:_Z,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(w_).default([])}).strict(),$Z=Y.object({id:Y.string().min(1),kind:o3,status:P0,target:Y.string().min(1),command:Y.string().min(1).optional(),evidenceRefs:Y.array(w_).default([]),findings:Y.array(p3).default([])}).strict(),UZ=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:P0,verdict:Y.enum(["passed","failed","warning","not_run"]),appCloudManifest:l3.optional(),checks:Y.array($Z).min(1),findings:Y.array(p3).default([]),evidenceRefs:Y.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: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"]})})}),DZ=Y.object({checkId:Y.string().min(1),status:P0,summary:Y.string().min(1).optional(),startedAt:F0,finishedAt:F0,evidenceRefs:Y.array(w_).default([])}).strict(),JZ=F_(m.proofBundle).extend({subject:N_,validationPlanRef:N_.optional(),status:P0,verdict:Y.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:Y.array(DZ).default([]),verifier:Q6.optional(),evidenceRefs:Y.array(w_).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"]})}),jZ=F_(m.workRun).extend({objective:Y.string().min(1),status:P0,actor:Q6,traceId:Y.string().min(1).optional(),startedAt:F0,finishedAt:F0,constraints:Y.array(Y.string().min(1)).default([]),resourceRefs:Y.array(N_).default([]),decisions:Y.array(u3).default([]),costEstimates:Y.array(YD).default([]),evidenceRefs:Y.array(w_).default([]),validationPlanRefs:Y.array(N_).default([]),proofBundleRefs:Y.array(N_).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)<Date.parse(_.startedAt))$.addIssue({code:Y.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(cT.has(_.status)&&!_.finishedAt)$.addIssue({code:Y.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=_.evidenceRefs.length>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"]})}),WZ=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(w_).default([]),costEstimate:YD.optional()}).strict(),GZ=F_(m.agentTrajectory).extend({actor:Q6,workRunRef:N_.optional(),events:Y.array(WZ).default([]),outcome:Y.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:N_.optional()}).strict(),XZ="v1",NZ=Y.enum(["library","cli-with-store","service","saas"]),OZ=["local","self-hosted","cloud"],t3=Y.enum(OZ),YZ=Y.enum(["supported","deferred","unsupported"]),zZ=Y.enum(["none","local-only","api-key","session","service-token","custom"]),zz=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(),QZ=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:w_.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"]})}),LZ=Y.object({name:Y.string().min(1),status:YZ,bin:Y.string().min(1).optional(),mcpBin:Y.string().min(1).optional(),authMode:zZ,deploymentModes:Y.array(t3).min(1),health:zz.optional(),readiness:zz.optional(),version:zz.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(QZ).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"]})}),qZ=["local","cloud"],a3=Y.enum(qZ);var EZ=Y.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),gZ=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function RZ(_){return gZ.map(($)=>`${_}${$}`)}function I3(_){return`hasna/oss/${_}/database-url`}var BZ=Y.object({mode:a3,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(),HZ=Y.object({$schema:Y.string().min(1).optional(),schema:Y.literal(m.serviceContract),name:EZ,class:NZ,contractVersion:Y.literal(XZ),kitVersion:Y.string().min(1),description:Y.string().min(1).optional(),bins:Y.array(Y.string().min(1)).default([]),storage:BZ.optional(),deploymentModes:Y.array(t3).default(["local"]),serviceSurfaces:Y.array(LZ).default([]),metadata:r6.optional()}).strict().superRefine((_,$)=>{let U=new Set(RZ(_.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!==I3(_.name))$.addIssue({code:Y.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${I3(_.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/<name>/<name>.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]})}}),md=Y.object({status:Y.enum(["ok","degraded","unavailable"]),version:Y.string().min(1),mode:a3}).strict(),dd=Y.object({ready:Y.boolean(),reason:Y.string().min(1).optional()}).strict(),cd=Y.object({version:Y.string().min(1)}).strict(),AZ=Y.enum(["info","notice","breaking","critical"]),bZ=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 (<source>.<entity>.<action>)"),VZ=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],KZ=Y.enum(VZ);var IZ=Y.enum(["fleet","package","machine"]),e3=F_(m.commsEventEnvelope).extend({type:bZ,severity:AZ,scope:IZ,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(w_).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"]})}}),FZ=Y.enum(["fleet","package","product","loop-lane","initiative","personal"]),MZ=Y.enum(["quiet","work","firehose"]),PZ=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:<todos-id>)"),kZ=F_(m.commsChannelMetadata).extend({class:FZ,noise:MZ.optional(),owner:U_.optional(),until:PZ.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"]})}}),F3={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}},SZ=F_(m.commsMessageMetadata).extend({tag:KZ,envelope:e3}).strict().superRefine((_,$)=>{let U=F3[_.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(F3))if(D.requiredEventType===_.envelope.type&&_.tag!==J)$.addIssue({code:Y.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${J}] tag`,path:["tag"]})});var wZ={[m.actorRef]:iT,[m.resourceRef]:lT,[m.evidenceRef]:pT,[m.workRun]:jZ,[m.decisionEnvelope]:u3,[m.costEstimate]:YD,[m.capabilityCard]:aT,[m.providerLiveModeStandard]:DC,[m.contextPack]:n3,[m.integrationRef]:m3,[m.projectManifest]:XC,[m.projectPanel]:d3,[m.projectSnapshot]:RC,[m.renderManifest]:zC,[m.agentTrajectory]:GZ,[m.validationPlan]:BC,[m.proofBundle]:JZ,[m.scaffoldManifest]:FC,[m.scaffoldInstallRecord]:PC,[m.appCloudManifest]:l3,[m.noCloudEvidencePack]:UZ,[m.serviceContract]:HZ,[m.commsEventEnvelope]:e3,[m.commsChannelMetadata]:kZ,[m.commsMessageMetadata]:SZ,[m.app]:vC,[m.release]:hC,[m.rolloutRecord]:uC,[m.announcement]:cC,[m.audience]:aC};class s3 extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function _R(_,$){let J=wZ[_].safeParse($);if(!J.success)throw new s3(_,J.error.issues);return J.data}var id={$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: <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 $R="@hasna/knowledge";function fZ(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function TZ(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function zD(_,$=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 NU(_){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 aW(_){return a$.safeParse(_).success}function e$(_,$,U,J,D=[]){return{kind:_,id:$,name:U,uri:J&&aW(J)?J:void 0,externalId:$,sourcePackage:$R,tags:D}}function CZ(_){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(NU).filter(Boolean).sort((U,J)=>J.localeCompare(U))[0]}function ZZ(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function vZ(_){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 yZ(_,$){let U=[];for(let J of _.items.slice(0,$))U.push({id:`item_${J.id}`,title:J.title,summary:zD(J.content_preview),status:J.archived?"archived":"active",priority:"medium",timestamp:NU(J.updated_at??J.created_at),resourceRefs:[e$("knowledge",J.id,J.title,`knowledge://item/${encodeURIComponent(J.id)}`,J.tags)],evidenceRefs:J.url&&aW(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:zD(`${QD(J.chunks)} chunk(s), ${QD(J.revisions)} revision(s)`),status:QD(J.chunks)>0?"indexed":"source",priority:"medium",timestamp:NU(J.updated_at??J.created_at),resourceRefs:[e$("document",D,j,W)],evidenceRefs:aW(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:zD(J.text_preview),status:"chunk",priority:"low",timestamp:NU(J.created_at),resourceRefs:[e$("context_pack",D,c_(J.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:j&&aW(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:zD(`Status ${c_(J.status,"unknown")}; strategy ${c_(J.resolution_strategy,"none")}.`),status:c_(J.status,"unknown"),priority:"critical",timestamp:NU(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:zD(J.reason),status:c_(J.status,"unknown"),priority:c_(J.status).toLowerCase()==="failed"?"high":"medium",timestamp:NU(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 UR(_,$={}){let U=fZ($.limit),J=new Date().toISOString(),D=TZ(_),W=await($.service??iW({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:U,storePath:$.storePath,includeArchived:$.includeArchived}),G=CZ(W),X=ZZ(G),N=W.summary.active_items+W.summary.sources+W.summary.chunks+W.summary.wiki_pages+W.summary.storage_objects,z=vZ(W),q=N===0?"empty":X==="stale"?"stale":"ready",g=yZ(W,U),Q={schema:m.projectPanel,id:`knowledge_panel_${D}`,createdAt:J,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:$R,externalId:W.home},kind:"knowledge",title:"Knowledge",summary:q==="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:q,stateReason:q==="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:g,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 _R(m.projectPanel,Q)}function DR(_){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 WR=["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 hZ=["remote","hybrid","self_hosted"],GR="HASNA_KNOWLEDGE_STORAGE_MODE",XR="KNOWLEDGE_STORAGE_MODE";function JR(_){return process.env[_]?.trim()||void 0}function jR(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="local")return"local";if($==="cloud")return"cloud";if($&&hZ.includes($))return"cloud";return}function xZ(_={}){let $=T0(AD(_.scope,_.cwd).home);return o($.knowledgeDbPath),{db:x($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function NR(){let _=jR(JR(GR))??jR(JR(XR));if(_)return _;return"local"}function Az(_={}){let $=xZ(_);try{rZ($.db);let U=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:NR(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:WR,sync:U}}finally{$.db.close()}}function rZ(_){_.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 $c from"pg";var IR=XB(KR(),1),{program:pc,createCommand:tc,createArgument:ac,createOption:ec,CommanderError:sc,InvalidArgumentError:_i,InvalidOptionArgumentError:$i,Command:FR,Argument:Ui,Option:Di,Help:Ji}=IR.default;import{chmod as wz,mkdir as uv,readFile as nv,rename as mv,writeFile as wR}from"fs/promises";import{Buffer as hR}from"buffer";import{existsSync as xR}from"fs";import{homedir as dv}from"os";import{join as ED}from"path";import{createHmac as tv,timingSafeEqual as zi}from"crypto";import{randomUUID as sv}from"crypto";import{spawn as _y}from"child_process";import{randomUUID as Wy}from"crypto";function Tv(_,$){return $.split(".").reduce((U,J)=>{if(U&&typeof U==="object"&&J in U)return U[J];return},_)}function Cv(_,$){let U=[],J=(j)=>{if(!U.some((W)=>Object.is(W,j)))U.push(j)};if($.includes(".")&&$ in _)J(_[$]);let D=Tv(_,$);if(D!==void 0||!$.includes("."))J(D);return U}function Zv(_,$={}){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 LD(_,$,U={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>Zv(D,U).test(_))}function MR(_,$){if(!$)return!0;return Object.entries($).every(([U,J])=>{let D=Cv(_,U);return vv(D,J,U)})}function vv(_,$,U){if(xv($))return!_.some((J)=>PR(J,$.not,U));return _.some((J)=>PR(J,$,U))}function PR(_,$,U){if(typeof $==="string"||Array.isArray($))return yv(_).some((J)=>LD(J,$,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray(_))return _.some((J)=>J===$);return _===$}function yv(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>hv($)?[String($)]:[]);return[String(_)]}function hv(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function xv(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function rv(_,$){return LD(_.source,$.source)&&LD(_.type,$.type)&&LD(_.subject,$.subject)&&LD(_.severity,$.severity)&&MR(_.data,$.data)&&MR(_.metadata,$.metadata)}function kR(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((U)=>rv($,U))}var $G="HASNA_EVENTS_DIR",UG="HASNA_EVENTS_HOME",Cz="local-json-v1:",cv=100,iv=1000;function rR(_){return _||process.env[$G]||process.env[UG]||ED(dv(),".hasna","events")}function lv(){if(process.env[$G])return $G;if(process.env[UG])return UG;return null}class DG{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=rR()){this.dataDir=_,this.runtime=ov(_),this.channelsPath=ED(_,"channels.json"),this.eventsPath=ED(_,"events.json"),this.deliveriesPath=ED(_,"deliveries.json")}async init(){await uv(this.dataDir,{recursive:!0,mode:448}),await wz(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=fR(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 SR($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),U=SR($,{eventId:_.eventId,source:_.source,type:_.type}),J=JG(_.cursor,_),D=jG(_.limit),j=U.slice(J,J+D),W=J+j.length,G=W<U.length;return{events:j,cursor:_.cursor,nextCursor:G?uR(W,_):void 0,hasMore:G}}async findEventByIdentity(_){let $=await this.listEvents();return fR($,_)}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(!xR(_))await wR(_,`[] -`,{encoding:"utf-8",mode:384});await wz(_,384).catch(()=>{return})}async readJson(_,$){try{let U=await nv(_,"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 wR(U,`${JSON.stringify($,null,2)} -`,{encoding:"utf-8",mode:384}),await mv(U,_),await wz(_,384).catch(()=>{return})}}function ov(_=rR()){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 uR(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let U={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${Cz}${hR.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function JG(_,$={}){if(!_)return 0;if(!_.startsWith(Cz))throw Error(`Invalid local JSON event cursor: ${_}`);let U=_.slice(Cz.length),J;try{J=JSON.parse(hR.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 Sz("eventId",J.eventId,$.eventId),Sz("source",J.source,$.source),Sz("type",J.type,$.type),D}function jG(_){if(_===void 0)return cv;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,iv)}function SR(_,$){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,jG($.limit));return U}function Sz(_,$,U){if($!==U)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function fR(_,$){return _.find((U)=>$.id!==void 0&&U.id===$.id||$.dedupeKey!==void 0&&U.dedupeKey===$.dedupeKey)}async function pv(_){let $=new DG(_);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:$G,fallback:UG,active:lv()},files:{channels:fz($.dataDir,"channels.json",U.length),events:fz($.dataDir,"events.json",J.length),deliveries:fz($.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 fz(_,$,U){let J=ED(_,$);return{path:J,exists:xR(J),records:U}}function av(_,$){return`${_}.${$}`}function ev(_,$,U){return`sha256=${tv("sha256",_).update(av($,U)).digest("hex")}`}function Q6(){return new Date().toISOString()}function gD(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function $y(_,$){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"]=ev($.webhook.secret,J,U);return{body:U,headers:D}}async function Uy(_,$,U={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let J=Q6(),{body:D,headers:j}=$y(_,$),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=gD(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 Dy(_,$){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=_y($.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:gD(G),stderr:gD(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:gD(G),stderr:gD(X),error:E?void 0:`Command exited with ${L?`signal ${L}`:`code ${z}`}`})})})}async function Jy(_,$,U={}){if($.transport==="webhook")return Uy(_,$,U);if($.transport==="command")return Dy(_,$);return{attempt:1,status:"skipped",startedAt:Q6(),completedAt:Q6(),error:`Unsupported transport: ${$.transport}`}}function TR(_,$,U){let J=U.some((D)=>D.status==="success")?"success":U.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:sv(),eventId:_.id,channelId:$.id,transport:$.transport,status:J,attempts:U,createdAt:U[0]?.startedAt??Q6(),completedAt:U.at(-1)?.completedAt??Q6()}}class nR extends Error{eventType;issues;constructor(_,$){let U=$.map((J)=>`${J.path||"<root>"}: ${J.message}`).join("; ");super(`Event validation failed for type "${_}": ${U}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class mR{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 nR(_.type,$.issues)}}var jy=new mR;function Tz(_){return{id:_.id??Wy(),source:_.source,type:_.type,time:Yy(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class dR{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new DG(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??jy,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?Tz(_):Ny(Tz(_));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 CR(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=CR(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),U=JG(_.cursor,_),J=jG(_.limit),D=$.slice(U,U+J),j=U+D.length,W=j<$.length;return{events:D,cursor:_.cursor,nextCursor:W?uR(j,_):void 0,hasMore:W}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let U=(await this.store.listChannels()).filter((D)=>kR(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=Tz({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=kR(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=TR(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=Gy(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let J of this.redactors)U=await J(U,$);return U}async deliverWithRetry(_,$){let U=zy($.retry),J=[];for(let D=0;D<U.maxAttempts;D+=1){let j=await Jy(_,$,this.transportOptions);if(j.attempt=D+1,j.status==="failed"&&D+1<U.maxAttempts)j.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**D);if(J.push(j),j.status!=="failed")break;if(j.nextBackoffMs)await Bun.sleep(j.nextBackoffMs)}return TR(_,$,J)}}function Gy(_,$,U="[REDACTED]"){if($.length===0)return _;let J=structuredClone(_);for(let D of $)Oy(J,D,U);return J}function cR(_){let $=structuredClone(_);if($.webhook?.secret)$.webhook.secret="[REDACTED]";if($.command?.env)$.command.env=Object.fromEntries(Object.entries($.command.env).map(([U,J])=>[U,iR(U)?"[REDACTED]":J]));return $}function Xy(_){return _.map(cR)}function Ny(_,$="[REDACTED]"){return Zz(_,$)}function iR(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function Zz(_,$){if(Array.isArray(_))return _.map((U)=>Zz(U,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([U,J])=>[U,iR(U)?$:Zz(J,$)]))}function Oy(_,$,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 CR(_,$){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,jG($.limit));return U}function Yy(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function zy(_){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=Ly(D,$),W=j.path;if(W in J)throw Error(`Duplicate ${$} filter path: ${W}`);let G=U?qy(j.rawValue,$):j.rawValue;J[W]=j.negated?{not:G}:G}return J}function Qy(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let U=ZR(_G(_.data,"data"),_G(_.dataJson,"data-json",!0)),J=ZR(_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 ZR(..._){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 qy(_,$){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 Ly(_,$){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 gy=100;function OU(_,$){if(!_)return $;let U=JSON.parse(_);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function Ey(_){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 dR({store:new DG(_.dataDir)})}function w0(_,$,U){if($)console.log(JSON.stringify(_,null,2));else console.log(U)}function vR(_,$){let U=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function yR(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function n6(_,$){return yR(_)||yR($)}function Ry(_,$){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",k0,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",k0,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",k0,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",k0,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",k0,[]).option("--arg <arg...>","Command argument",k0,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",RD).option("--retry-attempts <n>","Maximum delivery attempts",RD).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",RD).option("--redact <path...>","Event field path to redact before delivery",k0,[]).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:Qy(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:Ey(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);w0(cR(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(Xy(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 pv($.dataDir);w0(j,n6(J,D),`events dataDir: ${j.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(J,D,j)=>{let W=await A4($).removeChannel(J);w0({removed:W},n6(D,j),W?`Removed ${J}`:`Channel not found: ${J}`)}),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(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:OU(D.data,{test:!0}),metadata:OU(D.metadata,{})},{honorFilters:D.honorFilters});w0(G,W,`${G.status}: ${G.channelId}`)}catch(G){vR(G,W)}}),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(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:OU(D.data,{test:!0}),metadata:OU(D.metadata,{})});w0(G,W,`${G.matched?"matched":"skipped"}: ${G.channelId}`)}catch(G){vR(G,W)}}),U}function By(_,$){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(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:OU(j.data,{}),metadata:OU(j.metadata,{})},{deliver:j.deliver,dedupe:j.dedupe});w0(G,n6(j,W),`${G.deduped?"Deduped":"Emitted"} ${G.event.id} to ${G.deliveries.length} channel(s)`)});let J=$.defaultEventListLimit??gy;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 ${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 <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",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});w0(W,n6(D,j),Hy(W.events.length,W.deliveries.length,W.nextCursor))}),U}function lR(_,$){Ry(_,$),By(_,$)}function RD(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function k0(_,$){return $.push(_),$}function Hy(_,$,U){let J=U?`, next cursor: ${U}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${J}`}import{basename as by}from"path";var e$={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/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 run build && 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 oR={debug:0,info:1,warn:2,error:3},Vy=()=>{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 S0(_,$,U){if(oR[_]<oR[Vy()])return;let J={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[_],D=U?`${J} ${$} ${JSON.stringify(U)}`:`${J} ${$}`;if(_==="error")console.error(D);else console.error(D)}var eR=["events","webhooks"],sR=["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",...eR],_B={ls:"list",rm:"delete",edit:"update",unarchive:"restore"};function Ky(_){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=_[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 Iy(_){if(!_)return"";return _B[_]??_}function Fy(_,$){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 My(_){if(!_)return"";let $=[...sR,...Object.keys(_B)],U="",J=Number.POSITIVE_INFINITY;for(let D of $){let j=Fy(_,D);if(j<J)J=j,U=D}return J<=3?U:""}function Py(){return by(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function ky(_){if(!eR.includes(_[0]??""))return!1;let $=new FR;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),lR($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function wy(){console.log(`knowledge - local agent knowledge store + `)}import jc from"pg";var FR=OB(IR(),1),{program:sc,createCommand:_i,createArgument:$i,createOption:Ui,CommanderError:Di,InvalidArgumentError:Ji,InvalidOptionArgumentError:ji,Command:MR,Argument:Wi,Option:Gi,Help:Xi}=FR.default;import{chmod as Sz,mkdir as mv,readFile as dv,rename as cv,writeFile as wR}from"fs/promises";import{Buffer as xR}from"buffer";import{existsSync as rR}from"fs";import{homedir as iv}from"os";import{join as gD}from"path";import{createHmac as ev,timingSafeEqual as Ei}from"crypto";import{randomUUID as $y}from"crypto";import{spawn as Uy}from"child_process";import{randomUUID as Xy}from"crypto";function Zv(_,$){return $.split(".").reduce((U,J)=>{if(U&&typeof U==="object"&&J in U)return U[J];return},_)}function vv(_,$){let U=[],J=(j)=>{if(!U.some((W)=>Object.is(W,j)))U.push(j)};if($.includes(".")&&$ in _)J(_[$]);let D=Zv(_,$);if(D!==void 0||!$.includes("."))J(D);return U}function yv(_,$={}){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 qD(_,$,U={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>yv(D,U).test(_))}function PR(_,$){if(!$)return!0;return Object.entries($).every(([U,J])=>{let D=vv(_,U);return hv(D,J,U)})}function hv(_,$,U){if(uv($))return!_.some((J)=>kR(J,$.not,U));return _.some((J)=>kR(J,$,U))}function kR(_,$,U){if(typeof $==="string"||Array.isArray($))return xv(_).some((J)=>qD(J,$,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray(_))return _.some((J)=>J===$);return _===$}function xv(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>rv($)?[String($)]:[]);return[String(_)]}function rv(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function uv(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function nv(_,$){return qD(_.source,$.source)&&qD(_.type,$.type)&&qD(_.subject,$.subject)&&qD(_.severity,$.severity)&&PR(_.data,$.data)&&PR(_.metadata,$.metadata)}function SR(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((U)=>nv($,U))}var $G="HASNA_EVENTS_DIR",UG="HASNA_EVENTS_HOME",Cz="local-json-v1:",lv=100,ov=1000;function uR(_){return _||process.env[$G]||process.env[UG]||gD(iv(),".hasna","events")}function pv(){if(process.env[$G])return $G;if(process.env[UG])return UG;return null}class DG{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=uR()){this.dataDir=_,this.runtime=tv(_),this.channelsPath=gD(_,"channels.json"),this.eventsPath=gD(_,"events.json"),this.deliveriesPath=gD(_,"deliveries.json")}async init(){await mv(this.dataDir,{recursive:!0,mode:448}),await Sz(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=TR(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 fR($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),U=fR($,{eventId:_.eventId,source:_.source,type:_.type}),J=JG(_.cursor,_),D=jG(_.limit),j=U.slice(J,J+D),W=J+j.length,G=W<U.length;return{events:j,cursor:_.cursor,nextCursor:G?nR(W,_):void 0,hasMore:G}}async findEventByIdentity(_){let $=await this.listEvents();return TR($,_)}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(!rR(_))await wR(_,`[] +`,{encoding:"utf-8",mode:384});await Sz(_,384).catch(()=>{return})}async readJson(_,$){try{let U=await dv(_,"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 wR(U,`${JSON.stringify($,null,2)} +`,{encoding:"utf-8",mode:384}),await cv(U,_),await Sz(_,384).catch(()=>{return})}}function tv(_=uR()){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 nR(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let U={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${Cz}${xR.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function JG(_,$={}){if(!_)return 0;if(!_.startsWith(Cz))throw Error(`Invalid local JSON event cursor: ${_}`);let U=_.slice(Cz.length),J;try{J=JSON.parse(xR.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 wz("eventId",J.eventId,$.eventId),wz("source",J.source,$.source),wz("type",J.type,$.type),D}function jG(_){if(_===void 0)return lv;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,ov)}function fR(_,$){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,jG($.limit));return U}function wz(_,$,U){if($!==U)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function TR(_,$){return _.find((U)=>$.id!==void 0&&U.id===$.id||$.dedupeKey!==void 0&&U.dedupeKey===$.dedupeKey)}async function av(_){let $=new DG(_);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:$G,fallback:UG,active:pv()},files:{channels:fz($.dataDir,"channels.json",U.length),events:fz($.dataDir,"events.json",J.length),deliveries:fz($.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 fz(_,$,U){let J=gD(_,$);return{path:J,exists:rR(J),records:U}}function sv(_,$){return`${_}.${$}`}function _y(_,$,U){return`sha256=${ev("sha256",_).update(sv($,U)).digest("hex")}`}function L6(){return new Date().toISOString()}function ED(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Dy(_,$){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"]=_y($.webhook.secret,J,U);return{body:U,headers:D}}async function Jy(_,$,U={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let J=L6(),{body:D,headers:j}=Dy(_,$),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:L6(),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:L6(),error:X instanceof Error?X.message:String(X)}}finally{clearTimeout(G)}}async function jy(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let U=L6(),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=Uy($.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:L6(),stdout:ED(G),stderr:ED(X),error:z.message})}),W.on("close",(z,q)=>{clearTimeout(N);let g=z===0;j({attempt:1,status:g?"success":"failed",startedAt:U,completedAt:L6(),stdout:ED(G),stderr:ED(X),error:g?void 0:`Command exited with ${q?`signal ${q}`:`code ${z}`}`})})})}async function Wy(_,$,U={}){if($.transport==="webhook")return Jy(_,$,U);if($.transport==="command")return jy(_,$);return{attempt:1,status:"skipped",startedAt:L6(),completedAt:L6(),error:`Unsupported transport: ${$.transport}`}}function CR(_,$,U){let J=U.some((D)=>D.status==="success")?"success":U.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:$y(),eventId:_.id,channelId:$.id,transport:$.transport,status:J,attempts:U,createdAt:U[0]?.startedAt??L6(),completedAt:U.at(-1)?.completedAt??L6()}}class mR extends Error{eventType;issues;constructor(_,$){let U=$.map((J)=>`${J.path||"<root>"}: ${J.message}`).join("; ");super(`Event validation failed for type "${_}": ${U}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class dR{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 mR(_.type,$.issues)}}var Gy=new dR;function Tz(_){return{id:_.id??Xy(),source:_.source,type:_.type,time:Qy(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class cR{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new DG(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??Gy,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?Tz(_):Yy(Tz(_));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 ZR(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=ZR(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),U=JG(_.cursor,_),J=jG(_.limit),D=$.slice(U,U+J),j=U+D.length,W=j<$.length;return{events:D,cursor:_.cursor,nextCursor:W?nR(j,_):void 0,hasMore:W}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let U=(await this.store.listChannels()).filter((D)=>SR(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=Tz({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=SR(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=CR(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=Ny(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let J of this.redactors)U=await J(U,$);return U}async deliverWithRetry(_,$){let U=Ly($.retry),J=[];for(let D=0;D<U.maxAttempts;D+=1){let j=await Wy(_,$,this.transportOptions);if(j.attempt=D+1,j.status==="failed"&&D+1<U.maxAttempts)j.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**D);if(J.push(j),j.status!=="failed")break;if(j.nextBackoffMs)await Bun.sleep(j.nextBackoffMs)}return CR(_,$,J)}}function Ny(_,$,U="[REDACTED]"){if($.length===0)return _;let J=structuredClone(_);for(let D of $)zy(J,D,U);return J}function iR(_){let $=structuredClone(_);if($.webhook?.secret)$.webhook.secret="[REDACTED]";if($.command?.env)$.command.env=Object.fromEntries(Object.entries($.command.env).map(([U,J])=>[U,lR(U)?"[REDACTED]":J]));return $}function Oy(_){return _.map(iR)}function Yy(_,$="[REDACTED]"){return Zz(_,$)}function lR(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function Zz(_,$){if(Array.isArray(_))return _.map((U)=>Zz(U,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([U,J])=>[U,lR(U)?$:Zz(J,$)]))}function zy(_,$,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 ZR(_,$){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,jG($.limit));return U}function Qy(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function Ly(_){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=gy(D,$),W=j.path;if(W in J)throw Error(`Duplicate ${$} filter path: ${W}`);let G=U?Ey(j.rawValue,$):j.rawValue;J[W]=j.negated?{not:G}:G}return J}function qy(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let U=vR(_G(_.data,"data"),_G(_.dataJson,"data-json",!0)),J=vR(_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 vR(..._){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 Ey(_,$){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 gy(_,$){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 Ry=100;function OU(_,$){if(!_)return $;let U=JSON.parse(_);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function By(_){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 cR({store:new DG(_.dataDir)})}function S0(_,$,U){if($)console.log(JSON.stringify(_,null,2));else console.log(U)}function yR(_,$){let U=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function hR(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function n6(_,$){return hR(_)||hR($)}function Hy(_,$){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",k0,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",k0,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",k0,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",k0,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",k0,[]).option("--arg <arg...>","Command argument",k0,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",RD).option("--retry-attempts <n>","Maximum delivery attempts",RD).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",RD).option("--redact <path...>","Event field path to redact before delivery",k0,[]).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:qy(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:By(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(iR(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(Oy(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 av($.dataDir);S0(j,n6(J,D),`events dataDir: ${j.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","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("<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(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:OU(D.data,{test:!0}),metadata:OU(D.metadata,{})},{honorFilters:D.honorFilters});S0(G,W,`${G.status}: ${G.channelId}`)}catch(G){yR(G,W)}}),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(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:OU(D.data,{test:!0}),metadata:OU(D.metadata,{})});S0(G,W,`${G.matched?"matched":"skipped"}: ${G.channelId}`)}catch(G){yR(G,W)}}),U}function Ay(_,$){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(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:OU(j.data,{}),metadata:OU(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??Ry;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 ${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 <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",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),by(W.events.length,W.deliveries.length,W.nextCursor))}),U}function oR(_,$){Hy(_,$),Ay(_,$)}function RD(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function k0(_,$){return $.push(_),$}function by(_,$,U){let J=U?`, next cursor: ${U}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${J}`}import{basename as Ky}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 run build && 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 pR={debug:0,info:1,warn:2,error:3},Iy=()=>{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 w0(_,$,U){if(pR[_]<pR[Iy()])return;let J={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[_],D=U?`${J} ${$} ${JSON.stringify(U)}`:`${J} ${$}`;if(_==="error")console.error(D);else console.error(D)}var _B=["events","webhooks"],$B=["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",..._B],UB={ls:"list",rm:"delete",edit:"update",unarchive:"restore"};function Fy(_){let $=new Set,U=[];for(let J of _){let D=J.toLowerCase();if($.has(D))continue;$.add(D),U.push(J)}return U}function tR(_,$){let U=new Set((_??[]).map((J)=>J.toLowerCase()));return $.filter((J)=>!U.has(J.toLowerCase()))}function vz(_,$,U){if(U===void 0)return{..._,message:$};return{..._,added:U.length,message:`${$} (added ${U.length} tag${U.length===1?"":"s"})`}}function My(_,$){if($===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <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 Fy([..._??[],...U])}function Py(_){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=My(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 ky(_){if(!_)return"";return UB[_]??_}function Sy(_,$){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 wy(_){if(!_)return"";let $=[...$B,...Object.keys(UB)],U="",J=Number.POSITIVE_INFINITY;for(let D of $){let j=Sy(_,D);if(j<J)J=j,U=D}return J<=3?U:""}function fy(){return Ky(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Ty(_){if(!_B.includes(_[0]??""))return!1;let $=new MR;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),oR($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function Cy(){console.log(`knowledge - local agent knowledge store Usage: knowledge <command> [options] @@ -1217,7 +1217,7 @@ Commands: archive --id <id> Archive an item restore --id <id> Restore an archived item upsert [title] [content] Create or update an item by --id - untag --id <id> -t <tag> Remove a tag from an item + untag --id <id> -t <tag> Remove tag(s) from an item (-t repeatable; exits 1 if nothing removed) delete (alias: rm) --id <id> Delete item (requires --yes) export Export all items (--format jsonl) prune Remove old/empty items (requires --yes) @@ -1310,7 +1310,7 @@ List Options: -p, --page <n> Page number (default: 1) -l, --limit <n> Items per page (default: 20) -s, --search <text> Filter by title/content - -t, --tag <tag> Filter by tag + -t, --tag <tag> Filter by tag; repeatable/comma-separated, item must match ALL --sort <created|title> Sort field (default: created) --desc Sort descending --archived Show only archived items @@ -1335,27 +1335,42 @@ Export Options: Prune Options: --older-than <days> Remove items older than N days - --empty Remove items with empty content`)}function Sy(_){if(_==="add"){console.log("Usage: knowledge add <title> <content> [--url <url>] [-t <tag>] [--json]");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] [--verbose] [--json]");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]");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]");return}if(_==="untag"){console.log("Usage: knowledge untag --id <id> -t <tag> [--json]");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] + --empty Remove items with empty content`)}function Zy(_){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.`);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] + -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] + -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}wy()}function fy(_){if(_.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function T(_,$,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} -${U$()}`:Ty(_))}function U$(_="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 Ty(_){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(U$()),U.join(` -`)}function Cy(_){return[`Knowledge paths (${_.scope})`,`Home: ${_.home}`,`SQLite: ${_.knowledge_db_path}`,`JSON store: ${_.json_store_path}`,`Wiki: ${_.wiki_dir}`,U$("config and all paths")].join(` -`)}function pR(_){console.log(JSON.stringify(_))}function Zy(_){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 vy(_){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(U$("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 yy(_){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(U$("citations, graph, notes, and full excerpts")),J.join(` -`)}function hy(_){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(U$("provenance and full vector result objects")),U.join(` -`)}function xy(_){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(U$("provider payloads and filed source refs")),U.join(` -`)}function ry(_){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(U$("full topology, route hints, and adapter evidence")),U.join(` -`)}function uy(_){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(U$("all checks and repair hints")),D.join(` -`)}function ny(_){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"}`,U$("registry rows, clocks, snapshots, imports, and conflicts")].join(` -`)}function my(_){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(U$("diagnostics, route evidence, and all recommended commands")),J.join(` -`)}function dy(_){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"}`,U$("snapshot payload and topology evidence")].join(` -`)}function cy(_){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(U$("full conflict objects")),U.join(` -`)}function iy(_){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(U$("machine registry rows")),U.join(` -`)}function tR(_,$){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(U$("per-table rows, artifacts, clocks, and errors")),U.join(` -`)}function ly(_){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(U$("full answer payload, context, citations, and run ledger")),J.join(` -`)}function oy(_,$){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 aR(_){return!_||_==="local"||_==="localhost"}function BD(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function py(_,$){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 ty(_){if(await ky(_))return;let{positional:$,flags:U}=Ky(_);if(S0("debug","CLI invoked",{command:$[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:e$.name,version:e$.version},null,2):`${e$.name} ${e$.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=Iy($[0]),D=1,j=$.length>1||/\s/.test(J);if(Py()&&J&&!sR.includes(J)&&j)J="ask",D=0;if(!J||U.help||J==="help"){let Q=J==="help"?$[1]:J||$[1];Sy(Q);return}let W=J==="project-panel"||J==="app-wiki"?U.scope??"project":U.scope,G=iW({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=AG({dryRun:U.dryRun});if(T(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(T(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(T(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=VD();if(!X&&(J==="ask"||J==="build")&&!o6())EU(N);let z=SD({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});T(U.json||U.verbose?Q:Zy(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 $R(Q,{service:G,limit:U.limit,storePath:o6()?void 0:N,includeArchived:U.includeArchived||U.archived});T(U.json||U.contract?q:UR(q),U.json||U.contract);return}if(J==="paths"){let Q=G.paths();T(U.json||U.verbose?Q:Cy(Q),U.json,U);return}if(J==="setup"){let Q=G.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});T(Q,U.json,U);return}if(J==="auth"){let Q=$[1]??"whoami";if(Q==="whoami"||Q==="status"){let q=G.authStatus(process.env);T({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);T({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);T({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();T({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(T({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});T(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(T(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(T(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});T(U.json||U.verbose?q:ry(q),U.json,U);return}if(Q==="preflight"||Q==="check"){let q=$[2]??U.machine??"local",g=U.workspace??process.cwd(),R=await G.machinePreflight({machineId:q,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:e$.name,command:"knowledge",expectedVersion:e$.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:g,expectedPackageName:e$.name,expectedVersion:e$.version,required:!0}]});if(T(U.json||U.verbose?R:uy(R),U.json,U),!R.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();T(U.json||U.verbose?g:ny(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}),R={package:{name:e$.name,version:e$.version},...g};if(T(U.json||U.verbose?R:my(R),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});T(U.json||U.verbose?g:dy(g),U.json,U);return}if(Q==="conflicts"||Q==="conflict"){let g=$[2];if(g==="show"||g==="get"){let B=$[3]??U.id;if(!B)throw Error("Usage: knowledge sync conflicts show <id>");let K=G.syncConflict(B);T({ok:!0,conflict:K,message:`Sync conflict ${B}`},U.json,U);return}if(g==="propose"||g==="proposal"){let B=$[3]??U.id;if(!B)throw Error("Usage: knowledge sync conflicts propose <id>");T(U.mode==="ai"?await G.proposeSyncConflictResolutionWithAi({id:B,modelRef:U.model,fake:U.fake}):G.proposeSyncConflictResolution(B),U.json,U);return}if(g==="resolve"){let B=$[3]??U.id;if(!B)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let K=G.resolveSyncConflict({id:B,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(T(K,U.json,U),!K.ok&&!U.json)process.exitCode=1;return}let R=G.syncConflicts({status:g,limit:U.limit}),H={ok:!0,conflicts:R,message:`${R.length} sync conflict(s)`};T(U.json||U.verbose?H:cy(H),U.json,U);return}if(Q==="machines"||Q==="registry"){let g=G.syncMachines(),R={ok:!0,machines:g,message:`${g.length} registered sync machine(s)`};T(U.json||U.verbose?R:iy(R),U.json,U);return}if(Q==="export"){let g=G.exportSyncBundle({machineId:U.machine??null,tables:q,includeArtifactContent:U.artifactContent!==!1});T(g,!0);return}if(Q==="import"){let g=await Bun.stdin.text();if(!g.trim())throw Error("Usage: knowledge sync import < bundle.json");let R=await G.importSyncBundle({bundle:JSON.parse(g),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});T(U.json||U.verbose?R:tR(R,Q),U.json,U);return}if(Q==="dry-run"||Q==="pull"||Q==="push"||Q==="sync"){if(!U.peerWorkspace&&aR(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,R=!aR(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(T(U.json||U.verbose?R:tR(R,Q),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(J==="db"){let Q=$[1]??"init";if(Q==="init"){let q=G.initDb();T({ok:!0,...q,message:`Initialized ${q.path}`},U.json,U);return}if(Q==="stats"){let q=G.dbStats();T({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=Az({scope:U.scope});T({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"){T({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});T(q,U.json);return}if(Q==="note"||Q==="notes"){let q=$[2]??"list";if(q==="add"||q==="create"){let g=U.title??$[3],R=U.content??$.slice(4).join(" ");if(!g||!R)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let H=await G.addAppWikiNote({title:g,content:R,tags:U.tag?[U.tag]:void 0,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});T(H,U.json);return}if(q==="list"||q==="ls"){let g=G.listAppWikiNotes({limit:U.limit});T({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 R=await G.getAppWikiNote(g,{includeContent:!0});if(!R)throw Error(`App wiki note not found: ${g}`);T(R,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 R=await G.addAppWikiSourceRef({sourceRef:g,purpose:U.purpose,allowGlobal:U.allowGlobal});T({ok:!0,...R,message:`Added app wiki source ${R.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});T({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});T({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();T({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((B)=>/^(open-files|file|s3|https?):\/\//.test(B)),R=q.filter((B)=>!/^(open-files|file|s3|https?):\/\//.test(B)).join(" "),H=await G.compileWiki({title:U.title,query:R||U.search,sourceRefs:g.length>0?g:void 0,limit:U.limit});T({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});T({ok:!0,...g},U.json,U);return}if(Q==="lint"){let q=G.lintWiki();T({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 R=x(q.knowledgeDbPath);try{if(Q==="status"){T({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",B=$[3]??null,K;try{if(H==="web_search")U1(g),K={action:H,target_uri:B,approval_required:!1,approved:!0,decision:"allow"};else if(H==="s3_read"){if(!B)throw Error("safety check s3_read requires an s3:// target.");a6(B,g),K={action:H,target_uri:B,approval_required:!1,approved:!0,decision:"allow"}}else K=g7(R,g,H,B);C_(R,{event_type:"safety_check",action:H,target_uri:B,decision:K.decision==="allow"?"allow":"requires_approval",metadata:K}),T({ok:!0,...K,message:`Safety check ${K.decision}`},U.json,U);return}catch(b){throw C_(R,{event_type:"safety_check",action:H,target_uri:B,decision:"deny",metadata:{error:b instanceof Error?b.message:String(b)}}),b}}if(Q==="approve"){let H=$[2]??"generated_write",B=$[3]??null,K=L7(R,{action:H,target_uri:B,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});C_(R,{event_type:"approval",action:H,target_uri:B,decision:"allow",metadata:{approval_id:K.id}}),T({ok:!0,...K,action:H,target_uri:B,message:`Approved ${H}`},U.json,U);return}if(Q==="audit"){let H=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((B)=>({id:B.id,event_type:B.event_type,action:B.action,target_uri:B.target_uri,decision:B.decision,metadata:JSON.parse(B.metadata_json),created_at:B.created_at}));T({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 B=N$(H,g);if(B.findings.length>0)ZD(R,{source_uri:"safety://redact",findings:B.findings,metadata:{command:"safety redact"}});C_(R,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:B.findings.length>0?"redacted":"allow",metadata:{findings:B.findings.length}}),T({ok:!0,text:B.text,findings:B.findings,message:`Redacted ${B.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{R.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});T({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});T({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);T({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);T({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});T({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});T({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});T({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);T({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();T({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});T({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}),R={ok:!0,...g,message:`${g.results.length} semantic result(s)`};T(U.json||U.verbose?R:hy(R),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||"",R=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});pR({ok:!0,...R,message:R.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 R=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});pR({ok:!0,...R,message:R.message});return}if(J==="search"){let Q=$.slice(1).join(" ");if(!Q)throw Error("Usage: knowledge search <query>");if(U.context){let R=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,...R,message:`${R.excerpts.length} context excerpt(s)`};T(U.json||U.verbose?H:yy(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)`};T(U.json||U.verbose?g:vy(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}),R={ok:!0,...g,message:`${g.sources.length} web source(s)`};T(U.json||U.verbose?R:xy(R),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"};T(U.json||U.verbose?g:ly(g),U.json,U);return}if(J==="providers"){let Q=$[1]??"status";if(Q==="status"){let q=G.providerStatus(),g=q.providers.filter((R)=>R.configured).length;T({ok:!0,...q,message:`${g}/${q.providers.length} provider credential(s) configured`},U.json,U);return}if(Q==="models"){let q=G.modelRegistry();T({ok:!0,models:q,message:`${q.length} model alias(es)`},U.json,U);return}if(Q==="check"){let q=$[2]??"default",g=h$(q,G.config()),R=c_(g),H=v4(R.provider,G.config());T({ok:!0,target:q,model_ref:g,provider:R.provider,model:R.model,credential:H,message:`${R.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?[U.tag]:[]});S0("info","Item added",{id:g.id,title:g.title,transport:z.kind}),T({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,R=U.search?String(U.search).toLowerCase():"",H=U.tag?String(U.tag).toLowerCase():"",B=U.format==="table"||!U.json&&!U.format&&fy(U),K=U.json||U.format==="json",b=Q.items;if(U.archived)b=b.filter((__)=>__.archived===!0);else if(!U.includeArchived)b=b.filter((__)=>!__.archived);if(R)b=b.filter((__)=>__.title.toLowerCase().includes(R)||__.content.toLowerCase().includes(R));if(H)b=b.filter((__)=>__.tags&&__.tags.map((D$)=>D$.toLowerCase()).includes(H));let{sorted:I,sort:C,direction:f}=py(b,U),m=(q-1)*g,M_=I.slice(m,m+g),Z_=Math.max(1,Math.ceil(I.length/g)),T_={ok:!0,page:q,limit:g,total:I.length,total_pages:Z_,sort:C,direction:f,items:M_,store_exists:Q.exists};if(K){T(T_,!0);return}if(U.verbose){T(T_,!1,U);return}if(M_.length===0){T(`No items found (search=${R||"none"}, tag=${H||"none"})`,!1);return}if(B){let __=(d_)=>d_,D$=`${__("ID")} ${__("TITLE")} ${__("CREATED")} ${__("URL")} ${__("TAGS")}`;console.log(D$);for(let d_ of M_)console.log(`${d_.id} ${__(z_(d_.title,80))} ${d_.created_at} ${d_.url?__(z_(d_.url,90)):""} ${d_.tags?.length?__(z_(`[${d_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${q}/${Z_} | showing ${M_.length} of ${I.length} | sort=${C} ${f} | search=${R||"none"} | tag=${H||"none"}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let __ of M_)console.log(`${__.id} ${z_(__.title,80)} ${__.created_at}${__.url?` ${z_(__.url,90)}`:""}${__.tags?.length?` ${z_(`[${__.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${q}/${Z_} | showing ${M_.length} of ${I.length} | sort=${C} ${f} | search=${R||"none"} | tag=${H||"none"}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(J==="get"){BD(U);let Q=await z.get(U.id);if(!Q)throw Error(`Item not found: ${U.id}`);T({ok:!0,item:Q,store_exists:z.exists,message:`${Q.id}: ${Q.title}`},U.json,U);return}if(J==="update"){BD(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;if(U.tag!==void 0){let R=Q.tags??[];if(!R.map((H)=>H.toLowerCase()).includes(U.tag.toLowerCase()))q.tags=[...R,U.tag]}let g=await z.update(Q.id,q);T({ok:!0,item:g,message:`Updated ${g?.id??Q.id}`},U.json,U);return}if(J==="archive"||J==="restore"){BD(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"});T({ok:!0,item:q,message:`${J==="archive"?"Archived":"Restored"} ${q?.id??Q.id}`},U.json,U);return}if(J==="untag"){if(BD(U),!U.tag)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?.length??0,g=(Q.tags??[]).filter((H)=>H.toLowerCase()!==U.tag.toLowerCase()),R=await z.update(Q.id,{tags:g});T({ok:!0,item:R,removed:q-g.length,message:`Removed tag from ${R?.id??Q.id}`},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 B=await z.create({id:U.id,title:Q,content:q,url:U.url??null,tags:U.tag?[U.tag]:[]});T({ok:!0,created:!0,item:B,message:`Upserted ${B.id}`},U.json,U);return}let R={};if(Q!==void 0)R.title=Q;if(q!==void 0)R.content=q;if(U.url!==void 0)R.url=U.url;if(U.tag!==void 0){let B=g.tags??[];if(!B.map((K)=>K.toLowerCase()).includes(U.tag.toLowerCase()))R.tags=[...B,U.tag]}let H=await z.update(g.id,R);T({ok:!0,created:!1,item:H,message:`Upserted ${H?.id??g.id}`},U.json,U);return}if(J==="delete"){if(BD(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}`);S0("info","Item deleted",{id:U.id,transport:z.kind}),T({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)T({ok:!0,items:q.items,store_exists:q.exists},U.json||U.format==="json",U);else T(oy(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((B)=>q!==null&&new Date(B.created_at)<q||U.empty&&B.content.trim().length===0),R=await z.deleteMany(g.map((B)=>B.id)),H=Q.length-R;S0("info","Prune completed",{pruned:R,remaining:H,transport:z.kind}),T({ok:!0,pruned:R,remaining:H,message:`Pruned ${R} 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 B of Q){let K=`${B.title}\x00${B.content}`;if(q.has(K))g.push(B);else q.add(K)}let R=await z.deleteMany(g.map((B)=>B.id)),H=Q.length-R;S0("info","Dedupe completed",{removed:R,remaining:H,transport:z.kind}),T({ok:!0,removed:R,remaining:H,message:`Dedupe removed ${R} duplicate(s)`},U.json,U);return}if(J==="stats"){let Q=await z.listAll(),q=Q.items.filter((f)=>!f.archived),g=q.length,R=Q.items.length-g,H=q.filter((f)=>f.url).length,B=q.filter((f)=>f.tags&&f.tags.length>0).length,K=g>0?q.map((f)=>f.created_at).sort()[0]:null,b=g>0?q.map((f)=>f.created_at).sort()[g-1]:null,I={};for(let f of q)for(let m of f.tags||[])I[m]=(I[m]||0)+1;let C=Object.entries(I).sort((f,m)=>m[1]-f[1]).slice(0,5).map(([f,m])=>({tag:f,count:m}));T({ok:!0,total:g,archived:R,with_url:H,with_tags:B,oldest:K,newest:b,top_tags:C,store_exists:Q.exists,message:`${g} items | ${H} with URL | ${B} with tags`},U.json,U);return}let L=My($[0]),E=L?` Did you mean '${L}'?`:"";throw S0("warn","Unknown command",{input:$[0],suggestion:L}),Error(`Unknown command: ${$[0]}.${E} Run 'knowledge --help' for available commands.`)}function ay(_,$){let U=_ instanceof Error?_.message:String(_);if(S0("debug","CLI error",{message:U,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${U}`),$.includes("--json"))T({ok:!1,error:U,message:U},!0);process.exitCode=1}if(import.meta.main){let _=process.argv.slice(2);ty(_).catch(($)=>ay($,_))}export{My as suggestCommand,py as sortItems,ty as run,Ky as parseArgs,ay 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}Cy()}function vy(_){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$()}`:yy(_))}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 yy(_){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 hy(_){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 aR(_){console.log(JSON.stringify(_))}function xy(_){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 ry(_){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 uy(_){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 ny(_){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 my(_){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 dy(_){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 cy(_){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 iy(_){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 ly(_){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 oy(_){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 py(_){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 ty(_){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 eR(_,$){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,q)=>z+(q.inserted??0)+(q.updated??0)+(q.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 ay(_){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 ey(_,$){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 sR(_){return!_||_==="local"||_==="localhost"}function BD(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function sy(_,$){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 _h(_){if(await Ty(_))return;let{positional:$,flags:U}=Py(_);if(w0("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=ky($[0]),D=1,j=$.length>1||/\s/.test(J);if(fy()&&J&&!$B.includes(J)&&j)J="ask",D=0;if(!J||U.help||J==="help"){let Q=J==="help"?$[1]:J||$[1];Zy(Q);return}let W=J==="project-panel"||J==="app-wiki"?U.scope??"project":U.scope,G=iW({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 L=AG({dryRun:U.dryRun});if(C(L,U.json),!L.ok)process.exitCode=1;return}if(Q==="migrate-legacy-path"||Q==="migrate-legacy"||Q==="migrate-path"){let L=G.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(L,U.json),!L.ok&&!U.json)process.exitCode=1;return}if(Q==="merge-legacy-path"||Q==="merge-legacy"||Q==="merge-path"){let L=G.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(L,U.json),!L.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=VD();if(!X&&(J==="ask"||J==="build")&&!o6())gU(N);let z=wD({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:xy(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 L=await UR(Q,{service:G,limit:U.limit,storePath:o6()?void 0:N,includeArchived:U.includeArchived||U.archived});C(U.json||U.contract?L:DR(L),U.json||U.contract);return}if(J==="paths"){let Q=G.paths();C(U.json||U.verbose?Q:hy(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 L=G.authStatus(process.env);C({ok:!0,...L,message:L.authenticated?`Authenticated via ${L.source}`:"Not authenticated"},U.json,U);return}if(Q==="login"){let L=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!L)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let E=G.saveAuth({apiKey:L,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);C({ok:!0,authenticated:!0,email:E.email??null,org_slug:E.org_slug??null,api_url:E.api_url??G.authStatus(process.env).api_url,auth_path:G.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${E.email??"API key"}`},U.json,U);return}if(Q==="logout"){let L=G.clearAuth(process.env);C({ok:!0,removed:L,message:L?"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 L=G.storageContract(),E=G.validateStorage();C({ok:E.ok,...L,validation:E,message:`${L.storage_type} artifact storage at ${L.artifact_store.uri_prefix}`},U.json,U);return}if(Q==="validate"){let L=G.validateStorage();if(C({ok:L.ok,validation:L,message:L.ok?"Storage contract valid":`Storage contract invalid: ${L.errors.join("; ")}`},U.json,U),!L.ok)process.exitCode=1;return}if(Q==="repair-artifact-keys"||Q==="repair-keys"){let L=G.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});C(L,U.json,U);return}if(Q==="migrate-legacy-path"||Q==="migrate-legacy"||Q==="migrate-path"){let L=G.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(L,U.json),!L.ok&&!U.json)process.exitCode=1;return}if(Q==="merge-legacy-path"||Q==="merge-legacy"||Q==="merge-path"){let L=G.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(L,U.json),!L.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 L=await G.machineTopology({includeTailscale:U.tailscale!==!1});C(U.json||U.verbose?L:dy(L),U.json,U);return}if(Q==="preflight"||Q==="check"){let L=$[2]??U.machine??"local",E=U.workspace??process.cwd(),R=await G.machinePreflight({machineId:L,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:E,expectedPackageName:s$.name,expectedVersion:s$.version,required:!0}]});if(C(U.json||U.verbose?R:cy(R),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(J==="sync"){let Q=$[1]??"status",L=U.tables?U.tables.split(",").map((E)=>E.trim()).filter(Boolean):void 0;if(Q==="status"){let E=G.syncStatus();C(U.json||U.verbose?E:iy(E),U.json,U);return}if(Q==="doctor"||Q==="readiness"||Q==="preflight"){let E=await G.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:L}),R={package:{name:s$.name,version:s$.version},...E};if(C(U.json||U.verbose?R:ly(R),U.json,U),!E.ok&&!U.json)process.exitCode=1;return}if(Q==="snapshot"||Q==="record"){let E=await G.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});C(U.json||U.verbose?E:oy(E),U.json,U);return}if(Q==="conflicts"||Q==="conflict"){let E=$[2];if(E==="show"||E==="get"){let B=$[3]??U.id;if(!B)throw Error("Usage: knowledge sync conflicts show <id>");let K=G.syncConflict(B);C({ok:!0,conflict:K,message:`Sync conflict ${B}`},U.json,U);return}if(E==="propose"||E==="proposal"){let B=$[3]??U.id;if(!B)throw Error("Usage: knowledge sync conflicts propose <id>");C(U.mode==="ai"?await G.proposeSyncConflictResolutionWithAi({id:B,modelRef:U.model,fake:U.fake}):G.proposeSyncConflictResolution(B),U.json,U);return}if(E==="resolve"){let B=$[3]??U.id;if(!B)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let K=G.resolveSyncConflict({id:B,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 R=G.syncConflicts({status:E,limit:U.limit}),H={ok:!0,conflicts:R,message:`${R.length} sync conflict(s)`};C(U.json||U.verbose?H:py(H),U.json,U);return}if(Q==="machines"||Q==="registry"){let E=G.syncMachines(),R={ok:!0,machines:E,message:`${E.length} registered sync machine(s)`};C(U.json||U.verbose?R:ty(R),U.json,U);return}if(Q==="export"){let E=G.exportSyncBundle({machineId:U.machine??null,tables:L,includeArtifactContent:U.artifactContent!==!1});C(E,!0);return}if(Q==="import"){let E=await Bun.stdin.text();if(!E.trim())throw Error("Usage: knowledge sync import < bundle.json");let R=await G.importSyncBundle({bundle:JSON.parse(E),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});C(U.json||U.verbose?R:eR(R,Q),U.json,U);return}if(Q==="dry-run"||Q==="pull"||Q==="push"||Q==="sync"){if(!U.peerWorkspace&&sR(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 E=Q==="dry-run"?"both":Q==="sync"?"both":Q,R=!sR(U.machine)?await G.syncRemotePeer({direction:E,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:L,dryRun:U.dryRun===!0||Q==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await G.syncPeer({peerWorkspace:U.peerWorkspace,direction:E,dryRun:U.dryRun===!0||Q==="dry-run",tables:L,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(C(U.json||U.verbose?R:eR(R,Q),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(J==="db"){let Q=$[1]??"init";if(Q==="init"){let L=G.initDb();C({ok:!0,...L,message:`Initialized ${L.path}`},U.json,U);return}if(Q==="stats"){let L=G.dbStats();C({ok:!0,path:G.workspace.knowledgeDbPath,...L,message:`knowledge.db schema v${L.schema_version}`},U.json,U);return}if(Q==="storage"){if(($[2]??"status")==="status"){let E=Az({scope:U.scope});C({ok:!0,...E,message:`knowledge.db storage mode ${E.mode}${E.activeEnv?` via ${E.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 L=await G.initAppWiki({allowGlobal:U.allowGlobal});C(L,U.json);return}if(Q==="note"||Q==="notes"){let L=$[2]??"list";if(L==="add"||L==="create"){let E=U.title??$[3],R=U.content??$.slice(4).join(" ");if(!E||!R)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let H=await G.addAppWikiNote({title:E,content:R,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});C(H,U.json);return}if(L==="list"||L==="ls"){let E=G.listAppWikiNotes({limit:U.limit});C({ok:!0,scope:G.scope,home:G.workspace.home,notes:E,message:`${E.length} app wiki note(s)`},U.json);return}if(L==="get"||L==="show"){let E=$[3]??U.id;if(!E)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let R=await G.getAppWikiNote(E,{includeContent:!0});if(!R)throw Error(`App wiki note not found: ${E}`);C(R,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(Q==="source"||Q==="sources"){let L=$[2]??"add";if(L!=="add"&&L!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let E=$[3]??U.sourceRef?.[0];if(!E)throw Error("Usage: knowledge app-wiki source add <source-ref>");let R=await G.addAppWikiSourceRef({sourceRef:E,purpose:U.purpose,allowGlobal:U.allowGlobal});C({ok:!0,...R,message:`Added app wiki source ${R.source_ref}`},U.json);return}if(Q==="search"){let L=$.slice(2).join(" ");if(!L)throw Error("Usage: knowledge app-wiki search <query>");let E=await G.searchAppWiki({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...E,message:`${E.results.length} app wiki result(s)`},U.json);return}if(Q==="query"||Q==="context"){let L=$.slice(2).join(" ");if(!L)throw Error("Usage: knowledge app-wiki query <query>");let E=await G.queryAppWiki({query:L,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...E,message:`${E.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 L=await G.initWiki();C({ok:!0,...L,message:`Initialized wiki layout in ${G.workspace.home}`},U.json,U);return}if(Q==="compile"){let L=$.slice(2),E=L.filter((B)=>/^(open-files|file|s3|https?):\/\//.test(B)),R=L.filter((B)=>!/^(open-files|file|s3|https?):\/\//.test(B)).join(" "),H=await G.compileWiki({title:U.title,query:R||U.search,sourceRefs:E.length>0?E: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 L=$.slice(2).join(" ");if(!L)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 E=await G.fileAnswer({prompt:L,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...E},U.json,U);return}if(Q==="lint"){let L=G.lintWiki();C({ok:L.ok,...L,message:L.ok?"Wiki lint passed":`Wiki lint found ${L.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",L=G.ensureWorkspace(),E=G.safetyPolicy();G.initDb();let R=x(L.knowledgeDbPath);try{if(Q==="status"){C({ok:!0,mode:E.mode,workspace:L.home,allow_write_roots:E.allowWriteRoots,read_only_source_access:E.readOnlySourceAccess,network:E.network,redaction:E.redaction,approvals:E.approvals,message:`Safety policy: ${E.mode}`},U.json,U);return}if(Q==="check"){let H=$[2]??"generated_write",B=$[3]??null,K;try{if(H==="web_search")U1(E),K={action:H,target_uri:B,approval_required:!1,approved:!0,decision:"allow"};else if(H==="s3_read"){if(!B)throw Error("safety check s3_read requires an s3:// target.");a6(B,E),K={action:H,target_uri:B,approval_required:!1,approved:!0,decision:"allow"}}else K=g7(R,E,H,B);v_(R,{event_type:"safety_check",action:H,target_uri:B,decision:K.decision==="allow"?"allow":"requires_approval",metadata:K}),C({ok:!0,...K,message:`Safety check ${K.decision}`},U.json,U);return}catch(b){throw v_(R,{event_type:"safety_check",action:H,target_uri:B,decision:"deny",metadata:{error:b instanceof Error?b.message:String(b)}}),b}}if(Q==="approve"){let H=$[2]??"generated_write",B=$[3]??null,K=E7(R,{action:H,target_uri:B,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});v_(R,{event_type:"approval",action:H,target_uri:B,decision:"allow",metadata:{approval_id:K.id}}),C({ok:!0,...K,action:H,target_uri:B,message:`Approved ${H}`},U.json,U);return}if(Q==="audit"){let H=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((B)=>({id:B.id,event_type:B.event_type,action:B.action,target_uri:B.target_uri,decision:B.decision,metadata:JSON.parse(B.metadata_json),created_at:B.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 B=O$(H,E);if(B.findings.length>0)ZD(R,{source_uri:"safety://redact",findings:B.findings,metadata:{command:"safety redact"}});v_(R,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:B.findings.length>0?"redacted":"allow",metadata:{findings:B.findings.length}}),C({ok:!0,text:B.text,findings:B.findings,message:`Redacted ${B.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{R.close()}}if(J==="source"){if(($[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let L=$[2];if(!L)throw Error("Usage: knowledge source resolve <source-ref>");let E=await G.resolveSource(L,{purpose:U.purpose,limit:U.limit});C({ok:!0,...E,message:E.resolved?`Resolved ${E.source_ref} (${E.content.chunks_returned}/${E.content.chunks_total} chunks)`:`Source not indexed: ${L}`},U.json,U);return}if(J==="ingest"){let Q=$[1]??"";if(Q==="rules"||Q==="global-rules"||Q==="agent-rules"){let L=await G.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});C({ok:!0,...L},U.json);return}if(Q==="manifest"){let L=$[2];if(!L)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let E=await G.ingestManifest(L);C({ok:!0,...E,message:`Ingested ${E.items_seen} manifest item(s)`},U.json,U);return}if(Q==="source"){let L=$[2];if(!L)throw Error("Usage: knowledge ingest source <source-ref>");let E=await G.ingestSource(L,U.purpose);C({ok:!0,...E,message:`Ingested source ${E.source_ref} (${E.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 L=G.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...L,message:`${L.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(Q==="enqueue"){let L=G.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...L,message:`Queued ${L.enqueued} embedding refresh item(s)`},U.json,U);return}if(Q==="embeddings"){let L=await G.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...L,message:`Embedded ${L.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(Q==="outbox"){let L=$[2];if(!L)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let E=await G.consumeOutbox(L);C({ok:!0,...E,message:`Consumed ${E.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 L=G.embeddingStatus();C({ok:!0,...L,message:`${L.total_vector_entries} vector index entries`},U.json,U);return}if(Q==="index"){let L=await G.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...L,message:`Embedded ${L.chunks_embedded} chunk(s)`},U.json,U);return}if(Q==="search"){let L=$.slice(2).join(" ");if(!L)throw Error("Usage: knowledge embeddings search <query>");let E=await G.semanticSearch({query:L,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),R={ok:!0,...E,message:`${E.results.length} semantic result(s)`};C(U.json||U.verbose?R:ny(R),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 L=U.from??"search";if(!["search","loops","runs"].includes(L))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let E=$.slice(2).join(" ")||U.topic||"",R=await G.contextPack({source:L,purpose:L==="loops"||L==="runs"?"proposal":"agent_context",query:E,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});aR({ok:!0,...R,message:R.message});return}if(J==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let L=U.from??"loops";if(!["loops","runs"].includes(L))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let E=U.topic??$.slice(2).join(" ");if(!E.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let R=await G.contextPack({source:L,purpose:"proposal",query:E,topic:E,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});aR({ok:!0,...R,message:R.message});return}if(J==="search"){let Q=$.slice(1).join(" ");if(!Q)throw Error("Usage: knowledge search <query>");if(U.context){let R=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,...R,message:`${R.excerpts.length} context excerpt(s)`};C(U.json||U.verbose?H:uy(H),U.json,U);return}let L=await G.search({query:Q,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:N}),E={ok:!0,...L,message:`${L.results.length} search result(s)`};C(U.json||U.verbose?E:ry(E),U.json,U);return}if(J==="web"){if(($[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let L=$.slice(2).join(" ");if(!L)throw Error("Usage: knowledge web search <query>");let E=await G.webSearch({query:L,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),R={ok:!0,...E,message:`${E.sources.length} web source(s)`};C(U.json||U.verbose?R:my(R),U.json,U);return}if(J==="ask"||J==="build"){let Q=$.slice(D).join(" ");if(!Q)throw Error("Usage: knowledge ask <prompt>");let L=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}),E={ok:!0,...L,message:L.generated?"Generated answer with citations":"Prepared citation context draft"};C(U.json||U.verbose?E:ay(E),U.json,U);return}if(J==="providers"){let Q=$[1]??"status";if(Q==="status"){let L=G.providerStatus(),E=L.providers.filter((R)=>R.configured).length;C({ok:!0,...L,message:`${E}/${L.providers.length} provider credential(s) configured`},U.json,U);return}if(Q==="models"){let L=G.modelRegistry();C({ok:!0,models:L,message:`${L.length} model alias(es)`},U.json,U);return}if(Q==="check"){let L=$[2]??"default",E=x$(L,G.config()),R=l_(E),H=v4(R.provider,G.config());C({ok:!0,target:L,model_ref:E,provider:R.provider,model:R.model,credential:H,message:`${R.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(J==="add"){let Q=$[1],L=$[2];if(!Q||!L)throw Error("Usage: knowledge add <title> <content>");let E=await z.create({title:Q,content:L,url:U.url??null,tags:U.tag??[]});w0("info","Item added",{id:E.id,title:E.title,tags:E.tags?.length??0,transport:z.kind}),C({ok:!0,item:E,message:`Added ${E.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(),L=Number.isFinite(U.page)&&U.page>0?U.page:1,E=Number.isFinite(U.limit)&&U.limit>0?U.limit:20,R=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)})),B=U.tag?.length?U.tag.map((J_)=>J_.toLowerCase()).join(","):"none",K=U.format==="table"||!U.json&&!U.format&&vy(U),b=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(R)I=I.filter((J_)=>J_.title.toLowerCase().includes(R)||J_.content.toLowerCase().includes(R));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}=sy(I,U),f_=(L-1)*E,R_=T.slice(f_,f_+E),T_=Math.max(1,Math.ceil(T.length/E)),u_={ok:!0,page:L,limit:E,total:T.length,total_pages:T_,sort:P,direction:n,items:R_,store_exists:Q.exists};if(b){C(u_,!0);return}if(U.verbose){C(u_,!1,U);return}if(R_.length===0){C(`No items found (search=${R||"none"}, tag=${B})`,!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 R_)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 ${L}/${T_} | showing ${R_.length} of ${T.length} | sort=${P} ${n} | search=${R||"none"} | tag=${B}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let J_ of R_)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 ${L}/${T_} | showing ${R_.length} of ${T.length} | sort=${P} ${n} | search=${R||"none"} | tag=${B}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(J==="get"){BD(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"){BD(U);let Q=await z.get(U.id);if(!Q)throw Error(`Item not found: ${U.id}`);let L={};if(U.title!==void 0)L.title=U.title;if(U.content!==void 0)L.content=U.content;if(U.url!==void 0)L.url=U.url;let E;if(U.tag!==void 0){if(E=tR(Q.tags,U.tag),E.length>0)L.tags=[...Q.tags??[],...E]}let R=await z.update(Q.id,L);C(vz({ok:!0,item:R},`Updated ${R?.id??Q.id}`,E),U.json,U);return}if(J==="archive"||J==="restore"){BD(U);let Q=await z.get(U.id);if(!Q)throw Error(`Item not found: ${U.id}`);let L=await z.update(Q.id,{archived:J==="archive"});C({ok:!0,item:L,message:`${J==="archive"?"Archived":"Restored"} ${L?.id??Q.id}`},U.json,U);return}if(J==="untag"){if(BD(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 L=Q.tags??[],E=new Set(L.map((P)=>P.toLowerCase())),R=new Set;for(let P of U.tagRaw??U.tag){let n=P.trim().toLowerCase();if(n.length>0&&E.has(n)){R.add(n);continue}for(let f_ of P.split(",").map((R_)=>R_.trim().toLowerCase()).filter((R_)=>R_.length>0))R.add(f_)}let H=L.filter((P)=>!R.has(P.toLowerCase())),B=L.length-H.length,K=[...R].filter((P)=>!E.has(P));if(B===0)throw Error(`No matching tag on ${Q.id}: ${K.map((P)=>JSON.stringify(P)).join(", ")} not in [${L.map((P)=>JSON.stringify(P)).join(", ")}]`);let b=await z.update(Q.id,{tags:H}),I=K.length>0?` (not found: ${K.map((P)=>JSON.stringify(P)).join(", ")})`:"",T={ok:!0,item:b,removed:B,message:`Removed ${B} tag${B===1?"":"s"} from ${b?.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],L=U.content??$[2],E=U.id?await z.get(U.id):null;if(!E){if(!Q||!L)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:L,url:U.url??null,tags:U.tag??[]});C(vz({ok:!0,created:!0,item:K},`Upserted ${K.id}`,U.tag),U.json,U);return}let R={};if(Q!==void 0)R.title=Q;if(L!==void 0)R.content=L;if(U.url!==void 0)R.url=U.url;let H;if(U.tag!==void 0){if(H=tR(E.tags,U.tag),H.length>0)R.tags=[...E.tags??[],...H]}let B=await z.update(E.id,R);C(vz({ok:!0,created:!1,item:B},`Upserted ${B?.id??E.id}`,H),U.json,U);return}if(J==="delete"){if(BD(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}`);w0("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 L=await z.listAll();if(Q==="jsonl")for(let E of L.items)console.log(JSON.stringify(E));else if(U.json||U.format==="json"||U.verbose)C({ok:!0,items:L.items,store_exists:L.exists},U.json||U.format==="json",U);else C(ey(L.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(),L=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,E=Q.filter((B)=>L!==null&&new Date(B.created_at)<L||U.empty&&B.content.trim().length===0),R=await z.deleteMany(E.map((B)=>B.id)),H=Q.length-R;w0("info","Prune completed",{pruned:R,remaining:H,transport:z.kind}),C({ok:!0,pruned:R,remaining:H,message:`Pruned ${R} 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(),L=new Set,E=[];for(let B of Q){let K=`${B.title}\x00${B.content}`;if(L.has(K))E.push(B);else L.add(K)}let R=await z.deleteMany(E.map((B)=>B.id)),H=Q.length-R;w0("info","Dedupe completed",{removed:R,remaining:H,transport:z.kind}),C({ok:!0,removed:R,remaining:H,message:`Dedupe removed ${R} duplicate(s)`},U.json,U);return}if(J==="stats"){let Q=await z.listAll(),L=Q.items.filter((P)=>!P.archived),E=L.length,R=Q.items.length-E,H=L.filter((P)=>P.url).length,B=L.filter((P)=>P.tags&&P.tags.length>0).length,K=E>0?L.map((P)=>P.created_at).sort()[0]:null,b=E>0?L.map((P)=>P.created_at).sort()[E-1]:null,I={};for(let P of L)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:E,archived:R,with_url:H,with_tags:B,oldest:K,newest:b,top_tags:T,store_exists:Q.exists,message:`${E} items | ${H} with URL | ${B} with tags`},U.json,U);return}let q=wy($[0]),g=q?` Did you mean '${q}'?`:"";throw w0("warn","Unknown command",{input:$[0],suggestion:q}),Error(`Unknown command: ${$[0]}.${g} Run 'knowledge --help' for available commands.`)}function $h(_,$){let U=_ instanceof Error?_.message:String(_);if(w0("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);_h(_).catch(($)=>$h($,_))}export{wy as suggestCommand,sy as sortItems,_h as run,Py as parseArgs,$h as emitCliError}; diff --git a/src/cli.ts b/src/cli.ts index b0f3521..bd5e4ad 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -51,7 +51,15 @@ interface Flags { title?: string; content?: string; url?: string; - tag?: string; + tag?: string[]; + /** + * Every `-t` value exactly as given, before comma-splitting. `untag` and `list -t` both + * need it to match a stored tag whole: legacy items damaged by the multi-tag defect + * carry a single literal `"a,b,c"` tag, which none of the split names can match. The two + * commands then apply it differently on purpose — `untag` stops at a whole-value hit, + * `list` unions the two shapes; see each site for why. + */ + tagRaw?: string[]; format?: string; completions?: string; purpose?: string; @@ -117,6 +125,54 @@ const COMMAND_ALIASES: Record<string, string> = { unarchive: 'restore', }; +/** Case-insensitive dedupe that preserves first-seen casing and order. */ +function dedupeTags(tags: string[]): string[] { + const seen = new Set<string>(); + const unique: string[] = []; + for (const tag of tags) { + const key = tag.toLowerCase(); + if (seen.has(key)) continue; + seen.add(key); + unique.push(tag); + } + return unique; +} + +/** Requested tags an item does not already carry (case-insensitive), in request order. */ +function tagsToAppend(existing: string[] | undefined, requested: string[]): string[] { + const known = new Set((existing ?? []).map((tag) => tag.toLowerCase())); + return requested.filter((tag) => !known.has(tag.toLowerCase())); +} + +/** + * Attach an `added` tag count to an `update`/`upsert` result, in `message` as well as in + * JSON. `added` is present exactly when the caller passed `-t`, so a consumer never has + * to branch on created-versus-updated to know the field is meaningful, and 0 added is + * reported as plainly as 3 instead of hiding behind an unqualified `Updated <id>`. + */ +function tagCountResult(base: Record<string, unknown>, message: string, added: string[] | undefined): Record<string, unknown> { + if (added === undefined) return { ...base, message }; + return { ...base, added: added.length, message: `${message} (added ${added.length} tag${added.length === 1 ? '' : 's'})` }; +} + +/** + * `-t/--tag` is repeatable AND accepts a comma-separated list, matching the + * `todos` CLI (`-t, --tags <tags>` / "Comma-separated tags") and the array-typed + * `tag`/`tags` inputs the MCP tools already expose. Every occurrence accumulates; + * nothing is ever dropped or stored as a literal comma string. + * + * A missing or separator-only value throws rather than storing nothing, so `-t ""` + * from an empty shell expansion fails at exit 1 instead of exiting 0 with the tag + * dropped. That is a deliberate exit-code change on input that previously "worked"; + * see README for the contract. + */ +function collectTagFlag(current: string[] | undefined, raw: string | undefined): string[] { + if (raw === undefined) throw new Error('Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>'); + const parsed = raw.split(',').map((tag) => tag.trim()).filter((tag) => tag.length > 0); + if (parsed.length === 0) throw new Error(`Invalid --tag value ${JSON.stringify(raw)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`); + return dedupeTags([...(current ?? []), ...parsed]); +} + function parseArgs(argv: string[]): ParseResult { const positional: string[] = []; const flags: Flags = {}; @@ -142,7 +198,7 @@ function parseArgs(argv: string[]): ParseResult { case '--title': flags.title = argv[i + 1]; i += 1; break; case '--content': flags.content = argv[i + 1]; i += 1; break; case '--url': flags.url = argv[i + 1]; i += 1; break; - case '--tag': case '-t': flags.tag = argv[i + 1]; i += 1; break; + case '--tag': case '-t': flags.tag = collectTagFlag(flags.tag, argv[i + 1]); flags.tagRaw = [...(flags.tagRaw ?? []), argv[i + 1] as string]; i += 1; break; case '--format': flags.format = argv[i + 1]; i += 1; break; case '--completions': flags.completions = argv[i + 1]; i += 1; break; case '--purpose': flags.purpose = argv[i + 1]; i += 1; break; @@ -260,7 +316,7 @@ Commands: archive --id <id> Archive an item restore --id <id> Restore an archived item upsert [title] [content] Create or update an item by --id - untag --id <id> -t <tag> Remove a tag from an item + untag --id <id> -t <tag> Remove tag(s) from an item (-t repeatable; exits 1 if nothing removed) delete (alias: rm) --id <id> Delete item (requires --yes) export Export all items (--format jsonl) prune Remove old/empty items (requires --yes) @@ -353,7 +409,7 @@ List Options: -p, --page <n> Page number (default: 1) -l, --limit <n> Items per page (default: 20) -s, --search <text> Filter by title/content - -t, --tag <tag> Filter by tag + -t, --tag <tag> Filter by tag; repeatable/comma-separated, item must match ALL --sort <created|title> Sort field (default: created) --desc Sort descending --archived Show only archived items @@ -382,14 +438,14 @@ Prune Options: } function printCommandHelp(command: string): void { - if (command === 'add') { console.log('Usage: knowledge add <title> <content> [--url <url>] [-t <tag>] [--json]'); return; } - if (command === 'list' || command === 'ls') { console.log('Usage: knowledge list|ls [--format table|json] [-p <page>] [-l <limit>] [-s <search>] [-t <tag>] [--sort created|title] [--desc] [--verbose] [--json]'); return; } + if (command === 'add') { console.log('Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json]\n -t/--tag is repeatable and accepts comma-separated values: -t a -t b == -t "a,b"'); return; } + if (command === 'list' || command === '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]\n -t/--tag is repeatable and accepts comma-separated values; repeated -t narrows (an item must carry every tag).\n Each value matches an item carrying the whole value OR all of its comma-split names — a union, so\n `-t "a,b,c"` finds items carrying a legacy literal "a,b,c" tag as well as items carrying the three\n names separately. (`untag` differs on purpose: it stops at the whole-value match.)\n Use --json to tell those two shapes apart; the table renders them near-identically.\n Archived items are excluded by default; add --include-archived to sweep both.'); return; } if (command === 'get') { console.log('Usage: knowledge get --id <id> [--json]'); return; } - if (command === 'update' || command === 'edit') { console.log('Usage: knowledge update|edit --id <id> [--title <title>] [--content <content>] [--url <url>] [-t <tag>] [--json]'); return; } + if (command === 'update' || command === 'edit') { console.log('Usage: knowledge update|edit --id <id> [--title <title>] [--content <content>] [--url <url>] [-t <tag>]... [--json]\n -t/--tag is repeatable and accepts comma-separated values; tags are added, never replaced.\n With -t the output reports how many tags were actually added, so 0 added is not read as 3.'); return; } if (command === 'archive') { console.log('Usage: knowledge archive --id <id> [--json]'); return; } if (command === 'restore' || command === 'unarchive') { console.log('Usage: knowledge restore|unarchive --id <id> [--json]'); return; } - if (command === 'upsert') { console.log('Usage: knowledge upsert [title] [content] [--id <id>] [--title <title>] [--content <content>] [--url <url>] [-t <tag>] [--json]'); return; } - if (command === 'untag') { console.log('Usage: knowledge untag --id <id> -t <tag> [--json]'); return; } + if (command === 'upsert') { console.log('Usage: knowledge upsert [title] [content] [--id <id>] [--title <title>] [--content <content>] [--url <url>] [-t <tag>]... [--json]\n -t/--tag is repeatable and accepts comma-separated values; tags are added, never replaced.\n With -t the output reports how many tags were actually added, on both the create and update paths.'); return; } + if (command === 'untag') { console.log('Usage: knowledge untag --id <id> -t <tag>... [--json]\n -t/--tag is repeatable and accepts comma-separated values.\n Each value is matched whole first, and only split on commas if no stored tag equals it,\n so a legacy literal "a,b,c" tag can still be removed.\n Removing nothing exits 1; unmatched names are reported in not_found.'); return; } if (command === 'delete' || command === 'rm') { console.log('Usage: knowledge delete|rm --id <id> -y [--json]'); return; } if (command === 'export') { console.log('Usage: knowledge export [--verbose] [--json] [--format json|jsonl]'); return; } if (command === 'prune') { console.log('Usage: knowledge prune --yes [--older-than <days>] [--empty] [--json]'); return; } @@ -1213,7 +1269,7 @@ async function run(argv: string[]): Promise<void> { const result = await service.addAppWikiNote({ title, content, - tags: flags.tag ? [flags.tag] : undefined, + tags: flags.tag, sourceRefs: flags.sourceRef, allowGlobal: flags.allowGlobal, }); @@ -1726,8 +1782,8 @@ async function run(argv: string[]): Promise<void> { const title = positional[1]; const content = positional[2]; if (!title || !content) throw new Error('Usage: knowledge add <title> <content>'); - const item = await itemStore.create({ title, content, url: flags.url ?? null, tags: flags.tag ? [flags.tag] : [] }); - log('info', 'Item added', { id: item.id, title: item.title, transport: itemStore.kind }); + const item = await itemStore.create({ title, content, url: flags.url ?? null, tags: flags.tag ?? [] }); + log('info', 'Item added', { id: item.id, title: item.title, tags: item.tags?.length ?? 0, transport: itemStore.kind }); output({ ok: true, item, message: `Added ${item.id}` }, flags.json, flags); return; } @@ -1740,7 +1796,31 @@ async function run(argv: string[]): Promise<void> { const page = Number.isFinite(flags.page) && (flags.page as number) > 0 ? flags.page as number : 1; const limit = Number.isFinite(flags.limit) && (flags.limit as number) > 0 ? flags.limit as number : 20; const search = flags.search ? String(flags.search).toLowerCase() : ''; - const tag = flags.tag ? String(flags.tag).toLowerCase() : ''; + // Repeated -t narrows: an item must match EVERY requested value, matching the + // `ok_list` MCP tool ("item must match all tags"). + // + // A raw value matches an item when the stored tags contain the WHOLE value OR all of + // its comma-split names — a UNION. This is deliberately NOT the rule `untag` uses: + // there a whole-value hit short-circuits (`continue`), so the two shapes are mutually + // exclusive within one run. + // + // Each rule is right for its own command. `untag` mutates, so it must take one shape + // per run — that exclusivity is exactly what makes its documented "re-run to clear the + // split names" behaviour true, and a test pins it. `list` only reads, so matching both + // shapes destroys nothing, while narrowing to one would hide items. An item damaged by + // the multi-tag defect carries one literal `"a,b,c"` tag that none of the split names + // equals, so a split-only filter does not merely fail to find it — it returns a + // DIFFERENT item that carries the three names separately, at total: 1 and exit 0, with + // nothing to tell the operator the answer changed. The union lets one query find both + // shapes, which is the one job `list -t` is needed for here. + // + // So do not "align" the two: making this an exclusive match would break `list`, and + // dropping `untag`'s `continue` would break its re-run contract. + const tagFilters = (flags.tagRaw ?? flags.tag ?? []).map((raw) => ({ + whole: raw.trim().toLowerCase(), + parts: raw.split(',').map((tag) => tag.trim().toLowerCase()).filter((tag) => tag.length > 0), + })); + const tagLabel = flags.tag?.length ? flags.tag.map((entry) => entry.toLowerCase()).join(',') : 'none'; const useTable = flags.format === 'table' || (!flags.json && !flags.format && useColor(flags)); const useJson = flags.json || flags.format === 'json'; @@ -1748,7 +1828,10 @@ async function run(argv: string[]): Promise<void> { if (flags.archived) filtered = filtered.filter((x) => x.archived === true); else if (!flags.includeArchived) filtered = filtered.filter((x) => !x.archived); if (search) filtered = filtered.filter((x) => x.title.toLowerCase().includes(search) || x.content.toLowerCase().includes(search)); - if (tag) filtered = filtered.filter((x) => x.tags && x.tags.map((t) => t.toLowerCase()).includes(tag)); + if (tagFilters.length > 0) filtered = filtered.filter((x) => { + const itemTags = new Set((x.tags ?? []).map((t) => t.toLowerCase())); + return tagFilters.every(({ whole, parts }) => (whole.length > 0 && itemTags.has(whole)) || parts.every((wanted) => itemTags.has(wanted))); + }); const { sorted, sort, direction } = sortItems(filtered, flags); const start = (page - 1) * limit; @@ -1758,7 +1841,7 @@ async function run(argv: string[]): Promise<void> { if (useJson) { output(result, true); return; } if (flags.verbose) { output(result, false, flags); return; } - if (rows.length === 0) { output(`No items found (search=${search || 'none'}, tag=${tag || 'none'})`, false); return; } + if (rows.length === 0) { output(`No items found (search=${search || 'none'}, tag=${tagLabel})`, false); return; } if (useTable) { const col = (v: string) => v; const header = `${col('ID')}\t${col('TITLE')}\t${col('CREATED')}\t${col('URL')}\t${col('TAGS')}`; @@ -1766,13 +1849,13 @@ async function run(argv: string[]): Promise<void> { for (const row of rows) { console.log(`${row.id}\t${col(truncate(row.title, 80))}\t${row.created_at}\t${row.url ? col(truncate(row.url, 90)) : ''}\t${row.tags?.length ? col(truncate(`[${row.tags.join(', ')}]`, 80)) : ''}`); } - console.log(`Page ${page}/${totalPages} | showing ${rows.length} of ${sorted.length} | sort=${sort} ${direction} | search=${search || 'none'} | tag=${tag || 'none'}`); + console.log(`Page ${page}/${totalPages} | showing ${rows.length} of ${sorted.length} | sort=${sort} ${direction} | search=${search || 'none'} | tag=${tagLabel}`); console.log('Hint: use `knowledge get --id <id> --json` for full item content.'); } else { for (const row of rows) { console.log(`${row.id}\t${truncate(row.title, 80)}\t${row.created_at}${row.url ? `\t${truncate(row.url, 90)}` : ''}${row.tags?.length ? `\t${truncate(`[${row.tags.join(', ')}]`, 80)}` : ''}`); } - console.log(`Page ${page}/${totalPages} | showing ${rows.length} of ${sorted.length} | sort=${sort} ${direction} | search=${search || 'none'} | tag=${tag || 'none'}`); + console.log(`Page ${page}/${totalPages} | showing ${rows.length} of ${sorted.length} | sort=${sort} ${direction} | search=${search || 'none'} | tag=${tagLabel}`); console.log('Hint: use `knowledge get --id <id> --json` for full item content.'); } return; @@ -1794,12 +1877,18 @@ async function run(argv: string[]): Promise<void> { if (flags.title !== undefined) patch.title = flags.title; if (flags.content !== undefined) patch.content = flags.content; if (flags.url !== undefined) patch.url = flags.url; + let added: string[] | undefined; if (flags.tag !== undefined) { - const tags = current.tags ?? []; - if (!tags.map((t) => t.toLowerCase()).includes(flags.tag!.toLowerCase())) patch.tags = [...tags, flags.tag!]; + added = tagsToAppend(current.tags, flags.tag); + if (added.length > 0) patch.tags = [...(current.tags ?? []), ...added]; } const item = await itemStore.update(current.id, patch); - output({ ok: true, item, message: `Updated ${item?.id ?? current.id}` }, flags.json, flags); + // When -t was asked for, report how many tags were actually added. Without this, + // "added 3" and "added none, they were all already there" both print `Updated <id>` + // at exit 0 and carry the count nowhere — not in `message`, not in JSON — the same + // untruthful-success class as untag's `removed: 0`. Adding an existing tag is + // idempotent, so unlike untag this stays exit 0; it just stops claiming nothing. + output(tagCountResult({ ok: true, item }, `Updated ${item?.id ?? current.id}`, added), flags.json, flags); return; } @@ -1814,13 +1903,59 @@ async function run(argv: string[]): Promise<void> { if (command === 'untag') { requireId(flags); - if (!flags.tag) throw new Error('Missing required --tag. Example: knowledge untag --id <id> -t <tag>'); + if (!flags.tag?.length) throw new Error('Missing required --tag. Example: knowledge untag --id <id> -t <tag>'); const current = await itemStore.get(flags.id!); if (!current) throw new Error(`Item not found: ${flags.id}`); - const before = current.tags?.length ?? 0; - const tags = (current.tags ?? []).filter((tag) => tag.toLowerCase() !== flags.tag!.toLowerCase()); + const before = current.tags ?? []; + const stored = new Set(before.map((tag) => tag.toLowerCase())); + // Repeated -t removes every named tag in one pass, matching the `ok_untag` MCP tool. + // + // Each raw value is matched WHOLE and, only when no stored tag equals it, split on + // commas — an EXCLUSIVE rule, enforced by the `continue` below. An item damaged by the + // multi-tag defect carries one literal `"a,b,c"` tag, and none of the split names + // equals it, so splitting first would remove nothing at exit 0 — the very failure + // this change exists to prevent. Whole-value-first keeps `untag -t "a,b,c"` able to + // clear those items, and `ok_untag` (which never split) stays in parity. + // + // The `continue` is load-bearing, not an optimisation: it is what keeps the two shapes + // mutually exclusive per run, and therefore what makes the documented "re-run to clear + // the split names" behaviour true. Drop it and an item carrying both shapes goes from + // removed: 1 to removed: 4. `list -t` matches the two shapes as a UNION instead — + // correct there, because a filter has nothing to destroy and suppressing a shape would + // defeat the search it exists for. Same inputs, two different rules, both deliberate. + const remove = new Set<string>(); + for (const raw of flags.tagRaw ?? flags.tag) { + const whole = raw.trim().toLowerCase(); + if (whole.length > 0 && stored.has(whole)) { remove.add(whole); continue; } + for (const name of raw.split(',').map((tag) => tag.trim().toLowerCase()).filter((tag) => tag.length > 0)) remove.add(name); + } + const tags = before.filter((tag) => !remove.has(tag.toLowerCase())); + const removed = before.length - tags.length; + const notFound = [...remove].filter((tag) => !stored.has(tag)); + // `Removed tag from <id>` at exit 0 on removed:0 is the same defect as the original + // bug: a success signal that cannot distinguish 1 removed from 0. An absent target + // is an error here, as a missing --id already is. + // + // Both sides of this message are quoted. Joining the stored tags raw renders one + // glued `"a,b,c"` tag identically to three separate tags, so on exactly the damaged + // items this fallback exists for the message read `"a" not in [a,b,c]` — denying + // something plainly present. Quoting each stored tag makes the glued-versus-split + // distinction visible, and the same for stored tags differing only in whitespace. + if (removed === 0) { + throw new Error(`No matching tag on ${current.id}: ${notFound.map((tag) => JSON.stringify(tag)).join(', ')} not in [${before.map((tag) => JSON.stringify(tag)).join(', ')}]`); + } const item = await itemStore.update(current.id, { tags }); - output({ ok: true, item, removed: before - tags.length, message: `Removed tag from ${item?.id ?? current.id}` }, flags.json, flags); + // A partial miss must be visible too, not just the all-miss case — and it has to be + // in `message`, because non-JSON output prints nothing else. Quoted for the same + // reason the failure message above quotes: joined raw, two missing names render as + // `(not found: p, q)`, which is indistinguishable from ONE missing tag literally named + // `p, q` — the same ambiguity that made the all-miss message appear to deny a tag that + // was plainly present. `not_found` in the JSON was already unambiguous; this is the + // human line catching up. + const missed = notFound.length > 0 ? ` (not found: ${notFound.map((tag) => JSON.stringify(tag)).join(', ')})` : ''; + const result: Record<string, unknown> = { ok: true, item, removed, message: `Removed ${removed} tag${removed === 1 ? '' : 's'} from ${item?.id ?? current.id}${missed}` }; + if (notFound.length > 0) result.not_found = notFound; + output(result, flags.json, flags); return; } @@ -1835,21 +1970,22 @@ async function run(argv: string[]): Promise<void> { title, content, url: flags.url ?? null, - tags: flags.tag ? [flags.tag] : [], + tags: flags.tag ?? [], }); - output({ ok: true, created: true, item, message: `Upserted ${item.id}` }, flags.json, flags); + output(tagCountResult({ ok: true, created: true, item }, `Upserted ${item.id}`, flags.tag), flags.json, flags); return; } const patch: Record<string, unknown> = {}; if (title !== undefined) patch.title = title; if (content !== undefined) patch.content = content; if (flags.url !== undefined) patch.url = flags.url; + let added: string[] | undefined; if (flags.tag !== undefined) { - const tags = existing.tags ?? []; - if (!tags.map((t) => t.toLowerCase()).includes(flags.tag.toLowerCase())) patch.tags = [...tags, flags.tag]; + added = tagsToAppend(existing.tags, flags.tag); + if (added.length > 0) patch.tags = [...(existing.tags ?? []), ...added]; } const item = await itemStore.update(existing.id, patch); - output({ ok: true, created: false, item, message: `Upserted ${item?.id ?? existing.id}` }, flags.json, flags); + output(tagCountResult({ ok: true, created: false, item }, `Upserted ${item?.id ?? existing.id}`, added), flags.json, flags); return; } @@ -1897,7 +2033,7 @@ async function run(argv: string[]): Promise<void> { const seen = new Set<string>(); const dupes: KnowledgeItem[] = []; for (const x of items) { - const key = `${x.title}�${x.content}`; + const key = `${x.title}\u0000${x.content}`; if (seen.has(key)) dupes.push(x); else seen.add(key); } const removed = await itemStore.deleteMany(dupes.map((x) => x.id)); diff --git a/tests/cli.test.ts b/tests/cli.test.ts index 4bc7eaa..578585f 100644 --- a/tests/cli.test.ts +++ b/tests/cli.test.ts @@ -348,7 +348,9 @@ describe('knowledge cli', () => { const addHelp = runCli(['add', '--help']); expect(addHelp.exitCode).toBe(0); const addOut = new TextDecoder().decode(addHelp.stdout); - expect(addOut).toContain('Usage: knowledge add <title> <content> [--url <url>] [-t <tag>] [--json]'); + expect(addOut).toContain('Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json]'); + // The repeatable/comma-separated -t contract is documented where agents will see it. + expect(addOut).toContain('-t/--tag is repeatable and accepts comma-separated values'); // Must NOT fall through to the root help command tree. expect(addOut).not.toContain('knowledge - local agent knowledge store'); @@ -567,6 +569,343 @@ describe('knowledge cli', () => { expect(db.items.length).toBe(0); }); + // Regression guard for the silent multi-tag data-loss defect: `add -t a -t b -t c` + // exited 0, logged "Item added", and persisted ONLY the last tag; `-t "a,b,c"` + // stored one literal comma string. Every assertion below reads the PERSISTED item + // back and counts tags — asserting on exitCode alone reproduces the original bug, + // because exit 0 could not distinguish "3 tags stored" from "1 tag stored". + test('repeated and comma-separated -t accumulate into the stored item', () => { + const dir = mkdtempSync(join(tmpdir(), 'ok-tags-')); + const store = join(dir, 'db.json'); + const decode = (buf: Uint8Array) => new TextDecoder().decode(buf); + const storedTags = (id: string): string[] => { + const got = runCli(['get', '--id', id, '--store', store, '--json']); + expect(got.exitCode).toBe(0); + return JSON.parse(decode(got.stdout)).item.tags; + }; + + // add: five repeated -t must all persist, in order. + const add = runCli(['add', 'Five tags', 'Body', '--store', store, '-t', 'convention', '-t', 'naming', '-t', 'channels', '-t', 'repro', '-t', 'five', '--json']); + expect(add.exitCode).toBe(0); + const addId = JSON.parse(decode(add.stdout)).item.id; + expect(storedTags(addId)).toEqual(['convention', 'naming', 'channels', 'repro', 'five']); + // The success signal itself must carry the count, so "added" can no longer hide a drop. + expect(decode(add.stderr)).toContain('"tags":5'); + + // add: a comma-separated value splits; it must never persist as one literal tag. + const comma = runCli(['add', 'Comma tags', 'Body', '--store', store, '-t', 'alpha,beta, gamma', '--json']); + expect(comma.exitCode).toBe(0); + const commaId = JSON.parse(decode(comma.stdout)).item.id; + expect(storedTags(commaId)).toEqual(['alpha', 'beta', 'gamma']); + expect(storedTags(commaId)).not.toContain('alpha,beta, gamma'); + + // add: comma list plus repeats, deduped case-insensitively. + const mixed = runCli(['add', 'Mixed tags', 'Body', '--store', store, '-t', 'x, y', '-t', 'z', '-t', 'X', '--json']); + expect(mixed.exitCode).toBe(0); + expect(storedTags(JSON.parse(decode(mixed.stdout)).item.id)).toEqual(['x', 'y', 'z']); + + // update: repeated -t must append every tag, not just the last one. + const seed = runCli(['add', 'Update target', 'Body', '--store', store, '-t', 'one', '--json']); + expect(seed.exitCode).toBe(0); + const seedId = JSON.parse(decode(seed.stdout)).item.id; + const update = runCli(['update', '--id', seedId, '--store', store, '-t', 'two', '-t', 'three', '-t', 'four', '--json']); + expect(update.exitCode).toBe(0); + expect(storedTags(seedId)).toEqual(['one', 'two', 'three', 'four']); + + // untag: repeated -t removes every named tag in one pass. + const untag = runCli(['untag', '--id', seedId, '--store', store, '-t', 'two', '-t', 'four', '--json']); + expect(untag.exitCode).toBe(0); + expect(JSON.parse(decode(untag.stdout)).removed).toBe(2); + expect(storedTags(seedId)).toEqual(['one', 'three']); + + // upsert: create path must persist every tag too. + const upsert = runCli(['upsert', 'Upsert tags', 'Body', '--id', 'k_tagupsert', '--store', store, '-t', 'p', '-t', 'q', '-t', 'r', '--json']); + expect(upsert.exitCode).toBe(0); + expect(JSON.parse(decode(upsert.stdout)).created).toBe(true); + expect(storedTags('k_tagupsert')).toEqual(['p', 'q', 'r']); + + // upsert: update path appends all requested tags. + const upsertAgain = runCli(['upsert', '--id', 'k_tagupsert', '--content', 'Body 2', '--store', store, '-t', 's', '-t', 't', '--json']); + expect(upsertAgain.exitCode).toBe(0); + expect(storedTags('k_tagupsert')).toEqual(['p', 'q', 'r', 's', 't']); + + // list: repeated -t narrows (item must carry every tag), matching the ok_list MCP tool. + const both = runCli(['list', '--store', store, '-t', 'convention', '-t', 'naming', '--json']); + expect(both.exitCode).toBe(0); + const bothOut = JSON.parse(decode(both.stdout)); + expect(bothOut.total).toBe(1); + expect(bothOut.items[0].title).toBe('Five tags'); + + const impossible = runCli(['list', '--store', store, '-t', 'convention', '-t', 'alpha', '--json']); + expect(impossible.exitCode).toBe(0); + expect(JSON.parse(decode(impossible.stdout)).total).toBe(0); + + // Positive control: the same store really does hold the items the filters ran over. + const all = runCli(['list', '--store', store, '--json', '-l', '50']); + expect(all.exitCode).toBe(0); + expect(JSON.parse(decode(all.stdout)).total).toBe(5); + + // A -t with no usable value must fail loudly instead of silently dropping the tag. + const missing = runCli(['add', 'No tag value', 'Body', '--store', store, '-t']); + expect(missing.exitCode).toBe(1); + expect(decode(missing.stderr)).toContain('Missing value for --tag'); + + const blank = runCli(['add', 'Blank tag value', 'Body', '--store', store, '-t', ' , ']); + expect(blank.exitCode).toBe(1); + expect(decode(blank.stderr)).toContain('no tag name found'); + }); + + // Once `-t` splits on commas, a split-only `untag` can no longer touch the items the + // multi-tag defect actually damaged: they carry ONE literal "a,b,c" tag, and none of + // the split names equals it, so the removal silently no-ops at exit 0. These items + // cannot be produced by the fixed CLI, so the fixture is written straight to the store + // exactly as the pre-fix CLI would have persisted it. + test('untag matches a tag value whole before splitting, and fails when nothing is removed', () => { + const dir = mkdtempSync(join(tmpdir(), 'ok-untag-')); + const store = join(dir, 'db.json'); + const decode = (buf: Uint8Array) => new TextDecoder().decode(buf); + const glued = 'convention,canonical,policy,deployment'; + const seed = (id: string, tags: string[]) => { + const now = '2026-07-06T14:31:34.606Z'; + writeFileSync(store, JSON.stringify({ + items: [{ id, title: `Item ${id}`, content: 'Body', url: null, tags, metadata: {}, archived: false, created_at: now, updated_at: now }] + })); + }; + const storedTags = (id: string): string[] => { + const got = runCli(['get', '--id', id, '--store', store, '--json']); + expect(got.exitCode).toBe(0); + return JSON.parse(decode(got.stdout)).item.tags; + }; + + // Positive control: the fixture really does hold one glued tag, not four. + seed('k_glued', [glued]); + expect(storedTags('k_glued')).toEqual([glued]); + + // The whole value matches the stored tag, so it is removed. Split-only logic scores + // removed: 0 here while still exiting 0 — the regression this guards. + const whole = runCli(['untag', '--id', 'k_glued', '--store', store, '-t', glued, '--json']); + expect(whole.exitCode).toBe(0); + expect(JSON.parse(decode(whole.stdout)).removed).toBe(1); + expect(storedTags('k_glued')).toEqual([]); + + // Same argument against separately-stored tags must still split and remove all four. + seed('k_split', ['convention', 'canonical', 'policy', 'deployment', 'keep']); + const split = runCli(['untag', '--id', 'k_split', '--store', store, '-t', glued, '--json']); + expect(split.exitCode).toBe(0); + expect(JSON.parse(decode(split.stdout)).removed).toBe(4); + expect(storedTags('k_split')).toEqual(['keep']); + + // Removing nothing must fail loudly and leave the item untouched, instead of + // printing "Removed tag from <id>" at exit 0 on removed: 0. + seed('k_absent', ['alpha', 'beta']); + const absent = runCli(['untag', '--id', 'k_absent', '--store', store, '-t', 'gamma', '--json']); + expect(absent.exitCode).toBe(1); + expect(decode(absent.stderr)).toContain('No matching tag on k_absent'); + expect(decode(absent.stdout)).not.toContain('Removed'); + expect(storedTags('k_absent')).toEqual(['alpha', 'beta']); + + // A partial miss succeeds but must name the tags it could not find. + seed('k_partial', ['alpha', 'beta']); + const partial = runCli(['untag', '--id', 'k_partial', '--store', store, '-t', 'alpha', '-t', 'nope', '--json']); + expect(partial.exitCode).toBe(0); + const partialOut = JSON.parse(decode(partial.stdout)); + expect(partialOut.removed).toBe(1); + expect(partialOut.not_found).toEqual(['nope']); + expect(storedTags('k_partial')).toEqual(['beta']); + + // ...and it must say so in `message` too, because non-JSON output prints nothing else. + seed('k_partial_human', ['alpha', 'beta']); + const partialHuman = runCli(['untag', '--id', 'k_partial_human', '--store', store, '-t', 'alpha', '-t', 'nope']); + expect(partialHuman.exitCode).toBe(0); + expect(decode(partialHuman.stdout)).toContain('not found: "nope"'); + + // Two missing names must not render identically to ONE missing tag literally named + // `p, q`. Joined raw, both print `(not found: p, q)` — the same ambiguity the all-miss + // failure message above already fixed, which the success line must not reintroduce. + // The JSON `not_found` array was never ambiguous; this pins the human line. + seed('k_partial_two', ['alpha']); + const partialTwo = runCli(['untag', '--id', 'k_partial_two', '--store', store, '-t', 'alpha', '-t', 'p,q']); + expect(partialTwo.exitCode).toBe(0); + const twoOut = decode(partialTwo.stdout); + expect(twoOut).toContain('(not found: "p", "q")'); + expect(twoOut).not.toContain('(not found: p, q)'); + + // The human success line must carry the count, so it cannot read the same for 1 and 0. + seed('k_human', ['alpha', 'beta', 'gamma']); + const human = runCli(['untag', '--id', 'k_human', '--store', store, '-t', 'alpha', '-t', 'beta']); + expect(human.exitCode).toBe(0); + expect(decode(human.stdout)).toContain('Removed 2 tags from k_human'); + expect(storedTags('k_human')).toEqual(['gamma']); + }); + + // The documented precedence — "the whole-value match wins and the literal tag is + // removed first; re-run to clear the split names" — had no test. Dropping the + // `continue` after a whole-value match leaves the whole suite green while changing + // this item from removed: 1 to removed: 4, collapsing the contract into "remove + // every shape at once" and destroying the re-run behaviour README promises. + test('untag removes the glued tag first when an item carries both shapes, and only then the split names', () => { + const dir = mkdtempSync(join(tmpdir(), 'ok-untag-both-')); + const store = join(dir, 'db.json'); + const decode = (buf: Uint8Array) => new TextDecoder().decode(buf); + const glued = 'a,b,c'; + const now = '2026-07-06T14:31:34.606Z'; + writeFileSync(store, JSON.stringify({ + items: [{ id: 'k_both', title: 'Both shapes', content: 'Body', url: null, tags: [glued, 'a', 'b', 'c', 'keep'], metadata: {}, archived: false, created_at: now, updated_at: now }] + })); + const storedTags = (): string[] => { + const got = runCli(['get', '--id', 'k_both', '--store', store, '--json']); + expect(got.exitCode).toBe(0); + return JSON.parse(decode(got.stdout)).item.tags; + }; + + // Positive control: the fixture holds the glued tag AND the three split names. + expect(storedTags()).toEqual([glued, 'a', 'b', 'c', 'keep']); + + // Run 1 must take the literal tag ONLY. removed: 4 here means the precedence is gone. + const first = runCli(['untag', '--id', 'k_both', '--store', store, '-t', glued, '--json']); + expect(first.exitCode).toBe(0); + expect(JSON.parse(decode(first.stdout)).removed).toBe(1); + expect(storedTags()).toEqual(['a', 'b', 'c', 'keep']); + + // Run 2 finds no stored tag equal to the whole value, so it falls back to splitting. + const second = runCli(['untag', '--id', 'k_both', '--store', store, '-t', glued, '--json']); + expect(second.exitCode).toBe(0); + expect(JSON.parse(decode(second.stdout)).removed).toBe(3); + expect(storedTags()).toEqual(['keep']); + + // Run 3 has nothing left to remove and must fail rather than report success. + const third = runCli(['untag', '--id', 'k_both', '--store', store, '-t', glued, '--json']); + expect(third.exitCode).toBe(1); + expect(storedTags()).toEqual(['keep']); + }); + + // The failure message quoted the names it could not find but joined the stored tags + // raw, so against a single glued tag it read `"iapp" not in [iapp,integrations, + // architecture]` — denying a tag that is plainly visible, on exactly the damaged items + // this fallback exists for. + test('untag failure message quotes stored tags so a glued tag is distinguishable from separate ones', () => { + const dir = mkdtempSync(join(tmpdir(), 'ok-untag-msg-')); + const store = join(dir, 'db.json'); + const decode = (buf: Uint8Array) => new TextDecoder().decode(buf); + const now = '2026-07-06T14:31:34.606Z'; + writeFileSync(store, JSON.stringify({ + items: [{ id: 'k_glued_msg', title: 'Glued', content: 'Body', url: null, tags: ['iapp,integrations,architecture'], metadata: {}, archived: false, created_at: now, updated_at: now }] + })); + + const miss = runCli(['untag', '--id', 'k_glued_msg', '--store', store, '-t', 'iapp', '--json']); + expect(miss.exitCode).toBe(1); + const err = decode(miss.stderr); + // The stored list must show ONE quoted glued tag, not three bare names. + expect(err).toContain('"iapp" not in ["iapp,integrations,architecture"]'); + expect(err).not.toContain('not in [iapp,integrations,architecture]'); + }); + + // `list -t` is the read-side twin of the untag defect above, and it fails worse than an + // empty result: split-only filtering returns a DIFFERENT item that carries the three + // names separately, at total: 1 and exit 0, so the command used to FIND remaining glued + // items silently reports a confident wrong answer instead. + test('list -t matches a tag value whole before splitting, so glued items stay discoverable', () => { + const dir = mkdtempSync(join(tmpdir(), 'ok-list-glued-')); + const store = join(dir, 'db.json'); + const decode = (buf: Uint8Array) => new TextDecoder().decode(buf); + const glued = 'iapp,integrations,architecture'; + writeFileSync(store, JSON.stringify({ + items: [ + { id: 'k_damaged', title: 'Damaged', content: 'Body', url: null, tags: [glued], metadata: {}, archived: false, created_at: '2026-07-06T14:31:34.606Z', updated_at: '2026-07-06T14:31:34.606Z' }, + { id: 'k_control', title: 'Control', content: 'Body', url: null, tags: ['iapp', 'integrations', 'architecture'], metadata: {}, archived: false, created_at: '2026-07-06T14:31:35.606Z', updated_at: '2026-07-06T14:31:35.606Z' }, + { id: 'k_partial', title: 'Partial', content: 'Body', url: null, tags: ['iapp', 'integrations'], metadata: {}, archived: false, created_at: '2026-07-06T14:31:36.606Z', updated_at: '2026-07-06T14:31:36.606Z' }, + ] + })); + const listIds = (args: string[]): { total: number; ids: string[]; exitCode: number } => { + const res = runCli(['list', '--store', store, '--limit', '50', '--json', ...args]); + const out = JSON.parse(decode(res.stdout)); + return { total: out.total, ids: out.items.map((item: { id: string }) => item.id), exitCode: res.exitCode }; + }; + + // The glued item MUST be found. Split-only filtering returns ['k_control'] here. + const whole = listIds(['-t', glued]); + expect(whole.exitCode).toBe(0); + expect(whole.ids).toContain('k_damaged'); + expect(whole.ids.sort()).toEqual(['k_control', 'k_damaged']); + expect(whole.total).toBe(2); + + // Repeated -t must still narrow: k_partial lacks `architecture`, so it drops out, and + // the glued item does not match a single split name either. + const narrowed = listIds(['-t', 'iapp', '-t', 'integrations']); + expect(narrowed.exitCode).toBe(0); + expect(narrowed.ids.sort()).toEqual(['k_control', 'k_partial']); + + // A single name must NOT be widened into the glued tag by substring matching. + const single = listIds(['-t', 'iapp']); + expect(single.exitCode).toBe(0); + expect(single.ids.sort()).toEqual(['k_control', 'k_partial']); + expect(single.ids).not.toContain('k_damaged'); + + // Negative control: an unrelated tag matches nothing. + expect(listIds(['-t', 'nope']).total).toBe(0); + }); + + // `update`/`upsert -t` printed `Updated <id>` at exit 0 whether they added 3 tags or 0, + // and carried the count NOWHERE — not in `message`, not in JSON — the same + // untruthful-success class as untag's `removed: 0`. + test('update and upsert report how many tags they actually added', () => { + const dir = mkdtempSync(join(tmpdir(), 'ok-added-count-')); + const store = join(dir, 'db.json'); + const decode = (buf: Uint8Array) => new TextDecoder().decode(buf); + + const created = runCli(['add', 'Counted', 'Body', '--store', store, '-t', 'alpha', '--json']); + expect(created.exitCode).toBe(0); + const id = JSON.parse(decode(created.stdout)).item.id; + + // Two of the three are new, so the truthful count is 2 — not 3, and not silence. + const partial = runCli(['update', '--id', id, '--store', store, '-t', 'alpha,beta,gamma', '--json']); + expect(partial.exitCode).toBe(0); + const partialOut = JSON.parse(decode(partial.stdout)); + expect(partialOut.added).toBe(2); + expect(partialOut.message).toContain('(added 2 tags)'); + expect(partialOut.item.tags).toEqual(['alpha', 'beta', 'gamma']); + + // Every requested tag already exists: the count must say 0, at exit 0. + const noop = runCli(['update', '--id', id, '--store', store, '-t', 'alpha', '--json']); + expect(noop.exitCode).toBe(0); + const noopOut = JSON.parse(decode(noop.stdout)); + expect(noopOut.added).toBe(0); + expect(noopOut.message).toContain('(added 0 tags)'); + + // ...and it must say so without --json too, because that prints `message` alone. + const noopHuman = runCli(['update', '--id', id, '--store', store, '-t', 'alpha']); + expect(noopHuman.exitCode).toBe(0); + expect(decode(noopHuman.stdout)).toContain('(added 0 tags)'); + + // Singular for one added tag. + const one = runCli(['update', '--id', id, '--store', store, '-t', 'delta', '--json']); + expect(one.exitCode).toBe(0); + expect(JSON.parse(decode(one.stdout)).message).toContain('(added 1 tag)'); + + // No -t at all means no count to report, and no bogus `added` field. + const untagged = runCli(['update', '--id', id, '--store', store, '--title', 'Renamed', '--json']); + expect(untagged.exitCode).toBe(0); + const untaggedOut = JSON.parse(decode(untagged.stdout)); + expect(untaggedOut.added).toBeUndefined(); + expect(untaggedOut.message).not.toContain('added'); + + // upsert reports `added` on the update path... + const upsertExisting = runCli(['upsert', '--id', id, '--store', store, '-t', 'delta,epsilon', '--json']); + expect(upsertExisting.exitCode).toBe(0); + const upsertExistingOut = JSON.parse(decode(upsertExisting.stdout)); + expect(upsertExistingOut.created).toBe(false); + expect(upsertExistingOut.added).toBe(1); + expect(upsertExistingOut.message).toContain('(added 1 tag)'); + + // ...and on the create path, so a caller never branches on `created` to read it. + const upsertNew = runCli(['upsert', 'Fresh', 'Body', '--id', 'k_fresh_count', '--store', store, '-t', 'one,two', '--json']); + expect(upsertNew.exitCode).toBe(0); + const upsertNewOut = JSON.parse(decode(upsertNew.stdout)); + expect(upsertNewOut.created).toBe(true); + expect(upsertNewOut.added).toBe(2); + expect(upsertNewOut.message).toContain('(added 2 tags)'); + }); + test('upsert creates and updates items', () => { const dir = mkdtempSync(join(tmpdir(), 'ok-upsert-')); const store = join(dir, 'db.json');